/*
Theme Name: Allscented
Theme URI: https://github.com/sasha2026-git/allscented
Author: Sasha
Description: Allscented fragrance brand — child theme of Hello Elementor. Built from v20 preview (AI consultation flow + smart pagination).
Version: 1.10.12
Template: hello-elementor
Text Domain: allscented
*/

/* Changelog
 * v1.10.12 - 迁移修复：ACF/正文中历史遗留的 8.217.53.107 旧链接自动替换为站点域名
 * v1.10.0 - AI Synthesis v2.0 conversation engine (5-round persona flows, zero text fields, WooCommerce + affiliate recommendations)
 */


:root {
    --secondary-container: #d7c6fe;
    --primary-fixed: #e2e2e9;
    --surface: #fcf9f8;
    --on-surface: #1c1b1b;
    --surface-container-high: #eae7e7;
    --on-secondary-fixed-variant: #4c3f6e;
    --secondary-fixed: #e9ddff;
    --primary-container: #f8f7ff;
    --primary: #5d5e65;
    --on-surface-variant: #46464b;
    --inverse-primary: #c6c6cd;
    --surface-bright: #fcf9f8;
    --inverse-on-surface: #f3f0ef;
    --on-primary-container: #707178;
    --tertiary-container: #f1f9ff;
    --surface-variant: #e5e2e1;
    --surface-dim: #dcd9d9;
    --on-error-container: #93000a;
    --tertiary-fixed: #d3e5f1;
    --background: #fcf9f8;
    --on-tertiary: #ffffff;
    --on-primary-fixed-variant: #45464d;
    --outline: #77777b;
    --error-container: #ffdad6;
    --surface-tint: #5d5e65;
    --surface-container-low: #f6f3f2;
    --tertiary-fixed-dim: #b7c9d5;
    --on-primary: #ffffff;
    --on-error: #ffffff;
    --tertiary: #50616b;
    --primary-fixed-dim: #c6c6cd;
    --on-tertiary-fixed-variant: #384953;
    --on-background: #1c1b1b;
    --secondary-fixed-dim: #cfbef5;
    --secondary: #645787;
    --on-tertiary-fixed: #0c1e26;
    --on-secondary-container: #5e5080;
    --surface-container-highest: #e5e2e1;
    --outline-variant: #c7c6cb;
    --on-secondary-fixed: #20133f;
    --error: #ba1a1a;
    --surface-container: #f0eded;
    --on-tertiary-container: #63747e;
    --on-secondary: #ffffff;
    --inverse-surface: #313030;
    --surface-container-lowest: #ffffff;
    --margin-mobile: 16px;
    --margin-desktop: 64px;
    --gutter: 24px;
    --container-max: 1280px;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;padding:0;background:var(--surface);color:var(--on-surface);font-family:'Hanken Grotesk',sans-serif;overflow-x:hidden;-webkit-tap-highlight-color:transparent}
