/* Saraholiver Color Palette */
:root {
  /* Primary Brand Colors */
  --color-primary: #6C569F;
  --color-primary-light: #927FBD;
  --color-primary-dark: #44346A;

  /* Secondary Accent Colors */
  --color-accent: #BF8E4A;
  --color-accent-light: #DEBE91;
  --color-accent-dark: #7E5D30;
  /* Text ON the accent (the announcement bar) and the accent used AS text (section labels): chosen by the
     build for 4.5:1 contrast, because a generated accent is often too light for either (build-site.py). */
  --color-on-accent: #1B1820;
  --color-accent-ink: #7E5D30;

  /* Neutral Colors */
  --color-background: #F8F7FA;
  --color-surface: #FFFFFF;
  --color-surface-dark: #EFEEF2;

  /* Text Colors */
  --color-text-primary: #1B1820;
  --color-text-secondary: #433F4B;
  --color-text-tertiary: #595463;
  --color-text: #1B1820;

  /* Accent Colors for UI Elements */
  --color-success: #10B981;
  --color-info: #3B82F6;
  --color-warning: #F59E0B;
  --color-error: #EF4444;

  /* Gradients */
  --gradient-primary: linear-gradient(135deg, #6C569F 0%, #927FBD 100%);
  --gradient-accent: linear-gradient(135deg, #BF8E4A 0%, #DEBE91 100%);
  --gradient-subtle: linear-gradient(180deg, #F8F7FA 0%, #EFEEF2 100%);

  /* Neutrals */
  --color-white: #ffffff;
  --color-gray: #595463;
  --color-light-gray: #A4A0A0;

  /* Aliases (used by checkout, cart, product CSS) */
  --color-teal: #6C569F;
  --color-teal-light: #927FBD;
  --color-teal-dark: #44346A;
  /* v111-desktop-checkout.css referenced these two and NOTHING defined them, so every declaration using
     one was invalid at computed-value time and silently dropped to `unset`: 15 `color:` rules on
     checkout/ fell back to plain black instead of the palette, and `.header-burger-menu span`s
     `background` fell back to transparent, which left the mobile menu button INVISIBLE on that page
     (measured in Chrome at 390px: rgba(0,0,0,0) on checkout/, the brand colour everywhere else).
     Defined as aliases of existing tokens, so they follow the per-site palette like everything else -
     never as a new hex literal, which build-site.py's remap would not know and would leave olive. */
  --color-slate-dark: var(--color-text-primary);
  --color-coral: var(--color-warning);

  /* Layout */
  --page-width: 1200px;
  --spacing-sections-desktop: 36px;
  --spacing-sections-mobile: 24px;

  /* Component Tokens */
  --buttons-radius: 8px;
  --inputs-radius: 6px;
  --product-card-corner-radius: 10px;
  --product-card-shadow-opacity: 0.08;
  --product-card-shadow-blur: 12px;

  /* Transitions */
  --duration-short: 100ms;
  --duration-default: 250ms;
  --duration-long: 500ms;
  --duration-extra-long: 600ms;

  /* Cart Drawer */
  --drawer-width: 420px;
  --drawer-width-large: 500px;

  /* Legacy compatibility */
  --color1: #6C569F;
  --color2: #6C569F;
  --color3: #6C569F;
  --color4: #1B1820;
  --varHover: #44346A;
  --color-secondary: #6C569F;
  --color-action: #6C569F;
  --banner-gradient: linear-gradient(135deg, #6C569F 0%, #BF8E4A 100%);
}

/* Subheader bar - primary background with white text (global override) */
.subheader-soc {
  background: var(--color-primary-dark) !important;
}
.subheader-soc_cont a,
.subheader-soc_phone,
.subheader-soc_cont {
  color: #ffffff !important;
}
.subheader-soc_cont a:hover {
  opacity: 0.7;
}

/* Footer - primary background with white text/icons (global override) */
footer {
  background: var(--color-primary) !important;
  color: #ffffff !important;
}

footer .footer-topbar__title {
  color: #ffffff !important;
}

footer .footer-topbar__info-box {
  color: #ffffff !important;
}

footer .footer-topbar__info-box svg path {
  fill: #ffffff !important;
}

footer .ft-form__text {
  color: #ffffff !important;
}

footer .ft-form__input {
  background: rgba(0, 0, 0, 0.22) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  color: #ffffff !important;
}

footer .ft-form__input::placeholder {
  color: rgba(255, 255, 255, 0.9) !important;
}

footer .ft-form__button {
  background: #ffffff !important;
  color: var(--color-primary) !important;
}

footer .ft-form__button:hover {
  background: #EFEEF2 !important;
  color: var(--color-primary) !important;
}

footer .footer-navigation a {
  color: #ffffff !important;
}

footer .footer-navigation a:hover {
  color: #EFEEF2 !important;
}

footer .footer-lowbar {
  border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
}

footer .copyright {
  color: #ffffff !important;
}

footer .footer-cards img {
  opacity: 1 !important;
}

footer .footer_phone,
footer .phone__line {
  color: #ffffff !important;
}

footer .phone__line:after {
  border-color: rgba(255, 255, 255, 0.3) !important;
}

/* Logo size override - Saraholiver logo */
.header-logo img,
.header-logo {
  max-width: 180px !important;
  max-height: 50px !important;
}
.header-logo img {
  width: auto !important;
  height: 50px !important;
  max-width: 180px !important;
  object-fit: contain;
}

/* ── Header Redesign: Rounded pill bar ── */
.header-section {
  background: #ffffff !important;
  border-radius: 50px !important;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.10) !important;
  margin: 12px 24px !important;
}
.header-section .header-topbar {
  padding: 8px 28px !important;
}

/* Bold nav links with dark text */
.header-navigations .desktop-nav-link {
  font-weight: 700 !important;
  color: var(--color-text-primary) !important;
  text-decoration: none !important;
  padding: 8px 14px !important;
  border-radius: 6px !important;
  transition: background 0.2s ease, color 0.2s ease !important;
  position: relative !important;
}
.header-navigations .desktop-nav-link:hover {
  background: rgba(108, 86, 159, 0.10) !important;
  color: var(--color-primary) !important;
}
.header-navigations .desktop-nav-link::after,
.header-navigations .desktop-nav-link.active::after {
  display: none !important;
}

/* Active page pill indicator */
.header-navigations .desktop-nav-link.active {
  background: var(--color-primary) !important;
  color: #ffffff !important;
  border-radius: 6px !important;
}
.header-navigations .desktop-nav-link.active:hover {
  background: var(--color-primary-dark) !important;
  color: #ffffff !important;
}

/* Announcement bar bold text */
.announcement-bar__content {
  font-weight: 700 !important;
}

/* ── Mobile: revert pill shape ── */
@media (max-width: 768px) {
  .header-section {
    border-radius: 0 !important;
    margin: 0 !important;
    box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1) !important;
  }
  .header-logo img,
  .header-logo {
    max-width: 140px !important;
    max-height: 40px !important;
  }
  .header-logo img {
    width: auto !important;
    height: 40px !important;
    max-width: 140px !important;
  }
  .header-navigations .desktop-nav-link {
    padding: 15px 14px !important;
  }
  .header-navigations .desktop-nav-link.active {
    background: var(--color-primary) !important;
    color: #ffffff !important;
    border-bottom-color: var(--color-primary) !important;
  }
}

/* Text for screen readers only: in the page's outline, never on screen (the checkout's page heading). */
.bs-visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
