:root {
  --abd-cascade-ivory: #F6F1EA;
  --abd-cascade-gold: #B08D57;
  --abd-cascade-black: #111111;
  --abd-cascade-taupe: #D6CDBF;
  --abd-cascade-light-grey: #FAFAF8;
  --abd-cascade-border: rgba(17,17,17,0.08);
}

body:has(#abd-cascade-toggle:checked) {
  overflow: hidden !important;
}

.abd-cascade-state, .abd-section-state, .abd-grid-state {
  position: fixed !important;
  left: -9999px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 1. Launch Button & Header Alignment (Desktop) */
.abd-cascade-launch {
  position: fixed !important;
  z-index: 99991 !important;
  top: 22px !important;
  left: clamp(24px, 4vw, 80px) !important;
  display: none !important;
  align-items: center !important;
  gap: 20px !important;
  color: var(--abd-cascade-black) !important; /* Premium Off-black matching branding */
  font-family: "Raleway", "Lato", sans-serif !important;
  transition: color 0.24s ease, opacity 0.24s ease !important;
}

.abd-cascade-state:checked ~ .abd-cascade-launch,
body[class*=abd-cascade-proof-] .abd-cascade-launch {
  opacity: 0 !important;
  pointer-events: none !important;
}

.abd-cascade-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  min-height: 44px !important;
  color: currentColor !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  font: inherit !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

/* Premium CSS Burger Icon Bars */
.abd-cascade-bars, .abd-cascade-bars:before, .abd-cascade-bars:after {
  display: block !important;
  width: 20px !important;
  height: 1.5px !important;
  background: currentColor !important;
  content: "" !important;
  transition: transform 0.25s ease !important;
}

.abd-cascade-bars {
  position: relative !important;
}

.abd-cascade-bars:before {
  position: absolute !important;
  top: -6px !important;
  left: 0 !important;
}

.abd-cascade-bars:after {
  position: absolute !important;
  top: 6px !important;
  left: 0 !important;
}

.abd-cascade-btn svg {
  width: 20px !important;
  height: 20px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.65 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

.abd-cascade-label {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

/* 2. Menu Shell & Overlay Panels */
.abd-cascade {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99990 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  font-family: "Raleway", "Lato", sans-serif !important;
  color: var(--abd-cascade-black) !important;
}

.abd-cascade-state:checked ~ .abd-cascade,
body[class*=abd-cascade-proof-] .abd-cascade {
  visibility: visible !important;
  pointer-events: auto !important;
}

.abd-cascade__shade {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(17, 17, 17, 0.6) !important; /* Premium semi-transparent dark shade */
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
  cursor: pointer !important;
}

.abd-cascade-state:checked ~ .abd-cascade .abd-cascade__shade,
body[class*=abd-cascade-proof-] .abd-cascade__shade {
  opacity: 1 !important;
}

.abd-cascade__mobilebar {
  display: none !important;
}

.abd-cascade__shell {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  align-items: stretch !important;
  height: 100dvh !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

/* Menu Panels Width - 28vw desktop for balanced look */
.abd-cascade__panel {
  display: none !important;
  width: min(550px, 28vw) !important;
  min-width: min(550px, 28vw) !important;
  height: 100dvh !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  background: var(--abd-cascade-light-grey) !important;
  border-right: 1px solid var(--abd-cascade-border) !important;
  transform: translateX(-100%) !important;
  transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.abd-cascade-state:checked ~ .abd-cascade .abd-cascade__panel--main,
body.abd-cascade-proof-main .abd-cascade__panel--main,
body.abd-cascade-proof-men .abd-cascade__panel--main,
body.abd-cascade-proof-women .abd-cascade__panel--main,
body.abd-cascade-proof-men-bags .abd-cascade__panel--main,
body.abd-cascade-proof-women-bags .abd-cascade__panel--main {
  display: block !important;
  transform: translateX(0) !important;
}

.abd-cascade__top {
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  min-height: 80px !important;
  padding: 0 clamp(24px, 3vw, 48px) !important;
  background: var(--abd-cascade-light-grey) !important;
  border-bottom: 1px solid rgba(17, 17, 17, 0.04) !important;
}

.abd-cascade__close {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 40px !important;
  padding: 0 !important;
  color: var(--abd-cascade-black) !important;
  background: none !important;
  border: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}

.abd-cascade__close span {
  font-size: 24px !important;
  line-height: 1 !important;
}

/* 3. Typography & Menu Items Polish */
.abd-cascade__list {
  display: grid !important;
  align-content: start !important;
  padding: 32px clamp(24px, 3vw, 48px) 60px !important;
}

.abd-cascade__row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  width: 100% !important;
  min-height: 60px !important;
  padding: 0 !important;
  color: var(--abd-cascade-black) !important; /* Off-black */
  background: none !important;
  border: 0 !important;
  text-align: left !important;
  text-decoration: none !important;
  font: inherit !important;
  font-size: clamp(18px, 1.35vw, 24px) !important; /* Luxury spacious scale */
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.02em !important;
  cursor: pointer !important;
  position: relative !important;
  padding-left: 0 !important;
  transition: padding-left 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.28s ease !important;
}

/* Subtle Left-line Hover Indicator */
.abd-cascade__row::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) scaleY(0) !important;
  width: 2.5px !important;
  height: 15px !important;
  background-color: var(--abd-cascade-gold) !important;
  transition: transform 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  transform-origin: center !important;
}

.abd-cascade__row:hover {
  color: var(--abd-cascade-gold) !important;
  padding-left: 14px !important;
}

.abd-cascade__row:hover::before {
  transform: translateY(-50%) scaleY(1) !important;
}

.abd-cascade__row svg {
  width: 16px !important;
  height: 16px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.8 !important;
}

.abd-cascade__head {
  display: none !important;
}

/* 4. Category Image Fixes (contain/padding/breathing space) */
.abd-cascade__tile-grid, .abd-cascade__product-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.abd-cascade__tile, .abd-cascade__product {
  display: block !important;
  min-width: 0 !important;
  color: var(--abd-cascade-black) !important;
  background: var(--abd-cascade-light-grey) !important;
  text-align: center !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(17,17,17,0.04) !important;
  border-right: 1px solid rgba(17,17,17,0.04) !important;
  overflow: hidden !important;
  transition: background-color 0.28s ease, box-shadow 0.28s ease !important;
}

.abd-cascade__tile:hover, .abd-cascade__product:hover {
  background-color: #F3EEE6 !important;
}

/* Fully visible, no crop containment, Ivory background breathing space */
.abd-cascade__tile img, .abd-cascade__product img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1.25/1 !important;
  object-fit: contain !important;
  object-position: center !important;
  background-color: var(--abd-cascade-ivory) !important;
  padding: 16px !important;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.abd-cascade__tile:hover img, .abd-cascade__product:hover img {
  transform: scale(1.03) !important;
}

.abd-cascade__tile span, .abd-cascade__product span {
  display: grid !important;
  min-height: 64px !important;
  place-items: center !important;
  padding: 12px 16px !important;
  font-size: clamp(13px, 0.9vw, 16px) !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
  color: var(--abd-cascade-black) !important;
}

.abd-cascade__section-links {
  border-top: 1px solid rgba(17,17,17,0.06) !important;
  padding-top: 40px !important;
}

/* 5. Mobile & Responsive Styles (max-width: 900px) */
@media (max-width: 900px) {
  :root {
    --abd-cascade-light-grey: #F6F1EA !important;
    --abd-cascade-border: rgba(176,141,87,0.25) !important;
  }

  /* Hide custom launch trigger on mobile */
  .abd-cascade-launch {
    display: none !important;
  }
  
  /* Keep Blocksy mobile menu trigger visible as the single trigger */
  .ct-header-trigger {
    display: inline-flex !important;
  }
  
  /* Block Blocksy's native offcanvas drawer from rendering */
  #offcanvas {
    display: none !important;
  }

  /* Mobile Sticky Header & Color System */
  .ct-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 72px !important;
    z-index: 9999 !important;
    background-color: #F6F1EA !important;
    border-bottom: 1px solid rgba(176,141,87,0.15) !important;
    transition: background-color 0.3s ease, border-color 0.3s ease !important;
  }
  
  /* Normal pages and Scrolled Header: Off-Black text/icons */
  .ct-header .site-title,
  .ct-header .site-title a,
  .ct-header .site-branding a,
  .ct-header .ct-header-trigger,
  .ct-header .ct-header-search,
  .ct-header .ct-account-item,
  .ct-header .ct-cart-item {
    color: #111111 !important;
  }
  .ct-header svg {
    stroke: #111111 !important;
  }
  
  /* Cart badge coloring in light header state */
  .ct-header .ct-dynamic-count-cart {
    background-color: #B08D57 !important;
    color: #F6F1EA !important;
  }
  
  /* Homepage top: Transparent state with Ivory/White readable icons over dark video */
  body.home .ct-header:not(.header-scrolled) {
    background-color: transparent !important;
    border-bottom: none !important;
  }
  body.home .ct-header:not(.header-scrolled) .site-title,
  body.home .ct-header:not(.header-scrolled) .site-title a,
  body.home .ct-header:not(.header-scrolled) .site-branding a,
  body.home .ct-header:not(.header-scrolled) .ct-header-trigger,
  body.home .ct-header:not(.header-scrolled) .ct-header-search,
  body.home .ct-header:not(.header-scrolled) .ct-account-item,
  body.home .ct-header:not(.header-scrolled) .ct-cart-item {
    color: #F6F1EA !important;
  }
  body.home .ct-header:not(.header-scrolled) svg {
    stroke: #F6F1EA !important;
  }

  body:not(.home) {
    padding-top: 72px !important;
  }
  
  .abd-cascade__shade {
    display: none !important;
  }
  
  /* Mobile bar layout */
  .abd-cascade__mobilebar {
    position: relative !important;
    z-index: 3 !important;
    display: grid !important;
    grid-template-columns: 48px 48px minmax(96px, 150px) 48px 48px !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100vw !important;
    max-width: 100% !important;
    min-height: 64px !important;
    padding: 0 12px !important;
    background: var(--abd-cascade-light-grey) !important;
    border-bottom: 1px solid var(--abd-cascade-border) !important;
    transform: translateY(-100%) !important;
    transition: transform 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
  }
  
  .abd-cascade-state:checked ~ .abd-cascade .abd-cascade__mobilebar {
    transform: translateY(0) !important;
  }
  
  .abd-cascade__mobile-logo {
    font-family: "Playfair Display", "Cormorant Garamond", serif !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    justify-self: center !important;
    letter-spacing: 0.05em !important;
  }
  
  .abd-cascade__icon {
    position: relative !important;
    display: grid !important;
    width: 44px !important;
    height: 44px !important;
    place-items: center !important;
    color: var(--abd-cascade-black) !important;
    background: none !important;
    border: 0 !important;
    font-size: 32px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
  }
  
  .abd-cascade__icon svg {
    width: 22px !important;
    height: 22px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.7 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }
  
  .abd-cascade__shell {
    display: block !important;
    height: calc(100dvh - 64px) !important;
    background: var(--abd-cascade-light-grey) !important;
  }
  
  /* Full screen width panels on mobile */
  .abd-cascade__panel,
  .abd-cascade-state:checked ~ .abd-cascade .abd-cascade__panel--main,
  body[class*=abd-cascade-proof-] .abd-cascade__panel {
    display: none !important;
    width: 100% !important;
    min-width: 100% !important;
    height: calc(100dvh - 64px) !important;
    border-right: 0 !important;
    transform: none !important;
  }
  
  .abd-cascade__top {
    display: none !important;
  }
  
  .abd-cascade__list {
    padding: 32px 24px 80px !important;
  }
  
  .abd-cascade__row {
    min-height: 56px !important;
    color: var(--abd-cascade-black) !important;
    font-size: 22px !important;
    border-bottom: 1px solid var(--abd-cascade-border) !important;
    margin-bottom: 0 !important;
  }
  .abd-cascade__row svg {
    stroke: var(--abd-cascade-gold) !important;
  }
  
  .abd-cascade__head {
    position: sticky !important;
    top: 0 !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    min-height: 56px !important;
    padding: 0 24px !important;
    background: var(--abd-cascade-light-grey) !important;
    border-bottom: 1px solid var(--abd-cascade-border) !important;
    font-size: 20px !important;
    font-weight: 500 !important;
  }
  
  .abd-cascade__back {
    display: grid !important;
    width: 44px !important;
    height: 44px !important;
    place-items: center !important;
    margin-left: -12px !important;
    color: var(--abd-cascade-black) !important;
    background: none !important;
    border: 0 !important;
    cursor: pointer !important;
  }
  
  .abd-cascade__back svg {
    width: 24px !important;
    height: 24px !important;
    fill: none !important;
    stroke: var(--abd-cascade-gold) !important;
    stroke-width: 1.8 !important;
  }
  
  .abd-cascade__tile-grid, .abd-cascade__product-grid {
    grid-template-columns: 1fr 1fr !important;
    width: 100vw !important;
    max-width: 100% !important;
  }
  
  .abd-cascade__tile img, .abd-cascade__product img {
    aspect-ratio: 1.25/1 !important;
    padding: 12px !important;
  }
  
  .abd-cascade__tile span, .abd-cascade__product span {
    min-height: 56px !important;
    padding: 10px 12px !important;
    font-size: 15px !important;
  }
  
  .abd-cascade__section-links {
    padding-top: 32px !important;
  }

  /* Active categories styling */
  #abd-section-men:checked ~ .abd-cascade__shell label[for="abd-section-men"],
  #abd-section-women:checked ~ .abd-cascade__shell label[for="abd-section-women"],
  #abd-section-gifts:checked ~ .abd-cascade__shell label[for="abd-section-gifts"],
  #abd-section-collections:checked ~ .abd-cascade__shell label[for="abd-section-collections"],
  #abd-section-about-abds:checked ~ .abd-cascade__shell label[for="abd-section-about-abds"] {
    color: var(--abd-cascade-gold) !important;
    font-weight: 500 !important;
  }
  #abd-grid-men__bags:checked ~ .abd-cascade__shell label[for="abd-grid-men__bags"],
  #abd-grid-women__bags:checked ~ .abd-cascade__shell label[for="abd-grid-women__bags"] {
    color: var(--abd-cascade-gold) !important;
    font-weight: 500 !important;
  }
  
  #abd-section-none:checked ~ .abd-cascade__shell .abd-cascade__panel--main,
  body.abd-cascade-proof-main .abd-cascade__panel--main {
    display: block !important;
  }
  
  #abd-section-men:checked ~ .abd-cascade__shell [data-section-panel=men],
  body.abd-cascade-proof-men [data-section-panel=men],
  #abd-section-women:checked ~ .abd-cascade__shell [data-section-panel=women],
  body.abd-cascade-proof-women [data-section-panel=women] {
    display: block !important;
  }
  
  #abd-section-men:checked ~ #abd-grid-men__bags:checked ~ .abd-cascade__shell [data-section-panel=men],
  body.abd-cascade-proof-men-bags [data-section-panel=men],
  #abd-section-women:checked ~ #abd-grid-women__bags:checked ~ .abd-cascade__shell [data-section-panel=women],
  body.abd-cascade-proof-women-bags [data-section-panel=women] {
    display: none !important;
  }
  
  #abd-section-men:checked ~ #abd-grid-men__bags:checked ~ .abd-cascade__shell [data-grid-panel="men__bags"],
  body.abd-cascade-proof-men-bags [data-grid-panel="men__bags"],
  #abd-section-women:checked ~ #abd-grid-women__bags:checked ~ .abd-cascade__shell [data-grid-panel="women__bags"],
  body.abd-cascade-proof-women-bags [data-grid-panel="women__bags"] {
    display: block !important;
    transform: none !important;
  }
}

