/* Shared single-row compact storefront header across all pages */
.cv-site-header{position:-webkit-sticky!important;position:sticky!important;top:0!important;z-index:1400!important;box-shadow:0 4px 20px rgba(74,48,38,.04);background:rgba(251,248,245,.98);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--cvh-line,#e8dfda)}
.cv-site-header .cv-topbar{display:none!important;height:0!important;min-height:0!important;opacity:0!important;visibility:hidden!important;border:0!important;padding:0!important;margin:0!important;overflow:hidden!important}
html[dir] .cv-site-header .cv-header-main,
html[dir] .home-page .cv-site-header .cv-header-main,
html[dir] .home-page .cv-site-header:not(.is-scrolled) .cv-header-main,
html[dir] .cv-site-header.is-scrolled .cv-header-main{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr) auto!important;
  grid-template-rows:68px!important;
  grid-template-areas:'brand nav actions'!important;
  min-height:68px!important;
  height:68px!important;
  gap:0 24px!important;
  align-items:center!important;
  direction:inherit!important;
}
.cv-site-header .cv-brand,
html[dir] .home-page .cv-site-header:not(.is-scrolled) .cv-brand{
  grid-area:brand!important;
  padding:0!important;
  justify-self:start!important;
  display:inline-flex!important;
  align-items:center!important;
}
html[dir] .cv-site-header .cv-brand img,
html[dir] .home-page .cv-site-header:not(.is-scrolled) .cv-brand img,
html[dir] .cv-site-header.is-scrolled .cv-brand img{
  width:146px!important;
  max-height:44px!important;
  object-fit:contain!important;
}
html[dir] .cv-site-header .cv-desktop-nav{
  grid-area:nav!important;
  display:flex!important;
  justify-content:center!important;
  align-self:center!important;
  gap:24px!important;
  border:0!important;
  overflow:visible!important;
}
html[dir] .cv-site-header .cv-header-actions{
  grid-area:actions!important;
  justify-self:end!important;
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  direction:ltr!important;
}
html[dir='ltr'] .cv-site-header .cv-header-actions{
  flex-direction:row-reverse!important;
}
.cv-site-header .cv-actions-divider{display:none}
html[lang] .cv-site-header .cv-nav-link,html[lang] .cv-site-header .cv-nav-more{padding:14px 0;font-size:12px}
.cv-site-header .cv-nav-link::after,.cv-site-header .cv-nav-more::after{bottom:6px}
.cv-site-header .cv-more-menu{top:100%}
.cv-site-header .cv-menu-toggle{display:none}
.home-page #heroSection{margin-top:0!important;padding-top:24px!important}
.cv-site-header .cv-icon-btn:focus-visible,.cv-site-header a:focus-visible,.cv-site-header button:focus-visible{outline:2px solid var(--cvh-burgundy);outline-offset:3px}
.cv-header-actions .cv-top-lang{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #d9c5c0!important;
  border-radius:999px!important;
  background:transparent!important;
  color:var(--cvh-burgundy,#8d1724)!important;
  padding:2px 9px!important;
  min-width:32px!important;
  height:28px!important;
  font-family:Manrope,sans-serif!important;
  font-size:11px!important;
  font-weight:700!important;
  cursor:pointer!important;
  letter-spacing:.06em!important;
  transition:all .18s ease!important;
  margin-inline:2px 4px!important;
}
.cv-header-actions .cv-top-lang:hover{
  background:rgba(141,23,36,.08)!important;
  border-color:var(--cvh-burgundy,#8d1724)!important;
}
.cv-header-actions .cv-icon-btn{width:34px;height:34px}
.cv-header-actions .cv-icon-btn svg{width:21px;height:21px}
.cv-site-header .cv-cart-count{top:1px;right:-2px;min-width:15px;height:15px;font-size:8px;line-height:15px}
.cv-site-header .cv-cart-link .cart-count-badge{display:none}

/* Safe scroll locking */
html.cv-drawer-locked {
  overflow: hidden !important;
  touch-action: none;
}

@media(max-width:1100px){
 html[dir] .cv-site-header .cv-header-main,
 html[dir] .home-page .cv-site-header .cv-header-main{grid-template-columns:140px minmax(0,1fr) auto!important;gap:0 14px!important}
 html[dir] .cv-site-header .cv-desktop-nav{gap:16px!important}
}

@media(max-width:900px){
 html[dir] .cv-site-header.is-scrolled .cv-header-main,
 html[dir] .cv-site-header .cv-header-main,
 html[dir] .home-page .cv-site-header .cv-header-main,
 html[dir] .home-page #cvSiteHeader .cv-header-main{
   display: grid !important;
   grid-template-columns: 44px 1fr auto !important;
   grid-template-rows: 64px !important;
   grid-template-areas: 'menu brand actions' !important;
   gap: 0 8px !important;
   height: 64px !important;
   min-height: 64px !important;
   align-items: center !important;
   padding-inline: 14px !important;
   box-sizing: border-box !important;
   direction: inherit !important;
 }
 html[dir] .cv-site-header .cv-desktop-nav{display:none!important}
  html[dir] .cv-site-header .cv-brand{
    grid-area: brand !important;
    justify-self: center !important;
    padding: 0 !important;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto;
    transition: opacity 0.24s ease, transform 0.24s ease, visibility 0.24s !important;
  }
  html[dir] .home-page #cvSiteHeader.hero-visible .cv-brand{
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: scale(0.92) !important;
  }
  html[dir] .home-page #cvSiteHeader:not(.hero-visible) .cv-brand{
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: scale(1) !important;
  }
 html[dir] .cv-site-header.is-scrolled .cv-brand img,
 html[dir] .cv-site-header .cv-brand img,
 html[dir] .home-page .cv-site-header img,
 html[dir] .home-page #cvSiteHeader .cv-brand img{
   width: clamp(105px, 28vw, 136px) !important;
   max-height: 42px !important;
   object-fit: contain !important;
 }
 html[dir] .cv-site-header .cv-menu-toggle{
   display: flex !important;
   grid-area: menu !important;
   justify-self: start !important;
   flex-direction: column !important;
   align-items: center !important;
   justify-content: center !important;
   width: 40px !important;
   height: 40px !important;
   border: 0 !important;
   background: transparent !important;
   color: var(--cvh-burgundy, #8d1724) !important;
   cursor: pointer !important;
   padding: 0 !important;
   border-radius: 8px !important;
 }
 html[dir] .cv-site-header .cv-menu-toggle span{
   display: block !important;
   width: 22px !important;
   height: 2px !important;
   background: currentColor !important;
   border-radius: 2px !important;
   margin: 0 !important;
 }
 html[dir] .cv-site-header .cv-menu-toggle span + span{
   margin-top: 5px !important;
 }
 html[dir] .cv-site-header .cv-header-actions{
   grid-area: actions !important;
   justify-self: end !important;
   display: flex !important;
   align-items: center !important;
   gap: 2px !important;
   direction: inherit !important;
 }
 .cv-site-header .cv-header-actions .cv-icon-btn.cv-favorite-action,
 .cv-site-header .cv-header-actions .cv-icon-btn.cv-account-action{display:none!important}
 .cv-site-header .cv-header-actions .cv-icon-btn{width:36px!important;height:36px!important;display:grid!important;place-items:center!important}
 .cv-site-header .cv-header-actions .cv-icon-btn svg{width:20px!important;height:20px!important}
 .cv-site-header .cv-search-panel{position:absolute!important;top:100%!important;inset-inline:0!important}
}