.skip-to-content{position:absolute;top:-100%;left:8px;z-index:100;padding:8px 16px;border-radius:0 0 8px 8px;background:var(--on-surface);color:var(--surface);font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:500;text-decoration:none;transition:top .2s}
.skip-to-content:focus{top:0}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
button{cursor:pointer;background:none;border:none;padding:0;font:inherit;color:inherit}
.container-max{margin-left:auto;margin-right:auto;max-width:var(--container-max)}
.px-margin-desktop{padding-left:var(--margin-desktop);padding-right:var(--margin-desktop)}
.fixed{position:fixed}.relative{position:relative}.absolute{position:absolute}
.inset-0{top:0;right:0;bottom:0;left:0}
.top-0{top:0}.w-full{width:100%}.z-50{z-index:50}
.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}
.items-center{align-items:center}.items-end{align-items:flex-end}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.text-center{text-align:center}
.gap-gutter{gap:var(--gutter)}.gap-2{gap:8px}.gap-4{gap:16px}.gap-6{gap:24px}.gap-12{gap:48px}
.grid{display:grid}.grid-cols-1{grid-template-columns:1fr}.grid-cols-2{grid-template-columns:repeat(2,1fr)}
.block{display:block}
.overflow-hidden{overflow:hidden}
.rounded-xl{border-radius:12px}.rounded-2xl{border-radius:16px}.rounded-3xl{border-radius:24px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:8px}
.border{border:1px solid}.border-b{border-bottom:1px solid}.border-t{border-top:1px solid}
.border-secondary{border-color:var(--secondary)}.border-outline-variant{border-color:var(--outline-variant)}
.text-on-surface{color:var(--on-surface)}.text-on-surface-variant{color:var(--on-surface-variant)}
.text-secondary{color:var(--secondary)}.text-primary{color:var(--primary)}.text-tertiary{color:var(--tertiary)}
.text-surface{color:var(--surface)}.text-on-primary{color:var(--on-primary)}
.text-surface-variant{color:var(--surface-variant)}
.bg-surface{background:var(--surface)}.bg-surface-container-high{background:var(--surface-container-high)}
.bg-surface-container-low{background:var(--surface-container-low)}
.bg-surface-container-lowest{background:var(--surface-container-lowest)}
.bg-on-surface{background:var(--on-surface)}
.bg-secondary-container\/30{background:color-mix(in srgb,var(--secondary-container)30%,transparent)}
.bg-tertiary-container\/40{background:color-mix(in srgb,var(--tertiary-container)40%,transparent)}
.bg-primary-container\/40{background:color-mix(in srgb,var(--primary-container)40%,transparent)}
.backdrop-blur-xl{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.shadow-sm{box-shadow:0 1px 2px rgba(0,0,0,.05)}
.shadow-lg{box-shadow:0 10px 30px rgba(0,0,0,.08)}
.font-headline-xl{font-family:'Playfair Display',serif;font-weight:400}
.font-headline-lg{font-family:'Playfair Display',serif;font-weight:400}
.font-headline-md{font-family:'Playfair Display',serif;font-weight:400}
.font-headline-sm{font-family:'Playfair Display',serif;font-weight:400}
.font-body-lg{font-family:'Hanken Grotesk',sans-serif;font-weight:400}
.font-body-md{font-family:'Hanken Grotesk',sans-serif;font-weight:400}
.font-label-caps{font-family:'Hanken Grotesk',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:0.1em}
.text-headline-xl{font-size:64px;line-height:1.1;letter-spacing:-0.02em}
.text-headline-lg{font-size:48px;line-height:1.2;letter-spacing:-0.01em}
.text-headline-md{font-size:32px;line-height:1.3}
.text-body-lg{font-size:18px;line-height:1.6}
.text-body-md{font-size:16px;line-height:1.6}
.text-label-caps{font-size:12px;line-height:1}
.mx-auto{margin-left:auto;margin-right:auto}
.mt-auto{margin-top:auto}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}.mt-8{margin-top:32px}.mt-20{margin-top:80px}.mt-32{margin-top:128px}
.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.mb-12{margin-bottom:48px}.mb-16{margin-bottom:64px}.mb-24{margin-bottom:96px}.mb-32{margin-bottom:128px}
.my-8{margin-top:32px;margin-bottom:32px}
.p-8{padding:32px}.p-12{padding:48px}.p-6{padding:24px}.px-6{padding-left:24px;padding-right:24px}.px-8{padding-left:32px;padding-right:32px}.px-3{padding-left:12px;padding-right:12px}
.py-3{padding-top:12px;padding-bottom:12px}.py-4{padding-top:16px;padding-bottom:16px}.py-8{padding-top:32px;padding-bottom:32px}.py-16{padding-top:64px;padding-bottom:64px}.py-32{padding-top:128px;padding-bottom:128px}
.pt-32{padding-top:128px}
.w-12{width:48px}.h-12{height:48px}.w-48{width:192px}.h-48{height:192px}.w-2\/3{width:66.666%}.w-full{width:100%}
.max-w-2xl{max-width:672px}.max-w-3xl{max-width:768px}.max-w-md{max-width:448px}.max-w-xl{max-width:576px}
.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[1\/1\]{aspect-ratio:1/1}.aspect-\[16\/9\]{aspect-ratio:16/9}
.leading-tight{line-height:1.15}.leading-relaxed{line-height:1.7}
.italic{font-style:italic}
.cursor-pointer{cursor:pointer}
.transition-all{transition:all 0.3s ease}.transition-transform{transition:transform 0.3s ease}.transition-colors{transition:color 0.3s ease}
.group:hover .group-hover\:scale-105{transform:scale(1.05)}.group:hover .group-hover\:scale-110{transform:scale(1.1)}
.hover\:bg-secondary\/10:hover{background:color-mix(in srgb,var(--secondary)10%,transparent)}
.hover\:text-secondary:hover{color:var(--secondary)}.hover\:border-secondary:hover{border-color:var(--secondary)}
.active\:scale-95:active{transform:scale(0.95)}
.uppercase{text-transform:uppercase}
.hidden{display:none!important}
.aura-glass{background:color-mix(in srgb,var(--surface-bright)60%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid color-mix(in srgb,var(--outline-variant)20%,transparent);box-shadow:0 8px 32px rgba(0,0,0,.04)}
.iridescent-btn{background:linear-gradient(135deg,var(--secondary),var(--tertiary),var(--secondary-fixed));color:var(--on-secondary);border:none;font-weight:600;letter-spacing:0.12em;transition:all 0.4s ease;box-shadow:0 4px 16px color-mix(in srgb,var(--secondary)30%,transparent);display:inline-flex;align-items:center;justify-content:center}
.iridescent-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px color-mix(in srgb,var(--secondary)40%,transparent)}
.iridescent-btn:active{transform:translateY(0)}
.aura-mist{position:fixed;inset:0;z-index:-1;pointer-events:none;transition:background 0.5s ease;opacity:0.5}
.page-tab{display:none}.page-tab.active{display:block}
.hidden-product{display:none!important}
.nav-link{color:var(--on-surface-variant);padding-bottom:2px;cursor:pointer;transition:color 0.2s;font-size:13px;letter-spacing:.025em}
.nav-link.active-nav{color:var(--secondary);border-bottom:2px solid var(--secondary)}
@media(min-width:768px){
    .mobile-only{display:none!important}
}
@media(max-width:767px){
    .desktop-only{display:none!important}
    .px-margin-desktop{padding-left:var(--margin-mobile);padding-right:var(--margin-mobile)}
    .pt-32{padding-top:56px}
    .text-headline-xl{font-size:22px!important;line-height:1.2}
    .text-headline-lg{font-size:20px!important;line-height:1.25}
    .text-headline-md{font-size:18px!important;line-height:1.3}
    .text-body-lg{font-size:14px;line-height:1.5}
    .text-body-md{font-size:13px;line-height:1.5}
    .text-label-caps{font-size:11px;line-height:1}
    .mb-32{margin-bottom:36px!important}
    .mb-24{margin-bottom:20px!important}
    .mb-16{margin-bottom:24px!important}
    .mb-12{margin-bottom:20px!important}
    .mb-8{margin-bottom:12px!important}
    .mb-6{margin-bottom:10px!important}
    .mb-4{margin-bottom:8px!important}
    .mb-2{margin-bottom:6px!important}
    .mt-8{margin-top:20px!important}
    .mt-20{margin-top:40px!important}
    .mt-32{margin-top:48px!important}
    .gap-gutter{gap:12px}
    .gap-12{gap:24px}
    .gap-8{gap:16px}
    .md\:grid-cols-2,.md\:grid-cols-3,.md\:grid-cols-4{grid-template-columns:1fr}
    .md\:col-span-5,.md\:col-span-7,.md\:col-span-8,.md\:col-span-4{grid-column:span 1}
    .flex-col.md\:flex-row{flex-direction:column}
    .md\:w-96{width:100%}
    .p-8,.p-10,.p-12{padding:16px!important}
    .p-6{padding:12px!important}
    .min-h-\[70vh\]{min-height:0!important}
    .h-\[500px\]{height:200px!important}
    .h-64{height:auto!important;min-height:120px}
    .py-32{padding-top:40px!important;padding-bottom:40px!important}
    .py-16{padding-top:32px!important;padding-bottom:32px!important}
    .flex.gap-4.flex-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px;gap:8px}
    .flex.gap-4::-webkit-scrollbar{height:2px}
    .flex.gap-4::-webkit-scrollbar-thumb{background:var(--outline-variant);border-radius:4px}
    section.mb-24,section.mb-32{scroll-margin-top:60px}
}
@media(max-width:480px){
    .px-margin-desktop{padding-left:12px;padding-right:12px}
    .text-headline-xl{font-size:20px!important}
    .text-headline-lg{font-size:18px!important}
    .text-headline-md{font-size:16px!important}
    .text-body-lg{font-size:13px}
    .text-body-md{font-size:12px}
    .p-8,.p-10{padding:12px!important}
    .mb-32{margin-bottom:28px!important}
    .mb-24{margin-bottom:16px!important}
    .gap-gutter{gap:8px}
}
/* The Atelier: 2-col mobile, 3-col desktop */
.atelier-promo-bar{width:100%;background:#1c1b1b;color:rgba(255,255,255,0.85);font-family:'Hanken Grotesk',sans-serif;font-size:12px;line-height:1.5;letter-spacing:.04em;text-align:center;padding:10px 16px;box-sizing:border-box}
.atelier-promo-bar p{margin:0}
@media(max-width:480px){.atelier-promo-bar{padding:10px 16px}}
#atelier-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}
@media(min-width:768px){#atelier-grid{grid-template-columns:repeat(3,1fr)!important;gap:16px}}
@media(max-width:380px){#atelier-grid{grid-template-columns:1fr}}
/* Archive section hero: 1-col mobile, 3-col desktop */
.archive-card-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:768px){.archive-card-grid{grid-template-columns:repeat(3,1fr)!important;gap:16px}}
/* Archive product items: 1-col mobile */
.archive-items-grid{display:grid;grid-template-columns:1fr;gap:12px}
/* Archive item card layout on desktop */
@media(min-width:768px){.archive-items-grid{grid-template-columns:repeat(2,1fr)!important;gap:16px}}
/* Home page: The Archive section cards - 1-col mobile, 3-col desktop */
#home-archive-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:768px){#home-archive-grid{grid-template-columns:repeat(3,1fr)!important}}
/* Featured products on home - 2-col mobile, maybe 4-col desktop */
.home-product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(min-width:768px){.home-product-grid{grid-template-columns:repeat(4,1fr)!important;gap:20px}}
/* AI Synthesis character cards: mobile stacked, desktop 3-col */
.char-cards-grid{display:grid;grid-template-columns:1fr!important;gap:24px}
@media(min-width:768px){.char-cards-grid{grid-template-columns:repeat(3,1fr)!important;gap:36px}}
/* Character card common */
.char-card{position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}
.char-card:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.08)!important}
.char-avatar{width:72px;height:72px;border-radius:999px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:12px;transition:box-shadow .3s,transform .3s}
.char-avatar .material-symbols-outlined{font-size:34px}
.char-avatar img{width:100%;height:100%;object-fit:cover;border-radius:999px;display:block}
@media(min-width:768px){.char-avatar{width:88px;height:88px}.char-avatar .material-symbols-outlined{font-size:40px}}
.char-card:hover .char-avatar{transform:scale(1.04);box-shadow:0 0 0 2px color-mix(in srgb,var(--secondary)60%,transparent),0 10px 30px rgba(0,0,0,.18)}
.guide-desc{font-size:13px;line-height:1.55}
@media(min-width:768px){.guide-desc{font-size:14px}}
.guide-cta:focus-visible{outline:2px solid var(--secondary);outline-offset:4px;border-radius:4px}
.guide-hero-body{max-width:720px}
.guide-hero-card .font-headline-md{font-size:26px!important;line-height:1.15}
.guide-hero-card .font-body-md{font-size:14px!important;line-height:1.6}
.guide-hero-card button.font-label-caps{font-size:13px!important;padding:9px 22px!important}
.guide-hero-card .guide-cta{font-size:14px!important}
/* homepage: with avatar uploaded, avatar becomes large 3:4 image on top of full-width card */
.char-card:has(.char-avatar img) .char-avatar{width:100%!important;height:auto!important;aspect-ratio:3/4;border-radius:16px!important;margin-bottom:14px!important;background:transparent!important}
.char-card:has(.char-avatar img) .char-avatar img{border-radius:16px!important;transition:transform .6s}
.char-card:has(.char-avatar img):hover .char-avatar img{transform:scale(1.045)}
@media(max-width:767px){
  .guide-hero-card .font-headline-md{font-size:24px!important}
  .guide-hero-card .font-body-md{font-size:14px!important}
  .guide-hero-body{padding:18px 18px 20px!important}
}
@media(min-width:768px) and (max-width:1023px){
  .guide-hero-card .font-headline-md{font-size:26px!important}
  .guide-hero-card .font-body-md{font-size:15px!important}
}
.guide-hero-card{width:100%;background:var(--surface)}
.guide-hero-media{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;flex-shrink:0}
.guide-hero-card:hover .guide-hero-media img{transform:scale(1.045)}
@media(min-width:1280px){.guide-hero-media{aspect-ratio:4/5}}
@media(max-width:767px){.guide-hero-media{aspect-ratio:4/5}}
@media(min-width:480px) and (max-width:767px){.guide-hero-media{aspect-ratio:4/5}}
@media(min-width:480px) and (max-width:767px){.char-cards-grid{grid-template-columns:repeat(2,1fr)!important}.char-cards-grid .char-card:nth-child(3){grid-column:1/-1;max-width:400px;justify-self:center}}
@media(max-width:767px){.char-card.aura-glass{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}}
.scroll-reveal{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease,transform 0.6s ease}
.scroll-reveal.visible{opacity:1;transform:translateY(0)}
.skip-link{position:absolute;top:-100px;left:16px;z-index:100;padding:8px 16px;border-radius:0 0 8px 8px;background:var(--secondary);color:var(--on-secondary);font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:600;text-decoration:none;transition:top 0.2s}
.skip-link:focus{top:0}

