@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--ink:#273630;--muted:#6f7770;--line:#d9d9cf;--accent:#8c5e47;--cream:#fffefa}*{box-sizing:border-box}body{margin:0;background:var(--site-bg,#f8f5ef);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:15px}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.16}h1{font-size:clamp(2.1rem,5vw,4rem)}h2{font-size:clamp(1.7rem,3vw,2.5rem)}h3{font-size:1.3rem}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button,.button{border:1px solid var(--ink);background:var(--ink);color:white;padding:.8rem 1.25rem;border-radius:2px;font:inherit;cursor:pointer;display:inline-block;text-align:center}button:hover,.button:hover{background:var(--accent);border-color:var(--accent);color:white}.ghost{background:transparent;color:var(--ink)}.text-button{border:0;background:none;color:var(--accent);padding:.3rem;box-shadow:none}.site-header{display:flex;justify-content:space-between;align-items:center;padding:1.1rem clamp(1rem,4vw,4rem);gap:1rem;background:rgba(255,254,250,.94);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{font-family:'Playfair Display',Georgia,serif;font-size:1.55rem}.brand img{max-height:52px;max-width:180px}.site-header nav{display:flex;align-items:center;gap:1.3rem}.site-header select{border:0;background:transparent;color:var(--ink);font:inherit}.sr{position:absolute;width:1px;height:1px;overflow:hidden}.hero{height:clamp(300px,48vw,650px);position:relative;background:#dbcbbb;overflow:hidden}.hero-slide{position:absolute;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}.hero-slide.active{opacity:1}.hero-empty{display:grid;place-items:center;height:100%;font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,5rem);color:#715d4e;background:radial-gradient(circle at 25% 30%,#f4eadc,#d1beac)}.intro{text-align:center;padding:4rem 1rem 3rem}.intro h1{margin:.5rem 0}.intro p,.muted{color:var(--muted)}.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--accent)}.content{max-width:1280px;margin:auto;padding:3rem clamp(1rem,4vw,4rem)}.content.narrow{max-width:860px;min-height:50vh}.section-heading{margin-bottom:1.8rem}.category-grid,.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.5rem}.category-card{position:relative;min-height:230px;background:#d8c7b4;display:flex;align-items:end;overflow:hidden}.category-card img{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform .4s}.category-card:hover img{transform:scale(1.04)}.category-card span{position:relative;background:rgba(255,254,250,.9);margin:1rem;padding:.5rem 1rem;font-family:'Playfair Display';font-size:1.4rem}.product-card{background:var(--cream);padding:0 0 1.2rem;text-align:center}.product-card img,.photo-placeholder{width:100%;aspect-ratio:4/5;object-fit:cover;display:grid;place-items:center;background:#e5ddd1;font-size:4rem;color:#b39a82}.product-card h3{margin:1rem .75rem .4rem}.product-card p{margin:.5rem}.product-card button{margin:.5rem}.breadcrumbs{color:var(--muted)}.product-detail{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,5rem);padding-top:4rem}.gallery-main img{width:100%;max-height:650px;object-fit:contain;background:#eee8df}.thumbnails{display:flex;gap:.5rem;overflow:auto;margin-top:.8rem}.thumbnails button{padding:0;border:0;background:none;min-width:74px}.thumbnails img{width:74px;height:74px;object-fit:cover}.lead{font-size:1.1rem;color:var(--muted)}.price{font-size:1.5rem;margin:2rem 0}.buy-row{display:flex;gap:.7rem}.buy-row input{width:70px}.long-copy{margin-top:2rem;line-height:1.7}.cart-line{display:grid;grid-template-columns:72px 1fr auto auto;gap:1rem;align-items:center;border-bottom:1px solid var(--line);padding:1rem 0}.cart-line img{width:65px;height:65px;object-fit:cover}.cart-line input{width:58px;padding:.5rem}.cart-line p{margin:.2rem 0;color:var(--muted)}#cart-total{text-align:right;font-size:1.3rem;margin:1.5rem 0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}label{display:block}form label{font-weight:600;font-size:.9rem}input,textarea,select{font:inherit}form input:not([type=radio]),form textarea,dialog select{display:block;width:100%;padding:.75rem;margin:.35rem 0 1rem;border:1px solid var(--line);background:white;border-radius:2px}textarea{min-height:90px}fieldset{border:1px solid var(--line);margin:1rem 0;padding:1rem}.choice{padding:.5rem;display:flex;gap:.7rem;align-items:center}.choice small{color:var(--muted)}.steps{display:flex;justify-content:space-between;gap:.4rem;border-bottom:1px solid var(--line);padding:1rem 0;margin-bottom:1rem;color:var(--muted)}.payment{border:1px solid var(--line);padding:1rem;margin:1rem 0}.payment p{white-space:pre-line}.thank-you{text-align:center;padding-top:5rem}.notice{margin:1rem auto;padding:1rem;max-width:860px;background:#e7f1e8}.notice.error{background:#f8ded8}footer{border-top:1px solid var(--line);padding:2rem clamp(1rem,4vw,4rem);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:var(--muted)}footer div{display:flex;gap:1rem}footer small{width:100%}dialog{border:0;box-shadow:0 20px 80px #0004;padding:2rem;width:min(90vw,450px);background:var(--cream)}dialog::backdrop{background:#252e27a8}dialog small{display:block;color:var(--muted);margin-top:1rem}dialog a{text-decoration:underline}[hidden]{display:none!important}@media(max-width:700px){.site-header{flex-wrap:wrap}.site-header nav{width:100%;justify-content:space-between;gap:.4rem;font-size:.83rem}.content{padding:2rem 1rem}.product-detail{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.cart-line{grid-template-columns:60px 1fr auto;gap:.5rem}.cart-line>strong{grid-column:2/4;text-align:right}.steps{font-size:.7rem}.category-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.category-card{min-height:170px}.product-card h3{font-size:1.05rem}.product-card button{padding:.6rem .4rem;font-size:.8rem}}
