/* ============================================================
   DUVA CLEAN FINAL OVERRIDES
   One stable header, usable drawers, compact recommendations.
   ============================================================ */
:root{--duva-announcement-h:34px;--duva-header-h:94px;--duva-border:#d9d9d9}
html,body{max-width:100%;overflow-x:hidden}

/* Shared desktop header geometry. */
@media (min-width: 721px){
  #siteHeader.site-header,
  #siteHeader.product-site-header{
    box-sizing:border-box!important;
    width:100%!important;
    height:var(--duva-header-h)!important;
    min-height:var(--duva-header-h)!important;
    padding:0 24px!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    overflow:visible!important;
    z-index:5000!important;
    transform:none!important;
  }

  body:not(.inner-page):not(.favorites-page):not(.cart-page) #siteHeader{
    position:absolute!important;
    top:var(--duva-announcement-h)!important;
    left:0!important;
    right:0!important;
    background:transparent!important;
    border-bottom:1px solid rgba(255,255,255,.30)!important;
    color:#fff!important;
  }
  body:not(.inner-page):not(.favorites-page):not(.cart-page) #siteHeader.scrolled{
    position:fixed!important;
    top:0!important;
    background:rgba(255,255,255,.97)!important;
    border-bottom-color:var(--duva-border)!important;
    color:#111!important;
    backdrop-filter:blur(14px)!important;
  }
  body.inner-page #siteHeader,
  body.favorites-page #siteHeader,
  body.cart-page #siteHeader{
    position:sticky!important;
    top:0!important;
    background:#fff!important;
    border-bottom:1px solid var(--duva-border)!important;
    color:#111!important;
  }

  #siteHeader .menu-button,
  #siteHeader #productMenuButton{
    position:static!important;
    flex:0 0 44px!important;
    width:44px!important;height:44px!important;
    margin:0!important;transform:none!important;
    visibility:visible!important;opacity:1!important;
  }

  #siteHeader .duva-wordmark{
    position:static!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;
    flex:0 0 170px!important;
    width:170px!important;min-width:170px!important;max-width:170px!important;
    height:auto!important;
    margin:0!important;padding:0!important;
    display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;
    gap:9px!important;
    color:currentColor!important;text-decoration:none!important;
    visibility:visible!important;opacity:1!important;
  }
  #siteHeader .duva-wordmark .header-d-logo{
    position:static!important;
    display:block!important;
    width:58px!important;height:39px!important;min-width:58px!important;flex:0 0 58px!important;
    margin:0!important;transform:none!important;object-fit:contain!important;
    visibility:visible!important;opacity:1!important;
    filter:none!important;
  }
  body:not(.inner-page):not(.favorites-page):not(.cart-page) #siteHeader:not(.scrolled) .duva-wordmark .header-d-logo{filter:invert(1)!important}
  #siteHeader .duva-wordmark .header-uva{
    position:static!important;display:block!important;margin:0!important;padding:0!important;transform:none!important;
    color:currentColor!important;font-size:31px!important;line-height:1!important;font-weight:800!important;
    letter-spacing:-.04em!important;white-space:nowrap!important;
    visibility:visible!important;opacity:1!important;
  }

  #siteHeader .header-actions,
  #siteHeader .product-header-actions{
    position:static!important;
    flex:1 1 auto!important;min-width:0!important;width:auto!important;max-width:none!important;
    margin:0 0 0 auto!important;padding:0!important;
    display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;
    overflow:visible!important;
  }
  #siteHeader .header-search,
  #siteHeader .product-header-search{
    position:relative!important;
    flex:1 1 680px!important;
    width:auto!important;min-width:280px!important;max-width:900px!important;
    height:58px!important;min-height:58px!important;
    margin:0!important;padding:0 10px 0 22px!important;box-sizing:border-box!important;
    display:flex!important;align-items:center!important;
    border:1px solid #cfcfcf!important;border-radius:999px!important;
    background:#fff!important;color:#111!important;overflow:visible!important;
    z-index:1!important;
  }
  body:not(.inner-page):not(.favorites-page):not(.cart-page) #siteHeader:not(.scrolled) .header-search{
    border-color:rgba(255,255,255,.62)!important;background:rgba(255,255,255,.06)!important;color:#fff!important;
  }
  #siteHeader .header-search input,
  #siteHeader .product-header-search input{
    order:1!important;position:static!important;display:block!important;
    flex:1 1 auto!important;width:100%!important;min-width:0!important;max-width:none!important;
    height:56px!important;margin:0!important;padding:0 10px 0 0!important;
    border:0!important;outline:0!important;background:transparent!important;color:currentColor!important;
    font:inherit!important;font-size:18px!important;line-height:56px!important;opacity:1!important;
  }
  #siteHeader .header-search input::placeholder,
  #siteHeader .product-header-search input::placeholder{color:currentColor!important;opacity:.62!important}
  #siteHeader .header-search .icon-button,
  #siteHeader .product-header-search #productSearchButton{
    order:2!important;position:static!important;display:grid!important;place-items:center!important;
    flex:0 0 42px!important;width:42px!important;height:42px!important;min-width:42px!important;
    margin:0!important;padding:8px!important;transform:none!important;color:currentColor!important;
  }
  #siteHeader .header-search-results,
  #siteHeader .product-header-search-results{
    position:absolute!important;left:0!important;right:auto!important;top:calc(100% + 10px)!important;
    width:100%!important;min-width:100%!important;max-width:none!important;max-height:500px!important;
    overflow-y:auto!important;box-sizing:border-box!important;
    background:#fff!important;color:#111!important;border:1px solid #d7d7d7!important;border-radius:18px!important;
    box-shadow:0 18px 55px rgba(0,0,0,.16)!important;z-index:9000!important;
  }
  #siteHeader .header-search-results:empty,
  #siteHeader .product-header-search-results:empty{display:none!important;pointer-events:none!important}

  #siteHeader #favoritesButton,#siteHeader #cartButton,
  #siteHeader .product-favorites-link,#siteHeader .product-cart-link{
    position:relative!important;z-index:3!important;
    flex:0 0 46px!important;width:46px!important;height:46px!important;min-width:46px!important;
    margin:0!important;display:grid!important;place-items:center!important;
    color:currentColor!important;pointer-events:auto!important;cursor:pointer!important;
  }
  #siteHeader .ui-svg{stroke:currentColor!important}
}

@media (min-width:721px) and (max-width:1000px){
  #siteHeader.site-header,#siteHeader.product-site-header{padding:0 12px!important;gap:7px!important}
  #siteHeader .duva-wordmark{flex-basis:132px!important;width:132px!important;min-width:132px!important;max-width:132px!important;gap:6px!important}
  #siteHeader .duva-wordmark .header-d-logo{width:44px!important;height:30px!important;min-width:44px!important;flex-basis:44px!important}
  #siteHeader .duva-wordmark .header-uva{font-size:25px!important}
  #siteHeader .header-search,#siteHeader .product-header-search{min-width:0!important;max-width:none!important}
}