/* ── WordPress tweaks ── */
body.admin-bar .fixed.top-0 { top: 32px; }
@media (max-width: 782px) { body.admin-bar .fixed.top-0 { top: 46px; } }
.entry-content, .wp-block, .elementor-widget-container { max-width: none !important; }
.shop-item, .archive-item { transition: opacity .3s ease, transform .3s ease; }

/* v1.3.3: Signature Molecules — mobile: big image top + 2 products grid; PC: left big + right stacked */
.collection-layout{display:flex;flex-direction:column;gap:16px}
.collection-main{flex-shrink:0;aspect-ratio:16/9;max-height:400px}
.collection-main img{width:100%;height:100%;object-fit:cover;display:block}
.collection-side{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.collection-side>div{width:100%;max-width:340px;margin:0 auto}
@media(min-width:768px){
  .collection-layout{flex-direction:row;align-items:stretch}
  .collection-main{flex:1.3;aspect-ratio:auto;max-height:none;min-height:420px}
  .collection-side{flex:1;display:flex!important;flex-direction:column;gap:16px;justify-content:center;align-items:center;max-width:480px}
}

.footer-menu{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}


/* v1.6.8: Shopify-sourced product details cleanup */
.product-details-content {
  max-width: 760px;
  margin: 0 auto;
  line-height: 1.9;
  font-family: 'Hanken Grotesk', sans-serif;
  font-size: 16px;
  color: var(--on-surface-variant, #46464b);
}
.product-details-content p {
  margin: 0 0 18px;
}
.product-details-content ul {
  margin: 0 0 18px;
  padding-left: 20px;
}
.product-details-content li {
  margin-bottom: 8px;
}
.product-details-content p strong,
.product-details-content li strong {
  color: #775a19;
  text-decoration: underline;
  text-underline-offset: 4px;
  letter-spacing: .04em;
  font-weight: 700;
}
.product-details-content p:has(> strong:only-child) {
  margin: 32px 0 14px;
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.product-details-content p:has(> strong:only-child) strong {
  font-size: 15px;
}
.product-details-content img.product-detail-img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  margin: 32px auto;
  display: block;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .18);
}
@media (max-width: 767px) {
  .product-details-content {
    font-size: 14px;
  }
  .product-details-content img.product-detail-img {
    border-radius: 12px;
    margin: 24px auto;
  }
}


/* v1.6.9: Stitch-inspired product detail page */
.product-page{padding-top:64px;padding-bottom:96px}
.product-layout{display:grid;grid-template-columns:1fr;gap:24px;align-items:start}
.product-media-column{position:sticky;top:32px}
.product-media-panel{position:relative;min-height:480px;border-radius:16px;padding:24px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.product-main-media{width:100%;height:100%;max-height:640px;object-fit:contain;border-radius:12px;display:block}
.product-main-video{aspect-ratio:4/5;background:var(--surface-container-lowest)}
.product-media-hidden{display:none!important}
.product-video-toggle{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;background:color-mix(in srgb,var(--surface-bright)75%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--outline-variant)25%,transparent);color:var(--on-surface-variant);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;transition:all .3s;z-index:2}
.product-video-toggle:hover{color:var(--secondary);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.product-thumbnails{display:flex;justify-content:center;margin-top:12px}
.product-thumbnails .flex-control-thumbs{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;justify-content:center}
.product-thumbnails .flex-control-thumbs li{width:64px;height:64px;border-radius:10px;overflow:hidden;border:1px solid var(--outline-variant);background:var(--surface-container-lowest);cursor:pointer;transition:border-color .3s,box-shadow .3s}
.product-thumbnails .flex-control-thumbs li img{width:100%;height:100%;object-fit:cover;display:block}
.product-thumbnails .flex-control-thumbs li.product-thumb-active{border-color:var(--secondary);box-shadow:0 0 0 2px color-mix(in srgb,var(--secondary)20%,transparent)}
.product-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.product-chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--secondary-container)28%,transparent);border:1px solid color-mix(in srgb,var(--secondary-container)55%,transparent);color:var(--on-secondary-container);font-size:11px;letter-spacing:.1em}
.product-section{max-width:760px;margin:0 auto}
.product-section + .product-section{margin-top:72px}
.product-section-heading{text-align:center;margin-bottom:28px}
.product-section-heading h2{margin:0 0 8px}
.product-section-intro{margin:0;color:var(--on-surface-variant);font-size:14px}
.product-journey-grid{display:grid;grid-template-columns:1fr;gap:16px}
.product-journey-card{border-radius:12px;padding:24px;text-align:center}
.product-journey-stage{display:block;color:var(--secondary);margin-bottom:14px;letter-spacing:.14em}
.product-journey-notes{color:var(--on-surface-variant);font-size:15px;line-height:1.75}
.product-scenario-grid{display:grid;grid-template-columns:1fr;gap:24px}
.product-scenario-media{aspect-ratio:16/10;border-radius:12px;overflow:hidden;position:relative;background:var(--surface-container-high)}
.product-scenario-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.product-scenario-card:hover .product-scenario-media img{transform:scale(1.04)}
.product-scenario-body{padding-top:14px}
.product-scenario-title{margin:0 0 8px;font-size:22px}
.product-scenario-desc{margin:0;color:var(--on-surface-variant);font-size:14px;line-height:1.7}
.product-dna-grid{display:grid;grid-template-columns:1fr;gap:12px}
.product-dna-card{display:flex;gap:16px;align-items:flex-start;padding:20px;border-radius:12px}
.product-dna-icon{width:48px;height:48px;border-radius:999px;background:color-mix(in srgb,var(--secondary-container)35%,transparent);color:var(--secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.product-dna-icon .material-symbols-outlined{font-size:22px}
.product-dna-title{margin:0 0 6px}
.product-dna-desc{margin:0;color:var(--on-surface-variant);font-size:14px;line-height:1.7}
.product-specs-card{border-radius:12px;padding:22px}
.product-specs-list{list-style:none;margin:0;padding:0}
.product-specs-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid color-mix(in srgb,var(--outline-variant)25%,transparent)}
.product-specs-row:last-child{border-bottom:0;padding-bottom:0}
.product-specs-label{font-weight:600;color:var(--on-surface)}
.product-specs-value{color:var(--on-surface-variant);text-align:right}
@media(min-width:768px){
  .product-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px}
  .product-journey-grid{grid-template-columns:repeat(3,1fr)}
  .product-scenario-grid{grid-template-columns:repeat(2,1fr)}
  .product-dna-grid{grid-template-columns:repeat(3,1fr)}
}

