/* Owner-approved public woodland theme. Admin remains isolated in admin.css. */
.woodland-preview{--ink:#36271E;--muted:#67594A;--paper:#F7F0E2;--white:#FFFBF3;--stone:#E9DFC9;--blue:#124DB5;--blue-dark:#153D81;--gold:#F7CA39;--gold-light:#FAE49D;--green:#3D552D;--line:#C9BCA5;--focus:#124DB5;--text-heading:var(--ink);--text-kicker:var(--blue-dark);--text-accent:var(--blue);--text-body:var(--ink);--text-on-dark:var(--white);--text-accent-on-dark:var(--gold);--text-success:var(--green);--gutter:clamp(22px,5vw,76px);background:var(--paper);color:var(--ink)}
.woodland-preview h1,.woodland-preview h2{font-family:Georgia,'Times New Roman',serif;font-weight:700;letter-spacing:-.05em;line-height:1.06}
.woodland-preview h1 em,.woodland-preview h2 em{color:var(--text-accent);font-weight:400}
.woodland-preview .eyebrow{color:var(--text-kicker);font-weight:700;letter-spacing:.16em}
.woodland-preview .site-header{background:#38271D;color:#FFF5D9;border-bottom:3px solid var(--gold);box-shadow:0 3px 14px #21150F20}
.woodland-preview .header-inner{min-height:88px;max-width:1440px}
.woodland-preview .brand img{width:143px;filter:drop-shadow(0 2px 0 #0006)}
.woodland-preview .main-nav a{font-size:13px;font-weight:500}
.woodland-preview .main-nav a:hover,.woodland-preview .main-nav a[aria-current=page],.woodland-preview .cart-link:hover,.woodland-preview .menu-toggle:hover{color:var(--gold);text-decoration-color:var(--gold)}
.woodland-preview .cart-link{border-color:#806449}
.woodland-preview .cart-count{color:var(--blue-dark);font-weight:700}
.woodland-preview .site-header :focus-visible,.woodland-preview .site-footer :focus-visible,.woodland-preview .shelf-feature :focus-visible{outline-color:var(--gold)}
.woodland-preview .button{background:var(--blue);color:#FFF9E9;border:1px solid var(--blue-dark);border-radius:6px;box-shadow:0 4px 0 #123573,0 7px 14px #36271E12;padding:15px 24px;font-weight:700;font-size:13px;transition:transform 220ms ease,box-shadow 220ms ease,background 220ms ease}
.woodland-preview .button:hover{background:var(--blue-dark);transform:translateY(-2px);box-shadow:0 6px 0 #123573,0 10px 18px #36271E20;color:#FFF9E9}
.woodland-preview .button:active{transform:translateY(2px);box-shadow:0 1px 0 #123573}
.woodland-preview .text-link{font-weight:600;color:var(--blue-dark);gap:24px}
.woodland-hero{background:#E9DBC5;border-bottom:1px solid #CEB893}
.woodland-art{max-width:1000px;margin:0 auto;background:#68492F}
.woodland-art img{width:100%;height:auto;object-fit:contain}
.woodland-hero{background:linear-gradient(90deg,#493323,#755439 50%,#493323)}
.woodland-welcome{max-width:none;background:var(--paper);display:grid;grid-template-columns:1.5fr 1fr;gap:7%;align-items:center;padding-block:34px 40px;padding-inline:max(var(--gutter),calc((100vw - 1288px)/2))}
.woodland-welcome h1{font-size:clamp(38px,4.2vw,62px);max-width:720px;margin-top:12px}
.woodland-welcome h1 em{white-space:nowrap}
.hero-actions{justify-self:end;display:grid;gap:18px}
.hero-actions p{font-size:14px;line-height:1.6}
.hero-actions .button{text-transform:uppercase;letter-spacing:.065em;width:max-content}
.product-ribbon{padding-block:45px 26px;background:#EDE2CD;background-image:url('grain.svg');border-bottom:1px solid var(--line);overflow:hidden}
.ribbon-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;max-width:1440px}
.ribbon-heading h2{font-size:clamp(28px,2.7vw,39px);margin-top:9px;letter-spacing:-.035em}
.ribbon-heading h2 em{white-space:nowrap}
.ribbon-controls{display:flex;gap:8px;align-items:center;flex-shrink:0}
.ribbon-controls button{min-height:44px;min-width:44px;padding:10px 13px;border:1px solid #A39175;border-radius:5px;background:#F9F2E4;color:#473625;font-size:12px}
.ribbon-controls button:hover{border-color:var(--blue);background:var(--gold-light);color:var(--blue-dark)}
.marquee-viewport{overflow-x:auto;overflow-y:hidden;padding:30px var(--gutter) 34px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#A49579 #EDE2CD}
.marquee-track{display:flex;width:max-content;align-items:stretch}
.marquee-group{display:flex;gap:24px;align-items:stretch;padding:0 24px 0 0;margin:0;list-style:none;flex-shrink:0}
.marquee-item{width:260px;flex:0 0 260px;position:relative}
.marquee-card{display:block;background:#FAF4E8;padding:9px 9px 0;border:1px solid #BDA98A;border-radius:8px;box-shadow:0 4px 0 #BCA17A,0 8px 18px #4C35181C;text-decoration:none;color:var(--blue-dark);transform-origin:center;transition:transform 280ms cubic-bezier(.2,.7,.2,1),box-shadow 280ms ease;position:relative}
.marquee-card .stachus-frame{border-radius:4px;background:#C5AD8B}
.marquee-card .stachus-frame>img{transition:none}
.marquee-label{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:15px 9px 16px;min-height:83px}
.marquee-label h3{font-size:21px;font-weight:700;line-height:1.2;color:var(--blue-dark)}
.marquee-label>span{font-size:12px;font-weight:600;color:#554324;grid-column:1}
@media(hover:hover) and (pointer:fine){.marquee-card:hover{transform:scale(1.06);z-index:2;box-shadow:0 6px 0 #B59B71,0 14px 26px #4C351832}.product-ribbon:has(.marquee-card:hover) .marquee-track{animation-play-state:paused}}
.marquee-card:focus-visible{outline:3px solid var(--blue);outline-offset:5px;z-index:2}
.product-ribbon.is-moving .marquee-viewport{overflow-x:hidden}
.product-ribbon.is-moving .marquee-track{animation:stachus-drift var(--marquee-duration,160s) linear infinite;animation-delay:var(--marquee-delay,0s);will-change:transform}
.product-ribbon.is-paused .marquee-track,.product-ribbon:has(.marquee-card:focus) .marquee-track,.product-ribbon.is-offscreen .marquee-track{animation-play-state:paused}
.product-ribbon:not(.is-moving):not(.is-measuring) [data-marquee-duplicate]{display:none}
@keyframes stachus-drift{to{transform:translateX(-50%)}}
.ribbon-foot{display:flex;justify-content:space-between;gap:20px;align-items:center;max-width:1440px}
.ribbon-foot .fine{color:#63523F}.ribbon-foot .text-link{font-size:12px}
.handmade-story{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;padding-block:100px;max-width:1300px}
.story-copy h2{font-size:clamp(38px,4vw,59px);margin:20px 0 27px}
.story-body>p{font-size:16px;max-width:410px}
.story-copy .text-link{margin-top:20px}
.story-photo{background:#ECDEC4;padding:13px;border:1px solid #BEA888;border-radius:8px;box-shadow:9px 10px 0 #D9C9A9}
.story-photo .stachus-frame{border-radius:3px}
.story-photo figcaption{display:flex;justify-content:space-between;gap:12px;padding:15px 3px 3px;font-size:11px;color:#61513D}
.story-photo figcaption a{color:var(--blue-dark)}
.shelf-feature{background:#3B3023;color:#F9EEDA;border-block:5px solid #6B7240;background-image:linear-gradient(115deg,#4F402C,transparent 70%)}
.shelf-inner{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center;padding-block:70px;max-width:1250px}
.shelf-inner figure{padding:10px;background:#8B6A46;border:1px solid #BA9361;border-radius:6px;box-shadow:0 10px 35px #150F0960}

.shelf-inner h2{font-size:clamp(46px,5vw,74px);margin:20px 0 28px}

.shelf-inner p:not(.eyebrow){max-width:360px;font-size:16px}
.feature-price{display:block;margin:25px 0 20px;color:var(--text-accent);font-weight:600}
.collection-invitation{text-align:center;padding-block:90px 100px}
.collection-invitation h2{font-size:clamp(42px,5vw,70px);margin:18px 0 24px}
.collection-invitation p{margin-inline:auto}.collection-invitation .button{margin-top:30px;text-transform:uppercase;letter-spacing:.065em}
.woodland-preview .site-footer{background:#30241C;color:#F3E7D0;border-top:5px solid #536339;padding-top:50px}
.woodland-preview .footer-brand{color:var(--text-heading);font-weight:700;font-size:28px;line-height:1.25}
.woodland-preview .footer-logo{width:150px;height:auto;margin-bottom:22px}

.woodland-preview .site-footer a:hover{color:var(--gold)}
.woodland-preview .footer-bottom{border-color:#79664C;color:#DACCB5}
.woodland-preview .footer-top{gap:5%;grid-template-columns:1.6fr 1fr 1fr;padding-bottom:40px}
/* Collection sample: keep the existing image crossfade and saved 4:5 framing. */
.woodland-preview.catalog-page .page-intro{padding-top:52px;padding-bottom:24px}
.woodland-preview.catalog-page .page-intro h1{font-size:clamp(50px,6vw,80px);}
.woodland-preview.catalog-page .gallery{gap:48px 32px;grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:80px}
.woodland-preview .exhibit{background:#FDF6E8;padding:10px;border:1px solid #C1AB87;border-radius:8px;box-shadow:0 4px 0 #CBB693,0 10px 22px #4A321613;transition:box-shadow 250ms ease}
.woodland-preview .exhibit:hover{box-shadow:0 4px 0 #B29B74,0 12px 25px #4A321625}
.woodland-preview .exhibit-stage{border-radius:4px}
.woodland-preview .exhibit-label{padding:0 7px 8px;margin-top:16px}
.woodland-preview .exhibit-label h2{font-weight:700;font-size:22px}
.woodland-preview .exhibit-label>span{color:#483815;background:var(--gold-light);font-weight:700;align-self:start;white-space:nowrap;padding:3px 8px;border-radius:4px}
.woodland-preview .gallery-note{grid-column:1/-1;padding:35px 0 0;border-top:3px solid #77854B;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:16px 10%}
.woodland-preview .gallery-note h2{grid-column:1;grid-row:2/4;margin:0;font-size:40px}.woodland-preview .gallery-note>p:not(.eyebrow){grid-column:2;grid-row:2}.woodland-preview .gallery-note .text-link{grid-column:2;justify-self:start}
/* Public product pages. The original selectors, gallery and purchase code remain intact. */
.woodland-preview.product-page .product-layout{gap:6%;grid-template-columns:1.05fr 1fr}
.woodland-preview .product-photo{padding:11px;background:#EADBC1;border:1px solid #BAA27F;border-radius:7px;box-shadow:6px 7px 0 #D6C3A3}
.woodland-preview .product-photo .stachus-frame{border-radius:3px}
.woodland-preview .product-copy h1{font-size:66px}
.woodland-preview .product-copy .material{color:#6B593F}
.woodland-preview .buy-block{background:#FFF8E9;border:1px solid #CDBB98;border-top:4px solid var(--gold);border-radius:6px;padding:22px;box-shadow:0 5px 16px #4E321010}
.woodland-preview .variant{border:1px solid #B7A788;border-radius:5px;background:#F8F0DF;padding:10px 14px;min-height:46px}
.woodland-preview .variant:has(input:checked){background:var(--blue);border:1px solid var(--blue-dark);color:#FFF4D3;padding:10px 14px;box-shadow:0 2px 0 #13366A}
.woodland-preview .variant:has(input:checked) input{accent-color:var(--gold)}
.woodland-preview .price-row strong{background:var(--gold-light);padding:2px 10px;border-radius:5px;color:#493510;font-weight:700}
.woodland-preview .quantity input{border-radius:4px;background:#FFFBF3}
.woodland-preview .photo-tools button,.woodland-preview .photo-thumbnails button{background:#FFF6E3;border-radius:4px}
.woodland-preview .photo-thumbnails button[aria-pressed=true]{border-color:var(--blue)}
.woodland-preview .photo-thumbnails img{border-radius:2px}
.woodland-preview .mobile-purchase{background:#FAF1DF;border-top:3px solid var(--gold);color:var(--blue-dark)}
/* Editorial pages, requests, cart and order/error states share the same quiet materials. */
.woodland-preview .page-intro h1{}
.woodland-preview .page-intro{padding-block:55px 48px}
.woodland-preview .prose-layout{gap:8%;padding-bottom:90px}
.woodland-preview .prose-layout .text-link{margin-right:24px}
.woodland-preview .stachus-frame{background:#DDCDB2}
.woodland-preview .prose-layout h2{font-weight:700;font-size:clamp(33px,3.3vw,46px)}
.woodland-preview .prose-layout .group-image{border-radius:7px;background:#E7D6B7;border:1px solid #BFA681;box-shadow:6px 7px 0 #D6C3A3;padding:35px 22px}
.woodland-preview .detail-photo{padding:20px!important;border:1px solid #BFA681;border-radius:7px;background:#E7D6B7;box-shadow:6px 7px 0 #D6C3A3}
.woodland-preview .notes-list section{border-color:var(--line)}
.woodland-preview .notes-list h3{font-weight:700;}
.woodland-preview .request-copy{border-top:3px solid #77854B;padding-top:25px}
.woodland-preview .request-form{background:#EEE0C6;border:1px solid #C8B087;border-top:5px solid var(--gold);border-radius:7px;box-shadow:0 5px 20px #4A321612}
.woodland-preview .field input,.woodland-preview .field textarea,.woodland-preview .field select{background:#FFFBF3;border:1px solid #AA9679;border-radius:5px;color:var(--ink)}
.woodland-preview .field{color:#493B29;font-weight:500}
.woodland-preview .contact-links a{color:var(--blue-dark)}
.woodland-preview .policy{max-width:1000px}
.woodland-preview .policy .page-intro{border-bottom:3px solid #77854B;margin-bottom:30px}
.woodland-preview .policy h2{font-size:32px;font-weight:700}
.woodland-preview .policy-notice,.woodland-preview .storage-note,.woodland-preview .nojs{background:#F6E5AE;border:1px solid #D6BA6B;border-radius:5px;color:#44341B}
.woodland-preview .cart-layout{grid-template-columns:1.25fr 1fr;gap:6%}
.woodland-preview .cart-item{padding:25px 0;border-color:#C6B594}
.woodland-preview .cart-thumb{padding:5px;background:#E9D9BD;border:1px solid #C1A47B;border-radius:5px}
.woodland-preview .cart-item h2{font-family:var(--sans);font-weight:700;}
.woodland-preview .cart-price{color:#473715;font-weight:600}
.woodland-preview .cart-summary{background:#EFE2C9;border:1px solid #C8B087;border-top:4px solid var(--gold);border-radius:7px;box-shadow:0 5px 20px #4A321612;padding:28px}
.woodland-preview .subtotal strong{color:var(--blue-dark)}
.woodland-preview .small-heading{font-family:var(--sans);font-size:23px;letter-spacing:-.02em}
.woodland-preview #checkout-availability,.woodland-preview #checkout-status:not(:empty){background:#FFF5D6;color:#534025;border:1px solid #D2B76C;border-radius:5px}


.woodland-preview .empty-cart{border-top:3px solid #77854B;padding-block:35px 60px}
.woodland-preview .empty-cart h2{font-size:34px}
.woodland-preview .order-result{color:#55412D}
.woodland-preview.page-confirmation main>.wrap{padding-bottom:75px}
.woodland-preview .site-footer{background:#30241C;border-top:5px solid #536339}
.woodland-preview .footer-links a{min-height:44px}
@media(min-width:1500px){.woodland-welcome{grid-template-columns:1.3fr 1fr}.woodland-art{max-width:1080px}}
@media(max-width:1050px){.ribbon-heading{align-items:start;flex-direction:column;gap:18px}.woodland-preview.catalog-page .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.woodland-preview .buy-block{padding:18px}.handmade-story,.shelf-inner{gap:7%}.woodland-welcome{grid-template-columns:1.5fr 1fr;gap:25px}}
@media(max-width:760px){.woodland-preview .header-inner{min-height:76px}.woodland-preview .brand img{width:118px}.woodland-preview .main-nav a{border-color:#796449}.woodland-preview .main-nav{padding-bottom:16px}.woodland-welcome{grid-template-columns:1fr;gap:23px;padding-block:27px 34px}.woodland-welcome h1{font-size:43px;max-width:530px}.woodland-welcome .eyebrow{font-size:10px;letter-spacing:.12em}.hero-actions{justify-self:start;gap:17px}.hero-actions p{font-size:14px}.woodland-art{width:100%}.product-ribbon{padding-top:30px}.ribbon-heading h2{font-size:30px}.ribbon-heading h2 em{white-space:normal}.ribbon-controls{gap:7px}.marquee-viewport{padding-block:25px 29px}.marquee-item{width:220px;flex-basis:220px}.marquee-group{gap:18px;padding-right:18px}.marquee-label{padding:14px 4px;min-height:78px}.marquee-label h3{font-size:20px}.ribbon-foot{flex-direction:column;align-items:flex-start;gap:6px}.ribbon-foot .fine{font-size:12px}.handmade-story{grid-template-columns:1fr;padding-block:65px;gap:38px}.story-copy h2{font-size:43px}.story-body>p{font-size:15px}.story-photo{max-width:480px;width:100%}.story-photo figcaption{font-size:10px}.shelf-inner{grid-template-columns:1fr;padding-block:45px;gap:40px}.shelf-inner figure{max-width:480px;width:100%}.shelf-inner h2{font-size:53px}.collection-invitation{padding-block:60px 70px}.woodland-preview .footer-top{grid-template-columns:1fr 1fr;gap:30px}.woodland-preview .footer-brand{font-size:27px}.woodland-preview .footer-top>div:first-child{grid-column:1/-1}.woodland-preview .footer-logo{width:135px}.woodland-preview.catalog-page .gallery{gap:30px 16px}.woodland-preview .exhibit{padding:7px}.woodland-preview .exhibit-label{padding-inline:3px;gap:7px}.woodland-preview .exhibit-label h2{font-size:19px}.woodland-preview .gallery-note{display:block;padding:30px 0 0}.woodland-preview .gallery-note h2{margin:14px 0 18px}.woodland-preview .gallery-note .text-link{margin-top:15px}.woodland-preview.product-page .product-layout{grid-template-columns:1fr;gap:35px}.woodland-preview .product-copy h1{font-size:56px}.woodland-preview .product-photo{padding:9px;box-shadow:4px 5px 0 #D6C3A3}.woodland-preview .buy-block{padding:18px}.woodland-preview .product-copy{padding-top:0}}
@media(max-width:460px){.woodland-preview.catalog-page .gallery{grid-template-columns:1fr;gap:32px}.woodland-preview .exhibit-label{flex-direction:row}.woodland-welcome h1{font-size:39px}.woodland-preview .buy-line{flex-wrap:wrap}.woodland-preview .buy-line .button{flex-basis:100%}.story-photo figcaption{flex-wrap:wrap}.ribbon-heading h2{font-size:29px}.woodland-preview .header-inner{gap:14px}}
@media(prefers-reduced-motion:reduce){.product-ribbon .marquee-track{animation:none!important;transform:none!important}.product-ribbon .marquee-viewport{overflow-x:auto!important}.product-ribbon [data-marquee-duplicate]{display:none!important}.woodland-preview .button,.marquee-card{transition:none;transform:none}.woodland-preview .stachus-frame>img{transform:translate(calc(var(--frame-x,0)*100%),calc(var(--frame-y,0)*100%)) scale(var(--frame-zoom,1)) rotate(calc(var(--frame-rotation,0)*1deg))!important}}
@media(max-width:760px){.woodland-preview .cart-layout{grid-template-columns:1fr}.woodland-preview .cart-summary{padding:22px}.woodland-preview .page-intro{padding-block:38px}.woodland-preview .prose-layout{padding-bottom:65px}.woodland-preview .detail-photo{height:auto!important;aspect-ratio:4/5}.woodland-preview .request-form{padding:22px}.woodland-preview .policy h2{font-size:28px}}

/* Product choices precede secondary copy. Saved photo framing stays at 4:5. */
.woodland-preview.product-page .product-layout{grid-template-areas:"photo heading" "photo copy";grid-template-rows:auto 1fr;column-gap:6%;row-gap:0}
.woodland-preview .product-heading{grid-area:heading;padding-top:12px;padding-bottom:18px}
.woodland-preview .product-heading h1{font-size:clamp(48px,5vw,66px);margin-top:12px;overflow-wrap:anywhere}
.woodland-preview .product-photo{grid-area:photo;min-width:0}
.woodland-preview .product-copy{grid-area:copy;min-width:0;padding-top:0}
.woodland-preview .buy-block{margin-top:0;scroll-margin-top:18px}
.woodland-preview .buy-block .price-row{margin-bottom:7px}
.woodland-preview #selected-variant{margin:0 0 20px;font-weight:600;color:var(--blue-dark)}
.woodland-preview .buy-block legend{font-weight:700;font-size:14px;width:100%;margin-bottom:9px}
.woodland-preview .measurement-key{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:2px}
.woodland-preview .variants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.woodland-preview .variant,.woodland-preview .variant:has(input:checked){padding:11px 10px;min-height:50px;line-height:1.35;min-width:0}
.woodland-preview .variant input{flex-shrink:0;margin:0}
.woodland-preview .variant-label{min-width:0;font-weight:600;overflow-wrap:anywhere}
.woodland-preview .variant-label small{display:block;font-size:11px;font-weight:400;margin-top:5px;line-height:1.5}
.woodland-preview .variant:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:3px}
.woodland-preview .variant:has(input:disabled),.woodland-preview .variant:has(input:disabled):hover,.woodland-preview .variant:has(input:disabled):active{opacity:1;cursor:not-allowed;color:#595959;background:#E5E3DE;border-color:#A3A09A;box-shadow:none;transform:none}
.woodland-preview .variant:has(input:disabled) input{cursor:not-allowed;accent-color:#595959}
.woodland-preview [data-option-availability]{font-style:normal}
.woodland-preview .selection-measurements{display:grid;gap:2px;font-size:12px;line-height:1.5;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}
.woodland-preview .product-description{margin-block:20px 28px}
.woodland-preview [data-gallery]{touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.woodland-preview [data-gallery] img{-webkit-user-drag:none}
[data-variant-pending] .product-photo,[data-variant-pending] .product-copy,[data-variant-pending] .mobile-purchase{visibility:hidden!important}
.variant-load-error{padding:20px;background:var(--gold-light);margin-bottom:20px}
@media(max-width:760px),(hover:none){.catalog-page [data-collection-caption]{display:none}}
@media(max-width:760px){
 .woodland-preview.product-page .product-layout{grid-template-areas:"heading" "photo" "copy";grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:18px}
 .woodland-preview.product-page .breadcrumbs{padding-block:16px}
 .woodland-preview .product-heading{padding:0}
 .woodland-preview .product-heading .eyebrow{display:none}
 .woodland-preview .product-heading h1{font-size:42px;margin:0}
 .woodland-preview .product-photo{padding:8px;box-shadow:3px 4px 0 #D6C3A3}
 .woodland-preview.product-page .product-stage.catalog-photo.stachus-frame{width:min(100%,272px,calc(42svh * .8));height:auto;aspect-ratio:4/5;margin-inline:auto;padding:0}
 .woodland-preview .product-photo .photo-thumbnails{display:none}
 .woodland-preview .product-photo .photo-tools{margin-top:5px;gap:7px;flex-wrap:nowrap}
 .woodland-preview .photo-tools button{min-width:44px;min-height:44px}
 .woodland-preview .photo-tools a{margin-left:auto;min-height:44px;display:flex;align-items:center;font-size:11px}
 .woodland-preview .product-photo figcaption{font-size:11px;margin-top:3px;line-height:1.45}
 .woodland-preview .buy-block{padding:16px}
 .woodland-preview .buy-block fieldset{margin-bottom:16px}
 .woodland-preview #selected-variant{margin-bottom:16px}
 .woodland-preview .mobile-purchase{display:flex;flex-direction:column;align-items:stretch;gap:5px;padding:5px var(--gutter) calc(12px + env(safe-area-inset-bottom));box-shadow:0 -5px 20px #36271E18}
 .woodland-preview .mobile-purchase .button{width:100%;min-height:50px;padding:12px 14px;font-size:14px}
 .woodland-preview .mobile-selection{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;font-size:11px;line-height:1.4;text-decoration:none}
 .woodland-preview .mobile-change{text-decoration:underline;flex-shrink:0;font-weight:700}
 .woodland-preview .mobile-cart-status{font-size:12px;margin:7px 0 0}
 .woodland-preview.product-page{padding-bottom:130px}
 .woodland-preview .buy-line{flex-wrap:nowrap}
 .woodland-preview .buy-line .button{flex-basis:auto;padding-inline:12px;gap:8px}
 .woodland-preview .quantity{gap:6px}
 .woodland-preview .quantity input{width:52px}
}
@media(max-width:350px){
 .woodland-preview.product-page{--gutter:16px}
 .woodland-preview .variant,.woodland-preview .variant:has(input:checked){padding:10px 8px;gap:6px;font-size:12px}
 .woodland-preview .variant-label small{font-size:10px}
 .woodland-preview .buy-block{padding:13px}
 .woodland-preview .price-row{gap:10px}
}

/* Cart feedback and the customer receipt share the woodland storefront palette. */
.shop-dialog{color:var(--ink,#173c31);background:#fffaf0;border:1px solid #d8c9ab;border-radius:20px;padding:32px;max-width:520px;width:calc(100% - 32px);max-height:90dvh;overflow:auto;box-shadow:0 24px 90px #142c2866;animation:shop-enter .18s ease-out}
.shop-dialog::backdrop{background:#142b29aa}.shop-dialog h2{font-size:32px;margin:0 0 24px;line-height:1.15}.dialog-actions{display:grid;gap:12px;margin-top:24px}.dialog-actions .button{white-space:normal;text-align:center;justify-content:center;min-height:48px}.added-item{display:flex;align-items:center;gap:20px}.added-item img{width:88px;height:105px;object-fit:contain;background:#e4ddc9;border-radius:10px}.added-item p{font-size:16px;margin:5px 0}.added-item strong{font-size:22px}.added-item>div{min-width:0;overflow-wrap:anywhere}
#keep-shopping{margin:24px 0}.empty-cart .button{margin-top:16px}.receipt-heading{display:flex;align-items:center;gap:16px;margin-bottom:24px}.receipt-check{background:#205740;color:white;border-radius:50%;width:48px;height:48px;display:grid;place-items:center;font-size:27px;flex-shrink:0}.order-result{max-width:850px;margin:0 auto 70px;padding:36px;border:1px solid #dbcfb9;border-radius:20px;background:#fffdf6;box-shadow:0 14px 45px #183a2810}.receipt-items{list-style:none;padding:0;margin:24px 0}.receipt-items li{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid #ded6c4}.receipt-items li span{overflow-wrap:anywhere;min-width:0}.receipt-items strong{white-space:nowrap}.receipt-totals{display:grid;grid-template-columns:1fr auto;gap:12px}.receipt-totals dd{margin:0;text-align:right}.receipt-totals dt:last-of-type,.receipt-totals dd:last-child{font-size:23px;font-weight:700;border-top:1px solid #d8c9ab;padding-top:16px}.receipt-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid #ddd1b9;margin:24px 0;padding-top:20px}.receipt-details p{overflow-wrap:anywhere}.receipt-address{white-space:pre-line}.receipt-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.receipt-actions .button{white-space:normal;text-align:center}.page-confirmation .page-intro{max-width:850px;margin:auto}
@keyframes shop-enter{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:600px){.shop-dialog{padding:24px;border-radius:20px 20px 0 0;margin:auto 0 0;width:100%;max-width:none;max-height:88dvh}.shop-dialog h2{font-size:28px}.order-result{padding:20px;border-radius:14px}.receipt-details{grid-template-columns:1fr}.receipt-actions{display:grid}.receipt-items li{font-size:15px;gap:12px}.receipt-totals{font-size:15px}.receipt-totals dt:last-of-type,.receipt-totals dd:last-child{font-size:20px}.empty-cart h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){.shop-dialog{animation:none}}
@media print{body{background:white!important;color:#111!important}.site-header,.site-footer,.storage-note,.receipt-actions,.page-intro,main>.wrap>.text-link{display:none!important}.order-result{margin:0;padding:0;border:0;box-shadow:none;max-width:none}.receipt-check{background:none;color:#111;border:1px solid}.receipt-items li{break-inside:avoid}a{color:inherit;text-decoration:none}}
.free-shipping-progress{padding:14px 16px;border-radius:10px;background:#e7edda;color:#26452c;font-weight:600}.free-shipping-progress:empty{display:none}

@media(max-width:380px){#shipping-form .field-pair{grid-template-columns:1fr}}

/* Repeatable type and CTA roles. Gold/cream are the inverse palette on dark wood. */
.woodland-preview :is(h1,h2,h3,h4){color:var(--text-heading)}
.woodland-preview :is(h1,h2) em{color:var(--text-accent)}
.woodland-preview :is(.shelf-feature,.site-footer){--text-heading:var(--text-on-dark);--text-kicker:var(--text-accent-on-dark);--text-accent:var(--text-accent-on-dark)}
.woodland-preview .eyebrow{color:var(--text-kicker)}
.woodland-preview .button{min-height:48px;text-transform:none;letter-spacing:normal}
.woodland-preview .button-outline{background:transparent;color:var(--blue-dark);border:1px solid currentColor;box-shadow:none}
.woodland-preview .button-outline:hover{background:var(--gold-light);color:var(--blue-dark);box-shadow:none}
.woodland-preview .button:focus-visible{outline:3px solid var(--focus);outline-offset:5px}
.woodland-preview .button:disabled{transform:none;box-shadow:none;cursor:not-allowed}
.woodland-preview .collection-intro-note{margin:0 0 36px}
.woodland-preview .page-intro h1{margin-top:0}
.woodland-preview .menu-toggle{align-items:center;gap:8px;min-height:44px}
.menu-icon{width:20px;height:16px;display:inline-flex;flex-direction:column;justify-content:space-between;position:relative}
.menu-icon span{height:2px;width:100%;background:currentColor;transform-origin:center;transition:transform .18s ease,opacity .18s ease}
.menu-toggle[aria-expanded=true] .menu-icon span:first-child{transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-icon span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded=true] .menu-icon span:last-child{transform:translateY(-7px) rotate(-45deg)}
.woodland-preview.page-workshop .notes-list{display:grid;gap:0;margin-block:28px}
.woodland-preview.page-workshop .notes-list section{padding-block:28px;margin:0;display:grid;gap:12px}
.woodland-preview.page-workshop .notes-list :is(p,h3){margin:0}
.woodland-preview.page-workshop .notes-list h3{font-size:23px;line-height:1.25}
.woodland-preview.page-workshop .notes-list p:not(.eyebrow){font-size:16px;line-height:1.65}
.woodland-preview.page-workshop .notes-list .eyebrow{font-size:12px;line-height:1.5}
.woodland-preview.page-workshop .prose-layout figure{margin:0}
.woodland-preview.page-workshop .prose-layout figcaption{margin-top:16px}
.free-shipping-progress{color:var(--text-success);background:#e7edda}
.receipt-check{background:var(--text-success);color:var(--white)}
@media(max-width:760px){
 .handmade-story{gap:24px}
 .story-copy{display:contents}
 .story-heading{grid-row:1}
 .story-photo{grid-row:2}
 .story-body{grid-row:3}
 .story-heading h2{font-size:clamp(34px,10vw,43px);margin:14px 0 0}
 .woodland-preview .cart-layout{row-gap:24px}
 .woodland-preview #keep-shopping{margin:20px 0 0}
 .woodland-preview #cart-status:empty{display:none}
 .woodland-preview #cart-status:not(:empty){margin:12px 0 0}
 .woodland-preview.page-workshop .notes-list section{padding-block:24px}
}
@media(prefers-reduced-motion:reduce){.menu-icon span{transition:none}}

/* Keep the shipping label and monetary amount intact on narrow cart screens. */
.page-view-cart .shipping-totals>div>span{flex:0 0 auto;max-width:48%;overflow-wrap:normal}
.page-view-cart .shipping-totals strong{min-width:0;overflow-wrap:normal}
.page-view-cart .shipping-totals>div:last-child strong{white-space:nowrap}

/* Checkout contact and optional consent remain separate from delivery details. */
#checkout-contact{margin:0 0 1.25rem;padding:0;border:0;min-width:0}
#checkout-contact legend{font-weight:700;margin-bottom:.75rem}
.marketing-choice{display:flex;align-items:flex-start;gap:.75rem;padding:.8rem 0;margin:.35rem 0 .65rem;min-height:44px;cursor:pointer;font-size:.95rem;line-height:1.5}
.marketing-choice input{flex:0 0 22px;width:22px;height:22px;margin:2px 0 0;accent-color:var(--forest,#24543b)}
.marketing-choice span{min-width:0}
.marketing-choice:focus-within{outline:3px solid #275bdb;outline-offset:4px;border-radius:4px}
.field-error{color:#8b271e;font-weight:600;font-size:.9rem;line-height:1.5}
#checkout-email[aria-invalid="true"]{border:2px solid #8b271e}

#checkout-button + .fine{margin-top:.8rem}