/* Mobile: simple, clean header. Search expands below header only when open/focused. */
@media (max-width:720px){
  #siteHeader.site-header,#siteHeader.product-site-header{
    position:sticky!important;top:0!important;z-index:5000!important;
    height:74px!important;min-height:74px!important;padding:0 12px!important;
    display:grid!important;grid-template-columns:44px 1fr auto!important;align-items:center!important;gap:8px!important;
    background:#fff!important;color:#111!important;border-bottom:1px solid var(--duva-border)!important;
  }
  #siteHeader .menu-button,#siteHeader #productMenuButton{grid-column:1!important;position:static!important}
  #siteHeader .duva-wordmark{grid-column:2!important;justify-self:center!important;position:static!important;transform:none!important;display:inline-flex!important;align-items:center!important;gap:6px!important;width:auto!important;min-width:0!important}
  #siteHeader .duva-wordmark .header-d-logo{width:43px!important;height:29px!important;filter:none!important}
  #siteHeader .duva-wordmark .header-uva{font-size:24px!important}
  #siteHeader .header-actions,#siteHeader .product-header-actions{grid-column:3!important;display:flex!important;align-items:center!important;gap:2px!important}
  #siteHeader .header-search,#siteHeader .product-header-search{position:static!important;width:42px!important;min-width:42px!important;height:42px!important;border:0!important;background:transparent!important;padding:0!important}
  #siteHeader .header-search input,#siteHeader .product-header-search input{display:none!important}
  #siteHeader .header-search .icon-button,#siteHeader .product-header-search #productSearchButton{width:42px!important;height:42px!important}
  #siteHeader #favoritesButton,#siteHeader .product-favorites-link{display:none!important}
}

