/*
 * AUDACIA | Mobile Experience v1
 * Loaded only below 901px. Desktop styles/behaviour stay intact.
 * Works with the original HTML and existing catalogue / cart / Stripe logic.
 */
@media screen and (max-width: 900px) {
  :root { --mobile-ink:#111; --mobile-cream:#f8f7f4; --mobile-gold:#b89b6a; --mobile-gutter:clamp(18px, 5vw, 30px); }
  html { -webkit-text-size-adjust: 100%; scroll-padding-top: 90px; }
  body { min-width:0; overflow-x:clip; }
  body, button, a, input, select { -webkit-tap-highlight-color: transparent; }
  img, video, svg { max-width:100%; }
  img { height:auto; }
  button, input, select, textarea { font:inherit; }
  input, select, textarea { max-width:100%; }
  :is(a,button,input,select,textarea):focus-visible { outline:2px solid var(--mobile-gold); outline-offset:3px; }

  /* Shared Audacia mobile header: centered wordmark and predictable 44px touch targets */
  .site-header { height:64px; }
  .site-header .nav { width:calc(100% - 32px); max-width:100%; grid-template-columns:minmax(48px,1fr) auto minmax(92px,1fr); gap:0; }
  .site-header .nav-left, .site-header .nav-right { gap:0; min-width:0; }
  .site-header .nav-right { justify-content:flex-end; }
  .site-header .nav-left .nav-link { display:none; }
  .site-header .hamburger { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; width:44px; height:44px; min-width:44px; padding:10px; position:relative; z-index:4; }
  .site-header .hamburger span { left:12px; width:20px; height:1.5px; }
  .site-header .hamburger span:first-child { top:18px; bottom:auto; }
  .site-header .hamburger span:last-child { top:25px; bottom:auto; }
  .site-header .hamburger.active span:first-child { transform:translateY(3.5px) rotate(45deg); }
  .site-header .hamburger.active span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .site-header .nav-right > .icon-btn:first-child { display:none; }
  .site-header .icon-btn { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; padding:10px; position:relative; }
  .site-header .icon-btn svg { width:21px; height:21px; flex:none; }
  .site-header .logo { display:inline-block; text-align:center; white-space:nowrap; font-size:clamp(1.08rem,4.6vw,1.40rem); letter-spacing:.24em; line-height:1; transform:translateX(.12em); }
  .site-header .cart-count-badge { pointer-events:none; top:3px; right:2px; }
  .top-bar, .announcement { line-height:1.4; padding-inline:12px; text-align:center; }
  .top-bar { min-height:34px; }

  /* Unified fullscreen, accessible mobile navigation, without replacing original JS handlers */
  .mobile-menu { position:fixed; inset:0; z-index:280; overflow:auto; overscroll-behavior:contain; background:radial-gradient(ellipse at 75% 75%,#202020 0%,#0b0b0b 62%); color:#fff; padding:clamp(112px,18vh,156px) var(--mobile-gutter) 90px; display:block; }
  .mobile-menu a { display:block; font-size:clamp(1.45rem,6vw,2.15rem); font-weight:300; letter-spacing:.12em; line-height:1.3; text-transform:uppercase; margin:0; padding:15px 2px; border-bottom:1px solid rgba(255,255,255,.16); }
  .mobile-menu .mobile-bag-link { margin-top:26px; font-size:.72rem; letter-spacing:.22em; font-weight:500; color:#e0c18c; border:1px solid rgba(224,193,140,.45); text-align:center; padding:18px 14px; }
  .mobile-menu a[aria-current="page"], .mobile-menu a.is-current { color:#e7c891; }
  .mobile-menu::after { content:"JEWELLERY FOR THE BOLD"; display:block; margin-top:33px; font-size:.60rem; letter-spacing:.26em; color:#aaa39b; }
  .mobile-menu:not(.open) { visibility:hidden; pointer-events:none; }
  .mobile-menu.open { visibility:visible; }
  body.menu-is-open { overflow:hidden; }
  body.menu-is-open .site-header { position:fixed!important; top:0!important; left:0; right:0; z-index:310; background:#0b0b0b!important; color:#fff!important; border-bottom:1px solid rgba(255,255,255,.18)!important; backdrop-filter:none!important; }
  body.menu-is-open .site-header .nav { color:#fff; }
  body.menu-is-open :is(.mobile-sticky,.mobile-sticky-buy,.mobile-checkout) { visibility:hidden; }
  body.menu-is-open .mobile-menu { z-index:300; }

  /* Shared cards, scrolling surfaces and readable interactive controls */
  .reveal { transition-duration:.5s; }
  .footer-inner { gap:28px; }
  .footer-bottom { line-height:1.7; text-align:center; }
  .email-form input { min-height:52px; font-size:16px; }
  .email-form button { min-height:52px; }
  .toast { max-width:calc(100vw - 32px); white-space:normal; }
  :is(.mobile-sticky,.mobile-sticky-buy,.mobile-checkout) { bottom:max(12px,env(safe-area-inset-bottom,0px)); min-height:56px; box-shadow:0 12px 34px rgba(0,0,0,.24); }
  .mobile-menu, .filter-row, .collection-grid, .thumb-row { -webkit-overflow-scrolling:touch; }

  /* Homepage: cinematic cover, swipe-through collections, compact product discovery */
  [data-audacia-page="home"] .site-header { height:64px; }
  [data-audacia-page="home"] .site-header:not(.scrolled) { top:34px; }
  [data-audacia-page="home"] .hero { min-height:600px; height:min(83svh,860px); background-position:center; }
  [data-audacia-page="home"] .hero-content { left:var(--mobile-gutter); right:var(--mobile-gutter); bottom:clamp(63px,11svh,115px); }
  [data-audacia-page="home"] .hero-kicker { font-size:clamp(.72rem,2.5vw,.9rem); letter-spacing:.24em; }
  [data-audacia-page="home"] .hero-subtext { max-width:330px; font-size:.83rem; line-height:1.65; letter-spacing:.16em; }
  [data-audacia-page="home"] .hero .btn { min-height:50px; min-width:170px; display:inline-flex; justify-content:center; align-items:center; }
  [data-audacia-page="home"] .intro { padding:58px var(--mobile-gutter) 50px; }
  [data-audacia-page="home"] .intro-kicker { font-size:clamp(.82rem,3.3vw,1rem); line-height:1.8; }
  [data-audacia-page="home"] .section { width:calc(100% - 2*var(--mobile-gutter)); padding:62px 0; }
  [data-audacia-page="home"] .section-title { font-size:clamp(1.55rem,5.6vw,2.25rem); line-height:1.25; letter-spacing:.12em; margin-bottom:30px; }
  [data-audacia-page="home"] .collection-grid { display:flex; grid-template-columns:none; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-left:var(--mobile-gutter); gap:14px; margin:0 calc(-1*var(--mobile-gutter)); padding:0 var(--mobile-gutter) 18px; scrollbar-width:thin; }
  [data-audacia-page="home"] .collection-card { flex:0 0 min(79vw,360px); min-width:0; height:clamp(330px,91vw,480px); scroll-snap-align:start; border-radius:2px; }
  [data-audacia-page="home"] .collection-content { padding:26px 21px; }
  [data-audacia-page="home"] .product-inner { width:calc(100% - 2*var(--mobile-gutter)); }
  [data-audacia-page="home"] .product-heading { display:block; }
  [data-audacia-page="home"] .product-heading h2 { font-size:clamp(1.7rem,6vw,2.5rem); letter-spacing:.1em; margin-bottom:14px; }
  [data-audacia-page="home"] :is(.product-grid,.materials-grid) { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  [data-audacia-page="home"] .product-card { min-width:0; }
  [data-audacia-page="home"] .product-img { height:auto; aspect-ratio:4/5; }
  [data-audacia-page="home"] .product-info { padding:15px 10px 17px; }
  [data-audacia-page="home"] .statement { grid-template-columns:1fr; }
  [data-audacia-page="home"] .statement-image { min-height:0; height:clamp(350px,100vw,530px); }
  [data-audacia-page="home"] .statement-copy { padding:64px var(--mobile-gutter) 70px; }
  [data-audacia-page="home"] .statement-copy h2 { font-size:clamp(2rem,9vw,3.5rem); line-height:1.12; letter-spacing:.03em; }
  [data-audacia-page="home"] .materials-grid { gap:14px; }
  [data-audacia-page="home"] .material-card { min-width:0; padding:25px 14px; }
  [data-audacia-page="home"] .email { padding:75px var(--mobile-gutter); }

  /* Shop: 2-up visual catalogue; sticky, horizontally scrollable filter chips */
  [data-audacia-page="shop"] .shop-hero { min-height:310px; padding:68px var(--mobile-gutter) 55px; }
  [data-audacia-page="shop"] .shop-hero h1 { font-size:clamp(2.2rem,9vw,3.5rem); letter-spacing:.12em; line-height:1.1; }
  [data-audacia-page="shop"] .shop-hero p { max-width:340px; line-height:1.7; font-size:.86rem; }
  [data-audacia-page="shop"] .trust-row { display:flex; overflow-x:auto; scroll-snap-type:x proximity; padding:0 12px; gap:0; }
  [data-audacia-page="shop"] .trust-item { flex:0 0 42%; min-width:125px; min-height:75px; padding:14px 12px; scroll-snap-align:start; border-right:1px solid rgba(0,0,0,.07); }
  [data-audacia-page="shop"] .shop-shell { width:calc(100% - 2*var(--mobile-gutter)); padding-top:25px; }
  [data-audacia-page="shop"] .shop-controls { position:sticky; top:64px; flex-direction:column; align-items:stretch; gap:13px; margin-bottom:24px; padding:12px 0 15px; }
  [data-audacia-page="shop"] .filter-row { display:flex; overflow-x:auto; overflow-y:hidden; flex-wrap:nowrap; width:calc(100% + var(--mobile-gutter)); gap:8px; padding:4px var(--mobile-gutter) 12px 0; scrollbar-width:none; }
  [data-audacia-page="shop"] .filter-row::-webkit-scrollbar { display:none; }
  [data-audacia-page="shop"] .filter-btn { flex:0 0 auto; min-height:42px; padding:0 15px; white-space:nowrap; }
  [data-audacia-page="shop"] .finish-toolbar { width:100%; gap:12px; }
  [data-audacia-page="shop"] .sort-area { width:100%; min-width:0; }
  [data-audacia-page="shop"] .sort-area select { min-height:44px; width:auto; max-width:65%; font-size:16px; }
  [data-audacia-page="shop"] :is(.product-grid,.featured-grid) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  [data-audacia-page="shop"] .product-card { min-width:0; }
  [data-audacia-page="shop"] .product-img { height:auto; aspect-ratio:4/5; }
  [data-audacia-page="shop"] .product-info { padding:13px 9px 15px; }
  [data-audacia-page="shop"] .product-card h3 { overflow-wrap:anywhere; }
  [data-audacia-page="shop"] .category-heading { margin-top:28px; }
  [data-audacia-page="shop"] .section-subheading { margin-bottom:19px; }
  [data-audacia-page="shop"] .section-subheading h3 { font-size:clamp(1.2rem,5vw,1.8rem); }
  [data-audacia-page="shop"] .shop-banner { min-height:350px; padding:35px 24px; }
  [data-audacia-page="shop"] .shop-banner h2 { font-size:clamp(1.85rem,8vw,2.9rem); }
  [data-audacia-page="shop"] .modal-panel { width:100%; max-height:92dvh; overflow:auto; }
  [data-audacia-page="shop"] .modal-image { min-height:250px; max-height:45dvh; }
  [data-audacia-page="shop"] .modal-content { padding:24px var(--mobile-gutter); }
  [data-audacia-page="shop"] .product-actions .add-btn { min-height:46px; }

  /* Product: focused photography, swipeable gallery, usable options & anchored purchase */
  [data-audacia-page="product"] .product-page { width:100%; padding:0 0 76px; grid-template-columns:1fr; gap:27px; }
  [data-audacia-page="product"] .gallery { position:relative; top:auto; min-width:0; }
  [data-audacia-page="product"] .main-image-wrap { min-height:0; height:auto; aspect-ratio:1/1.05; border-radius:0; border-left:0; border-right:0; touch-action:pan-y; }
  [data-audacia-page="product"] .main-image { height:100%; width:100%; object-fit:cover; }
  [data-audacia-page="product"] .gallery-nav button { min-width:44px; min-height:44px; }
  [data-audacia-page="product"] .gallery-count { font-size:.68rem; }
  [data-audacia-page="product"] .thumb-row { width:100%; margin:9px 0 0; padding:0 var(--mobile-gutter) 10px; display:flex; grid-template-columns:none; gap:9px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; }
  [data-audacia-page="product"] .thumb { height:auto; aspect-ratio:1/1; min-width:70px; flex:0 0 70px; scroll-snap-align:start; }
  [data-audacia-page="product"] .product-info { width:calc(100% - 2*var(--mobile-gutter)); max-width:620px; margin:0 auto; }
  [data-audacia-page="product"] .product-title { font-size:clamp(2rem,9vw,3.1rem); letter-spacing:.14em; line-height:1.18; overflow-wrap:anywhere; }
  [data-audacia-page="product"] .product-subtitle { line-height:1.7; }
  [data-audacia-page="product"] .social-proof { flex-wrap:wrap; }
  [data-audacia-page="product"] .option-row { flex-wrap:wrap; gap:9px; }
  [data-audacia-page="product"] .option-row :is(button,label) { min-height:44px; }
  [data-audacia-page="product"] .add-to-cart { min-height:56px; }
  [data-audacia-page="product"] .bundle-option { min-height:60px; }
  [data-audacia-page="product"] .related { padding-inline:var(--mobile-gutter); }
  [data-audacia-page="product"] .related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  [data-audacia-page="product"] .trust-strip { gap:6px; }

  /* Shopping bag: compact item rows + calm summary. Existing quantity and checkout JS unchanged. */
  [data-audacia-page="cart"] .cart-page { width:calc(100% - 2*var(--mobile-gutter)); padding:37px 0 78px; }
  [data-audacia-page="cart"] .cart-title-row { display:block; margin-bottom:24px; }
  [data-audacia-page="cart"] .cart-title-row h1 { font-size:clamp(2rem,8vw,3.1rem); letter-spacing:.12em; }
  [data-audacia-page="cart"] .cart-title-row p { margin-top:10px; font-size:.84rem; line-height:1.7; }
  [data-audacia-page="cart"] .cart-layout { display:flex; flex-direction:column; gap:25px; margin-top:20px; }
  [data-audacia-page="cart"] :is(.bag-section,.summary) { width:100%; min-width:0; }
  [data-audacia-page="cart"] .cart-item { display:grid; grid-template-columns:clamp(84px,23vw,116px) minmax(0,1fr); gap:11px 14px; padding:19px 0; align-items:start; }
  [data-audacia-page="cart"] .item-image { height:auto; aspect-ratio:1/1.2; }
  [data-audacia-page="cart"] .item-info { min-width:0; }
  [data-audacia-page="cart"] .item-info h3 { line-height:1.45; overflow-wrap:anywhere; }
  [data-audacia-page="cart"] .item-side { grid-column:2; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; }
  [data-audacia-page="cart"] .item-side .price { text-align:left; }
  [data-audacia-page="cart"] .shipping-meter { padding:17px 14px; }
  [data-audacia-page="cart"] .shipping-copy { display:flex; flex-direction:column; gap:6px; }
  [data-audacia-page="cart"] .shipping-copy span { margin:0; }
  [data-audacia-page="cart"] .summary { position:static; }
  [data-audacia-page="cart"] .summary :is(input,button) { min-height:44px; }
  [data-audacia-page="cart"] .promo-row { display:flex; min-width:0; }
  [data-audacia-page="cart"] .promo-row input { min-width:0; flex:1; font-size:16px; }
  [data-audacia-page="cart"] .recommendations { margin-top:43px; }
  [data-audacia-page="cart"] .recommendation-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; margin-right:calc(-1*var(--mobile-gutter)); padding-bottom:14px; }
  [data-audacia-page="cart"] .recommendation-grid .product-card { flex:0 0 min(68vw,280px); scroll-snap-align:start; }
  [data-audacia-page="cart"] .recommendation-grid .product-img { height:auto; aspect-ratio:4/5; }

  /* Embedded Stripe Checkout: summary stays collapsible, all forms full width. */
  [data-audacia-page="checkout"] .checkout-wrap { width:calc(100% - 2*var(--mobile-gutter)); padding:28px 0 60px; }
  [data-audacia-page="checkout"] .checkout-steps { display:flex; justify-content:space-between; gap:8px; margin-bottom:24px; }
  [data-audacia-page="checkout"] .checkout-steps :is(a,span) { white-space:nowrap; }
  [data-audacia-page="checkout"] .page-intro { margin-bottom:24px; }
  [data-audacia-page="checkout"] .page-intro h1 { font-size:clamp(2rem,7.5vw,3.2rem); line-height:1.18; }
  [data-audacia-page="checkout"] .checkout-grid { grid-template-columns:1fr; gap:22px; }
  [data-audacia-page="checkout"] .summary-column { position:static; order:-1; }
  [data-audacia-page="checkout"] .summary-panel { padding:23px 20px; border-radius:3px; }
  [data-audacia-page="checkout"] .checkout-section { padding:25px 21px; }
  [data-audacia-page="checkout"] :is(.stripe-container,.form-column,.summary-column) { min-width:0; }
  [data-audacia-page="checkout"] .pay-button { min-height:58px; width:100%; }
  [data-audacia-page="checkout"] .payment-disclaimer { line-height:1.7; }
  [data-audacia-page="checkout"] .help-strip { flex-wrap:wrap; gap:8px; }
  [data-audacia-page="checkout"] .checkout-footer { padding-inline:var(--mobile-gutter); }

  /* Editorial pages: preserve hierarchy, reduce oversized mobile typography. */
  [data-audacia-page="story"] .hero-inner { padding-inline:var(--mobile-gutter); }
  [data-audacia-page="story"] .hero-copy h1 { font-size:clamp(3rem,13vw,5.1rem); line-height:1.02; overflow-wrap:anywhere; }
  [data-audacia-page="story"] .hero-art { height:clamp(245px,76vw,350px); }
  [data-audacia-page="story"] .chapter { padding-inline:var(--mobile-gutter); }
  [data-audacia-page="story"] .chapter h2 { font-size:clamp(2.1rem,8vw,3rem); line-height:1.16; }
  [data-audacia-page="story"] .manifesto blockquote { font-size:clamp(1.7rem,7vw,2.5rem); }
  [data-audacia-page="story"] .closing h2 { font-size:clamp(2.4rem,10vw,4rem); line-height:1.16; }
  [data-audacia-page="info"] .info-hero { min-height:460px; padding:70px var(--mobile-gutter); }
  [data-audacia-page="info"] .info-hero h1 { font-size:clamp(2.05rem,9vw,3.5rem); letter-spacing:.1em; overflow-wrap:anywhere; }
  [data-audacia-page="info"] .section { padding:65px var(--mobile-gutter); }
  [data-audacia-page="info"] .section-title { font-size:clamp(2rem,8vw,3rem); line-height:1.2; overflow-wrap:anywhere; }
  [data-audacia-page="info"] .material-tabs { display:flex; flex-wrap:nowrap; grid-template-columns:none; gap:9px; overflow-x:auto; padding:3px 0 12px; scrollbar-width:thin; }
  [data-audacia-page="info"] .material-tab { flex:0 0 min(60vw,240px); min-height:54px; }
  [data-audacia-page="info"] .material-panel { padding:27px 20px; }
  [data-audacia-page="info"] .feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-audacia-page="info"] .feature-card { min-width:0; }
  [data-audacia-page="info"] .contact-email { overflow-wrap:anywhere; }

  /* Success page: compact, legible, with safe-area support. */
  [data-audacia-page="success"] { padding:calc(26px + env(safe-area-inset-top,0px)) var(--mobile-gutter) calc(28px + env(safe-area-inset-bottom,0px)); }
  [data-audacia-page="success"] h1 { font-size:clamp(2rem,9vw,3rem); letter-spacing:.13em; }
  [data-audacia-page="success"] p { font-size:.91rem; line-height:1.8; }
  [data-audacia-page="success"] .action { min-height:48px; display:inline-flex; align-items:center; justify-content:center; }
}

@media screen and (max-width: 640px) {
  [data-audacia-page="home"] .hero { height:78svh; min-height:550px; }
  [data-audacia-page="home"] .materials-grid { grid-template-columns:1fr; }
  [data-audacia-page="shop"] .shop-hero { min-height:270px; }
  [data-audacia-page="shop"] .trust-item { flex-basis:49%; font-size:.64rem; }
  [data-audacia-page="shop"] .product-card :is(.add-btn,.quick-add) { min-height:42px; }
  [data-audacia-page="product"] .main-image-wrap { aspect-ratio:1/1.04; }
  [data-audacia-page="product"] .related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-audacia-page="cart"] .recommendation-grid .product-card { flex-basis:72%; }
  [data-audacia-page="info"] .feature-grid { grid-template-columns:1fr; }
  [data-audacia-page="checkout"] .checkout-wrap { padding-top:23px; }
  [data-audacia-page="checkout"] .checkout-section { padding:22px 18px; }
}

@media screen and (max-width: 380px) {
  .site-header .nav { width:calc(100% - 18px); grid-template-columns:minmax(44px,1fr) auto minmax(88px,1fr); }
  .site-header .logo { font-size:1.01rem; letter-spacing:.20em; }
  .site-header .nav-right .icon-btn { width:42px; min-width:42px; }
  [data-audacia-page="home"] .collection-card { flex-basis:86vw; }
  [data-audacia-page="home"] .product-info, [data-audacia-page="shop"] .product-info { padding:11px 7px 14px; }
  [data-audacia-page="home"] .product-grid, [data-audacia-page="shop"] :is(.product-grid,.featured-grid) { gap:9px; }
  [data-audacia-page="checkout"] .checkout-steps { font-size:.53rem; letter-spacing:.06em; }
  [data-audacia-page="checkout"] .checkout-section { padding:20px 16px; }
}

@media screen and (max-width: 900px) and (hover: none) {
  .product-card:hover, .collection-card:hover { transform:none; }
  button, a { touch-action:manipulation; }
}
@media (prefers-reduced-motion: reduce) {
  .mobile-menu, .mobile-menu a, .collection-card, .product-card { transition:none!important; }
  [data-audacia-page="home"] .collection-grid, [data-audacia-page="shop"] .filter-row, [data-audacia-page="product"] .thumb-row { scroll-behavior:auto!important; }
}


/* ===================================================================
   AUDACIA | Mobile Experience v2 — clarity, spacing & discovery
   All revisions scoped to <= 900 px; desktop styles stay unchanged.
   Product / cart / checkout data and Stripe integrations are untouched.
   =================================================================== */
@media screen and (max-width:900px) {
  :root { --m2-gutter:clamp(18px,4.6vw,28px); --m2-gap:clamp(14px,3.4vw,22px); --m2-ink:#171614; --m2-muted:#625f5a; --m2-line:#e6e4df; --m2-panel:#f8f7f4; }
  html { scroll-padding-top:85px; overflow-x:clip; }
  /* One readable type scale for the phone, while keeping Audacia's editorial character. */
  body { font-size:16px; line-height:1.55; }
  .top-bar { letter-spacing:.1em; font-size:10px; min-height:30px; padding:6px 15px; }
  .site-header { height:62px; }
  .site-header .nav { width:calc(100% - 24px); grid-template-columns:minmax(47px,1fr) auto minmax(94px,1fr); }
  .site-header .icon-btn, .site-header .hamburger { width:44px; min-width:44px; min-height:44px; }
  .site-header .logo { font-size:clamp(1.08rem,4.7vw,1.40rem); letter-spacing:.22em; }
  .site-header .cart-count-badge { top:3px; right:1px; }
  .mobile-menu { padding:105px var(--m2-gutter) 48px; }
  .mobile-menu a { padding:15px 2px; font-size:clamp(1.28rem,5.5vw,1.9rem); }
  .mobile-menu .mobile-bag-link { margin-top:23px; min-height:50px; }
  .footer-inner { gap:23px; }
  .footer-bottom { gap:10px; font-size:.73rem; }
  .email-form input, .email-form button { min-height:50px; font-size:16px; }
  /* Mobile cards should feel touchable, not shrunken desktop cards. */
  :is(.btn,.add-btn,.checkout-btn,.add-to-cart,.pay-button) { min-height:48px; }

  /* HOME — fewer sprawling blocks and all three collection destinations visible. */
  [data-audacia-page="home"] .hero { height:min(75svh,690px); min-height:440px; }
  [data-audacia-page="home"] .hero-content { bottom:clamp(43px,7svh,76px); }
  [data-audacia-page="home"] .hero-subtext { max-width:310px; font-size:.88rem; line-height:1.65; letter-spacing:.09em; }
  [data-audacia-page="home"] .intro { padding:43px var(--m2-gutter); }
  [data-audacia-page="home"] .section { width:calc(100% - 2*var(--m2-gutter)); padding:47px 0; }
  [data-audacia-page="home"] .section-title { font-size:clamp(1.6rem,6vw,2.25rem); line-height:1.19; letter-spacing:.07em; margin-bottom:24px; }
  [data-audacia-page="home"] .collection-grid { display:grid; grid-template-columns:1fr; overflow:visible; margin:0; padding:0; gap:14px; scroll-snap-type:none; }
  [data-audacia-page="home"] .collection-card { flex:none; width:100%; height:clamp(225px,66vw,310px); min-height:0; }
  [data-audacia-page="home"] .collection-content { padding:20px 21px; }
  [data-audacia-page="home"] .product-inner { width:calc(100% - 2*var(--m2-gutter)); }
  [data-audacia-page="home"] .product-grid { gap:14px 12px; }
  [data-audacia-page="home"] .product-info { padding:14px 11px 16px; text-align:left; }
  [data-audacia-page="home"] .product-info h3 { font-size:.81rem; line-height:1.48; letter-spacing:.06em; }
  [data-audacia-page="home"] .statement-image { height:clamp(275px,83vw,410px); }
  [data-audacia-page="home"] .statement-copy { padding:49px var(--m2-gutter) 56px; }
  [data-audacia-page="home"] .material-card { padding:22px 15px; }
  [data-audacia-page="home"] .email { padding:55px var(--m2-gutter); }

  /* SHOP — the primary redesign: ALL 8 category choices visible. No swiping. */
  [data-audacia-page="shop"] .shop-hero { min-height:0; padding:36px var(--m2-gutter) 38px; }
  [data-audacia-page="shop"] .shop-hero h1 { font-size:clamp(1.9rem,7.5vw,2.7rem); line-height:1.16; letter-spacing:.09em; margin:12px 0; }
  [data-audacia-page="shop"] .shop-hero p { font-size:.86rem; line-height:1.6; max-width:370px; margin-bottom:0; }
  [data-audacia-page="shop"] .trust-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:0 var(--m2-gutter); overflow:visible; gap:0; }
  [data-audacia-page="shop"] .trust-item { flex:none; min-width:0; min-height:52px; padding:10px 8px; gap:8px; display:flex; align-items:center; justify-content:flex-start; border-right:0; border-bottom:1px solid var(--m2-line); }
  [data-audacia-page="shop"] .trust-icon { width:19px; height:19px; min-width:19px; }
  [data-audacia-page="shop"] .trust-item span { font-size:.67rem; line-height:1.35; letter-spacing:.03em; }
  [data-audacia-page="shop"] .shop-shell { width:calc(100% - 2*var(--m2-gutter)); padding:22px 0 55px; }
  [data-audacia-page="shop"] .shop-controls { position:relative; top:auto; background:var(--m2-panel); backdrop-filter:none; border:1px solid var(--m2-line); border-radius:5px; margin:0 0 27px; padding:20px 15px; gap:17px; box-shadow:none; }
  [data-audacia-page="shop"] .mobile-category-heading { display:flex; justify-content:space-between; align-items:end; gap:8px; width:100%; }
  [data-audacia-page="shop"] .mobile-filter-kicker { font-size:.60rem; letter-spacing:.16em; color:#81755f; font-weight:600; }
  [data-audacia-page="shop"] .mobile-category-heading h2 { font-size:1.13rem; font-weight:500; letter-spacing:.02em; line-height:1.3; margin:5px 0 0; }
  [data-audacia-page="shop"] .mobile-filter-help { font-size:.67rem; color:var(--m2-muted); line-height:1.4; text-align:right; white-space:nowrap; }
  [data-audacia-page="shop"] .filter-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:8px; padding:0; margin:0; overflow:visible; max-height:none; scroll-snap-type:none; }
  [data-audacia-page="shop"] .filter-btn { width:100%; min-width:0; min-height:46px; padding:9px 6px; display:flex; align-items:center; justify-content:center; white-space:normal; text-wrap:balance; text-align:center; line-height:1.2; font-size:.77rem; letter-spacing:.025em; text-transform:none; font-weight:500; border:1px solid #d5d2cc; border-radius:3px; background:#fff; color:var(--m2-ink); transform:none; }
  [data-audacia-page="shop"] .filter-btn:hover { transform:none; }
  [data-audacia-page="shop"] .filter-btn.active { background:#171614; color:#fff; border-color:#171614; transform:none; }
  [data-audacia-page="shop"] .filter-btn:focus-visible { outline:3px solid #a88a56; outline-offset:2px; }
  [data-audacia-page="shop"] .finish-toolbar { display:grid; grid-template-columns:minmax(78px,1fr) repeat(2,minmax(0,1fr)); align-items:center; gap:8px; width:100%; margin-top:3px; flex-wrap:nowrap; }
  [data-audacia-page="shop"] .finish-toolbar > span { margin:0; font-size:.70rem; letter-spacing:.06em; line-height:1.25; text-transform:none; font-weight:500; color:#4f4b46; }
  [data-audacia-page="shop"] .finish-toolbar button { min-height:43px; width:100%; padding:8px 5px; font-size:.75rem; letter-spacing:.025em; text-transform:none; border-radius:3px; }
  [data-audacia-page="shop"] .sort-area { display:flex; align-items:center; justify-content:space-between; min-width:0; gap:12px; padding-top:12px; border-top:1px solid #e0ded8; }
  [data-audacia-page="shop"] .sort-area label { font-size:.74rem; letter-spacing:.02em; font-weight:500; color:#48443e; text-transform:none; }
  [data-audacia-page="shop"] .sort-area select { width:min(66%,220px); max-width:none; min-width:0; min-height:45px; font-size:16px; line-height:1.2; letter-spacing:0; text-transform:none; border-radius:3px; background:#fff; padding:8px 12px; }
  [data-audacia-page="shop"] .category-heading { text-align:left; margin:0 0 26px; }
  [data-audacia-page="shop"] .category-heading h2 { font-size:clamp(1.55rem,6.5vw,2.55rem); line-height:1.15; font-weight:400; letter-spacing:.09em; margin-bottom:8px; }
  [data-audacia-page="shop"] .category-heading p { font-size:.85rem; line-height:1.6; letter-spacing:0; max-width:420px; }
  [data-audacia-page="shop"] .section-subheading { display:flex; align-items:end; justify-content:space-between; gap:10px; margin-bottom:18px; }
  [data-audacia-page="shop"] .section-subheading h3 { font-size:clamp(1.22rem,5.6vw,1.72rem); line-height:1.2; margin:4px 0 0; }
  [data-audacia-page="shop"] .section-subheading #resultsLine { font-size:.72rem; color:var(--m2-muted); text-align:right; margin:0; }
  [data-audacia-page="shop"] :is(.product-grid,.featured-grid) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px 12px; }
  [data-audacia-page="shop"] .product-card { border:1px solid #eeeae4; border-radius:3px; overflow:hidden; box-shadow:none; }
  [data-audacia-page="shop"] .product-img { aspect-ratio:1/1.14; height:auto; }
  [data-audacia-page="shop"] .sale-tag { font-size:.58rem; letter-spacing:.06em; padding:7px 8px; }
  [data-audacia-page="shop"] .quick-view-tag { display:none; }
  [data-audacia-page="shop"] .product-info { padding:12px 11px 14px; text-align:left; }
  [data-audacia-page="shop"] .product-info h3 { font-size:.80rem; letter-spacing:.055em; line-height:1.43; margin:0 0 8px; }
  [data-audacia-page="shop"] .product-material { font-size:.72rem; line-height:1.4; letter-spacing:0; color:var(--m2-muted); margin:0 0 9px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  [data-audacia-page="shop"] .product-category { display:none; }
  [data-audacia-page="shop"] .product-swatches { justify-content:flex-start; margin:9px 0 12px; gap:13px; }
  [data-audacia-page="shop"] .finish-swatch { width:30px; height:30px; }
  [data-audacia-page="shop"] .prices { justify-content:flex-start; margin:6px 0 12px; font-size:.94rem; }
  [data-audacia-page="shop"] .add-btn { padding:10px 6px; font-size:.70rem; letter-spacing:.05em; text-transform:none; min-height:45px; }
  [data-audacia-page="shop"] .shop-banner { min-height:0; padding:43px 23px; margin-top:52px; }
  [data-audacia-page="shop"] .shop-banner h2 { font-size:clamp(1.7rem,7vw,2.5rem); line-height:1.16; }
  [data-audacia-page="shop"] .mobile-sticky { display:none; }

  /* PRODUCT — align labels, sizing options and add-to-bag with natural thumb use. */
  [data-audacia-page="product"] .product-page { gap:18px; }
  [data-audacia-page="product"] .main-image-wrap { aspect-ratio:1/1.02; }
  [data-audacia-page="product"] .product-info { width:calc(100% - 2*var(--m2-gutter)); }
  [data-audacia-page="product"] .product-title { font-size:clamp(1.92rem,8vw,2.8rem); letter-spacing:.09em; line-height:1.16; }
  [data-audacia-page="product"] .thumb-row { padding-left:var(--m2-gutter); padding-right:var(--m2-gutter); }
  [data-audacia-page="product"] .option-row { gap:10px; }
  [data-audacia-page="product"] .related-grid { gap:15px 12px; }
  [data-audacia-page="product"] .related { padding-inline:var(--m2-gutter); }

  /* CART — stop compressing product name/quantity/price into tiny rows. */
  [data-audacia-page="cart"] .cart-page { width:calc(100% - 2*var(--m2-gutter)); padding-top:30px; }
  [data-audacia-page="cart"] .cart-title-row h1 { font-size:clamp(1.85rem,7.7vw,2.8rem); letter-spacing:.09em; }
  [data-audacia-page="cart"] .cart-layout { gap:27px; }
  [data-audacia-page="cart"] .cart-item { grid-template-columns:clamp(90px,24vw,118px) minmax(0,1fr); gap:11px 14px; padding:20px 0; }
  [data-audacia-page="cart"] .item-info h3 { font-size:.86rem; line-height:1.45; letter-spacing:.04em; }
  [data-audacia-page="cart"] .item-side { gap:14px; }
  [data-audacia-page="cart"] .summary { padding:22px 18px; }
  [data-audacia-page="cart"] .recommendations { margin-top:40px; }

  /* CHECKOUT — prioritise full-size Stripe fields and legible steps. */
  [data-audacia-page="checkout"] .checkout-wrap { width:calc(100% - 2*var(--m2-gutter)); padding-top:21px; }
  [data-audacia-page="checkout"] .checkout-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-bottom:23px; align-items:center; }
  [data-audacia-page="checkout"] .checkout-steps .step-rule { display:none; }
  [data-audacia-page="checkout"] .checkout-steps :is(a,.current,.future) { min-width:0; justify-content:center; gap:6px; white-space:normal; font-size:.68rem; line-height:1.3; text-align:center; letter-spacing:0; }
  [data-audacia-page="checkout"] .checkout-steps .step-number { flex:none; }
  [data-audacia-page="checkout"] .page-intro { margin-bottom:19px; }
  [data-audacia-page="checkout"] .page-intro h1 { font-size:clamp(1.9rem,7.5vw,2.6rem); line-height:1.17; }
  [data-audacia-page="checkout"] .intro-lede { font-size:.86rem; line-height:1.6; }
  [data-audacia-page="checkout"] .checkout-grid { gap:15px; }
  [data-audacia-page="checkout"] .summary-panel { padding:19px 17px; }
  [data-audacia-page="checkout"] .checkout-section { padding:23px 19px; margin-bottom:13px; }
  [data-audacia-page="checkout"] .section-title-row h3 { font-size:1rem; line-height:1.4; }
  [data-audacia-page="checkout"] .section-title-row p { font-size:.78rem; line-height:1.55; }
  [data-audacia-page="checkout"] .form-intro { margin-top:7px; }
  [data-audacia-page="checkout"] .payment-disclaimer { font-size:.75rem; line-height:1.65; }
  [data-audacia-page="checkout"] .pay-button { min-height:58px; }
  [data-audacia-page="checkout"] .help-strip { line-height:1.5; }

  /* INFO — all materials visible without a clipped horizontal scroller. */
  [data-audacia-page="info"] .info-hero { min-height:0; padding:54px var(--m2-gutter) 55px; }
  [data-audacia-page="info"] .info-hero h1 { font-size:clamp(1.95rem,8vw,3.1rem); line-height:1.15; letter-spacing:.07em; }
  [data-audacia-page="info"] .section { padding:48px var(--m2-gutter); }
  [data-audacia-page="info"] .section-title { font-size:clamp(1.75rem,7vw,2.7rem); line-height:1.19; letter-spacing:.08em; }
  [data-audacia-page="info"] .material-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; overflow:visible; padding:0; }
  [data-audacia-page="info"] .material-tab { flex:none; width:100%; min-width:0; min-height:58px; padding:10px 8px; white-space:normal; line-height:1.25; font-size:.76rem; letter-spacing:.02em; }
  [data-audacia-page="info"] .material-panel { padding:24px 18px; }
  [data-audacia-page="info"] .feature-grid { gap:12px; }

  /* STORY — more restrained headline hierarchy and readable text lines. */
  [data-audacia-page="story"] .hero-copy h1 { font-size:clamp(2.6rem,11vw,4.2rem); line-height:1.05; }
  [data-audacia-page="story"] .hero-art { height:clamp(220px,66vw,325px); }
  [data-audacia-page="story"] .chapter { padding-inline:var(--m2-gutter); }
  [data-audacia-page="story"] .chapter h2 { font-size:clamp(1.85rem,7.2vw,2.7rem); line-height:1.22; }
  [data-audacia-page="story"] .manifesto blockquote { font-size:clamp(1.55rem,6.7vw,2.15rem); line-height:1.35; }
  [data-audacia-page="story"] .closing h2 { font-size:clamp(2rem,8vw,3.1rem); line-height:1.15; }
}
@media screen and (min-width:650px) and (max-width:900px) {
  [data-audacia-page="shop"] .filter-row { grid-template-columns:repeat(4,minmax(0,1fr)); }
  [data-audacia-page="home"] .collection-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  [data-audacia-page="home"] .collection-card { height:clamp(240px,39vw,330px); }
  [data-audacia-page="shop"] :is(.product-grid,.featured-grid) { gap:23px 16px; }
  [data-audacia-page="shop"] .shop-controls { padding:23px; }
}
@media screen and (max-width:365px) {
  [data-audacia-page="shop"] .filter-btn { font-size:.73rem; min-height:47px; }
  [data-audacia-page="shop"] .mobile-filter-help { display:none; }
  [data-audacia-page="shop"] .shop-controls { padding:17px 12px; }
  [data-audacia-page="shop"] :is(.product-grid,.featured-grid) { grid-template-columns:1fr; gap:19px; }
  [data-audacia-page="shop"] .product-img { aspect-ratio:4/4.3; }
  [data-audacia-page="shop"] .product-info { padding:16px; }
  [data-audacia-page="shop"] .add-btn { font-size:.77rem; }
  [data-audacia-page="cart"] .cart-item { grid-template-columns:87px minmax(0,1fr); }
}


/* ======================================================================
   AUDACIA — Compact mobile video hero with promotional copy ON the film.
   At phone widths the landscape film is cropped moderately rather than
   being stretched or enlarged to the previous 600px-tall fullscreen hero.
   Desktop and tablet hero styling remain unchanged.
   ====================================================================== */
@media screen and (max-width: 650px) {
  [data-audacia-page="home"] .hero {
    position: relative;
    display: block;
    height: clamp(352px, 95vw, 420px);
    min-height: 0;
    padding: 0;
    isolation: isolate;
    overflow: hidden;
    background: #080b0c;
  }

  [data-audacia-page="home"] .hero-video {
    position: absolute;
    display: block;
    inset: 0;
    width: 100%;
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center center;
    background: #080b0c;
    z-index: 0;
    pointer-events: none;
  }

  /* Protect legibility without hiding the center of the jewellery film. */
  [data-audacia-page="home"] .hero::before {
    display: block;
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
      rgba(0, 0, 0, .30) 0%,
      rgba(0, 0, 0, .06) 28%,
      rgba(0, 0, 0, .10) 42%,
      rgba(0, 0, 0, .66) 70%,
      rgba(0, 0, 0, .86) 100%);
    pointer-events: none;
    z-index: 1;
  }

  [data-audacia-page="home"] .hero-content {
    position: absolute;
    inset: auto var(--m2-gutter, 20px) 22px;
    left: var(--m2-gutter, 20px);
    right: var(--m2-gutter, 20px);
    bottom: 22px;
    width: auto;
    max-width: 340px;
    padding: 0;
    background: transparent;
    z-index: 2;
  }

  [data-audacia-page="home"] .hero-kicker {
    font-size: clamp(.88rem, 3.7vw, 1.06rem);
    letter-spacing: .18em;
    line-height: 1.5;
    margin-bottom: 12px;
  }

  [data-audacia-page="home"] .hero-subtext {
    max-width: 320px;
    font-size: .77rem;
    letter-spacing: .07em;
    line-height: 1.55;
    margin-bottom: 18px;
  }

  [data-audacia-page="home"] .hero .btn {
    min-width: 165px;
    min-height: 48px;
  }
}

/* Very narrow phones: avoid covering too much of the jewellery. */
@media screen and (max-width: 365px) {
  [data-audacia-page="home"] .hero {
    height: 365px;
  }
  [data-audacia-page="home"] .hero-content {
    bottom: 18px;
  }
}