/* Desktop sibling checking indicators */
#abd-section-men:checked~.abd-cascade__shell [data-section-panel=men],
body.abd-cascade-proof-men [data-section-panel=men],
body.abd-cascade-proof-men-bags [data-section-panel=men],
#abd-section-women:checked~.abd-cascade__shell [data-section-panel=women],
body.abd-cascade-proof-women [data-section-panel=women],
body.abd-cascade-proof-women-bags [data-section-panel=women],
#abd-section-gifts:checked~.abd-cascade__shell [data-section-panel=gifts],
#abd-section-collections:checked~.abd-cascade__shell [data-section-panel=collections],
#abd-section-about-abds:checked~.abd-cascade__shell [data-section-panel=about-abds] {
  display: block !important;
  transform: translateX(0) !important;
}

#abd-section-men:checked~#abd-grid-men__bags:checked~.abd-cascade__shell [data-grid-panel="men__bags"],
body.abd-cascade-proof-men-bags [data-grid-panel="men__bags"],
#abd-section-men:checked~#abd-grid-men__wallets:checked~.abd-cascade__shell [data-grid-panel="men__wallets"],
#abd-section-women:checked~#abd-grid-women__bags:checked~.abd-cascade__shell [data-grid-panel="women__bags"],
body.abd-cascade-proof-women-bags [data-grid-panel="women__bags"],
#abd-section-women:checked~#abd-grid-women__wallets:checked~.abd-cascade__shell [data-grid-panel="women__wallets"] {
  display: block !important;
  transform: translateX(0) !important;
}