/* Drawers: always on top of header; no clipping or bleed-through. */
.page-overlay,#pageOverlay,.duva-shell-overlay{z-index:49990!important}
.drawer,#cartDrawer,#favoritesDrawer,.duva-shell-drawer,.duva-global-favorites-drawer{
  position:fixed!important;top:0!important;right:0!important;bottom:0!important;
  width:min(500px,100vw)!important;height:100dvh!important;max-height:100dvh!important;
  background:#fff!important;color:#111!important;z-index:50000!important;
  overflow:hidden!important;box-shadow:-18px 0 50px rgba(0,0,0,.16)!important;
}
.drawer-header,.duva-shell-drawer__header,.duva-fav-drawer-head{
  position:relative!important;flex:0 0 auto!important;box-sizing:border-box!important;
  min-height:118px!important;padding:30px 28px 22px!important;margin:0!important;
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;
  background:#fff!important;border-bottom:1px solid #ddd!important;overflow:visible!important;
}
.drawer-header h2,.duva-shell-drawer__header h2,.duva-fav-drawer-head h2{margin:0!important;font-size:42px!important;line-height:.95!important;letter-spacing:-.045em!important}
.drawer-header h2 a,.duva-shell-drawer__header h2 a,.duva-fav-drawer-head h2 a{color:#111!important;text-decoration:none!important}
.drawer-header .eyebrow,.duva-shell-drawer__header .eyebrow,.duva-fav-drawer-head p{margin:0 0 7px!important}
.drawer-close,[data-duva-close-favorites],.duva-shell-close{position:static!important;flex:0 0 auto!important;border:0!important;background:transparent!important;font-size:32px!important;line-height:1!important;cursor:pointer!important}
.drawer-content,.duva-shell-drawer__body,.duva-fav-drawer-body{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;padding:18px 24px!important;background:#fff!important}
.drawer-footer,.duva-shell-drawer__footer{flex:0 0 auto!important;padding:20px 24px 26px!important;background:#fff!important;border-top:1px solid #ddd!important}
#cartDrawer .count-badge,#favoritesDrawer .count-badge{display:none!important}

/* Main mobile menu should be a side panel, not a giant blank page. */
.mobile-menu,.product-mobile-menu{
  position:fixed!important;top:0!important;left:0!important;bottom:0!important;
  width:min(390px,88vw)!important;height:100dvh!important;padding:84px 30px 30px!important;
  background:#fff!important;color:#111!important;z-index:50000!important;
  overflow-y:auto!important;box-shadow:16px 0 45px rgba(0,0,0,.16)!important;
}
.mobile-menu a,.product-mobile-menu a{font-size:28px!important;line-height:1.15!important;padding:22px 0!important;border-bottom:1px solid #ddd!important;color:#111!important;text-decoration:none!important}
.mobile-menu .drawer-close,.product-mobile-menu .drawer-close{position:absolute!important;top:20px!important;right:22px!important}

/* Full cart/favorites pages: no giant top gap, content stays inside viewport. */
.cart-page .cart-page-main,.favorites-page .favorites-page-main{
  width:min(1420px,100%)!important;margin:0 auto!important;box-sizing:border-box!important;padding:48px 40px 86px!important;
}
.cart-page-heading,.favorites-page-heading{margin:0 0 34px!important;padding:0 0 28px!important;overflow:visible!important}
.cart-page-heading h1,.favorites-page-heading h1{margin:0!important;line-height:.95!important;overflow:visible!important}
@media(max-width:720px){.cart-page .cart-page-main,.favorites-page .favorites-page-main{padding:30px 18px 70px!important}}

/* Compact horizontal recommendation carousels. */
.cart-page-recommendations,.favorites-recommendations{margin:48px 0 0!important;padding:30px 0 8px!important;border-top:1px solid #ddd!important;display:block!important;visibility:visible!important;opacity:1!important}
.cart-page-recommendations h2,.favorites-recommendations h2{margin:5px 0 20px!important;font-size:clamp(26px,3vw,40px)!important;line-height:1!important;letter-spacing:-.04em!important}
.cart-page-recommendation-grid,.favorites-recommendation-row{display:flex!important;gap:14px!important;overflow-x:auto!important;overflow-y:hidden!important;padding:0 0 14px!important;scroll-snap-type:x proximity!important;-webkit-overflow-scrolling:touch!important}
.cart-page-rec,.favorites-rec-card{flex:0 0 190px!important;width:190px!important;min-width:190px!important;scroll-snap-align:start!important}
.cart-page-rec img,.favorites-rec-card img{display:block!important;width:190px!important;height:225px!important;object-fit:cover!important;background:#f3f3f3!important}
.cart-page-rec h3,.favorites-rec-card h3{margin:8px 0 3px!important;font-size:14px!important;line-height:1.2!important}
.cart-page-rec p,.favorites-rec-card p{margin:0 0 8px!important;font-size:13px!important}
.cart-page-rec button,.favorites-rec-card button{width:100%!important;padding:10px!important;border:1px solid #000!important;background:#000!important;color:#fff!important;font-size:10px!important;font-weight:800!important;letter-spacing:.08em!important;cursor:pointer!important}

.favorites-page-grid{min-height:0!important;height:auto!important;margin-bottom:0!important}
.favorites-page-empty{padding:32px 0 24px!important;min-height:0!important}

/* Cart/favorite list cards */
.duva-shell-item{display:grid;grid-template-columns:110px 1fr 26px;gap:14px;padding:16px 0;border-bottom:1px solid #ddd;align-items:start}
.duva-shell-item img{width:110px;height:135px;object-fit:cover;background:#f3f3f3}
.duva-shell-item h3{margin:0 0 6px;font-size:17px}.duva-shell-item p{margin:3px 0;color:#666;font-size:13px}
.duva-shell-item__controls{display:flex;align-items:center;gap:8px;margin-top:10px}.duva-shell-item__controls button{min-width:34px;height:34px;border:1px solid #ccc;background:#fff;cursor:pointer}
.duva-shell-item__remove{border:0!important;background:transparent!important;font-size:22px!important;cursor:pointer!important}
.duva-shell-selects{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.duva-shell-selects select{width:100%;height:38px;border:1px solid #ccc;background:#fff;padding:0 7px}
.duva-shell-add{width:100%;padding:10px;background:#000;color:#fff;border:0;font-size:10px;font-weight:800;letter-spacing:.08em;cursor:pointer}
.duva-shell-title-link{color:#111;text-decoration:none}.duva-shell-title-link:hover{text-decoration:underline;text-underline-offset:5px}
.duva-shell-empty{padding:38px 0;color:#666;line-height:1.6}


/* Shell drawer open/closed mechanics. */
.duva-shell-overlay{position:fixed!important;inset:0!important;border:0!important;background:rgba(0,0,0,.46)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:.2s!important;z-index:49990!important}
.duva-shell-overlay.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.duva-shell-drawer{display:flex!important;flex-direction:column!important;transform:translateX(105%)!important;transition:transform .24s ease!important}
.duva-shell-drawer.open{transform:translateX(0)!important}
.duva-shell-menu{position:fixed;top:0;left:0;bottom:0;width:min(390px,88vw);height:100dvh;padding:84px 30px 30px;background:#fff;color:#111;z-index:50000;box-shadow:16px 0 45px rgba(0,0,0,.16);transform:translateX(-105%);transition:transform .24s ease;overflow:auto}
.duva-shell-menu.open{transform:translateX(0)}
.duva-shell-menu a{display:block;font-size:28px;line-height:1.15;padding:22px 0;border-bottom:1px solid #ddd;color:#111;text-decoration:none}
.duva-shell-menu .duva-shell-close{position:absolute!important;top:22px!important;right:24px!important}


/* ============================================================
   CURRENT ZIP FOUNDATION FIX — 2026-08-14
   Keep menus/drawers white, light page dim, and make Cart/Favorites
   use the same full-page geometry.
   ============================================================ */

/* Menu panels are always pure white. */
.mobile-menu,.product-mobile-menu,.duva-shell-menu{
  background:#fff!important;
  color:#111!important;
  opacity:1!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Light dim only; never turn the visible website nearly black. */
.page-overlay,#pageOverlay,.duva-shell-overlay,.duva-favorites-overlay{
  background:rgba(0,0,0,.12)!important;
}

/* Cart and Favorites use one heading/layout system. */
.cart-page .cart-page-main,.favorites-page .favorites-page-main{
  width:min(1420px,100%)!important;
  margin:0 auto!important;
  padding:48px 40px 86px!important;
  background:#fff!important;
  box-sizing:border-box!important;
}
.cart-page-heading,.favorites-page-heading{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  column-gap:24px!important;
  margin:0 0 34px!important;
  padding:0 0 28px!important;
  border-bottom:1px solid #ddd!important;
  overflow:visible!important;
}
.cart-page-heading>.eyebrow,.favorites-page-heading>.eyebrow{
  grid-column:1/-1!important;
  margin:0 0 8px!important;
}
.cart-page-heading h1,.favorites-page-heading h1{
  margin:0!important;
  padding:0!important;
  font-size:clamp(52px,7vw,104px)!important;
  line-height:.9!important;
  letter-spacing:-.065em!important;
  overflow:visible!important;
}
.cart-page-heading>a,.favorites-page-heading>a{
  align-self:end!important;
  margin-bottom:3px!important;
  color:#111!important;
  text-decoration:none!important;
  border-bottom:1px solid #111!important;
  padding-bottom:3px!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.12em!important;
  white-space:nowrap!important;
}

/* Favorites rows visually match the shopping-bag rows instead of giant cards. */
.favorites-page-grid{display:block!important;width:100%!important;background:#fff!important}
.favorite-page-card{
  display:grid!important;
  grid-template-columns:190px minmax(0,1fr) auto!important;
  gap:28px!important;
  align-items:start!important;
  width:100%!important;
  margin:0!important;
  padding:28px 0!important;
  border:0!important;
  border-bottom:1px solid #ddd!important;
  background:#fff!important;
  box-shadow:none!important;
}
.favorite-page-image{width:190px!important;height:235px!important;overflow:hidden!important;background:#f3f3f3!important}
.favorite-page-image img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
.favorite-page-copy{padding:0!important;min-width:0!important;background:#fff!important}
.favorite-page-copy h2{margin:0 0 8px!important;font-size:24px!important;line-height:1.15!important}
.favorite-page-price{margin:0 0 16px!important;font-size:18px!important}
.favorite-options{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin:0 0 16px!important}
.favorite-page-copy label{display:grid!important;gap:5px!important;margin:0!important;font-size:10px!important;font-weight:800!important;letter-spacing:.1em!important}
.favorite-page-copy select{width:150px!important;height:40px!important;border:1px solid #ccc!important;border-radius:0!important;background:#fff!important;padding:0 10px!important}
.favorite-page-actions{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:16px!important}
.favorite-page-add{width:auto!important;min-width:190px!important;margin:0!important;padding:14px 20px!important;background:#000!important;color:#fff!important;border:1px solid #000!important;font-size:10px!important;font-weight:800!important;letter-spacing:.1em!important}
.favorite-page-remove{width:auto!important;margin:0!important;padding:0 0 2px!important;background:transparent!important;color:#111!important;border:0!important;border-bottom:1px solid #111!important;font-size:9px!important;font-weight:800!important;letter-spacing:.1em!important}
.favorite-page-card>strong{justify-self:end!important;font-size:18px!important;white-space:nowrap!important}

/* Recommendations stay immediately visible and horizontally scrollable. */
.favorites-page-empty{padding:30px 0 24px!important}
.cart-page-recommendations,.favorites-recommendations{margin:36px 0 0!important;padding:30px 0 8px!important}

@media(max-width:720px){
  .cart-page-heading,.favorites-page-heading{display:block!important}
  .cart-page-heading h1,.favorites-page-heading h1{margin-bottom:20px!important}
  .favorite-page-card{grid-template-columns:110px minmax(0,1fr)!important;gap:15px!important}
  .favorite-page-image{width:110px!important;height:140px!important}
  .favorite-page-card>strong{grid-column:2!important;justify-self:start!important}
}


/* ============================================================
   ACTUAL CURRENT-ZIP FIX — FAVORITES CAROUSEL + WHITE MENU
   ============================================================ */
body.favorites-page .favorites-recommendations {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}
body.favorites-page .favorites-recommendations .favorites-recommendation-row {
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  grid-template-columns:none!important;
  gap:16px!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-x:contain!important;
  scroll-snap-type:x proximity!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:thin!important;
  padding:0 0 16px!important;
}
body.favorites-page .favorites-recommendations .favorites-recommendation-row > .favorites-rec-card {
  flex:0 0 240px!important;
  width:240px!important;
  min-width:240px!important;
  max-width:240px!important;
  scroll-snap-align:start!important;
}
body.favorites-page .favorites-recommendations .favorites-rec-card img {
  width:240px!important;
  height:290px!important;
  object-fit:cover!important;
}
body.favorites-page .favorites-recommendation-row::-webkit-scrollbar { height:7px!important; }
body.favorites-page .favorites-recommendation-row::-webkit-scrollbar-track { background:#eee!important; }
body.favorites-page .favorites-recommendation-row::-webkit-scrollbar-thumb { background:#111!important;border-radius:999px!important; }

/* Explore DUVA panel is pure white; dim is only behind it. */
.mobile-menu,.mobile-menu.open,
.product-mobile-menu,.product-mobile-menu.open,
.duva-shell-menu,.duva-shell-menu.open {
  background:#fff!important;
  background-color:#fff!important;
  color:#111!important;
  opacity:1!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  mix-blend-mode:normal!important;
  z-index:100001!important;
}
.mobile-menu::before,.mobile-menu::after,
.product-mobile-menu::before,.product-mobile-menu::after,
.duva-shell-menu::before,.duva-shell-menu::after {
  background:#fff!important;
  background-color:#fff!important;
  opacity:1!important;
}
.mobile-menu a,.mobile-menu .eyebrow,.mobile-menu .drawer-close,
.product-mobile-menu a,.product-mobile-menu .eyebrow,.product-mobile-menu .drawer-close,
.duva-shell-menu a,.duva-shell-menu .eyebrow,.duva-shell-menu .duva-shell-close { color:#111!important; }
.page-overlay,#pageOverlay,.duva-shell-overlay,.duva-favorites-overlay {
  background:rgba(0,0,0,.08)!important;
  z-index:100000!important;
}
.mobile-menu,.product-mobile-menu,.duva-shell-menu { isolation:isolate!important; }

@media(max-width:720px){
  body.favorites-page .favorites-recommendations .favorites-recommendation-row > .favorites-rec-card {
    flex:0 0 76vw!important;width:76vw!important;min-width:76vw!important;max-width:76vw!important;
  }
  body.favorites-page .favorites-recommendations .favorites-rec-card img {
    width:100%!important;height:auto!important;aspect-ratio:4/5!important;
  }
}


/* =========================================================
   FINAL CLICK-LAYER FIX — CURRENT4
   Menu links must always be above their backdrop.
   ========================================================= */
#mobileMenu.mobile-menu,
.mobile-menu,
.product-mobile-menu,
.duva-shell-menu {
  z-index:2147483646 !important;
}
#mobileMenu.mobile-menu.open,
.mobile-menu.open,
.product-mobile-menu.open,
.duva-shell-menu.open {
  pointer-events:auto !important;
  visibility:visible !important;
  opacity:1 !important;
}
#mobileMenu.mobile-menu.open a,
#mobileMenu.mobile-menu.open button,
.mobile-menu.open a,
.mobile-menu.open button,
.product-mobile-menu.open a,
.product-mobile-menu.open button,
.duva-shell-menu.open a,
.duva-shell-menu.open button {
  position:relative !important;
  z-index:2147483647 !important;
  pointer-events:auto !important;
}
#pageOverlay.page-overlay,
.page-overlay,
.duva-shell-overlay,
.duva-favorites-overlay {
  z-index:2147483000 !important;
}
.duva-shell-drawer.open,
#cartDrawer.open,
#favoritesDrawer.open,
.duva-favorites-drawer.open {
  z-index:2147483646 !important;
  pointer-events:auto !important;
}
body.about-inner-page #siteHeader #favoritesButton,
body.about-inner-page #siteHeader #cartButton,
body.about-inner-page #siteHeader #searchButton {
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}


/* =========================================================
   FINAL SHARED HEADER LAYOUT — LAYOUT ONLY
   Keeps existing click/navigation behavior untouched.
   Normalizes Home / About / Favorites / Cart / Product pages.
   ========================================================= */

/* One identical desktop header box everywhere. */
@media (min-width: 721px) {
  #siteHeader.site-header,
  #siteHeader.product-site-header,
  body.favorites-page #siteHeader,
  body.cart-page #siteHeader,
  body.inner-page #siteHeader {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    height: 94px !important;
    min-height: 94px !important;
    padding: 0 34px !important;
    margin: 0 !important;

    display: grid !important;
    grid-template-columns: 56px 220px minmax(0, 1fr) !important;
    align-items: center !important;
    column-gap: 18px !important;

    background: #fff !important;
    color: #111 !important;
    border-bottom: 1px solid #dedede !important;
  }

  /* About had an extra desktop nav occupying header space. */
  #siteHeader .desktop-nav {
    display: none !important;
  }

  /* Same hamburger position/size on every page. */
  #siteHeader .menu-button,
  #siteHeader #productMenuButton,
  #siteHeader #favoritesMenuButton {
    grid-column: 1 !important;
    justify-self: start !important;
    align-self: center !important;
    position: static !important;
    transform: none !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 7px 4px !important;
  }

  #siteHeader .menu-button span,
  #siteHeader #productMenuButton span,
  #siteHeader #favoritesMenuButton span {
    width: 32px !important;
    height: 2px !important;
    margin: 5px 0 !important;
  }

  /* Same complete DUVA mark everywhere, including Favorites. */
  #siteHeader .duva-wordmark,
  #siteHeader .duva-v38-brand,
  #siteHeader .logo.duva-wordmark {
    grid-column: 2 !important;
    justify-self: start !important;
    align-self: center !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;

    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    text-decoration: none !important;
  }

  #siteHeader .duva-wordmark .header-d-logo,
  #siteHeader .duva-v38-brand .header-d-logo,
  #siteHeader .logo.duva-wordmark .header-d-logo {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 58px !important;
    width: 58px !important;
    min-width: 58px !important;
    max-width: 58px !important;
    height: 38px !important;
    object-fit: contain !important;
    margin: 0 !important;
    padding: 0 !important;
    filter: none !important;
  }

  #siteHeader .duva-wordmark .header-uva,
  #siteHeader .duva-v38-brand .header-uva,
  #siteHeader .logo.duva-wordmark .header-uva {
    display: inline-block !important;
    font-size: 31px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: -0.045em !important;
    color: #111 !important;
    white-space: nowrap !important;
  }

  /* Actions always occupy the remaining width; nothing runs off-screen. */
  #siteHeader .header-actions,
  #siteHeader .product-header-actions,
  #siteHeader .about-header-actions,
  body.favorites-page #siteHeader .header-actions,
  body.cart-page #siteHeader .header-actions {
    grid-column: 3 !important;
    justify-self: stretch !important;
    align-self: center !important;

    display: grid !important;
    grid-template-columns: minmax(260px, 1fr) 48px 48px !important;
    align-items: center !important;
    gap: 8px !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
  }

  /* Search has identical geometry on every page. */
  #siteHeader .header-search,
  #siteHeader .product-header-search,
  #siteHeader .duva-v38-search {
    grid-column: 1 !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;

    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 14px 0 22px !important;

    border: 1px solid #cfcfcf !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #111 !important;
    box-sizing: border-box !important;
  }

  #siteHeader .header-search input,
  #siteHeader .product-header-search input {
    display: block !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: #111 !important;
    font-size: 21px !important;
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  #siteHeader .header-search input::placeholder,
  #siteHeader .product-header-search input::placeholder {
    color: #666 !important;
    opacity: 1 !important;
  }

  #siteHeader .header-search .icon-button,
  #siteHeader .product-header-search #productSearchButton,
  #siteHeader #searchButton {
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 8px !important;
  }

  #siteHeader #favoritesButton,
  #siteHeader #cartButton,
  #siteHeader .product-favorites-link,
  #siteHeader .product-cart-link,
  body.favorites-page #siteHeader a[aria-label="Shopping bag"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 9px !important;
    box-sizing: border-box !important;
  }

  /* Put heart and bag in identical final two columns regardless of element type. */
  #siteHeader #favoritesButton,
  #siteHeader .product-favorites-link {
    grid-column: 2 !important;
  }

  #siteHeader #cartButton,
  #siteHeader .product-cart-link,
  body.favorites-page #siteHeader a[aria-label="Shopping bag"] {
    grid-column: 3 !important;
  }

  #siteHeader .ui-svg {
    width: 26px !important;
    height: 26px !important;
    stroke: #111 !important;
  }

  #siteHeader .count-badge {
    top: -2px !important;
    right: -2px !important;
  }

  /* Search dropdown lines up under its pill on every page. */
  #siteHeader .header-search-results,
  #siteHeader .product-header-search-results {
    left: 0 !important;
    right: 0 !important;
    top: calc(100% + 8px) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }
}

/* Tablet: same layout, just tighter. */
@media (min-width: 721px) and (max-width: 980px) {
  #siteHeader.site-header,
  #siteHeader.product-site-header,
  body.favorites-page #siteHeader,
  body.cart-page #siteHeader,
  body.inner-page #siteHeader {
    padding: 0 18px !important;
    grid-template-columns: 48px 165px minmax(0, 1fr) !important;
    column-gap: 10px !important;
  }

  #siteHeader .duva-wordmark .header-d-logo,
  #siteHeader .duva-v38-brand .header-d-logo,
  #siteHeader .logo.duva-wordmark .header-d-logo {
    flex-basis: 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
  }

  #siteHeader .duva-wordmark .header-uva,
  #siteHeader .duva-v38-brand .header-uva,
  #siteHeader .logo.duva-wordmark .header-uva {
    font-size: 27px !important;
  }

  #siteHeader .header-actions,
  #siteHeader .product-header-actions,
  #siteHeader .about-header-actions {
    grid-template-columns: minmax(180px, 1fr) 44px 44px !important;
    gap: 4px !important;
  }
}

/* Mobile: keep the same visual identity without clipping. */
@media (max-width: 720px) {
  #siteHeader.site-header,
  #siteHeader.product-site-header,
  body.favorites-page #siteHeader,
  body.cart-page #siteHeader,
  body.inner-page #siteHeader {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 72px !important;
    height: 72px !important;
    padding: 0 12px !important;
    margin: 0 !important;

    display: grid !important;
    grid-template-columns: 44px minmax(104px, auto) 1fr !important;
    align-items: center !important;
    gap: 8px !important;

    background: #fff !important;
    color: #111 !important;
    border-bottom: 1px solid #dedede !important;
  }

  #siteHeader .desktop-nav {
    display: none !important;
  }

  #siteHeader .menu-button,
  #siteHeader #productMenuButton,
  #siteHeader #favoritesMenuButton {
    grid-column: 1 !important;
    position: static !important;
    transform: none !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
  }

  #siteHeader .duva-wordmark,
  #siteHeader .duva-v38-brand,
  #siteHeader .logo.duva-wordmark {
    grid-column: 2 !important;
    position: static !important;
    transform: none !important;
    justify-self: start !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    width: auto !important;
    min-width: 0 !important;
    height: 38px !important;
    overflow: visible !important;
  }

  #siteHeader .duva-wordmark .header-d-logo,
  #siteHeader .duva-v38-brand .header-d-logo,
  #siteHeader .logo.duva-wordmark .header-d-logo {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 43px !important;
    min-width: 43px !important;
    max-width: 43px !important;
    height: 29px !important;
    object-fit: contain !important;
    filter: none !important;
  }

  #siteHeader .duva-wordmark .header-uva,
  #siteHeader .duva-v38-brand .header-uva,
  #siteHeader .logo.duva-wordmark .header-uva {
    display: inline-block !important;
    font-size: 24px !important;
    line-height: 1 !important;
    color: #111 !important;
    white-space: nowrap !important;
  }

  #siteHeader .header-actions,
  #siteHeader .product-header-actions,
  #siteHeader .about-header-actions {
    grid-column: 3 !important;
    justify-self: end !important;
    position: static !important;
    transform: none !important;
    width: auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* On mobile use search icon + heart + bag; expanding search remains handled by existing code. */
  #siteHeader .header-search,
  #siteHeader .product-header-search,
  #siteHeader .duva-v38-search {
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    position: static !important;
  }

  #siteHeader .header-search input,
  #siteHeader .product-header-search input {
    display: none !important;
  }

  #siteHeader #searchButton,
  #siteHeader .product-header-search #productSearchButton,
  #siteHeader #favoritesButton,
  #siteHeader #cartButton,
  #siteHeader .product-favorites-link,
  #siteHeader .product-cart-link,
  body.favorites-page #siteHeader a[aria-label="Shopping bag"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    padding: 7px !important;
    margin: 0 !important;
  }

  #siteHeader .ui-svg {
    width: 24px !important;
    height: 24px !important;
  }
}

