/* Scrollprise v32 — Mobile First Experience
   Native mobile navigation, compact catalogue browsing, touch-first product sheets,
   snap discovery rails and lightweight rendering. Desktop design remains intact. */
:root{--sp-fx-lime:#b7ff33;--sp-fx-bg:#080b09;--sp-fx-line:rgba(255,255,255,.09)}
body.sp-fx-active{overflow-x:hidden}

/* Lightweight desktop page transition */
.sp-page-wipe{position:fixed;z-index:2147483000;inset:0;pointer-events:none;display:grid;grid-template-rows:1fr 3px;transform:translateY(102%);visibility:hidden;transition:transform .26s cubic-bezier(.65,0,.35,1),visibility 0s linear .26s}
.sp-page-wipe__veil{background:rgba(5,8,6,.985)}
.sp-page-wipe__line{background:var(--sp-fx-lime);box-shadow:0 0 18px rgba(183,255,51,.38)}
.sp-page-wipe.is-visible{visibility:visible;transform:translateY(0);transition:transform .26s cubic-bezier(.65,0,.35,1),visibility 0s}
.sp-page-wipe.is-exiting{transform:translateY(-102%)}

/* Lightweight reading progress */
.sp-progress-rail{position:fixed;z-index:20000;left:0;right:0;top:0;height:2px;pointer-events:none;background:rgba(255,255,255,.025);overflow:hidden}
.sp-progress-rail i{display:block;width:100%;height:100%;background:var(--sp-fx-lime);box-shadow:0 0 10px rgba(183,255,51,.35);transform:scaleX(0);transform-origin:left center;will-change:transform}

/* Large product grids keep the glass look without expensive live backdrop blur. */
.catalogue-page .catalogue-lite-card{
  background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.022)),rgba(14,18,15,.92)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:0 18px 46px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.065)!important;
  content-visibility:auto;
  contain-intrinsic-size:560px;
}
.product-card[hidden]{display:none!important}

/* Retired v31 experiments stay retired. */
.experience-liquid{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important}
.experience-liquid:before,.experience-liquid:after{display:none!important}
.mf-cursor,#sp-curtains-canvas{display:none!important}
.product-card.sp-living-card,.vibe-result-card.sp-living-card{will-change:auto!important}
.product-card.sp-living-card:hover,.vibe-result-card.sp-living-card:hover{transform:none!important}
.product-card .card-media:after,.editorial-product .editorial-media:after,.vibe-result-card .vibe-result-image:after{display:none!important}
.sp-magnetic{will-change:auto!important}

/* v32 mobile controls are injected once and hidden on desktop. */
.sp-mobile-actions,.sp-mobile-menu{display:none}