/* v1.6.9: Contact page */
.contact-page{padding-top:56px;padding-bottom:96px}
.contact-hero{max-width:760px;margin:0 auto 48px;text-align:center}
.contact-label{display:block;margin-bottom:8px}
.contact-title{margin:0 0 12px}
.contact-intro{margin:0;color:var(--on-surface-variant);font-size:16px}
.contact-layout{display:grid;grid-template-columns:1fr;gap:20px}
.contact-layout--single{grid-template-columns:1fr}
.contact-info-card--split{display:grid;grid-template-columns:1fr;gap:28px}
.contact-info-card--split .contact-info-image{display:flex;justify-content:center;margin-bottom:0}
.contact-info-card--split .contact-info-image img{width:100%;max-width:860px;border-radius:10px;display:block}
.contact-info-card--split .contact-info-body{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.contact-info-card--split .contact-info-body .contact-meta-link{justify-content:center}
.contact-social--left{justify-content:center}
.contact-info-card,.contact-form-card{border-radius:12px;padding:24px}
.contact-section-label{display:block;color:var(--secondary);margin-bottom:20px;letter-spacing:.14em}
.contact-info-list{display:flex;flex-direction:column;gap:18px}
.contact-meta-link{display:flex;align-items:flex-start;gap:10px;color:var(--on-surface-variant);font-size:14px;line-height:1.5;text-decoration:none}
.contact-meta-link .material-symbols-outlined{color:var(--secondary);font-size:20px;margin-top:1px}
.contact-meta-link:hover{color:var(--secondary)}
.contact-form-intro{margin:0 0 20px;color:var(--on-surface-variant);font-size:14px}
.contact-field{margin-bottom:18px}
.contact-field label{display:block;margin-bottom:6px;font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--on-surface-variant)}
.contact-field input,.contact-field textarea{width:100%;padding:12px 0;border:0;border-bottom:1px solid color-mix(in srgb,var(--outline)30%,transparent);border-radius:0;background:transparent;color:var(--on-surface);font-family:'Hanken Grotesk',sans-serif;font-size:15px;outline:none;transition:border-color .3s}
.contact-field textarea{resize:vertical;min-height:120px}
.contact-field input:focus,.contact-field textarea:focus{border-bottom-color:var(--secondary)}
.contact-submit{width:100%;padding:13px 24px;border-radius:8px;font-size:12px;gap:8px;margin-top:4px}
.contact-social{display:flex;gap:12px;justify-content:center;margin-top:28px;padding-top:20px;border-top:1px solid color-mix(in srgb,var(--outline-variant)25%,transparent)}
.contact-social-icon{width:44px;height:44px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--on-surface-variant);background:color-mix(in srgb,var(--surface-container-low)80%,transparent);border:1px solid color-mix(in srgb,var(--outline-variant)25%,transparent);transition:color .3s,border-color .3s,transform .3s}
.contact-social-icon:hover{color:var(--secondary);border-color:var(--secondary);transform:translateY(-2px)}
.contact-status{border-radius:8px;padding:12px 14px;margin-bottom:18px;font-size:14px;line-height:1.5}
.contact-status-success{background:color-mix(in srgb,var(--tertiary-container)55%,transparent);color:var(--on-tertiary-container)}
.contact-status-error{background:color-mix(in srgb,var(--error-container)60%,transparent);color:var(--on-error-container)}
.contact-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}
@media(min-width:768px){
  .contact-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:32px}
  .contact-info-card,.contact-form-card{padding:32px}
  .contact-layout--single{grid-template-columns:1fr}
  .contact-info-card--split{grid-template-columns:1fr;gap:32px}
  .contact-info-card--split .contact-info-image img{max-width:960px}
}
@media(max-width:767px){
  .product-page,.contact-page{padding-left:20px!important;padding-right:20px!important}
  .product-media-column{position:static}
  .product-media-panel{min-height:420px}
  .product-thumbnails .flex-control-thumbs li{width:56px;height:56px}
}
@media(max-width:480px){
  .product-media-panel{min-height:360px;padding:14px}
}