/* Mobile Product Page Gallery Scale Fix */
@media (max-width: 900px) {
  .single-product .woocommerce-product-gallery {
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    background: #F6F1EA !important;
  }
  .single-product .flexy-view {
    aspect-ratio: 1/1 !important;
    height: auto !important;
  }
  .single-product .flexy-view img {
    aspect-ratio: 1/1 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 24px !important;
    background-color: #F6F1EA !important;
  }
  .single-product .flexy-pills img {
    aspect-ratio: 1/1 !important;
    object-fit: cover !important;
  }
}

/* Mobile Footer Cleanup */
@media (max-width: 900px) {
  #abd-footer-newsletter,
  #abd-footer-trust {
    display: none !important;
  }
  .abd-live-footer {
    padding: 60px 0 40px !important;
    text-align: center !important;
  }
  .abd-live-footer__wrap {
    width: calc(100% - 32px) !important;
    margin: 0 auto !important;
  }
  .abd-live-footer__top {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
    padding-bottom: 40px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    text-align: center !important;
  }
  .abd-live-footer__brand {
    font-size: 30px !important;
    text-align: center !important;
    margin: 0 auto !important;
  }
  .abd-live-footer__intro {
    margin: 12px auto 0 !important;
    text-align: center !important;
    font-size: 13.5px !important;
    max-width: 38ch !important;
  }
  .abd-live-footer__top h6 {
    margin: 0 auto 16px !important;
    text-align: center !important;
  }
  .abd-live-footer__top a {
    text-align: center !important;
    padding: 8px 0 !important;
    display: block !important;
  }
  .abd-live-footer__social--stay {
    justify-content: center !important;
    margin: 16px auto 0 !important;
  }
  .abd-live-footer__bottom {
    flex-direction: column !important;
    align-items: center !important;
    gap: 20px !important;
    padding-top: 24px !important;
    text-align: center !important;
  }
  .abd-live-footer__pay {
    justify-content: center !important;
    gap: 10px !important;
  }
}