@media(prefers-reduced-motion:reduce){.cv-site-header *{transition:none!important}}
.cv-site-header [hidden]{display:none!important}

/* Mobile Backdrop */
.cv-mobile-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1990 !important;
  background: rgba(26, 17, 14, 0.5) !important;
  backdrop-filter: blur(5px) !important;
  -webkit-backdrop-filter: blur(5px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.3s !important;
}
.cv-mobile-backdrop.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Mobile Drawer */
.cv-mobile-menu {
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  z-index: 2000 !important;
  width: min(85vw, 360px) !important;
  max-width: 380px !important;
  height: 100% !important;
  height: 100dvh !important;
  background: #fffdfb !important;
  box-shadow: 0 0 40px rgba(47, 32, 26, 0.16) !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.32s !important;
  visibility: hidden !important;
  direction: inherit !important;
}

/* Docking: in RTL dock to right (slide from right). In LTR dock to left (slide from left). */
html[dir="rtl"] .cv-mobile-menu,
[dir="rtl"] .cv-mobile-menu {
  right: 0 !important;
  left: auto !important;
  border-left: 1px solid rgba(141, 23, 36, 0.08) !important;
}
html[dir="ltr"] .cv-mobile-menu,
[dir="ltr"] .cv-mobile-menu {
  left: 0 !important;
  right: auto !important;
  border-right: 1px solid rgba(141, 23, 36, 0.08) !important;
}