/* v1.6.9 refinements: native WooCommerce gallery + gold CTA + section detail */
.product-thumbnails .woocommerce-product-gallery__image{width:64px;height:64px;border-radius:10px;overflow:hidden;border:1px solid var(--outline-variant);background:var(--surface-container-lowest);cursor:pointer;transition:border-color .3s,box-shadow .3s;flex:0 0 64px}
.product-thumbnails .woocommerce-product-gallery__image a{display:block;width:100%;height:100%}
.product-thumbnails .woocommerce-product-gallery__image img{width:100%;height:100%;object-fit:cover;display:block}
.product-thumbnails .woocommerce-product-gallery__image.product-thumb-active{border-color:var(--secondary);box-shadow:0 0 0 2px color-mix(in srgb,var(--secondary)20%,transparent)}
/* v1.8.9: Product trust badges */
.product-trust-badges{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;min-width:0;max-width:100%;overflow:hidden;border-top:1px solid color-mix(in srgb,var(--outline-variant)25%,transparent);padding-top:20px;font-family:'Hanken Grotesk',sans-serif;font-size:12px;letter-spacing:.04em;color:var(--on-surface-variant)}
.product-trust-badge{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-width:0;max-width:100%;white-space:nowrap}
.product-trust-badge .material-symbols-outlined{flex:0 0 auto;font-size:16px;color:#775a19}
@media(max-width:480px){.product-trust-badges{gap:8px 10px;font-size:10px;letter-spacing:.02em}.product-trust-badge{gap:5px}.product-trust-badge .material-symbols-outlined{font-size:14px}}
.product-summary-column .single_add_to_cart_button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 28px;border-radius:8px;border:0;background:linear-gradient(135deg,#775a19,#b4892e);color:#fff;font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 8px 24px rgba(119,90,25,.22);transition:transform .3s ease,box-shadow .3s ease}
.product-summary-column .single_add_to_cart_button:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(119,90,25,.3)}
.product-summary-column .single_add_to_cart_button:disabled{opacity:.65;cursor:not-allowed;transform:none}
.product-summary-column .quantity{display:inline-flex;align-items:center;margin-right:10px}
.product-summary-column .quantity .qty{width:76px;height:48px;padding:0 10px;border:1px solid var(--outline-variant);border-radius:8px;background:var(--surface-container-lowest);color:var(--on-surface);font-family:'Hanken Grotesk',sans-serif;font-size:14px;outline:none}
.product-summary-column .quantity .qty:focus{border-color:var(--secondary)}
.product-summary-column form.cart{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.product-summary-column .woocommerce-variation-add-to-cart{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.product-journey-notes{list-style:none;margin:0;padding:0;color:var(--on-surface-variant);font-size:15px;line-height:1.75}
.product-journey-notes li{padding:4px 0}
.product-journey-notes li + li{border-top:1px solid color-mix(in srgb,var(--outline-variant)20%,transparent)}
.product-section-title-label{color:var(--secondary);letter-spacing:.14em}
.product-dna-card-no-icon{padding-left:20px}
@media(max-width:767px){
  .product-thumbnails .woocommerce-product-gallery__image{width:56px;height:56px;flex-basis:56px}
  .product-summary-column .single_add_to_cart_button{width:100%;padding-left:16px;padding-right:16px}
  .product-summary-column form.cart,.product-summary-column .woocommerce-variation-add-to-cart{width:100%}
  .product-summary-column .quantity{flex:1;margin-right:0}
  .product-summary-column .quantity .qty{width:100%}
}
/* v1.7.1: You May Also Like (whole-card click) */
.related-products-section{margin-top:96px;margin-left:20px;margin-right:20px}
.related-products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.related-product-card{position:relative;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease}
.related-product-card:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 16px 40px rgba(0,0,0,.08)}
.related-product-media{display:block;aspect-ratio:3/4;overflow:hidden;background:var(--surface-container-high)}
.related-product-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.related-product-card:hover .related-product-media img{transform:scale(1.05)}
.related-product-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:var(--on-surface-variant);background:var(--surface-container-high);font-size:12px;letter-spacing:.12em}
.related-product-body{display:flex;flex-direction:column;gap:8px;padding:16px 16px 18px;flex:1}
.related-product-title{margin:0;font-size:18px;line-height:1.35}
.related-product-title a{display:inline-block;color:var(--on-surface);text-decoration:none;transition:color .25s}
.related-product-title a:hover{color:var(--secondary)}
.related-product-title a::after{content:"";position:absolute;inset:0;z-index:1}
.related-product-title a:focus-visible{outline:none}
.related-product-title a:focus-visible::after{outline:2px solid var(--secondary);outline-offset:-2px;border-radius:12px}
.related-product-price{margin:0;font-size:16px;color:var(--secondary);line-height:1.35}
.related-product-price .price{margin:0}
.related-product-actions{margin-top:auto;padding-top:6px;position:relative;z-index:2}
.related-product-actions .button,
.related-product-actions .added_to_cart{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:38px;padding:9px 14px;border:1px solid var(--secondary);border-radius:999px;background:transparent;color:var(--secondary);font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:background .25s,color .25s,transform .25s}
.related-product-actions .button:hover,
.related-product-actions .added_to_cart:hover{background:var(--secondary);color:var(--on-secondary);transform:translateY(-1px)}
@media(min-width:768px){
  .related-products-section{margin-left:0;margin-right:0}
  .related-products-grid{grid-template-columns:repeat(2,1fr);gap:20px}
}
@media(min-width:1024px){
  .related-products-grid{grid-template-columns:repeat(3,1fr)}
}


/* v1.8.0: Stitch product detail page template */
.stitch-page{
  --stitch-surface:#fcf9f8;
  --stitch-surface-container-low:#f6f3f2;
  --stitch-on-surface:#1c1b1b;
  --stitch-on-surface-variant:#46464b;
  --stitch-secondary:#645787;
  --stitch-secondary-fixed:#d7c6fe;
  --stitch-tertiary-fixed:#d3e5f1;
  --stitch-outline-variant:#c7c6cb;
  --stitch-text-secondary:#5e5080;
  --stitch-primary:#5d5e65;
  --stitch-tertiary:#50616b;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  max-width:1280px;
  margin:0 auto;
  padding:64px 20px 128px;
  color:var(--stitch-on-surface);
  font-family:'Hanken Grotesk',sans-serif;
}
.stitch-empty{padding-top:96px;text-align:center;color:var(--stitch-on-surface-variant);font-size:16px}
.stitch-ambient-glow{position:absolute;width:40vw;height:40vw;background:radial-gradient(circle,rgba(215,198,254,.15) 0%,rgba(255,255,255,0) 70%);border-radius:50%;pointer-events:none;z-index:-1}
.stitch-ambient-glow-one{top:-80px;left:-60px}
.stitch-ambient-glow-two{top:45%;right:-80px}
.stitch-glass{background:rgba(255,255,255,.6);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.4);box-shadow:0 8px 32px rgba(0,0,0,.04)}
.stitch-grid{display:grid;grid-template-columns:1fr;gap:24px}
.stitch-grid .stitch-col-5,.stitch-grid .stitch-col-7,.stitch-grid .stitch-col-12{min-width:0}
.stitch-section + .stitch-section{margin-top:96px}
@media(min-width:768px){
  .stitch-page{padding:72px 64px 128px}
  .stitch-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
  .stitch-col-5{grid-column:span 5}
  .stitch-col-7{grid-column:span 7}
  .stitch-col-12{grid-column:span 12}
  .stitch-section + .stitch-section{margin-top:120px}
}
.stitch-hero{display:flex;flex-direction:column;gap:40px}
@media(min-width:768px){.stitch-hero{gap:56px}}
.stitch-hero-media-column{display:flex;flex-direction:column;gap:16px;min-width:0}
.stitch-hero-media{position:relative;height:512px;border-radius:16px;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:32px}
@media(min-width:768px){.stitch-hero-media{height:auto;aspect-ratio:16/9;padding:24px}}
.stitch-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,var(--stitch-surface-container-low) 0%,rgba(255,255,255,0) 50%);opacity:.5;pointer-events:none}
.stitch-main-image,.stitch-main-video{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;border-radius:12px;display:block}
.stitch-media-hidden{display:none!important}
.stitch-video-toggle{height:128px;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;position:relative;overflow:hidden;transition:background .3s,transform .3s}
.stitch-video-toggle:hover{background:rgba(255,255,255,.4);transform:translateY(-1px)}
.stitch-video-toggle .material-symbols-outlined{font-size:40px;color:var(--stitch-on-surface-variant);transition:transform .3s}
.stitch-video-toggle:hover .material-symbols-outlined{transform:scale(1.1)}
.stitch-video-label{font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stitch-on-surface-variant)}
.stitch-hero-details{display:flex;flex-direction:column;gap:32px;min-width:0}
@media(min-width:768px){.stitch-hero-details{padding-left:48px}}
.stitch-hero-detail-block{display:flex;flex-direction:column;gap:8px}
.stitch-product-title{font-family:'Playfair Display',serif;font-weight:400;font-size:32px;line-height:1.2;margin:0;color:var(--stitch-on-surface)}
@media(min-width:768px){.stitch-product-title{font-size:48px;line-height:1.2}}
.stitch-price-row{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:0;font-family:'Hanken Grotesk',sans-serif;font-size:18px;line-height:1.6;color:var(--stitch-on-surface-variant)}
.stitch-price{color:var(--stitch-on-surface)}
.stitch-price .price{margin:0}
.stitch-size-note{font-size:14px;opacity:.6}
.stitch-short-description{margin:0;font-size:16px;line-height:1.6;color:var(--stitch-on-surface-variant)}
.stitch-chips{display:flex;flex-wrap:wrap;gap:12px}
.stitch-chip{display:inline-flex;align-items:center;padding:6px 16px;border-radius:999px;background:rgba(215,198,254,.5);border:1px solid var(--stitch-secondary-fixed);color:var(--stitch-text-secondary);font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.stitch-chip:nth-child(2){background:rgba(211,229,241,.3);border-color:var(--stitch-tertiary-fixed)}
.stitch-chip:nth-child(3){background:var(--stitch-surface-container-low);border-color:transparent}
.stitch-add-to-cart{margin-top:4px}
.stitch-add-to-cart form.cart{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin:0}
.stitch-add-to-cart .quantity{width:100%;margin:0}
.stitch-add-to-cart .qty{width:100%;min-height:48px;padding:0 12px;border:1px solid rgba(199,198,203,.7);border-radius:8px;background:var(--stitch-surface-container-low);color:var(--stitch-on-surface);font-family:'Hanken Grotesk',sans-serif;font-size:14px}
.stitch-add-to-cart .qty:focus{border-color:var(--stitch-secondary);outline:0}
.stitch-add-to-cart .single_add_to_cart_button{width:100%;min-height:56px;padding:14px 24px;border:0;border-radius:12px;background:linear-gradient(135deg,#d7c6fe 0%,#d3e5f1 100%);color:var(--stitch-on-surface);font-family:'Hanken Grotesk',sans-serif;font-size:18px;font-weight:600;letter-spacing:.02em;box-shadow:0 4px 16px rgba(215,198,254,.25);transition:all .3s ease}
.stitch-add-to-cart .single_add_to_cart_button:hover{box-shadow:0 0 15px rgba(216,199,255,.5);transform:translateY(-1px)}
.stitch-add-to-cart .single_add_to_cart_button:disabled{opacity:.65;cursor:not-allowed;transform:none}
.stitch-add-to-cart .variations{width:100%;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.stitch-add-to-cart .variations select{width:100%;min-height:48px;padding:0 12px;border:1px solid rgba(199,198,203,.7);border-radius:8px;background:var(--stitch-surface-container-low);color:var(--stitch-on-surface);font-family:'Hanken Grotesk',sans-serif;font-size:14px}
.stitch-add-to-cart .variations select:focus{border-color:var(--stitch-secondary);outline:0}
.stitch-add-to-cart .reset_variations{display:inline-block;margin-top:6px;color:var(--stitch-secondary);font-size:12px}
.stitch-add-to-cart .woocommerce-variation-price{margin:0}
.stitch-journey-heading{max-width:768px;margin:0 auto 40px;text-align:center}
.stitch-journey-heading h2,.stitch-scenarios-heading h2,.stitch-related-heading h2{font-family:'Playfair Display',serif;font-weight:400;font-size:32px;line-height:1.3;margin:0 0 16px;color:var(--stitch-on-surface)}
.stitch-journey-heading p,.stitch-scenarios-heading p,.stitch-related-heading p{margin:0;color:var(--stitch-on-surface-variant);font-size:16px;line-height:1.6}
.stitch-journey-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:768px){.stitch-journey-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}}
.stitch-journey-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px;padding:40px;border-radius:16px;transition:transform .5s}
.stitch-journey-card:hover{transform:translateY(-8px)}
.stitch-journey-icon{width:56px;height:56px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(215,198,254,.3);color:var(--stitch-secondary)}
.stitch-journey-icon .material-symbols-outlined{font-size:34px;font-variation-settings:'wght' 200}
.stitch-journey-copy{display:flex;flex-direction:column;align-items:center}
.stitch-journey-stage{font-family:'Playfair Display',serif;font-weight:400;font-size:24px;line-height:1.3;margin:0 0 8px}
.stitch-journey-label{font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stitch-on-surface-variant);margin:0 0 24px}
.stitch-journey-notes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;color:var(--stitch-on-surface);font-size:16px;line-height:1.6}
.stitch-scenarios-heading{max-width:672px;margin:0 auto 40px;text-align:center}
@media(min-width:768px){.stitch-scenarios-heading{margin-left:0;text-align:left}}
.stitch-scenarios-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:768px){.stitch-scenarios-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}}
.stitch-scenario-card{display:flex;flex-direction:column;gap:24px}
.stitch-scenario-media{position:relative;height:400px;border-radius:16px;overflow:hidden;background:var(--stitch-surface-container-low)}
.stitch-scenario-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.stitch-scenario-card:hover .stitch-scenario-media img{transform:scale(1.05)}
.stitch-scenario-media-empty{display:flex;align-items:center;justify-content:center;color:var(--stitch-on-surface-variant)}
.stitch-scenario-media-empty .material-symbols-outlined{font-size:48px;opacity:.55}
.stitch-scenario-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent);pointer-events:none}
.stitch-scenario-body{display:flex;flex-direction:column;gap:8px}
.stitch-scenario-label{font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stitch-secondary);margin:0}
.stitch-scenario-title{font-family:'Playfair Display',serif;font-weight:400;font-size:24px;line-height:1.3;margin:0;color:var(--stitch-on-surface)}
.stitch-scenario-desc{margin:0;color:var(--stitch-on-surface-variant);font-size:16px;line-height:1.7}
.stitch-philosophy{background:var(--stitch-surface-container-low);border-radius:16px;padding:40px 24px;display:flex;flex-direction:column;gap:48px}
@media(min-width:768px){.stitch-philosophy{padding:128px 80px;gap:64px}}
.stitch-philosophy-heading{font-family:'Playfair Display',serif;font-weight:400;font-size:32px;line-height:1.2;max-width:768px;margin:0}
@media(min-width:768px){.stitch-philosophy-heading{font-size:48px}}
.stitch-philosophy-columns{display:grid;grid-template-columns:1fr;gap:48px}
@media(min-width:768px){.stitch-philosophy-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:64px}}
.stitch-philosophy-column{display:flex;flex-direction:column;gap:24px}
.stitch-philosophy-column h3{font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stitch-secondary);margin:0}
.stitch-philosophy-column p{margin:0;font-size:18px;line-height:1.6;color:var(--stitch-on-surface-variant)}
.stitch-dna-column,.stitch-specs-column{display:flex;flex-direction:column;gap:24px;min-width:0}
.stitch-dna-title{font-family:'Playfair Display',serif;font-weight:400;font-size:32px;line-height:1.3;margin:0 0 8px}
.stitch-dna-card{display:flex;align-items:center;gap:24px;padding:24px;border-radius:16px}
.stitch-dna-icon{width:56px;height:56px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(215,198,254,.3);color:var(--stitch-secondary);flex-shrink:0}
.stitch-dna-icon .material-symbols-outlined{font-size:28px}
.stitch-dna-tone-1 .stitch-dna-icon{background:rgba(211,229,241,.3);color:var(--stitch-tertiary)}
.stitch-dna-tone-2 .stitch-dna-icon{background:rgba(226,226,233,.3);color:var(--stitch-primary)}
.stitch-dna-body{min-width:0}
.stitch-dna-body h4{font-family:'Hanken Grotesk',sans-serif;font-size:18px;font-weight:600;line-height:1.4;margin:0 0 4px;color:var(--stitch-on-surface)}
.stitch-dna-body p{margin:0;font-size:14px;line-height:1.7;color:var(--stitch-on-surface-variant)}
.stitch-specs-panel{display:flex;flex-direction:column;justify-content:center;padding:40px;border-radius:16px;min-height:100%}
.stitch-specs-heading{font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stitch-on-surface-variant);margin:0 0 32px;padding-bottom:16px;border-bottom:1px solid rgba(199,198,203,.3)}
.stitch-specs-list{list-style:none;margin:0;padding:0}
.stitch-specs-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid rgba(199,198,203,.2)}
.stitch-specs-row:last-child{border-bottom:0;padding-bottom:0}
.stitch-specs-label{font-weight:600;color:var(--stitch-on-surface)}
.stitch-specs-value{color:var(--stitch-on-surface-variant);text-align:right}
.stitch-specs-footer{margin-top:32px;padding-top:24px;border-top:1px solid rgba(199,198,203,.3);text-align:center}
.stitch-specs-footer .material-symbols-outlined{font-size:36px;color:var(--stitch-secondary);margin-bottom:8px}
.stitch-specs-footer p{font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--stitch-on-surface-variant);margin:0}
.stitch-related-heading{max-width:672px;margin:0 auto 40px;text-align:center}
.stitch-related-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:768px){.stitch-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.stitch-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.stitch-related-card{position:relative;display:flex;flex-direction:column;border-radius:16px;overflow:hidden;transition:transform .35s,box-shadow .35s}
.stitch-related-card:hover{transform:translateY(-4px) scale(1.015);box-shadow:0 16px 40px rgba(0,0,0,.08)}
.stitch-related-media{aspect-ratio:3/4;overflow:hidden;background:var(--stitch-surface-container-low)}
.stitch-related-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.stitch-related-card:hover .stitch-related-image{transform:scale(1.05)}
.stitch-related-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--stitch-on-surface-variant)}
.stitch-related-placeholder .material-symbols-outlined{font-size:40px;opacity:.55}
.stitch-related-body{display:flex;flex-direction:column;gap:8px;padding:16px;flex:1}
.stitch-related-title{margin:0;font-size:18px;line-height:1.35}
.stitch-related-title-link{display:inline-block;color:var(--stitch-on-surface);text-decoration:none;transition:color .25s}
.stitch-related-title-link:hover{color:var(--stitch-secondary)}
.stitch-related-title-link::after{content:"";position:absolute;inset:0;z-index:1}
.stitch-related-title-link:focus-visible{outline:none}
.stitch-related-title-link:focus-visible::after{outline:2px solid var(--stitch-secondary);outline-offset:-2px;border-radius:16px}
.stitch-related-price{margin:0;font-size:16px;line-height:1.35;color:var(--stitch-text-secondary)}
.stitch-related-price .price{margin:0}
.stitch-related-actions{position:relative;z-index:2;margin-top:auto;padding-top:6px}
.stitch-related-actions .button,
.stitch-related-actions .added_to_cart{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:40px;padding:9px 14px;border:1px solid var(--stitch-secondary);border-radius:999px;background:transparent;color:var(--stitch-secondary);font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:background .25s,color .25s,transform .25s}
.stitch-related-actions .button:hover,
.stitch-related-actions .added_to_cart:hover{background:var(--stitch-secondary);color:var(--stitch-surface);transform:translateY(-1px)}
@media(max-width:767px){
  .stitch-page{padding:56px 20px 96px}
  .stitch-hero-details{padding-left:0}
  .stitch-hero-media{height:420px;padding:20px}
  .stitch-product-title{font-size:32px}
  .stitch-philosophy{padding:40px 20px}
  .stitch-philosophy-heading{font-size:28px}
  .stitch-section + .stitch-section{margin-top:72px}
  .stitch-journey-card{padding:28px 20px}
  .stitch-scenario-media{height:320px}
  .stitch-specs-panel{padding:24px}
  .stitch-dna-card{padding:18px;gap:16px}
}
@media(max-width:480px){
  .stitch-page{padding-left:12px;padding-right:12px}
  .stitch-hero-media{height:360px;padding:14px}
  .stitch-price-row{font-size:16px}
  .stitch-short-description{font-size:14px}
  .stitch-philosophy-column p{font-size:15px}
}