/* ==========================================================================
   SPRINT 2 - FINAL LUXURY OVERRIDES (HEADER STICKY, ICONS, & PRODUCTS)
   ========================================================================== */

/* 1. STICKY HEADER STYLING (DESKTOP & MOBILE) */
header.ct-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;
  background-color: transparent !important;
  border-bottom: none !important;
  transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
}

/* Scrolled Header State */
header.ct-header.header-scrolled {
  background-color: #F6F1EA !important;
  height: auto !important;
  min-height: 0 !important;
  border-bottom: 1px solid rgba(176,141,87,0.15) !important;
  box-shadow: 0 2px 10px rgba(17,17,17,0.05) !important;
}

/* Non-homepage headers should always be scrolled/opaque */
body:not(.home) header.ct-header {
  background-color: #F6F1EA !important;
  border-bottom: 1px solid rgba(176,141,87,0.15) !important;
}

/* Offset page content for fixed header */
body:not(.home) {
  padding-top: 100px !important;
}
@media (max-width: 900px) {
  body:not(.home) {
    padding-top: 72px !important;
  }
}

/* Homepage Transparent State (unscrolled) */
body.home header.ct-header:not(.header-scrolled) .site-title,
body.home header.ct-header:not(.header-scrolled) .site-branding a,
body.home header.ct-header:not(.header-scrolled) .ct-menu-link,
body.home header.ct-header:not(.header-scrolled) .ct-header-trigger,
body.home header.ct-header:not(.header-scrolled) .ct-header-search,
body.home header.ct-header:not(.header-scrolled) .ct-account-item,
body.home header.ct-header:not(.header-scrolled) .ct-cart-item {
  color: #111111 !important;
}
body.home header.ct-header:not(.header-scrolled) svg {
  stroke: #F6F1EA !important;
}