/* Menu surface styling only — no pointer-events, click listeners, or navigation changes. */
.mobile-menu,
.product-mobile-menu,
.duva-shell-menu,
.mobile-menu.open,
.product-mobile-menu.open,
.duva-shell-menu.open {
  background: #fff !important;
  background-color: #fff !important;
  color: #111 !important;
  box-shadow: 18px 0 45px rgba(0,0,0,.14) !important;
}

.mobile-menu a,
.product-mobile-menu a,
.duva-shell-menu a {
  color: #111 !important;
  background: #fff !important;
}



/* =========================================================
   SINGLE DUVA WORDMARK — VISUAL ONLY
   Uses one image asset everywhere; navigation/click behavior is untouched.
   ========================================================= */
#siteHeader .duva-wordmark,
#siteHeader .duva-v38-brand,
#siteHeader .logo.duva-wordmark {
  background-image: url("../images/brand/duva-wordmark.png") !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: contain !important;
  width: 170px !important;
  min-width: 170px !important;
  max-width: 170px !important;
  height: 46px !important;
  display: block !important;
  flex: 0 0 170px !important;
  overflow: visible !important;
}

/* Hide the old split D + UVA pieces so they can no longer drift independently. */
#siteHeader .duva-wordmark .header-d-logo,
#siteHeader .duva-v38-brand .header-d-logo,
#siteHeader .logo.duva-wordmark .header-d-logo,
#siteHeader .duva-wordmark .header-uva,
#siteHeader .duva-v38-brand .header-uva,
#siteHeader .logo.duva-wordmark .header-uva {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Keep the wordmark sizing stable at tablet/mobile widths. */
@media (min-width:721px) and (max-width:980px) {
  #siteHeader .duva-wordmark,
  #siteHeader .duva-v38-brand,
  #siteHeader .logo.duva-wordmark {
    width: 145px !important;
    min-width: 145px !important;
    max-width: 145px !important;
    height: 40px !important;
    flex-basis: 145px !important;
  }
}