.stitch-scenario-media-empty .material-symbols-outlined{position:relative;z-index:1}
.stitch-philosophy-columns-single{grid-template-columns:1fr}
.stitch-philosophy-columns-single .stitch-philosophy-column{max-width:720px}

/* v1.8.0 fidelity refinements */
@media(max-width:767px){
  .stitch-hero-media{height:512px!important}
}
@media(max-width:480px){
  .stitch-page{padding-left:20px!important;padding-right:20px!important}
  .stitch-hero-media{height:512px!important;padding:14px}
}
.stitch-journey-card:nth-child(2) .stitch-journey-icon{background:rgba(211,229,241,.3);color:var(--stitch-tertiary)}
.stitch-journey-card:nth-child(3) .stitch-journey-icon{background:rgba(226,226,233,.3);color:var(--stitch-primary)}
.stitch-scenario-card:nth-child(2) .stitch-scenario-label{color:var(--stitch-tertiary)}
.stitch-philosophy-column:nth-child(2) h3{color:var(--stitch-tertiary)}
/* v1.8.2 — Stitch The Details section */
.stitch-details{max-width:760px;margin:0 auto}
.stitch-details-heading{font-family:'Playfair Display',serif;font-size:clamp(28px,4vw,40px);line-height:1.1;font-weight:400;letter-spacing:.01em;color:var(--on-surface);text-align:center;margin:0 0 32px}


