/* Botanical product presentation. Section backgrounds reach the viewport edges;
   the shared content-wrap contains text and original, unaltered product photos. */
.product-page .product-main{width:100%;max-width:none;margin:0;padding:0}
.product-page .product-main>article{width:100%;min-width:0}
.product-page .product-hero{padding:30px 0 88px;background:var(--bg)}
.product-page .breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 36px;font-size:.74rem;line-height:1.7;color:var(--muted)}
.product-page .breadcrumb a{text-decoration:none;color:var(--ink)}
.product-page .breadcrumb a:hover{text-decoration:underline;text-underline-offset:4px}
.product-page .breadcrumb [aria-current]{overflow-wrap:anywhere;min-width:0}
.product-page .product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:clamp(36px,6vw,88px)}
.product-page .gallery{min-width:0;align-self:start}
.product-page .hero-img{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:1/1;background:var(--surface);border:1px solid rgba(101,113,77,.08);padding:clamp(28px,4vw,54px);border-radius:30px;overflow:hidden;isolation:isolate}
.product-page .hero-img img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center;filter:none;mix-blend-mode:normal;opacity:1;transition:transform .65s cubic-bezier(.2,.65,.3,1)}
.product-page .gallery-tag{position:absolute;top:22px;left:22px;z-index:1;padding:7px 12px;border:1px solid var(--border);border-radius:var(--radius-button,999px);font-size:.62rem;letter-spacing:.06em;color:var(--muted);background:var(--surface)}
.product-page .gallery-note{text-align:center;font-size:.72rem;color:var(--muted);margin:18px 0 0}
.product-page .image-zoom{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:46px;height:46px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--forest);font-size:22px;cursor:pointer}
.product-page .image-zoom[hidden],.product-page .stickybar[hidden]{display:none}
.product-page .image-zoom:hover{background:var(--sage)}
.product-page .product-image-dialog{width:min(840px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:18px;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.product-page .product-image-dialog::backdrop{background:rgba(24,42,31,.7)}
.product-page .product-image-dialog form{display:flex;justify-content:flex-end;margin-bottom:12px}
.product-page .image-close{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:8px 16px;border:1px solid var(--border);border-radius:var(--radius-button);background:var(--surface);color:var(--forest);font:inherit;cursor:pointer}
.product-page .image-close span{font-size:24px;line-height:1}
.product-page .product-image-dialog img{width:100%;height:auto;max-height:calc(100dvh - 130px);object-fit:contain}
.product-page:has(.product-image-dialog[open]){overflow:hidden}
.product-page .buybox{min-width:0;padding-top:12px}
.product-page .kicker{font-size:.65rem;line-height:1.7;letter-spacing:.15em;text-transform:uppercase;font-weight:650;color:var(--khaki-dark);margin:0 0 16px}
.product-page h1{font-family:var(--font-display,Georgia,serif);font-size:clamp(2.5rem,4.5vw,4.5rem);font-weight:500;line-height:1.04;letter-spacing:-.035em;color:var(--forest);margin:0 0 22px;overflow-wrap:anywhere}
.product-page h1.product-title--long{font-size:clamp(1.5625rem,2.4vw,2.125rem);line-height:1.2;letter-spacing:-.02em}
.product-page .product-inspiration{font-size:.92rem;line-height:1.8;color:var(--muted);margin:0 0 20px;overflow-wrap:anywhere}
.product-page .product-inspiration a{color:var(--forest);text-decoration-color:var(--border);text-underline-offset:5px}
.product-page .product-inspiration a:hover{text-decoration-color:var(--khaki)}
.product-page .badge-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.product-page .badge-row:empty{display:none}
.product-page .pill{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-button,999px);background:transparent;color:var(--muted);padding:7px 13px;font-size:.68rem;line-height:1.5;max-width:100%;overflow-wrap:anywhere}
.product-page .purchase-panel{padding:22px 24px;background:var(--surface2);border-radius:var(--radius-card,22px)}
.product-page .price-line{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;margin-bottom:20px}
.product-page .price-line>div{min-width:0}
.product-page .price-label{display:block;color:var(--muted);font-size:.65rem;line-height:1.6}
.product-page .price{color:var(--forest);font-size:clamp(1.7rem,2.7vw,2.4rem);font-weight:650;letter-spacing:-.05em;line-height:1.18;margin-top:5px;overflow-wrap:anywhere}
.product-page .stock{display:inline-flex;gap:7px;align-items:center;color:var(--forest);font-size:.65rem;white-space:nowrap}
.product-page .stock>span{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--khaki)}
.product-page .btn{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:48px;padding:14px 22px;border:1px solid var(--border);border-radius:var(--radius-button,999px);font-size:.78rem;line-height:1.5;font-weight:600;text-decoration:none;color:var(--forest);background:var(--surface);transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease,border-color .22s ease}
.product-page .btn-primary{background:var(--khaki);border-color:var(--khaki);color:#fffdf8}
.product-page .btn-primary:hover{background:var(--forest);border-color:var(--forest);transform:translateY(-2px);box-shadow:0 8px 20px rgba(36,62,50,.12)}
.product-page .btn-primary:active{transform:translateY(0)}
.product-page .buy-button{display:flex;justify-content:space-between;width:100%}
.product-page .purchase-hint,.product-page .purchase-status{margin:14px 0 0;font-size:.72rem;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}
.product-page .purchase-status a{color:var(--forest)}
.product-page .stock[data-availability="OutOfStock"]>span{background:var(--accent-terra)}
.product-page .specs{margin-top:24px}
.product-page .specs-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;border-bottom:1px solid var(--border);padding:12px 0;font-size:.74rem;line-height:1.7}
.product-page .specs-row>span{color:var(--muted)}
.product-page .specs-row>strong{text-align:right;font-weight:550;color:var(--ink);overflow-wrap:anywhere}
.product-page .product-note{font-size:.66rem;line-height:1.8;color:var(--muted);margin:18px 0 0;max-width:50ch}
.product-page .product-overview{width:100%;padding:80px 0;background:var(--sage,var(--surface2))}
.product-page .product-overview-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,7vw,100px);align-items:start}
.product-page .overview-heading,.product-page .overview-copy{min-width:0}
.product-page .overview-heading h2,.product-page .section-title{font-family:var(--font-display,Georgia,serif);font-size:clamp(2.4rem,4vw,3.8rem);line-height:1.06;letter-spacing:-.03em;font-weight:500;color:var(--forest);margin:0 0 28px}
.product-page .overview-intro{font-family:var(--font-display,Georgia,serif);font-size:clamp(1.5rem,2.25vw,2rem);font-weight:400;color:var(--forest);line-height:1.4;letter-spacing:-.01em;margin:4px 0 28px}
.product-page .desc{font-size:.9rem;line-height:1.9;color:var(--muted);overflow-wrap:anywhere}
.product-page .desc p{margin:0 0 16px}
.product-page .desc p:last-child{margin-bottom:0}
.product-page .discover{display:flex;flex-direction:column;gap:12px;margin-top:30px}
.product-page .discover a{display:inline-flex;align-items:center;align-self:flex-start;gap:16px;color:var(--forest);font-size:.74rem;font-weight:550;text-decoration:none;line-height:1.8;max-width:100%;overflow-wrap:anywhere}
.product-page .discover a svg{transition:transform .2s ease}
.product-page .discover a:hover svg{transform:translate(2px,-2px)}
.product-page .discover a:hover{text-decoration:underline;text-underline-offset:5px}
.product-page .reading-more{border-top:1px solid rgba(60,80,61,.2);border-bottom:1px solid rgba(60,80,61,.2)}
.product-page .reading-more summary{display:flex;justify-content:space-between;align-items:center;gap:20px;list-style:none;cursor:pointer;padding:20px 0;font-size:.77rem;font-weight:600;color:var(--forest);line-height:1.7}
.product-page .reading-more summary::-webkit-details-marker{display:none}
.product-page .reading-more summary>span{font-size:1.4rem;font-weight:400;transition:transform .2s ease}
.product-page .reading-more[open] summary>span{transform:rotate(45deg)}
.product-page .reading-more>.desc{padding:0 0 24px}
.product-page .product-information{width:100%;padding:88px 0;background:var(--bg)}
.product-page .product-details-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.product-page .product-details,.product-page .faq{min-width:0;padding:clamp(26px,3.3vw,46px);border-radius:var(--radius-card,22px);background:var(--surface);box-shadow:var(--shadow)}
.product-page .acc{border-top:1px solid var(--border)}
.product-page .acc-item{border-bottom:1px solid var(--border)}
.product-page .acc-btn{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:60px;padding:18px 0;border:0;border-radius:0;background:transparent;font:inherit;font-size:.79rem;font-weight:600;line-height:1.7;text-align:left;color:var(--ink);list-style:none;cursor:pointer;transition:color .2s ease}
.product-page .acc-btn::-webkit-details-marker{display:none}
.product-page .acc-btn:hover{color:var(--khaki)}
.product-page .acc-icon{display:inline-block;font-size:1.3rem;font-weight:400;line-height:1;transition:transform .2s ease}
.product-page .acc-item[open] .acc-icon{transform:rotate(45deg)}
.product-page .acc-body{padding:0 0 24px}
.product-page .muted{font-size:.8rem;line-height:1.8;color:var(--muted)}
.product-page .similar{margin-top:32px}
.product-page .similar h3{font-size:.82rem;font-weight:600;margin:0 0 12px}
.product-page .similar a{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid var(--border);font-size:.74rem;color:var(--ink);text-decoration:none}
.product-page .similar a:hover{color:var(--khaki);text-decoration:underline;text-underline-offset:4px}
.product-page .faq details{border-top:1px solid var(--border);font-size:.85rem}
.product-page .faq details:last-child{border-bottom:1px solid var(--border)}
.product-page .faq summary{position:relative;list-style:none;padding:18px 28px 18px 0;cursor:pointer;font-weight:550;line-height:1.7;color:var(--ink);transition:color .2s ease}
.product-page .faq summary::-webkit-details-marker{display:none}
.product-page .faq summary::after{content:'+';position:absolute;right:0;top:15px;font-size:1.3rem;font-weight:400;color:var(--khaki)}
.product-page .faq details[open] summary::after{content:'−'}
.product-page .faq summary:hover{color:var(--khaki)}
.product-page .faq details p{margin:0;padding:0 0 22px;color:var(--muted);line-height:1.9;overflow-wrap:anywhere}
.product-page .product-suggestion{width:100%;padding:76px 0;background:#ece8df}
.product-page .suggestion-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(32px,6vw,80px)}
.product-page .suggestion-heading{min-width:0}
.product-page .suggestion-heading .section-title{margin-bottom:0}
.product-page .suggest{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:26px;align-items:center;min-width:0;padding:26px;border-radius:var(--radius-card,22px);background:var(--surface);box-shadow:var(--shadow);transition:transform .3s ease,box-shadow .3s ease}
.product-page .suggest-media{display:grid;place-items:center;align-self:center;aspect-ratio:1/1;min-width:0;padding:10px;border-radius:18px;background:#f4f0e8;overflow:hidden}
.product-page .suggest-media img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;object-position:center;filter:none;mix-blend-mode:normal;opacity:1;transition:transform .6s cubic-bezier(.2,.65,.3,1)}
.product-page .suggest-body{min-width:0}
.product-page .suggest-kicker{font-size:.62rem;line-height:1.7;text-transform:uppercase;letter-spacing:.1em;margin:0 0 9px;color:var(--muted)}
.product-page .suggest-title{font-family:var(--font-display,Georgia,serif);font-size:1.8rem;line-height:1.13;font-weight:500;letter-spacing:-.02em;margin:0 0 12px;color:var(--forest);overflow-wrap:anywhere}
.product-page .suggest-title a{text-decoration:none}
.product-page .suggest-title a:hover{text-decoration:underline;text-underline-offset:4px}
.product-page .suggest-text{font-size:.74rem;line-height:1.8;color:var(--muted);margin:0 0 20px;overflow-wrap:anywhere}
.product-page .suggest .btn{min-height:44px;padding:11px 18px;font-size:.7rem;gap:16px}
.product-page .product-search-section{width:100%;padding:76px 0;background:var(--forest);color:#fffdf8}
.product-page .bottom-cta{display:flex;align-items:center;justify-content:space-between;gap:40px;color:inherit;text-decoration:none}
.product-page .bottom-cta .kicker{color:#d5dfc8}
.product-page .bottom-cta h2{font-family:var(--font-display,Georgia,serif);font-size:clamp(2.7rem,5vw,4.6rem);line-height:1.02;letter-spacing:-.03em;font-weight:400;margin:0 0 20px}
.product-page .bottom-cta p:last-child{font-size:.82rem;line-height:1.8;color:#d5dfc8;margin:0}
.product-page .bottom-cta-link{display:inline-flex;align-items:center;justify-content:center;gap:26px;flex-shrink:0;padding:16px 25px;border:1px solid rgba(255,253,248,.5);border-radius:var(--radius-button,999px);font-size:.78rem;font-weight:550;line-height:1.5;transition:background-color .25s ease,color .25s ease,transform .25s ease}
.product-page .bottom-cta:hover .bottom-cta-link{background:#fffdf8;color:var(--forest);transform:translateY(-2px)}
.product-page .stickybar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:60;padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--surface);box-shadow:0 -8px 24px rgba(36,62,50,.06)}
.product-page .stickybar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px}
.product-page .stickybar-title{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:.73rem}
.product-page .stickybar-title b,.product-page .stickybar-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-page .stickybar-title b{font-weight:600}
.product-page .stickybar-title span{color:var(--muted);font-size:.68rem}
.product-page .stickybar .btn{flex-shrink:0;min-height:44px;padding:11px 18px;font-size:.72rem;gap:14px}
.product-page .product-search-section,.product-page .site-footer{--ring:#fffdf8}
.product-page :is(a,button,summary):focus-visible{outline:2px solid var(--ring);outline-offset:5px}
.product-page [x-cloak]{display:none!important}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
  .product-page .hero-img:hover img{transform:scale(1.035)}
  .product-page .suggest:hover{transform:translateY(-4px);box-shadow:0 20px 48px rgba(36,62,50,.1)}
  .product-page .suggest-media:hover img{transform:scale(1.045)}
}
@media(max-width:1020px){
  .product-page .product{gap:38px}
  .product-page .buybox{padding-top:0}
  .product-page h1{font-size:clamp(2.3rem,4.5vw,3.8rem)}
  .product-page .hero-img{padding:32px}
  .product-page .product-overview-layout{gap:50px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .product-page .suggestion-layout{grid-template-columns:1fr;gap:30px}
  .product-page .suggestion-heading br{display:none}
  .product-page .suggest{max-width:720px;grid-template-columns:minmax(0,.65fr) minmax(0,1fr)}
}
@media(max-width:760px){
  .product-page .product-hero{padding:22px 0 56px}
  .product-page .breadcrumb{font-size:.66rem;gap:9px;margin-bottom:24px}
  .product-page .product{grid-template-columns:1fr;gap:32px}
  .product-page .hero-img{max-width:520px;margin-inline:auto;padding:38px;border-radius:26px}
  .product-page .gallery-tag{top:18px;left:18px;font-size:.6rem;padding:6px 11px}
  .product-page .gallery-note{font-size:.66rem;margin-top:14px}
  .product-page .buybox{max-width:560px;width:100%;margin-inline:auto}
  .product-page h1{font-size:clamp(2.6rem,8vw,3.8rem)}
  .product-page .kicker{font-size:.6rem;margin-bottom:12px}
  .product-page .product-inspiration{font-size:.84rem}
  .product-page .purchase-panel{padding:22px}
  .product-page .price{font-size:2rem}
  .product-page .product-overview,.product-page .product-information,.product-page .product-suggestion{padding:54px 0}
  .product-page .product-overview-layout{grid-template-columns:1fr;gap:30px}
  .product-page .overview-heading h2{font-size:2.9rem}
  .product-page .overview-heading h2 br{display:none}
  .product-page .discover{gap:10px;margin-top:22px}
  .product-page .overview-intro{font-size:1.6rem;margin-top:0}
  .product-page .product-details-layout{grid-template-columns:1fr;gap:22px}
  .product-page .product-details,.product-page .faq{padding:28px;border-radius:22px}
  .product-page .section-title{font-size:2.75rem;margin-bottom:24px}
  .product-page .suggest{gap:22px;padding:22px}
  .product-page .product-search-section{padding:56px 0}
  .product-page .bottom-cta{align-items:flex-start;flex-direction:column;gap:28px}
  .product-page .bottom-cta h2{font-size:3.4rem}
  .product-page .bottom-cta-link{min-height:48px;padding:14px 22px;font-size:.74rem}
  .product-page .stickybar{display:block}
  .product-page:has(.stickybar){padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
}
@media(max-width:420px){
  .product-page .hero-img{padding:30px}
  .product-page h1{font-size:2.7rem}
  .product-page .product-details,.product-page .faq{padding:24px}
  .product-page .price-line{align-items:flex-start;gap:12px}
  .product-page .stock{margin-top:6px;font-size:.6rem}
  .product-page .suggest{grid-template-columns:1fr}
  .product-page .suggest-media{max-width:200px;width:100%;margin-inline:auto}
  .product-page .suggest-title{font-size:1.9rem}
  .product-page .bottom-cta h2{font-size:3rem}
}
@media(prefers-reduced-motion:reduce){
  .product-page .product-main :is(a,button,img,span,summary){transition:none!important}
  .product-page .btn:hover,.product-page .suggest:hover,.product-page .bottom-cta:hover .bottom-cta-link{transform:none}
}
