@font-face{font-family:"Tan Nimbus";src:url("/static/fonts/tan-nimbus-webfont.woff2") format("woff2");font-display:swap}
:root{--shop-bg:#542F11;--shop-paper:#EFD6B8;--shop-muted:#d4b797;--shop-line:rgba(239,214,184,.38)}
*{box-sizing:border-box}
body.shop-page{margin:0;background:var(--shop-bg);color:var(--shop-paper);font-family:"Times New Roman",serif;min-height:100vh;padding-bottom:100px}
.shop-header{height:92px;padding:12px clamp(18px,5vw,76px);display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--shop-paper);position:sticky;top:0;background:var(--shop-bg);z-index:20}
.shop-logo img{height:62px;width:auto;display:block;filter:brightness(0) saturate(100%) invert(87%) sepia(13%) saturate(542%) hue-rotate(334deg) brightness(103%) contrast(91%)}
.shop-nav{display:flex;align-items:center;gap:clamp(18px,3vw,42px);font:1.05rem "Tan Nimbus",serif}
.shop-nav a{color:var(--shop-paper);text-decoration:none}
.shop-nav a.active{text-decoration:underline;text-underline-offset:8px}
.shop-main{width:min(1180px,90vw);margin:0 auto}
.shop-intro{text-align:center;padding:62px 0 42px}
.shop-kicker{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--shop-muted)}
.shop-intro h1{font:clamp(2.7rem,6vw,5rem)/1.1 "Tan Nimbus",serif;margin:12px 0}
.shop-intro p{max-width:580px;margin:14px auto 0;line-height:1.6;color:var(--shop-muted);font-size:1.05rem}
.shop-series{padding:30px 0 48px;border-top:1px solid var(--shop-line)}
.series-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px}
.series-heading h2{font:clamp(1.6rem,3vw,2.25rem) "Tan Nimbus",serif;margin:0}
.series-heading span{font-size:.78rem;letter-spacing:.16em;color:var(--shop-muted)}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.product-card{border:1px solid var(--shop-line);padding:15px;display:flex;flex-direction:column;min-width:0}
.product-image{width:100%;aspect-ratio:4/5;border:1px dashed rgba(239,214,184,.42);display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;color:var(--shop-muted);font:1rem "Tan Nimbus",serif;background:rgba(239,214,184,.035);cursor:pointer}
.product-image small{display:block;font: .72rem "Times New Roman",serif;letter-spacing:.12em;margin-top:9px}
.product-card h3{font:1.18rem/1.35 "Tan Nimbus",serif;margin:16px 0 7px;min-height:3.1em}
.product-price{font-size:1.02rem;margin:0 0 16px}
.product-actions{display:flex;gap:8px;margin-top:auto}
.product-actions button,.shop-button{border:1px solid var(--shop-paper);background:transparent;color:var(--shop-paper);padding:11px 13px;font: .92rem "Times New Roman",serif;cursor:pointer;transition:.2s}
.product-actions button:hover,.shop-button:hover{background:var(--shop-paper);color:var(--shop-bg)}
.product-actions .add-button{flex:1;background:var(--shop-paper);color:var(--shop-bg)}
.product-actions .add-button:hover{background:transparent;color:var(--shop-paper)}
.product-note{color:var(--shop-muted);font-size:.85rem;line-height:1.5;margin:0 0 16px}
.shop-footer{border-top:1px solid var(--shop-line);padding:30px 5vw;text-align:center;color:var(--shop-muted);font-size:.85rem}
.cart-bar{position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--shop-paper);color:var(--shop-bg);display:flex;align-items:center;justify-content:space-between;padding:14px clamp(18px,5vw,76px);box-shadow:0 -8px 30px rgba(0,0,0,.18)}
.cart-summary{display:flex;gap:24px;align-items:center}
.cart-summary strong{font:1.12rem "Tan Nimbus",serif}
.cart-summary span{font-size:.9rem}
.cart-bar .shop-button{background:var(--shop-bg);color:var(--shop-paper);border-color:var(--shop-bg);padding:13px 22px}
.cart-bar .shop-button:disabled{opacity:.45;cursor:not-allowed}
.shop-modal{position:fixed;inset:0;background:rgba(20,10,3,.72);z-index:60;display:none;align-items:center;justify-content:center;padding:18px}
.shop-modal.open{display:flex}
.modal-panel{background:var(--shop-paper);color:var(--shop-bg);width:min(760px,100%);max-height:92vh;overflow:auto;padding:clamp(20px,4vw,38px);position:relative}
.modal-close{position:absolute;right:18px;top:14px;border:0;background:none;color:inherit;font-size:1.7rem;cursor:pointer}
.modal-panel h2{font:clamp(1.7rem,4vw,2.5rem) "Tan Nimbus",serif;margin:4px 38px 20px 0}
.detail-placeholder{aspect-ratio:16/9;border:1px dashed rgba(84,47,17,.45);display:grid;place-items:center;text-align:center;color:rgba(84,47,17,.7);margin:14px 0}
.checkout-panel{width:min(880px,100%)}
.checkout-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px}
.checkout-form{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.checkout-form label{display:flex;flex-direction:column;gap:6px;font-size:.86rem}
.checkout-form label.full{grid-column:1/-1}
.checkout-form input,.checkout-form textarea{width:100%;border:1px solid rgba(84,47,17,.42);background:transparent;color:var(--shop-bg);padding:11px;font:1rem "Times New Roman",serif;border-radius:0}
.checkout-form textarea{min-height:78px;resize:vertical}
.checkout-form input:focus,.checkout-form textarea:focus{outline:2px solid rgba(84,47,17,.28)}
.delivery-options{grid-column:1/-1;border-top:1px solid rgba(84,47,17,.25);padding-top:12px}
.delivery-option{display:flex;gap:10px;align-items:flex-start;margin:12px 0;font-size:.92rem}
.delivery-option small{display:block;opacity:.72;margin-top:3px}
.order-summary{border-left:1px solid rgba(84,47,17,.25);padding-left:22px}
.order-summary h3{font:1.2rem "Tan Nimbus",serif;margin:0 0 14px}
.summary-line{display:flex;justify-content:space-between;gap:12px;margin:10px 0;font-size:.92rem}
.summary-line.total{border-top:1px solid rgba(84,47,17,.35);padding-top:14px;font-weight:bold;font-size:1.1rem}
.summary-items{max-height:220px;overflow:auto;border-bottom:1px solid rgba(84,47,17,.25);padding-bottom:8px}
.summary-item{display:flex;justify-content:space-between;gap:10px;margin:10px 0;font-size:.86rem}
.qty-controls{display:flex;align-items:center;gap:8px;margin-top:5px}
.qty-controls button{border:1px solid rgba(84,47,17,.4);background:transparent;color:var(--shop-bg);width:25px;height:25px;cursor:pointer}
.discount-note{font-size:.82rem;margin:12px 0;color:#41613a}
.checkout-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.checkout-actions .shop-button.primary{background:var(--shop-bg);color:var(--shop-paper)}
.checkout-actions .shop-button:disabled{opacity:.45;cursor:not-allowed}
.payment-status{min-height:24px;margin-top:12px;font-size:.9rem}
@media(max-width:760px){
 .shop-header{height:68px;padding:8px 16px}.shop-logo img{height:45px}.shop-nav{font-size:.9rem;gap:15px}
 .shop-main{width:calc(100% - 32px)}.shop-intro{padding:42px 0 30px}.shop-intro p{font-size:.95rem}
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .product-card{padding:9px}.product-card h3{font-size:1rem;min-height:4.1em;margin:11px 0 5px}
 .product-price{font-size:.92rem;margin-bottom:10px}.product-actions{flex-direction:column}
 .product-actions button{padding:10px 7px;font-size:.84rem}
 .series-heading{align-items:flex-end}.series-heading span{font-size:.65rem}
 .cart-bar{padding:10px 14px;gap:12px}.cart-summary{display:block}.cart-summary strong{display:block;font-size:1rem}.cart-summary span{font-size:.76rem}
 .cart-bar .shop-button{padding:12px 13px;font-size:.82rem;white-space:nowrap}
 .checkout-grid{grid-template-columns:1fr}.order-summary{border-left:0;border-top:1px solid rgba(84,47,17,.25);padding:18px 0 0}
 .checkout-form{grid-template-columns:1fr 1fr;gap:10px}.checkout-form input,.checkout-form textarea{font-size:.92rem;padding:9px}
 .modal-panel{padding:22px 16px}.checkout-panel{max-height:95vh}.shop-modal{padding:8px}
}
@media(max-width:420px){.product-grid{grid-template-columns:1fr 1fr}.checkout-form{grid-template-columns:1fr}.checkout-form label.full{grid-column:auto}.delivery-options{grid-column:auto}}