@media(max-width:760px){
  :root{--sp-mobile-gutter:14px}
  html{scroll-padding-top:68px}
  body.sp-v32-mobile-first{background-attachment:scroll!important}
  body.sp-mobile-menu-open{overflow:hidden!important;touch-action:none}

  /* Mobile should feel immediate: no artificial navigation wipe. */
  .sp-page-wipe,.sp-progress-rail{display:none!important}

  /* Header: compact logo + favourites + menu. */
  .site-header{position:sticky!important;top:0!important;z-index:21000!important;background:rgba(5,8,6,.96)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .site-header .header-row{min-height:62px!important;height:62px!important;gap:8px!important;padding-block:0!important}
  .site-header .brand-image{width:132px!important;max-width:42vw!important;flex:0 0 auto!important}
  .site-header .brand-image img,.site-header .nav-transparent-logo img{height:38px!important;object-fit:contain!important;box-shadow:none!important;background:transparent!important}
  .site-header .main-nav,.site-header .header-button,.mobile-category-link,.mobile-swipe-link{display:none!important}
  .sp-mobile-actions{display:flex;margin-left:auto;align-items:center;gap:8px;position:relative;z-index:3}
  .sp-mobile-favourite,.sp-mobile-menu-toggle{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.045);color:#f2f6f2;touch-action:manipulation}
  .sp-mobile-favourite{position:relative;text-decoration:none;font-size:20px}
  .sp-mobile-favourite b{position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;display:grid;place-items:center;padding:0 4px;border-radius:999px;background:var(--sp-fx-lime);color:#071006;font-size:9px;font-weight:950}
  .sp-mobile-menu-toggle{padding:0;cursor:pointer}
  .sp-mobile-menu-toggle span{display:block;width:18px;height:1.5px;background:#eef4ec;border-radius:3px;transition:transform .2s ease}
  .sp-mobile-menu-toggle span+span{margin-top:5px;width:13px;justify-self:end;margin-right:11px}

  /* Full-screen mobile navigation sheet. */
  .sp-mobile-menu{display:block;position:fixed;z-index:2147482000;inset:0;pointer-events:none;visibility:hidden}
  .sp-mobile-menu.open{pointer-events:auto;visibility:visible}
  .sp-mobile-menu-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(0,0,0,.62);opacity:0;transition:opacity .22s ease}
  .sp-mobile-menu.open .sp-mobile-menu-backdrop{opacity:1}
  .sp-mobile-menu-panel{position:absolute;left:0;right:0;bottom:0;max-height:min(88dvh,760px);overflow:auto;padding:20px var(--sp-mobile-gutter) calc(20px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.12);border-radius:26px 26px 0 0;background:#090d0a;box-shadow:0 -30px 80px rgba(0,0,0,.55);transform:translateY(102%);transition:transform .28s cubic-bezier(.2,.8,.2,1);overscroll-behavior:contain}
  .sp-mobile-menu.open .sp-mobile-menu-panel{transform:translateY(0)}
  .sp-mobile-menu-head{display:flex;justify-content:space-between;align-items:center;padding:2px 4px 17px;border-bottom:1px solid rgba(255,255,255,.08)}
  .sp-mobile-menu-head small{display:block;color:var(--sp-fx-lime);font-size:9px;font-weight:950;letter-spacing:.18em}
  .sp-mobile-menu-head strong{display:block;margin-top:4px;font-size:21px;letter-spacing:-.6px}
  .sp-mobile-menu-close{width:42px;height:42px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.045);color:white;font-size:25px;line-height:1}
  .sp-mobile-menu-nav{display:grid;margin-top:8px}
  .sp-mobile-menu-nav a{min-height:58px;display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:7px;padding:0 6px;border-bottom:1px solid rgba(255,255,255,.075);color:#eff4ef;text-decoration:none}
  .sp-mobile-menu-nav a small{color:#667168;font-size:9px;font-weight:900;letter-spacing:.12em}
  .sp-mobile-menu-nav a span{font-size:18px;font-weight:800;letter-spacing:-.35px}
  .sp-mobile-menu-nav a b,.sp-mobile-menu-nav a em{color:#818c83;font-size:15px;font-style:normal}
  .sp-mobile-menu-nav a.accent span,.sp-mobile-menu-nav a.accent b{color:var(--sp-fx-lime)}
  .sp-mobile-menu-secondary{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px;padding:0 4px}
  .sp-mobile-menu-secondary a{min-height:42px;display:inline-flex;align-items:center;padding:0 14px;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:#aab3ac;font-size:12px;text-decoration:none}

  /* Mobile rhythm and typography. */
  .container{width:calc(100% - (var(--sp-mobile-gutter) * 2))!important}
  main section{scroll-margin-top:72px}
  .hero,.editorial-hero{min-height:auto!important}
  .hero-content{padding-top:52px!important;padding-bottom:72px!important}
  .hero h1,.editorial-hero h1,.category-hero h1{font-size:clamp(38px,11vw,52px)!important;line-height:.94!important;letter-spacing:-2.6px!important}
  .hero-content>p,.editorial-hero p,.category-story{font-size:15px!important;line-height:1.55!important}
  .section-heading h2,.discovery-heading h2,.category-products-head h2{font-size:clamp(29px,8.5vw,39px)!important;letter-spacing:-1.8px!important}

  /* Homepage discovery becomes thumb-driven horizontal rails. */
  .discovery-family{margin-bottom:42px!important}
  .discovery-grid{display:flex!important;grid-template-columns:none!important;gap:10px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding:2px var(--sp-mobile-gutter) 10px 0!important;margin-right:calc(var(--sp-mobile-gutter) * -1);scrollbar-width:none}
  .discovery-grid::-webkit-scrollbar{display:none}
  .discovery-grid>.discovery-card{flex:0 0 min(82vw,320px);scroll-snap-align:start;min-height:168px;padding:18px!important;border-radius:20px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .discovery-card:hover{transform:none!important}
  .discovery-card h3{font-size:21px!important}
  .discovery-card p{min-height:0!important;font-size:12px!important}

  /* Read My Mind becomes a primary mobile destination. */
  #vibe-check{padding:54px 0!important}
  #vibe-check .vibe-guide-shell{grid-template-columns:1fr!important;gap:18px!important;padding:20px!important;border-radius:22px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.018)),#0d120e!important}
  #vibe-check .vibe-guide-intro h2{font-size:clamp(31px,9vw,42px)!important;line-height:1!important;letter-spacing:-2px!important}
  #vibe-check input,#vibe-check textarea,#vibe-check select{font-size:16px!important;min-height:50px!important}
  #vibe-check button{min-height:48px!important;touch-action:manipulation}

  /* Category chooser: swipe the broad categories, then swipe subcategory pills. */
  .traditional-category-grid{display:flex!important;grid-template-columns:none!important;gap:10px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;padding:2px var(--sp-mobile-gutter) 10px 0!important;margin-right:calc(var(--sp-mobile-gutter) * -1);scrollbar-width:none}
  .traditional-category-grid::-webkit-scrollbar,.traditional-subcategory-filters::-webkit-scrollbar{display:none}
  .traditional-category-card{flex:0 0 min(72vw,265px)!important;min-height:94px!important;scroll-snap-align:start;padding:15px!important;text-align:left!important;touch-action:manipulation}
  .traditional-subcategory-filters{display:flex!important;flex-wrap:nowrap!important;gap:8px!important;overflow-x:auto!important;padding-bottom:8px!important;scrollbar-width:none}
  .trad-sub-pill{flex:0 0 auto!important;min-height:42px!important;padding-inline:14px!important;touch-action:manipulation}
  .tv-filter-grid{grid-template-columns:1fr!important}

  /* Two-column product browsing. Dense enough to explore, large enough to tap. */
  .catalogue-page .product-grid,.traditional-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;align-items:start}
  .catalogue-page .product-card{min-width:0!important;border-radius:17px!important;overflow:hidden!important;box-shadow:0 10px 28px rgba(0,0,0,.24)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;content-visibility:auto;contain-intrinsic-size:330px}
  .catalogue-page .product-card .card-media{height:auto!important;min-height:0!important;aspect-ratio:1/1.02!important;padding:0!important;border-radius:0!important;background:rgba(255,255,255,.025)!important}
  .catalogue-page .product-card .card-media img{width:100%!important;height:100%!important;object-fit:contain!important;padding:9px!important}
  .catalogue-page .product-card .card-badge{left:8px!important;top:8px!important;max-width:calc(100% - 48px);padding:5px 7px!important;font-size:7px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .catalogue-page .product-card .card-number{display:none!important}
  .catalogue-page .product-card .card-save{right:7px!important;top:7px!important;width:34px!important;height:34px!important;display:grid!important;place-items:center!important;font-size:17px!important}
  .catalogue-page .product-card .card-copy{padding:10px 10px 11px!important}
  .catalogue-page .product-card .card-topline{min-height:14px!important;gap:5px!important;margin-bottom:4px!important}
  .catalogue-page .product-card .card-category{display:none!important}
  .catalogue-page .product-card .card-brand{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px!important;letter-spacing:.05em!important}
  .catalogue-page .product-card h3{margin:4px 0 9px!important;font-size:13px!important;line-height:1.22!important;letter-spacing:-.25px!important;min-height:32px}
  .catalogue-page .product-card h3 button{display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:left!important}
  .catalogue-page .product-card .card-story,.catalogue-page .product-card .card-hook,.catalogue-page .product-card .best-for,.catalogue-page .product-card .details-button,.catalogue-page .product-card .paid-note{display:none!important}
  .catalogue-page .product-card .card-actions{display:block!important;margin:0!important}
  .catalogue-page .product-card .amazon-button{width:100%!important;min-height:39px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0 8px!important;border-radius:11px!important;font-size:9px!important;white-space:nowrap}
  .catalogue-load-more,.sp-mobile-category-more{grid-column:1/-1!important;padding:15px 0 5px!important;display:flex!important;justify-content:center!important}
  .catalogue-load-more button,.sp-mobile-category-more button{min-height:46px;padding:0 18px;border:1px solid rgba(183,255,51,.3);border-radius:999px;background:rgba(183,255,51,.07);color:#eaf5df;font:800 11px/1 inherit;touch-action:manipulation}

  /* Search and filters should never trigger iOS zoom. */
  .catalogue-search-wrap input,.search-card input,.traditional-category-browser input{font-size:16px!important;min-height:48px!important}

  /* Full-screen, touch-first product detail sheet. */
  .modal{padding:0!important;align-items:flex-end!important;overscroll-behavior:contain}
  .modal.open{display:flex!important}
  .modal-card,.traditional-quick-view{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;background:#090d0a!important}
  .modal-product{display:block!important;min-height:100%!important}
  .modal-gallery{padding:14px var(--sp-mobile-gutter) 10px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
  .modal-main-image{min-height:0!important;height:min(45dvh,390px)!important;border-radius:18px!important}
  .modal-main-image img{width:100%!important;height:100%!important;object-fit:contain!important}
  .modal-gallery-hint{display:none!important}
  .modal-thumbnails{display:flex!important;grid-template-columns:none!important;gap:8px!important;overflow-x:auto!important;scroll-snap-type:x mandatory;padding-bottom:4px!important;scrollbar-width:none}
  .modal-thumbnails::-webkit-scrollbar{display:none}
  .modal-thumbnails>button{flex:0 0 68px!important;scroll-snap-align:start}
  .modal-copy{padding:22px var(--sp-mobile-gutter) calc(28px + env(safe-area-inset-bottom))!important}
  .modal-copy h2{font-size:clamp(28px,8.5vw,38px)!important;line-height:1.02!important;letter-spacing:-1.6px!important;margin:9px 0 13px!important}
  .modal-copy h3{font-size:14px!important}
  .modal-verdict,.feature-list{font-size:13px!important}
  .spec-grid{grid-template-columns:1fr!important}
  .modal-close,[data-close-trad]{position:fixed!important;z-index:2147481000!important;right:10px!important;top:max(10px,env(safe-area-inset-top))!important;width:44px!important;height:44px!important;border-radius:15px!important;box-shadow:0 8px 28px rgba(0,0,0,.35)!important}
  .modal-copy .detail-actions{position:sticky!important;z-index:40!important;bottom:0!important;display:grid!important;grid-template-columns:48px 1fr!important;gap:8px!important;margin:25px calc(var(--sp-mobile-gutter) * -1) 0!important;padding:10px var(--sp-mobile-gutter) calc(10px + env(safe-area-inset-bottom))!important;background:linear-gradient(to top,#090d0a 78%,rgba(9,13,10,.92))!important;border-top:1px solid rgba(255,255,255,.08)!important}
  .modal-copy .stash-button{width:48px!important;height:48px!important;min-height:48px!important}
  .modal-copy .modal-amazon,.modal-copy .amazon-button{min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0 12px!important;font-size:11px!important}
  .modal-paid{display:block!important;margin-top:7px!important;font-size:8px!important}

  /* Remove costly/irrelevant hover behavior on touch. */
  .glass,.mega-menu,.instagram-profile-shell{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .product-card:hover,.discovery-card:hover,.traditional-category-card:hover{transform:none!important}
}

@media(max-width:380px){
  :root{--sp-mobile-gutter:11px}
  .catalogue-page .product-grid,.traditional-product-grid{gap:8px!important}
  .catalogue-page .product-card .card-copy{padding:8px!important}
  .catalogue-page .product-card h3{font-size:12px!important}
  .catalogue-page .product-card .amazon-button{font-size:8px!important}
  .sp-mobile-menu-panel{border-radius:22px 22px 0 0}
}

@media(prefers-reduced-motion:reduce){
  .sp-page-wipe,.sp-progress-rail{display:none!important}
  .sp-mobile-menu-panel,.sp-mobile-menu-backdrop{transition:none!important}
}