/* ── AI Synthesis v2.0 conversation engine ── */
#ai-chat-section,#ai-summary-section{scroll-margin-top:72px}
.ai-chat-shell{border-radius:20px;overflow:hidden;max-width:960px;margin:0 auto}
.ai-chat-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid color-mix(in srgb,var(--outline-variant)40%,transparent);background:color-mix(in srgb,var(--surface-container-low)70%,transparent)}
.ai-chat-avatar{width:44px;height:44px;border-radius:999px;background:color-mix(in srgb,var(--secondary-container)45%,transparent);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}
.ai-chat-avatar .material-symbols-outlined{color:var(--secondary);font-size:22px}
.ai-chat-avatar img{width:100%;height:100%;object-fit:cover}
.ai-chat-identity{flex:1;min-width:0}
.ai-chat-name{font-size:16px;font-style:italic;line-height:1.2;margin:0}
.ai-chat-role{font-size:10px;color:var(--secondary);letter-spacing:.1em;text-transform:uppercase;margin-top:3px}
.ai-chat-progress{font-size:11px;color:var(--on-surface-variant);letter-spacing:.08em;white-space:nowrap}
.ai-chat-bubbles{display:flex;flex-direction:column;gap:14px;padding:20px;max-height:52vh;min-height:260px;overflow-y:auto;overscroll-behavior:contain}
.ai-chat-row{display:flex}
.ai-chat-row-ai{justify-content:flex-start}
.ai-chat-row-user{justify-content:flex-end}
.ai-chat-bubble{max-width:84%;padding:12px 16px;border-radius:16px;font-size:14px;line-height:1.55;animation:aiFadeUp .32s ease both}
.ai-chat-bubble-ai{background:color-mix(in srgb,var(--secondary-container)28%,transparent);border:1px solid color-mix(in srgb,var(--secondary-container)55%,transparent);color:var(--on-surface);border-bottom-left-radius:4px}
.ai-chat-bubble-user{background:var(--secondary);color:var(--on-secondary);border-bottom-right-radius:4px}
.ai-chat-bubble-text{white-space:normal;overflow-wrap:anywhere}
.ai-chat-options{display:flex;flex-wrap:wrap;gap:8px;padding:14px 20px 18px;border-top:1px solid color-mix(in srgb,var(--outline-variant)40%,transparent)}
.ai-chat-option{min-height:38px;padding:8px 16px;border:1px solid var(--outline-variant);border-radius:999px;background:color-mix(in srgb,var(--surface-bright)72%,transparent);color:var(--on-surface-variant);font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:600;letter-spacing:.03em;transition:border-color .25s,color .25s,background .25s,transform .2s;cursor:pointer}
.ai-chat-option:hover{border-color:var(--secondary);color:var(--secondary);background:color-mix(in srgb,var(--secondary)8%,transparent)}
.ai-chat-option:focus-visible{outline:2px solid var(--secondary);outline-offset:2px}
.ai-chat-option:disabled{opacity:.55;cursor:default}
.ai-knowledge-card{margin-top:10px;padding:10px 12px;border-left:3px solid var(--secondary);background:color-mix(in srgb,var(--tertiary-container)50%,transparent);border-radius:0 8px 8px 0}
.ai-knowledge-label{display:block;font-family:'Hanken Grotesk',sans-serif;font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--tertiary);text-transform:uppercase;margin-bottom:4px}
.ai-knowledge-card blockquote{margin:0;font-family:'Playfair Display',serif;font-style:italic;font-size:13px;line-height:1.5;color:var(--on-tertiary-container)}
.ai-summary-card{max-width:960px;margin:0 auto;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--secondary-fixed)60%,transparent),color-mix(in srgb,var(--tertiary-fixed)55%,transparent),color-mix(in srgb,var(--primary-fixed)55%,transparent));border:1px solid color-mix(in srgb,var(--outline-variant)30%,transparent);padding:22px;box-shadow:0 12px 36px rgba(0,0,0,.06)}
.ai-summary-inner{background:color-mix(in srgb,var(--surface-bright)86%,transparent);border:1px solid color-mix(in srgb,var(--surface-bright)60%,transparent);border-radius:16px;padding:24px}
.ai-summary-top{text-align:center;margin-bottom:20px}
.ai-summary-eyebrow{display:block;font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;color:var(--secondary);text-transform:uppercase;margin-bottom:6px}
.ai-summary-pct{font-family:'Playfair Display',serif;font-size:42px;line-height:1.1;color:var(--secondary);margin-bottom:4px}
.ai-summary-title{font-family:'Playfair Display',serif;font-style:italic;font-size:22px;font-weight:400;margin:0;color:var(--on-surface)}
.ai-summary-copy{margin:0 auto 20px;max-width:760px;font-size:15px;line-height:1.7;color:var(--on-surface-variant);text-align:center}
.ai-why-list{background:color-mix(in srgb,var(--surface-container-low)75%,transparent);border-radius:12px;padding:16px;margin-bottom:20px}
.ai-why-title{font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--secondary);margin:0 0 10px}
.ai-why-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ai-why-list li{padding-left:16px;position:relative;font-size:14px;line-height:1.5;color:var(--on-surface-variant)}
.ai-why-list li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--secondary)}
.ai-safety-note{background:color-mix(in srgb,var(--tertiary-container)45%,transparent);border:1px solid color-mix(in srgb,var(--tertiary-fixed-dim)50%,transparent);color:var(--on-tertiary-container);font-size:13px;line-height:1.55;border-radius:10px;padding:12px 14px;margin:0 0 20px}
.ai-recommendation-section,.ai-affiliate-section{margin-top:8px}
.ai-recommendation-heading,.ai-affiliate-heading{font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--on-surface-variant);margin:0 0 12px}
.ai-products-grid{display:grid;grid-template-columns:1fr;gap:12px}
.ai-affiliate-grid{display:grid;grid-template-columns:1fr;gap:12px}
.ai-recommendation-card,.ai-affiliate-card{display:flex;flex-direction:column;overflow:hidden;border-radius:12px;background:var(--surface-container-lowest);border:1px solid color-mix(in srgb,var(--outline-variant)45%,transparent);transition:transform .3s,box-shadow .3s}
.ai-recommendation-card:hover,.ai-affiliate-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.08)}
.ai-recommendation-media,.ai-affiliate-media{aspect-ratio:4/3;background:var(--surface-container-high);overflow:hidden}
.ai-recommendation-media img,.ai-affiliate-media img{width:100%;height:100%;object-fit:cover;display:block}
.ai-recommendation-body,.ai-affiliate-body{display:flex;flex-direction:column;gap:7px;padding:14px;flex:1}
.ai-recommendation-name,.ai-affiliate-name{font-family:'Playfair Display',serif;font-size:17px;font-style:italic;font-weight:400;line-height:1.3;margin:0;color:var(--on-surface)}
.ai-recommendation-price,.ai-affiliate-price{font-size:14px;font-weight:600;color:var(--secondary)}
.ai-recommendation-reason,.ai-affiliate-note{margin:0;font-size:13px;line-height:1.55;color:var(--on-surface-variant)}
.ai-recommendation-link,.ai-affiliate-link{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--secondary)40%,transparent);padding-bottom:2px;transition:color .25s,border-color .25s}
.ai-recommendation-link:hover,.ai-affiliate-link:hover{color:var(--on-secondary-container);border-color:var(--on-secondary-container)}
.ai-coming-soon{grid-column:1/-1;display:flex;align-items:center;justify-content:center;min-height:120px;padding:20px;border-radius:12px;border:1px dashed var(--outline-variant);background:color-mix(in srgb,var(--surface-container-low)55%,transparent);color:var(--on-surface-variant);font-size:14px;text-align:center}
.ai-affiliate-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:140px;padding:20px;border-radius:12px;border:1px dashed var(--outline-variant);background:color-mix(in srgb,var(--tertiary-container)35%,transparent);color:var(--on-surface-variant);text-align:center;font-size:14px}
.ai-affiliate-empty-icon{color:var(--tertiary);font-size:26px}
.ai-summary-actions{text-align:center;margin-top:20px}
.ai-start-over{min-height:42px;padding:10px 24px;border-radius:999px;border:1px solid var(--secondary);color:var(--secondary);background:transparent;font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:background .25s,color .25s}
.ai-start-over:hover{background:var(--secondary);color:var(--on-secondary)}
.ai-concierge-launch{display:grid;grid-template-columns:1fr;gap:12px;max-width:680px;margin:0 auto}
.ai-concierge-btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:12px 18px;border-radius:12px;border:1px solid color-mix(in srgb,var(--surface)22%,transparent);background:color-mix(in srgb,var(--surface)8%,transparent);color:var(--surface);transition:border-color .3s,background .3s,transform .3s}
.ai-concierge-btn:hover{background:color-mix(in srgb,var(--surface)16%,transparent);border-color:var(--secondary-fixed);transform:translateY(-1px)}
.ai-concierge-btn .material-symbols-outlined{font-size:22px;color:var(--secondary-fixed)}
.ai-concierge-btn-title{font-family:'Playfair Display',serif;font-style:italic;font-size:16px;line-height:1;color:var(--surface)}
.ai-concierge-btn-sub{font-family:'Hanken Grotesk',sans-serif;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--surface-variant)}
@keyframes aiFadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:768px){
  .ai-chat-bubble{max-width:68%}
  .ai-products-grid{grid-template-columns:repeat(2,1fr)!important;gap:16px}
  .ai-affiliate-grid{display:grid;grid-template-columns:repeat(2,1fr)!important;gap:16px}
  .ai-concierge-launch{grid-template-columns:repeat(3,1fr)}
  .ai-summary-inner{padding:32px}
  .ai-summary-pct{font-size:50px}
}
@media(min-width:1024px){
  .ai-products-grid{grid-template-columns:repeat(3,1fr)!important;gap:20px}
}
@media(max-width:767px){
  .ai-chat-bubbles{max-height:60vh;padding:14px}
  .ai-chat-options{padding:12px 14px 16px}
  .ai-chat-bubble{max-width:92%}
  .ai-chat-option{flex:1 1 calc(50% - 4px);min-width:0;text-align:left}
  .ai-summary-card{padding:14px}
  .ai-summary-inner{padding:18px}
  .ai-summary-pct{font-size:34px}
  .ai-summary-title{font-size:18px}
}
@media(max-width:480px){
  .ai-chat-option{flex-basis:100%}
  .ai-chat-header{gap:10px;padding:14px}
  .ai-chat-identity{min-width:0}
  .ai-chat-name{font-size:14px}
  .ai-chat-progress{font-size:10px}
}