@media (max-width:720px) {
  #siteHeader .duva-wordmark,
  #siteHeader .duva-v38-brand,
  #siteHeader .logo.duva-wordmark {
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
    height: 36px !important;
    flex-basis: 118px !important;
  }
}


/* =========================================================
   FINAL SINGLE-WORDMARK ENFORCEMENT
   Prevent legacy split D + UVA elements from showing through.
   Layout/visual only; no navigation behavior changed.
   ========================================================= */
#siteHeader .duva-wordmark,
#siteHeader .duva-v38-brand,
#siteHeader .logo.duva-wordmark {
  background-image: url("../images/brand/duva-wordmark.png") !important;
  background-repeat: no-repeat !important;
  background-position: left center !important;
  background-size: contain !important;
  color: transparent !important;
  text-indent: 0 !important;
}

/* Remove old children from rendering AND from layout so they cannot overlap the new image. */
#siteHeader .duva-wordmark > .header-d-logo,
#siteHeader .duva-v38-brand > .header-d-logo,
#siteHeader .logo.duva-wordmark > .header-d-logo,
#siteHeader .duva-wordmark > .header-uva,
#siteHeader .duva-v38-brand > .header-uva,
#siteHeader .logo.duva-wordmark > .header-uva {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  flex: 0 0 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* Header wordmark box itself is the only visible logo object. */
@media (min-width: 981px) {
  #siteHeader .duva-wordmark,
  #siteHeader .duva-v38-brand,
  #siteHeader .logo.duva-wordmark {
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
    height: 46px !important;
    flex-basis: 170px !important;
  }
}

@media (min-width: 721px) and (max-width: 980px) {
  #siteHeader .duva-wordmark,
  #siteHeader .duva-v38-brand,
  #siteHeader .logo.duva-wordmark {
    width: 145px !important;
    min-width: 145px !important;
    max-width: 145px !important;
    height: 40px !important;
    flex-basis: 145px !important;
  }
}

@media (max-width: 720px) {
  #siteHeader .duva-wordmark,
  #siteHeader .duva-v38-brand,
  #siteHeader .logo.duva-wordmark {
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
    height: 36px !important;
    flex-basis: 118px !important;
  }
}