/* Off-screen closed states */
html[dir="rtl"] .cv-mobile-menu:not(.is-open),
[dir="rtl"] .cv-mobile-menu:not(.is-open) {
  transform: translate3d(105%, 0, 0) !important;
  visibility: hidden !important;
}
html[dir="ltr"] .cv-mobile-menu:not(.is-open),
[dir="ltr"] .cv-mobile-menu:not(.is-open) {
  transform: translate3d(-105%, 0, 0) !important;
  visibility: hidden !important;
}

/* Open State - High specificity to cleanly override any directional transform */
html[dir="rtl"] .cv-mobile-menu.is-open,
html[dir="ltr"] .cv-mobile-menu.is-open,
html[dir] .cv-mobile-menu.is-open,
[dir] .cv-mobile-menu.is-open,
.cv-mobile-menu.is-open {
  transform: translate3d(0, 0, 0) !important;
  visibility: visible !important;
}

.cv-mobile-backdrop[hidden],
.cv-mobile-menu[hidden] {
  display: none !important;
}

/* Mobile Drawer Header */
.cv-mobile-menu-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 16px 20px !important;
  border-bottom: 1px solid rgba(232, 223, 218, 0.8) !important;
  background: #faf6f3 !important;
  flex-shrink: 0 !important;
  gap: 12px !important;
}
.cv-mobile-menu-head img {
  width: 120px !important;
  height: auto !important;
  max-height: 38px !important;
  object-fit: contain !important;
}
.cv-mobile-close {
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  border: 1px solid #ebdcd6 !important;
  background: #ffffff !important;
  color: var(--cvh-burgundy, #8d1724) !important;
  display: grid !important;
  place-items: center !important;
  cursor: pointer !important;
  font-size: 22px !important;
  line-height: 1 !important;
  padding: 0 !important;
  transition: background 0.16s ease !important;
}
.cv-mobile-close:hover {
  background: #f7ede9 !important;
}
.cv-mobile-lang-btn {
  border: 1px solid #d9c5c0 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--cvh-burgundy, #8d1724) !important;
  padding: 4px 11px !important;
  font-family: Manrope, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  letter-spacing: 0.04em !important;
  margin-inline-start: auto !important;
}

/* Mobile Drawer Navigation Links */
.cv-mobile-menu nav {
  display: flex !important;
  flex-direction: column !important;
  padding: 12px 14px !important;
  flex: 1 0 auto !important;
}
.cv-mobile-menu nav a {
  display: flex !important;
  align-items: center !important;
  min-height: 48px !important;
  padding: 10px 14px !important;
  border-radius: 12px !important;
  border-bottom: 0 !important;
  color: #2b1c18 !important;
  text-decoration: none !important;
  font-family: Alexandria, Manrope, sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 550 !important;
  transition: background-color 0.18s ease, color 0.18s ease !important;
}
.cv-mobile-menu nav a::after {
  content: none !important;
  display: none !important;
}
.cv-mobile-menu nav a:hover,
.cv-mobile-menu nav a:active {
  background: rgba(141, 23, 36, 0.06) !important;
  color: var(--cvh-burgundy, #8d1724) !important;
}
.cv-mobile-more {
  display: block !important;
  flex-shrink: 0;
  border-top: 1px solid rgba(232, 223, 218, 0.7) !important;
  margin-top: 8px !important;
  padding-top: 8px !important;
}
.cv-mobile-more summary {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 44px !important;
  padding: 8px 14px !important;
  color: #8d1724 !important;
  -webkit-text-fill-color: #8d1724;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  border-radius: 10px !important;
}
.cv-mobile-more summary::-webkit-details-marker {
  display: none !important;
}
.cv-mobile-more summary::after {
  content: "▾" !important;
  font-size: 12px !important;
  color: #aa7f7c !important;
  transition: transform 0.2s ease !important;
}
.cv-mobile-more[open] summary::after {
  transform: rotate(180deg) !important;
}
.cv-mobile-more a {
  padding-inline-start: 24px !important;
  font-size: 13.5px !important;
  color: #65544f !important;
}

/* Mobile Drawer Auth Slot */
.cv-mobile-auth-slot {
  margin: auto 16px 12px !important;
  padding-top: 14px !important;
  border-top: 1px solid rgba(232, 223, 218, 0.8) !important;
}
.cv-mobile-signin-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 46px !important;
  border-radius: 12px !important;
  border: 1px solid var(--cvh-burgundy, #8d1724) !important;
  background: rgba(141, 23, 36, 0.04) !important;
  color: var(--cvh-burgundy, #8d1724) !important;
  font-family: inherit !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background 0.18s ease !important;
}
.cv-mobile-signin-btn:active {
  background: var(--cvh-burgundy, #8d1724) !important;
  color: #ffffff !important;
}
.cv-mobile-user-card {
  background: #faf6f3 !important;
  border: 1px solid rgba(232, 223, 218, 0.8) !important;
  border-radius: 14px !important;
  padding: 12px !important;
}
.cv-mobile-user-info {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 10px !important;
}
.cv-mobile-user-avatar {
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  background: var(--cvh-burgundy, #8d1724) !important;
  color: #ffffff !important;
  display: grid !important;
  place-items: center !important;
  font: 700 13px Manrope, sans-serif !important;
}
.cv-mobile-user-text strong {
  display: block !important;
  font-size: 13px !important;
  color: #2b1c18 !important;
}
.cv-mobile-user-text small {
  font-size: 10.5px !important;
  color: #8c7670 !important;
}
.cv-mobile-user-links {
  display: flex !important;
  gap: 8px !important;
}
.cv-mobile-acc-link,
.cv-mobile-logout-btn {
  flex: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  min-height: 36px !important;
  padding: 4px 8px !important;
  border-radius: 8px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  font-family: inherit !important;
  border: 1px solid #d9cbca !important;
  background: #ffffff !important;
  color: #43312c !important;
}
.cv-mobile-logout-btn {
  color: #b72b2b !important;
  border-color: #ecc9c9 !important;
  background: #fff8f8 !important;
}

/* Mobile Drawer Meta Footer */
.cv-mobile-meta {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
  gap: 8px !important;
  padding: 0 16px 20px !important;
  margin-top: 0 !important;
}
.cv-mobile-meta a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 40px !important;
  padding: 6px 12px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(232, 223, 218, 0.9) !important;
  background: #ffffff !important;
  color: var(--cvh-burgundy, #8d1724) !important;
  text-decoration: none !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-align: center !important;
}

.cv-mobile-menu .mobile-categories summary{padding:14px 0;cursor:pointer;font:inherit}

/* Compact category names and icons; every shop category remains visible. */
.cv-site-header .cv-cat-link{flex:0 0 auto;padding:8px 12px;gap:10px;min-height:44px;border-radius:12px}
.cv-site-header .cv-cat-title{font-size:13px;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.cv-site-header .cv-cat-sub{display:none}
.category-icon{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;flex:0 0 24px;color:var(--cvh-burgundy,#8d1724)}
.category-icon svg,.category-icon img{display:block;width:100%;height:100%;object-fit:contain}
.cv-site-header .cv-mega-menu{max-height:calc(100svh - 70px);overflow-y:auto}
.page-top #chips.chip-row{display:flex;flex-wrap:wrap!important;overflow:visible!important;gap:8px;max-width:100%}
.page-top #chips .chip{display:inline-flex;align-items:center;gap:8px;white-space:normal;max-width:100%;flex-shrink:1;overflow-wrap:anywhere}
.page-top #chips .chip.active .category-icon{color:inherit}
.cv-mobile-menu .mobile-categories a{display:flex;align-items:center;gap:10px}

/* Single desktop account entry; mobile continues to use the existing drawer. */
@media(min-width:901px){
html[dir] .cv-site-header .cv-header-actions .cv-account-action{display:inline-flex!important;width:auto;height:36px;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid #e6d7d2;border-radius:20px;color:#850c26;-webkit-text-fill-color:currentColor;text-decoration:none;white-space:nowrap}
.cv-account-label{font-size:12px;font-weight:600;font-family:inherit}
html[dir] .cv-site-header .cv-header-actions .cv-account-action svg{width:18px;height:18px}
}

/* Shared account pill, including compact headers. */
html[dir] .cv-site-header .cv-header-actions .cv-icon-btn.cv-account-action,
html[dir] .cv-site-header .cv-header-actions .cv-account-action:link,
html[dir] .cv-site-header .cv-header-actions .cv-account-action:visited,
html[dir] .cv-site-header .cv-header-actions .cv-account-action:hover,
html[dir] .cv-site-header .cv-header-actions .cv-account-action:active{display:inline-flex!important;flex:0 0 auto!important;width:auto!important;min-width:0!important;height:36px!important;gap:6px!important;padding:0 10px!important;align-items:center;justify-content:center;border:1px solid #e6d7d2!important;border-radius:20px!important;color:#850c26!important;-webkit-text-fill-color:#850c26!important;text-decoration:none!important;white-space:nowrap}
html[dir] .cv-site-header .cv-account-label{display:inline!important;font:600 12px/1.4 inherit;font-size:12px;font-weight:600}
html[dir] .cv-site-header .cv-account-action svg{width:18px!important;height:18px!important;flex:0 0 18px}

html[dir] .cv-mobile-menu .cv-account-pill{display:inline-flex!important;width:auto!important;height:36px!important;min-height:36px!important;gap:6px!important;padding:0 10px!important;align-items:center;justify-content:center;border:1px solid #e6d7d2!important;border-radius:20px!important;background:transparent!important;color:#850c26!important;-webkit-text-fill-color:#850c26!important;text-decoration:none!important;white-space:nowrap;font-family:inherit;font-size:12px!important;font-weight:600!important}
html[dir] .cv-account-pill svg{width:18px!important;height:18px!important;flex:0 0 18px}
@media(max-width:900px){html[dir] .cv-site-header .cv-header-actions .cv-icon-btn.cv-account-action{display:none!important}}

/* Unified drawer action geometry; scoped away from desktop header pills. */
html[dir] .cv-mobile-menu .cv-mobile-auth-slot{margin: auto 16px 10px!important}
html[dir] .cv-mobile-menu .cv-mobile-user-card{padding:0!important;border:0!important;background:transparent!important}
html[dir] .cv-mobile-menu .cv-mobile-user-links{display:flex!important;flex-direction:column!important;gap:10px!important}
html[dir] .cv-mobile-menu .cv-mobile-meta{grid-template-columns:1fr!important;gap:10px!important}
html[dir] .cv-mobile-menu :is(.cv-drawer-action,.cv-mobile-signin-btn,.cv-mobile-acc-link,.cv-mobile-logout-btn,.cv-mobile-meta>a[href="favorites.html"]){
 box-sizing:border-box!important;appearance:none!important;-webkit-appearance:none!important;
 display:flex!important;flex:none!important;width:100%!important;max-width:none!important;
 height:48px!important;min-height:48px!important;margin:0!important;padding:0 16px!important;
 border:1px solid #d9cbca!important;border-radius:12px!important;background:#fff!important;
 align-items:center!important;justify-content:center!important;gap:8px!important;
 font-family:inherit!important;font-size:14px!important;font-weight:600!important;line-height:1.3!important;
 color:#850c26!important;-webkit-text-fill-color:#850c26!important;text-decoration:none!important;white-space:nowrap!important;
}
html[dir] .cv-mobile-menu :is(.cv-mobile-signin-btn,.cv-mobile-acc-link){border-color:#850c26!important;background:#faf5f6!important}
html[dir] .cv-mobile-menu :is(.cv-drawer-action,.cv-mobile-signin-btn,.cv-mobile-acc-link,.cv-mobile-logout-btn) svg{width:18px!important;height:18px!important;flex:0 0 18px!important}
html[dir] .cv-mobile-menu .cv-mobile-meta>a[href="favorites.html"]::before{content:"";width:18px;height:18px;flex:0 0 18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.8' d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E") center/contain no-repeat}
