/* Codervia Storefront Dynamic Accent v6 | Applied only when a valid frontend color is saved.
   Keep site structure, animations, neutral surfaces, dark topbar and cart controls intact. */
:root {
  --cv-front-accent: var(--cv-brand);
  --cv-primary: var(--cv-brand);
  --cv-accent: var(--cv-brand);
  --ocp-primary: var(--cv-brand);
  --cv-front-accent-soft: color-mix(in srgb, var(--cv-brand) 9%, white);
  --cv-front-accent-border: color-mix(in srgb, var(--cv-brand) 24%, white);
  --cv-front-accent-hover: color-mix(in srgb, var(--cv-brand) 82%, black);
}
/* Header announcement: former hardcoded #6058dd / #7067f7 / #574be7 */
.cv-header-announcement .cv-announce-label,
.cv-header-announcement .cv-announce-label i,
.cv-announce-entry::before,
.cv-header-announcement .cv-announce-entry::before {
  color: var(--cv-brand) !important;
}
.cv-header-announcement .cv-announce-entry a:hover,
.cv-header-announcement .cv-announce-entry a:focus-visible {
  color: var(--cv-brand) !important;
}
.cv-header-announcement:focus-within {
  border-color: var(--cv-front-accent-border);
}
/* Top category menu: preserve normal dark text, colorize only current / hover */
#menu .navbar-nav > li > a::after,
#menu .navbar-nav > li > a:hover::after,
#menu .navbar-nav > li.open > a::after,
#menu .navbar-nav > li.active > a::after {
  background: var(--cv-brand) !important;
}
#menu .navbar-nav > li > a:hover,
#menu .navbar-nav > li > a:focus,
#menu .navbar-nav > li:hover > a,
#menu .navbar-nav > li.open > a,
#menu .navbar-nav > li.active > a {
  color: var(--cv-brand) !important;
  background: var(--cv-front-accent-soft) !important;
}
#menu .dropdown-menu .dropdown-inner a:hover,
#menu .dropdown-menu .dropdown-inner a:focus,
#menu .dropdown-menu .dropdown-inner li.active > a,
#menu .dropdown-menu .dropdown-inner li > a.active,
#menu .dropdown-menu .dropdown-inner a:visited:hover,
#menu .see-all {
  color: var(--cv-brand) !important;
  background-color: var(--cv-front-accent-soft) !important;
}
/* Mobile drawer, category caret boxes and active menu accents */
@media (max-width: 767px) {
  #menu .navbar-nav > li.open > a,
  #menu .navbar-nav > li > a:hover,
  #menu .navbar-nav > li.active > a {
    color: var(--cv-brand) !important;
    background: var(--cv-front-accent-soft) !important;
  }
  #menu .navbar-nav > li > a::before,
  #menu .navbar-nav > li.open > a::before,
  #menu .dropdown-inner a::before,
  .cv-mobile-drawer-utility #top-links > ul > li > a .fa {
    color: var(--cv-brand) !important;
  }
  #menu .navbar-nav > li.open > a::before,
  #menu .navbar-nav > li.active > a::before {
    background: var(--cv-brand) !important;
    color: #fff !important;
    box-shadow: none !important;
  }
  .cv-mobile-drawer-close:hover,
  .cv-mobile-drawer-utility #top-links > ul > li > a:hover {
    background: var(--cv-front-accent-soft) !important;
    color: var(--cv-brand) !important;
  }
}
/* Cart's numeric bubble uses a hardcoded purple in original theme */
.cv-cart-container #cart > button.dropdown-toggle::after,
.cv-cart-container #cart > button::after,
.cv-cart-widget > button.dropdown-toggle::after {
  background: var(--cv-brand) !important;
  border-color: white !important;
}
/* Cart hover and primary checkout area, without changing dark idle cart button */
.cv-cart-container #cart > button.dropdown-toggle:hover,
.cv-cart-container #cart.open > button.dropdown-toggle {
  background: var(--cv-brand) !important;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--cv-brand) 22%, transparent) !important;
}
.cv-cart-action-primary,
.cv-cart-container .cv-cart-action-primary {
  background: var(--cv-brand) !important;
  border-color: var(--cv-brand) !important;
}
/* Header buttons, link accent, account modal */
.cv-icon-btn:hover,
.cv-icon-btn:focus-visible {
  color: var(--cv-brand) !important;
  background: var(--cv-front-accent-soft) !important;
  border-color: var(--cv-front-accent-border) !important;
}
.cv-account-modal-icon,
.cv-account-modal-login:hover {
  color: var(--cv-brand) !important;
}
.cv-account-modal-icon {
  background: var(--cv-front-accent-soft) !important;
}
.cv-account-modal-login,
.cv-account-modal-actions .cv-account-modal-login {
  color: #fff !important;
  background: var(--cv-brand) !important;
  border-color: var(--cv-brand) !important;
  box-shadow: 0 9px 25px color-mix(in srgb, var(--cv-brand) 23%, transparent) !important;
}
.cv-account-modal-login:hover,
.cv-account-modal-actions .cv-account-modal-login:hover {
  background: var(--cv-front-accent-hover) !important;
  color: #fff !important;
}
/* Primary buttons and slider indicator accents */
.btn-primary:hover, .btn-primary:focus,
.btn-inverse:hover, .btn-inverse:focus {
  background: var(--cv-front-accent-hover) !important;
  border-color: var(--cv-front-accent-hover) !important;
}
.cv-native-carousel .cv-carousel-controls button:hover:not(:disabled),
.cv-native-carousel .cv-carousel-controls button:focus-visible {
  background: var(--cv-brand) !important;
  color: #fff !important;
}
.cv-native-carousel .cv-carousel-viewport:focus-visible {
  outline-color: var(--cv-brand) !important;
}
/* PWA install button (external module) and theme package buttons */
.cv-pwa-install-action,
.cv-product-actions .cv-btn-cart,
.cv-product-actions .cv-btn-view:hover {
  background: var(--cv-brand) !important;
  border-color: var(--cv-brand) !important;
  color: #fff !important;
}
/* Keep wishlist / errors / success / neutral navigation independent from brand color. */