/* FINAL WORDMARK PROPORTION CORRECTION — visual only */
@media (min-width:981px){
  #siteHeader .duva-wordmark,
  #siteHeader .duva-v38-brand,
  #siteHeader .logo.duva-wordmark{
    width:155px!important;
    min-width:155px!important;
    max-width:155px!important;
    height:42px!important;
    flex-basis:155px!important;
  }
}
@media (min-width:721px) and (max-width:980px){
  #siteHeader .duva-wordmark,
  #siteHeader .duva-v38-brand,
  #siteHeader .logo.duva-wordmark{
    width:138px!important;
    min-width:138px!important;
    max-width:138px!important;
    height:38px!important;
    flex-basis:138px!important;
  }
}
@media (max-width:720px){
  #siteHeader .duva-wordmark,
  #siteHeader .duva-v38-brand,
  #siteHeader .logo.duva-wordmark{
    width:112px!important;
    min-width:112px!important;
    max-width:112px!important;
    height:34px!important;
    flex-basis:112px!important;
  }
}


/* =========================================================
   FINAL HEADER FLEX RESET — FITS EVERY PAGE
   Visual/layout only. No navigation or drawer behavior.
   ========================================================= */
@media (min-width: 721px) {
  #siteHeader.site-header,
  #siteHeader.product-site-header,
  body.inner-page #siteHeader,
  body.favorites-page #siteHeader,
  body.cart-page #siteHeader {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 94px !important;
    min-height: 94px !important;
    padding: 0 28px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 18px !important;
    overflow: visible !important;
    background: #fff !important;
    color: #111 !important;
    border-bottom: 1px solid #dedede !important;
  }

  #siteHeader .desktop-nav { display: none !important; }

  #siteHeader .menu-button,
  #siteHeader #productMenuButton,
  #siteHeader #favoritesMenuButton {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 7px !important;
    box-sizing: border-box !important;
  }

  #siteHeader .menu-button span,
  #siteHeader #productMenuButton span,
  #siteHeader #favoritesMenuButton span {
    width: 32px !important;
    height: 2px !important;
    margin: 5px 0 !important;
  }

  #siteHeader .duva-wordmark,
  #siteHeader .duva-v38-brand,
  #siteHeader .logo.duva-wordmark {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    flex: 0 0 154px !important;
    width: 154px !important;
    min-width: 154px !important;
    max-width: 154px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    background-image: url("../images/brand/duva-wordmark.png") !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    background-size: contain !important;
    overflow: hidden !important;
  }

  #siteHeader .duva-wordmark > .header-d-logo,
  #siteHeader .duva-wordmark > .header-uva,
  #siteHeader .duva-v38-brand > .header-d-logo,
  #siteHeader .duva-v38-brand > .header-uva,
  #siteHeader .logo.duva-wordmark > .header-d-logo,
  #siteHeader .logo.duva-wordmark > .header-uva {
    display: none !important;
  }

  #siteHeader .header-actions,
  #siteHeader .product-header-actions,
  #siteHeader .about-header-actions,
  body.favorites-page #siteHeader .header-actions,
  body.cart-page #siteHeader .header-actions {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  #siteHeader .header-search,
  #siteHeader .product-header-search,
  #siteHeader .duva-v38-search {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    flex: 1 1 320px !important;
    min-width: 180px !important;
    width: auto !important;
    max-width: none !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 14px 0 22px !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    border: 1px solid #cfcfcf !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #111 !important;
    overflow: visible !important;
  }

  #siteHeader .header-search input,
  #siteHeader .product-header-search input {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: #111 !important;
    font-size: 21px !important;
    line-height: 1 !important;
  }

  #siteHeader .header-search .icon-button,
  #siteHeader .product-header-search #productSearchButton,
  #siteHeader #searchButton {
    position: static !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 8px !important;
  }

  #siteHeader #favoritesButton,
  #siteHeader #cartButton,
  #siteHeader .product-favorites-link,
  #siteHeader .product-cart-link,
  body.favorites-page #siteHeader a[aria-label="Shopping bag"] {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 9px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  #siteHeader .ui-svg {
    width: 27px !important;
    height: 27px !important;
    stroke: #111 !important;
  }

  #siteHeader .header-search-results,
  #siteHeader .product-header-search-results {
    left: 0 !important;
    right: 0 !important;
    top: calc(100% + 8px) !important;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 980px) and (min-width: 721px) {
  #siteHeader.site-header,
  #siteHeader.product-site-header,
  body.inner-page #siteHeader,
  body.favorites-page #siteHeader,
  body.cart-page #siteHeader {
    padding: 0 16px !important;
    gap: 10px !important;
  }
  #siteHeader .duva-wordmark,
  #siteHeader .duva-v38-brand,
  #siteHeader .logo.duva-wordmark {
    flex-basis: 132px !important;
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    height: 38px !important;
  }
  #siteHeader .header-search,
  #siteHeader .product-header-search,
  #siteHeader .duva-v38-search {
    min-width: 140px !important;
    height: 54px !important;
  }
  #siteHeader #favoritesButton,
  #siteHeader #cartButton,
  #siteHeader .product-favorites-link,
  #siteHeader .product-cart-link,
  body.favorites-page #siteHeader a[aria-label="Shopping bag"] {
    flex-basis: 44px !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 8px !important;
  }
}

@media (max-width: 720px) {
  #siteHeader.site-header,
  #siteHeader.product-site-header,
  body.inner-page #siteHeader,
  body.favorites-page #siteHeader,
  body.cart-page #siteHeader {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 72px !important;
    min-height: 72px !important;
    padding: 0 10px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    overflow: visible !important;
    background: #fff !important;
    color: #111 !important;
    border-bottom: 1px solid #dedede !important;
  }

  #siteHeader .desktop-nav { display: none !important; }

  #siteHeader .menu-button,
  #siteHeader #productMenuButton,
  #siteHeader #favoritesMenuButton {
    position: static !important;
    transform: none !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 6px !important;
  }

  #siteHeader .duva-wordmark,
  #siteHeader .duva-v38-brand,
  #siteHeader .logo.duva-wordmark {
    position: static !important;
    transform: none !important;
    flex: 0 0 108px !important;
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    background-image: url("../images/brand/duva-wordmark.png") !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    background-size: contain !important;
  }

  #siteHeader .duva-wordmark > .header-d-logo,
  #siteHeader .duva-wordmark > .header-uva,
  #siteHeader .duva-v38-brand > .header-d-logo,
  #siteHeader .duva-v38-brand > .header-uva,
  #siteHeader .logo.duva-wordmark > .header-d-logo,
  #siteHeader .logo.duva-wordmark > .header-uva { display: none !important; }

  #siteHeader .header-actions,
  #siteHeader .product-header-actions,
  #siteHeader .about-header-actions {
    position: static !important;
    transform: none !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0 !important;
  }

  #siteHeader .header-search,
  #siteHeader .product-header-search,
  #siteHeader .duva-v38-search {
    position: static !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  #siteHeader .header-search input,
  #siteHeader .product-header-search input { display: none !important; }

  #siteHeader #searchButton,
  #siteHeader .product-header-search #productSearchButton,
  #siteHeader #favoritesButton,
  #siteHeader #cartButton,
  #siteHeader .product-favorites-link,
  #siteHeader .product-cart-link,
  body.favorites-page #siteHeader a[aria-label="Shopping bag"] {
    position: relative !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  #siteHeader .ui-svg {
    width: 23px !important;
    height: 23px !important;
  }
}