/* Scrolled State and Inner Pages (Off-Black) */
header.ct-header.header-scrolled .site-title,
header.ct-header.header-scrolled .site-branding a,
header.ct-header.header-scrolled .ct-menu-link,
header.ct-header.header-scrolled .ct-header-trigger,
header.ct-header.header-scrolled .ct-header-search,
header.ct-header.header-scrolled .ct-account-item,
header.ct-header.header-scrolled .ct-cart-item,
body:not(.home) header.ct-header .site-title,
body:not(.home) header.ct-header .site-branding a,
body:not(.home) header.ct-header .ct-menu-link,
body:not(.home) header.ct-header .ct-header-trigger,
body:not(.home) header.ct-header .ct-header-search,
body:not(.home) header.ct-header .ct-account-item,
body:not(.home) header.ct-header .ct-cart-item {
  color: #111111 !important;
}
header.ct-header.header-scrolled svg,
body:not(.home) header.ct-header svg {
  stroke: #111111 !important;
}

/* Cart dynamic count badge */
header.ct-header .ct-dynamic-count-cart {
  background-color: #B08D57 !important;
  color: #F6F1EA !important;
  border: none !important;
}

/* 2. CUSTOM THIN LUXURY ICONS FOR HEADER */
header.ct-header svg {
  display: inline-block !important;
  width: 20px !important;
  height: 20px !important;
  background-color: currentColor !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
}

