@import url('https://fonts.googleapis.com/css2?family=Abril+Fatface&family=Schibsted+Grotesk:wght@400;500;600;700&display=swap');
:root{--color-bg:#DCDFD8;--color-surface:#F5FAFD;--color-text:#212716;--color-primary:#2A2E24;--color-accent:#91C62F;--color-muted:#787F6C;--font-head:'Abril Fatface',serif;--font-body:'Schibsted Grotesk',sans-serif;--radius:0px;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--container:1200px;--border:2px solid var(--color-primary);--shadow-rivet:0 0 0 1px var(--color-primary),0 0 0 3px var(--color-surface),0 0 0 4px var(--color-primary)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit;background:transparent;border:none;border-radius:var(--radius)}
button{cursor:pointer}
.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--space-4)}
.announcement-bar{background:var(--color-primary);color:var(--color-surface);text-align:center;padding:var(--space-2) var(--space-4);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}
.site-header{position:sticky;top:0;z-index:100;background:var(--color-surface);border-bottom:var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-block:var(--space-3)}
.brand{font-family:var(--font-head);font-size:2rem;line-height:1;color:var(--color-primary)}
.nav-toggle{display:none;background:none;border:1px solid var(--color-primary);padding:.5rem;line-height:1}
.nav-toggle span{display:block;width:1.5rem;height:2px;background:var(--color-primary);margin:.3rem 0;transition:.2s}
.nav-links{display:flex;gap:var(--space-4);list-style:none;align-items:center}
.nav-links a{font-weight:500;text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;padding:.25rem 0;border-bottom:2px solid transparent;transition:.2s}
.nav-links a:hover{border-color:var(--color-accent);color:var(--color-accent)}
.cart-toggle{display:flex;align-items:center;gap:var(--space-2);background:var(--color-primary);color:var(--color-surface);padding:.5rem 1rem;text-transform:uppercase;font-size:.8rem;letter-spacing:.05em;border-radius:var(--radius)}
.cart-toggle:hover{background:var(--color-accent);color:var(--color-primary)}
.hero{padding:var(--space-6) 0;display:grid;grid-template-columns:1fr;gap:var(--space-5)}
.hero-headline{font-family:var(--font-head);font-size:clamp(3rem,8vw,6rem);line-height:1.05;color:var(--color-primary);letter-spacing:-.02em;max-width:900px}
.hero-sub{font-size:1.1rem;color:var(--color-muted)}
.hero-image{width:100%;aspect-ratio:4/3;object-fit:cover;border:var(--border);background:var(--color-surface);margin-top:var(--space-4)}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);padding:var(--space-5) 0}
.product-card{position:relative;background:var(--color-surface);border:var(--border);transition:.2s;overflow:hidden}
.product-card:hover{transform:translateY(-3px);box-shadow:0 10px 20px rgba(42,46,36,.15)}
.product-image{position:relative;aspect-ratio:1;overflow:hidden;background:var(--color-bg)}
.product-image img{width:100%;height:100%;object-fit:cover;transition:.3s}
.product-card:hover .product-image img{transform:scale(1.03)}
.quick-add{position:absolute;bottom:0;left:0;right:0;background:var(--color-primary);color:var(--color-surface);text-align:center;padding:.75rem;transform:translateY(100%);transition:.3s;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}
.product-card:hover .quick-add{transform:translateY(0)}
.product-info{padding:var(--space-3)}
.product-name{font-family:var(--font-head);font-size:1.3rem;color:var(--color-primary)}
.product-price{font-weight:600;color:var(--color-muted);margin-top:var(--space-1)}
.badge{position:absolute;top:var(--space-2);left:var(--space-2);background:var(--color-accent);color:var(--color-primary);padding:.25rem .75rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;z-index:2}
.badge.sale{background:#e74c3c;color:#fff}
.add-to-cart-btn{display:block;width:100%;background:var(--color-primary);color:var(--color-surface);padding:.75rem;text-align:center;font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:.05em;border:2px solid var(--color-primary);transition:.2s;margin-top:var(--space-2)}
.add-to-cart-btn:hover{background:var(--color-accent);color:var(--color-primary);border-color:var(--color-accent)}
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);padding:var(--space-5) 0}
.gallery{position:relative}
.gallery-main{width:100%;aspect-ratio:1;object-fit:cover;border:var(--border);background:var(--color-surface)}
.thumbnails{display:flex;gap:var(--space-2);margin-top:var(--space-2)}
.thumbnails img{width:80px;height:80px;object-fit:cover;border:2px solid transparent;cursor:pointer}
.thumbnails img.active{border-color:var(--color-accent)}
.product-meta{position:sticky;top:100px;align-self:start}
.product-title{font-family:var(--font-head);font-size:2.5rem;line-height:1.1;color:var(--color-primary)}
.product-price-lg{font-size:1.4rem;font-weight:600;color:var(--color-muted);margin:var(--space-2) 0}
.variant-swatches{display:flex;gap:var(--space-2);margin:var(--space-3) 0}
.swatch{width:32px;height:32px;border:2px solid var(--color-primary);cursor:pointer;transition:.2s}
.swatch.active{outline:2px solid var(--color-accent);outline-offset:2px}
.qty-stepper{display:flex;align-items:center;border:var(--border);width:fit-content}
.qty-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);font-size:1.2rem;font-weight:700}
.qty-input{width:50px;text-align:center;font-weight:600;border-left:2px solid var(--color-primary);border-right:2px solid var(--color-primary);height:40px}
.add-to-cart-lg{width:100%;background:var(--color-primary);color:var(--color-surface);padding:1rem;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;border:2px solid var(--color-primary);margin-top:var(--space-3);transition:.2s}
.add-to-cart-lg:hover{background:var(--color-accent);color:var(--color-primary);border-color:var(--color-accent)}
.material-story{padding:var(--space-5) 0;border-top:2px solid var(--color-muted)}
#cart-drawer{position:fixed;inset:0;z-index:1000;display:none}
#cart-drawer.open{display:block}
.cart-backdrop{position:absolute;inset:0;background:rgba(33,39,22,.5)}
.cart-panel{position:absolute;top:0;right:0;bottom:0;width:min(480px,90vw);background:var(--color-surface);border-left:var(--border);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s ease}
#cart-drawer.open .cart-panel{transform:translateX(0)}
.cart-head{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:var(--border)}
.cart-title{font-family:var(--font-head);font-size:1.8rem}
[data-cart-close]{background:none;font-size:1.8rem;line-height:1;padding:0 .2rem;cursor:pointer}
.cart-items{flex:1;overflow-y:auto;padding:var(--space-3)}
.cart-item{display:flex;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-muted)}
.cart-item-img{width:70px;height:70px;flex-shrink:0;background:var(--color-bg)}
.cart-item-img img{width:100%;height:100%;object-fit:cover}
.cart-item-details{flex:1}
.cart-item-title{font-weight:600}
.cart-item-price{color:var(--color-muted)}
.cart-item-actions{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1)}
.qty-btn-sm{width:28px;height:28px;border:1px solid var(--color-primary);background:var(--color-surface);line-height:1}
.cart-qty-value{font-weight:600;min-width:30px;text-align:center}
[data-cart-remove]{background:none;color:#e74c3c;font-size:.8rem;text-decoration:underline;cursor:pointer}
.cart-empty{padding:var(--space-5);text-align:center;color:var(--color-muted)}
.cart-empty a{text-decoration:underline;color:var(--color-primary)}
.cart-foot{padding:var(--space-4);border-top:var(--border);background:var(--color-bg)}
.cart-subtotal{display:flex;justify-content:space-between;font-size:1.2rem;font-weight:600;margin-bottom:var(--space-3)}
.cart-checkout-btn{display:block;width:100%;background:var(--color-primary);color:var(--color-surface);padding:.75rem;text-align:center;font-weight:600;text-transform:uppercase;font-size:.9rem;letter-spacing:.05em;border:2px solid var(--color-primary);margin-bottom:var(--space-2);transition:.2s}
.cart-checkout-btn:hover{background:var(--color-accent);color:var(--color-primary);border-color:var(--color-accent)}
.view-cart-link{display:block;text-align:center;color:var(--color-primary);border:2px solid var(--color-primary);padding:.75rem;text-transform:uppercase;font-size:.8rem;letter-spacing:.05em;transition:.2s}
.view-cart-link:hover{background:var(--color-primary);color:var(--color-surface)}
.checkout-page{background:var(--color-bg)}
.checkout-header{background:var(--color-surface);border-bottom:var(--border);padding:var(--space-3) var(--space-4);display:flex;justify-content:space-between;align-items:center}
.checkout-header .brand{font-size:1.5rem}
.checkout-main{max-width:var(--container);margin-inline:auto;padding:var(--space-5) var(--space-4);display:grid;grid-template-columns:1fr 380px;gap:var(--space-5)}
.checkout-form{background:var(--color-surface);border:var(--border);padding:var(--space-4)}
.express-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}
.express-btn{flex:1;padding:.6rem;text-align:center;font-weight:600;font-size:.8rem;border:2px solid var(--color-primary);transition:.2s}
.express-btn[data-express="paypal"]{background:#FFC439;color:#000;border-color:#FFC439}
.express-btn[data-express="apple"]{background:#000;color:#fff;border-color:#000}
.express-btn[data-express="google"]{background:#000;color:#fff;border-color:#000}
.or-divider{text-align:center;color:var(--color-muted);margin:var(--space-3) 0;position:relative}
.or-divider::before,.or-divider::after{content:"";position:absolute;top:50%;width:45%;height:1px;background:var(--color-muted)}
.or-divider::before{left:0}.or-divider::after{right:0}
.step{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-muted)}
.step-title{font-family:var(--font-head);font-size:1.5rem;margin-bottom:var(--space-2)}
.form-group{margin-bottom:var(--space-2)}
.form-group label{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-1)}
.form-input{width:100%;padding:.6rem;border:2px solid var(--color-primary);background:var(--color-bg);transition:.2s}
.form-input:focus{outline:none;border-color:var(--color-accent)}
.shipping-option{display:block;margin-bottom:var(--space-2);padding:var(--space-2);border:2px solid var(--color-muted);cursor:pointer}
.shipping-option input{margin-right:var(--space-2)}
.payment-fields{margin-top:var(--space-2)}
.billing-same{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-2) 0}
.checkout-submit{width:100%;background:var(--color-primary);color:var(--color-surface);padding:1rem;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;border:2px solid var(--color-primary);transition:.2s;margin-top:var(--space-3)}
.checkout-submit:hover{background:var(--color-accent);color:var(--color-primary);border-color:var(--color-accent)}
.checkout-summary{position:sticky;top:20px;align-self:start;background:var(--color-surface);border:var(--border);padding:var(--space-4)}
.summary-title{font-family:var(--font-head);font-size:1.5rem;margin-bottom:var(--space-3)}
.checkout-line-item{display:flex;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-muted);font-size:.9rem}
.checkout-line-item .item-title{flex:1}
.promo-row{display:flex;gap:var(--space-2);margin:var(--space-3) 0}
#promo-code{flex:1;padding:.5rem;border:2px solid var(--color-primary)}
[data-apply-promo]{background:var(--color-primary);color:var(--color-surface);padding:.5rem 1rem;border:2px solid var(--color-primary);transition:.2s}
[data-apply-promo]:hover{background:var(--color-accent);color:var(--color-primary);border-color:var(--color-accent)}
.summary-row{display:flex;justify-content:space-between;margin-bottom:var(--space-2);font-size:.95rem}
.summary-row.total{font-size:1.3rem;font-weight:700;border-top:2px solid var(--color-primary);padding-top:var(--space-2);margin-top:var(--space-2)}
[data-discount-row]{color:var(--color-accent);display:none}
.checkout-success{text-align:center;padding:var(--space-6);background:var(--color-surface);border:var(--border)}
.checkout-success h2{font-family:var(--font-head);font-size:2.5rem;margin-bottom:var(--space-3)}
.about-section,.contact-section,.policy-section{max-width:800px;margin:0 auto;padding:var(--space-5) var(--space-4)}
.prose{font-size:1rem;line-height:1.7}
.prose h1,.prose h2,.prose h3{font-family:var(--font-head);margin-bottom:var(--space-3)}
.prose p{margin-bottom:var(--space-3)}
.prose a{text-decoration:underline;color:var(--color-accent)}
.contact-form .form-group{margin-bottom:var(--space-3)}
.form-input.textarea{resize:vertical;min-height:120px}
.primary-btn{display:inline-block;background:var(--color-primary);color:var(--color-surface);padding:.75rem 1.5rem;border:2px solid var(--color-primary);text-transform:uppercase;font-size:.85rem;letter-spacing:.05em;transition:.2s}
.primary-btn:hover{background:var(--color-accent);color:var(--color-primary);border-color:var(--color-accent)}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
.footer{background:var(--color-primary);color:var(--color-surface);padding:var(--space-5) 0;margin-top:var(--space-6)}
.footer-inner{max-width:var(--container);margin-inline:auto;padding-inline:var(--space-4);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}
.footer-col h4{font-family:var(--font-head);font-size:1.2rem;margin-bottom:var(--space-2)}
.footer-col ul{list-style:none}
.footer-col a{color:var(--color-surface);opacity:.8;transition:.2s}
.footer-col a:hover{opacity:1;color:var(--color-accent)}
.footer-bottom{text-align:center;padding-top:var(--space-4);margin-top:var(--space-4);border-top:1px solid rgba(245,250,253,.2);font-size:.8rem;opacity:.7}
@media(max-width:768px){
.nav-toggle{display:block}
.nav-links{position:absolute;top:100%;left:0;right:0;background:var(--color-surface);flex-direction:column;align-items:stretch;padding:0;max-height:0;overflow:hidden;transition:max-height .3s ease;border-bottom:var(--border)}
.nav-links.open{max-height:400px;padding:var(--space-3)}
.nav-links li{width:100%}
.nav-links a{display:block;padding:var(--space-2) 0;border-bottom:1px solid var(--color-bg)}
.product-detail{grid-template-columns:1fr}
.product-meta{position:static}
.checkout-main{grid-template-columns:1fr}
.checkout-summary{position:static;order:-1}
.cart-panel{width:100vw}
}
@media(max-width:480px){
.hero-headline{font-size:3rem}
.product-grid{grid-template-columns:1fr}
.checkout-form{padding:var(--space-3)}
.express-row{flex-wrap:wrap}
.express-btn{min-width:48%}
}