/* ============================================================
   V48 — CANONICAL DUVA HEADER + FAVORITES TITLE HOVER
   This block intentionally comes LAST so every page shares the
   exact same header geometry despite older page-specific rules.
   ============================================================ */

/* One header surface and one geometry on every page. */
#siteHeader.site-header,
#siteHeader.product-site-header,
body.inner-page #siteHeader,
body.favorites-page #siteHeader,
body.cart-page #siteHeader {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  background: #fff !important;
  background-color: #fff !important;
  color: #111 !important;
  border-bottom: 1px solid #dedede !important;
  box-shadow: none !important;
}

/* About previously had an extra desktop nav occupying header width. */
#siteHeader .desktop-nav {
  display: none !important;
}

@media (min-width: 981px) {
  #siteHeader.site-header,
  #siteHeader.product-site-header,
  body.inner-page #siteHeader,
  body.favorites-page #siteHeader,
  body.cart-page #siteHeader {
    height: 94px !important;
    min-height: 94px !important;
    padding: 0 28px !important;
    display: flex !important;
    grid-template-columns: none !important;
    align-items: center !important;
    gap: 18px !important;
    overflow: visible !important;
  }

  #siteHeader .menu-button,
  #siteHeader #productMenuButton,
  #siteHeader #favoritesMenuButton {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 7px !important;
  }

  #siteHeader .duva-wordmark,
  #siteHeader .duva-v38-brand,
  #siteHeader .logo.duva-wordmark {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    flex: 0 0 154px !important;
    width: 154px !important;
    min-width: 154px !important;
    max-width: 154px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    background: url("../images/brand/duva-wordmark.png") left center / contain no-repeat !important;
    overflow: hidden !important;
  }

  #siteHeader .duva-wordmark > .header-d-logo,
  #siteHeader .duva-wordmark > .header-uva,
  #siteHeader .duva-v38-brand > .header-d-logo,
  #siteHeader .duva-v38-brand > .header-uva,
  #siteHeader .logo.duva-wordmark > .header-d-logo,
  #siteHeader .logo.duva-wordmark > .header-uva {
    display: none !important;
  }

  #siteHeader .header-actions,
  #siteHeader .product-header-actions,
  #siteHeader .about-header-actions,
  body.favorites-page #siteHeader .header-actions,
  body.cart-page #siteHeader .header-actions {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    overflow: visible !important;
  }

  #siteHeader .header-search,
  #siteHeader .product-header-search,
  #siteHeader .duva-v38-search {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    flex: 1 1 320px !important;
    min-width: 180px !important;
    width: auto !important;
    max-width: none !important;
    height: 58px !important;
    margin: 0 !important;
    padding: 0 14px 0 22px !important;
    display: flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    border: 1px solid #cfcfcf !important;
    border-radius: 999px !important;
    background: #fff !important;
    overflow: visible !important;
  }

  #siteHeader .header-search input,
  #siteHeader .product-header-search input {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    color: #111 !important;
    font-size: 21px !important;
  }

  #siteHeader .header-search .icon-button,
  #siteHeader .product-header-search #productSearchButton,
  #siteHeader #searchButton {
    position: static !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 8px !important;
  }

  #siteHeader #favoritesButton,
  #siteHeader #cartButton,
  #siteHeader .product-favorites-link,
  #siteHeader .product-cart-link,
  body.favorites-page #siteHeader a[aria-label="Shopping bag"] {
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 9px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  #siteHeader .ui-svg {
    width: 27px !important;
    height: 27px !important;
    stroke: #111 !important;
  }
}

@media (min-width: 721px) and (max-width: 980px) {
  #siteHeader.site-header,
  #siteHeader.product-site-header,
  body.inner-page #siteHeader,
  body.favorites-page #siteHeader,
  body.cart-page #siteHeader {
    height: 86px !important;
    min-height: 86px !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }

  #siteHeader .duva-wordmark,
  #siteHeader .duva-v38-brand,
  #siteHeader .logo.duva-wordmark {
    flex: 0 0 132px !important;
    width: 132px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    height: 38px !important;
    background: url("../images/brand/duva-wordmark.png") left center / contain no-repeat !important;
  }

  #siteHeader .duva-wordmark > .header-d-logo,
  #siteHeader .duva-wordmark > .header-uva,
  #siteHeader .duva-v38-brand > .header-d-logo,
  #siteHeader .duva-v38-brand > .header-uva,
  #siteHeader .logo.duva-wordmark > .header-d-logo,
  #siteHeader .logo.duva-wordmark > .header-uva {
    display: none !important;
  }

  #siteHeader .header-actions,
  #siteHeader .product-header-actions,
  #siteHeader .about-header-actions {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
  }

  #siteHeader .header-search,
  #siteHeader .product-header-search,
  #siteHeader .duva-v38-search {
    flex: 1 1 auto !important;
    min-width: 140px !important;
    width: auto !important;
    max-width: none !important;
    height: 54px !important;
  }
}

@media (max-width: 720px) {
  #siteHeader.site-header,
  #siteHeader.product-site-header,
  body.inner-page #siteHeader,
  body.favorites-page #siteHeader,
  body.cart-page #siteHeader {
    height: 72px !important;
    min-height: 72px !important;
    padding: 0 10px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    overflow: visible !important;
  }

  #siteHeader .menu-button,
  #siteHeader #productMenuButton,
  #siteHeader #favoritesMenuButton {
    position: static !important;
    transform: none !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 6px !important;
  }

  #siteHeader .duva-wordmark,
  #siteHeader .duva-v38-brand,
  #siteHeader .logo.duva-wordmark {
    position: static !important;
    transform: none !important;
    flex: 0 0 108px !important;
    width: 108px !important;
    min-width: 108px !important;
    max-width: 108px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    background: url("../images/brand/duva-wordmark.png") left center / contain no-repeat !important;
  }

  #siteHeader .duva-wordmark > .header-d-logo,
  #siteHeader .duva-wordmark > .header-uva,
  #siteHeader .duva-v38-brand > .header-d-logo,
  #siteHeader .duva-v38-brand > .header-uva,
  #siteHeader .logo.duva-wordmark > .header-d-logo,
  #siteHeader .logo.duva-wordmark > .header-uva {
    display: none !important;
  }

  #siteHeader .header-actions,
  #siteHeader .product-header-actions,
  #siteHeader .about-header-actions {
    position: static !important;
    transform: none !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0 !important;
  }

  #siteHeader .header-search,
  #siteHeader .product-header-search,
  #siteHeader .duva-v38-search {
    position: static !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  #siteHeader .header-search input,
  #siteHeader .product-header-search input {
    display: none !important;
  }

  #siteHeader #searchButton,
  #siteHeader .product-header-search #productSearchButton,
  #siteHeader #favoritesButton,
  #siteHeader #cartButton,
  #siteHeader .product-favorites-link,
  #siteHeader .product-cart-link,
  body.favorites-page #siteHeader a[aria-label="Shopping bag"] {
    position: relative !important;
    flex: 0 0 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
}