header.ct-header svg * {
  display: none !important;
}
/* NAV DROPDOWN ARROWS: restore native rendering (not masked) */
header.ct-header nav svg,
header.ct-header .ct-menu-link svg,
header.ct-header .ct-toggle-dropdown-desktop svg {
  background-color: transparent !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
  width: 8px !important;
  height: 8px !important;
  fill: currentColor !important;
  pointer-events: none !important;
}
header.ct-header nav svg *,
header.ct-header .ct-toggle-dropdown-desktop svg * {
  display: block !important;
  pointer-events: none !important;
}


/* Specific Masks */
header.ct-header .ct-header-trigger svg {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E") !important;
}

header.ct-header [data-id="search"] svg,
header.ct-header .ct-header-search svg {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath stroke-linecap='round' d='M20 20l-4.3-4.3'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath stroke-linecap='round' d='M20 20l-4.3-4.3'/%3E%3C/svg%3E") !important;
}

header.ct-header [data-id="account"] svg,
header.ct-header .ct-account-item svg {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath stroke-linecap='round' d='M4 21c1.5-4 4.2-6 8-6s6.5 2 8 6'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath stroke-linecap='round' d='M4 21c1.5-4 4.2-6 8-6s6.5 2 8 6'/%3E%3C/svg%3E") !important;
}

header.ct-header [data-id="cart"] svg,
header.ct-header .ct-cart-item svg {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' d='M6 8h12l-1 12H7L6 8z'/%3E%3Cpath stroke-linecap='round' d='M9 8a3 3 0 016 0'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath stroke-linecap='round' d='M6 8h12l-1 12H7L6 8z'/%3E%3Cpath stroke-linecap='round' d='M9 8a3 3 0 016 0'/%3E%3C/svg%3E") !important;
}

/* 3. PRODUCT CARDS CATALOG STANDARDIZATION */
.products .product,
.ct-products-grid .product,
.woocommerce-loop-product__link {
  background-color: #F6F1EA !important;
  border-radius: 0 !important;
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.products .product img,
.ct-products-grid .product img,
.woocommerce-loop-product__thumbnail img,
.ct-media-container img {
  background-color: #F6F1EA !important;
  object-fit: contain !important;
  aspect-ratio: 1/1 !important;
  width: 100% !important;
  height: auto !important;
  max-height: 280px !important;
  mix-blend-mode: multiply !important;
  padding: 12px !important;
}

.woocommerce-loop-product__thumbnail,
.ct-media-container {
  background-color: #F6F1EA !important;
  mix-blend-mode: multiply !important;
}

.products .product:hover,
.ct-products-grid .product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 20px rgba(17,17,17,0.06) !important;
}

/* 4. HEADER EXTRA LINE / STRIP FIX
   Blocksy renders a top-row (33px) and overall header container bg.
   When sticky activates, the empty top-row can show as an ivory strip.
   Hide it and ensure only the middle-row is visible. */
header.ct-header [data-row="top"] {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* Homepage header: ivory background always */
header.ct-header:not(.header-scrolled) {
  background-color: #F6F1EA !important;
}

/* Only the middle row gets the actual Ivory bg when scrolled */
header.ct-header.header-scrolled [data-row="middle"] {
  background-color: #F6F1EA !important;
}

body:not(.home) header.ct-header [data-row="middle"] {
  background-color: #F6F1EA !important;
}

/* Homepage unscrolled: transparent middle row */
body.home header.ct-header:not(.header-scrolled) [data-row="middle"] {
  background-color: transparent !important;
}

/* Ensure the header container itself has no extra border/shadow when not scrolled */
body.home header.ct-header:not(.header-scrolled) {
  box-shadow: none !important;
  border-bottom: 1px solid rgba(176,141,87,0.15) !important;
}