/* Favorites title gets the exact clickable underline treatment used by Shopping Bag. */
.favorites-title-link,
#favoritesDrawer .drawer-header h2 a,
#duvaGlobalFavoritesDrawer .duva-fav-drawer-head h2 a,
.duva-shell-drawer .duva-shell-title-link[href="favorites.html"] {
  color: inherit !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.favorites-title-link:hover,
.favorites-title-link:focus-visible,
#favoritesDrawer .drawer-header h2 a:hover,
#favoritesDrawer .drawer-header h2 a:focus-visible,
#duvaGlobalFavoritesDrawer .duva-fav-drawer-head h2 a:hover,
#duvaGlobalFavoritesDrawer .duva-fav-drawer-head h2 a:focus-visible,
.duva-shell-drawer .duva-shell-title-link[href="favorites.html"]:hover,
.duva-shell-drawer .duva-shell-title-link[href="favorites.html"]:focus-visible {
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 6px !important;
}


/* =========================================================
   DUVA FINAL HEADER / ACCOUNT / CART READABILITY FIX
   2026-08-14 — authoritative last layer
   ========================================================= */

/* One logo image only. No split D/UVA construction, no CSS background clone. */
#siteHeader .duva-wordmark,
#siteHeader .duva-v38-brand,
#siteHeader .logo.duva-wordmark {
  background: none !important;
  background-image: none !important;
  text-indent: 0 !important;
  overflow: visible !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 0 !important;
}
#siteHeader .header-wordmark-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: left center !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}
/* Homepage logo turns white only while sitting over the dark hero (desktop only — on mobile the header background is always solid white). */
@media (min-width: 721px) {
  body:not(.inner-page):not(.favorites-page):not(.cart-page):not(.account-page) #siteHeader:not(.scrolled) .header-wordmark-image {
    filter: invert(1) !important;
  }
}

/* Account sits with Favorites + Bag as an equal top-right action. */
#siteHeader .account-header-link {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 9px !important;
  color: #111 !important;
  background: transparent !important;
  border: 0 !important;
}
#siteHeader .account-header-link.is-active::after {
  content: "";
  position: absolute;
  left: 12px; right: 12px; bottom: 4px;
  height: 1px; background: currentColor;
}
@media (min-width: 721px) {
  body:not(.inner-page):not(.favorites-page):not(.cart-page):not(.account-page) #siteHeader:not(.scrolled) .account-header-link .ui-svg {
    stroke: #fff !important;
  }
}

/* Readable cart: compact panel, clear hierarchy, item details never clipped. */
#cartDrawer,
#duvaShellCart {
  width: min(560px, 94vw) !important;
  max-width: 560px !important;
}
#cartDrawer .drawer-header,
#duvaShellCart .duva-shell-drawer__header {
  min-height: 104px !important;
  padding: 24px 28px 20px !important;
  align-items: center !important;
}
#cartDrawer .drawer-header h2,
#duvaShellCart .duva-shell-drawer__header h2 {
  font-size: clamp(32px, 4.5vw, 46px) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}
#cartDrawer .drawer-content,
#duvaShellCart .duva-shell-drawer__body {
  padding: 12px 28px !important;
}
#cartDrawer .mini-item {
  display: grid !important;
  grid-template-columns: 104px minmax(0,1fr) 30px !important;
  gap: 16px !important;
  align-items: start !important;
  min-height: 142px !important;
  padding: 18px 0 !important;
  overflow: visible !important;
  border-bottom: 1px solid #e0e0e0 !important;
}
#cartDrawer .mini-item-image,
#cartDrawer .mini-item-image img {
  display: block !important;
  width: 104px !important;
  height: 126px !important;
  object-fit: cover !important;
  background: #f4f4f4 !important;
}
#cartDrawer .mini-item-details {
  min-width: 0 !important;
  padding: 1px 0 0 !important;
}
#cartDrawer .mini-item-details h3 {
  margin: 0 0 8px !important;
  font-size: 18px !important;
  line-height: 1.18 !important;
  letter-spacing: -.02em !important;
}
#cartDrawer .mini-item-option {
  margin: 3px 0 !important;
  color: #666 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}
#cartDrawer .mini-item-price {
  margin: 10px 0 8px !important;
  color: #111 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
#cartDrawer .quantity-control {
  margin-top: 6px !important;
}
#cartDrawer .remove-button {
  position: static !important;
  align-self: start !important;
  width: 30px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 22px !important;
}
#cartDrawer .drawer-footer,
#duvaShellCart .duva-shell-drawer__footer {
  padding: 18px 28px 22px !important;
}
#cartDrawer .shipping-progress {
  margin: 0 0 16px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid #ddd !important;
}
#cartDrawer .shipping-progress p {
  margin: 0 0 10px !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  letter-spacing: .09em !important;
}
#cartDrawer .subtotal {
  margin: 0 0 16px !important;
  padding: 0 !important;
  font-size: 15px !important;
}
#cartDrawer .payment-methods,
#cartDrawer .payment-note {
  margin-top: 12px !important;
}
#cartDrawer .button,
#cartDrawer .view-full-bag-button {
  min-height: 52px !important;
  margin-top: 12px !important;
}

/* Dedicated account page */
.account-page { background:#f6f6f3 !important; color:#0a0a0a !important; min-height:100vh; }
.account-main { width:min(1180px, calc(100% - 48px)); margin:0 auto; padding:56px 0 90px; }
.account-intro { max-width:820px; margin:0 0 34px; }
.account-intro h1 { margin:6px 0 14px; font-size:clamp(44px,7vw,88px); line-height:.91; letter-spacing:-.065em; }
.account-intro>p:last-child { max-width:630px; margin:0; color:#666; font-size:16px; line-height:1.55; }
.account-auth-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.account-card { background:#fff; border:1px solid #d9d9d5; padding:30px; margin:0 0 18px; }
.account-card-muted { background:#efefec; }
.account-card h2 { margin:4px 0 22px; font-size:clamp(30px,4vw,46px); line-height:.95; letter-spacing:-.045em; }
.account-form label { display:grid; gap:7px; color:#333; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.account-form input { height:52px; padding:0 14px; border:1px solid #cfcfcb; background:#fff; font-size:15px; text-transform:none; letter-spacing:0; }
.account-form input:focus { outline:2px solid #111; outline-offset:-2px; }
.account-form button { min-height:54px; margin-top:2px; }
.account-security-note { margin:18px 0 0; color:#70706b; font-size:12px; }
.account-page .panel-title-row { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.account-page .order-row { display:flex; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid #deded9; }
.account-page .order-row>div { display:flex; gap:14px; align-items:center; }
.account-page .status { min-height:20px; margin:0; color:#555; font-size:12px; line-height:1.4; }

@media (max-width: 720px) {
  #siteHeader .account-header-link { flex-basis:38px !important; width:38px !important; min-width:38px !important; height:38px !important; padding:7px !important; }
  #siteHeader .duva-wordmark,#siteHeader .duva-v38-brand,#siteHeader .logo.duva-wordmark { flex-basis:94px !important; width:94px !important; min-width:94px !important; max-width:94px !important; height:30px !important; }
  #cartDrawer,#duvaShellCart { width:100vw !important; max-width:100vw !important; }
  #cartDrawer .drawer-header,#duvaShellCart .duva-shell-drawer__header { padding:20px 18px 16px !important; min-height:90px !important; }
  #cartDrawer .drawer-content,#duvaShellCart .duva-shell-drawer__body { padding:8px 18px !important; }
  #cartDrawer .mini-item { grid-template-columns:86px minmax(0,1fr) 28px !important; gap:12px !important; min-height:118px !important; }
  #cartDrawer .mini-item-image,#cartDrawer .mini-item-image img { width:86px !important; height:104px !important; }
  #cartDrawer .drawer-footer,#duvaShellCart .duva-shell-drawer__footer { padding:16px 18px 20px !important; }
  .account-main { width:min(100% - 32px, 680px); padding:34px 0 70px; }
  .account-auth-grid { grid-template-columns:1fr; }
  .account-card { padding:22px; }
  .account-page .panel-title-row,.account-page .order-row,.account-page .order-row>div { flex-direction:column; align-items:flex-start; }
}
.track-wordmark{display:block!important;width:120px!important;height:34px!important;background:none!important}
.track-wordmark .header-wordmark-image{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;filter:none!important}