:root{--bg:#fdf6f0;--card:#fff;--text:#2b1a12;--muted:#8a6d5c;--accent:#9c5a4c;--accent2:#d4a94c;--border:#eadfd6;}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--text);font-family:Georgia,'Times New Roman',serif;}
nav{position:sticky;top:0;z-index:5;background:var(--card);border-bottom:1px solid var(--border);padding:10px 16px;display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;}
nav .brand{font-size:1.3rem;color:var(--accent);font-weight:bold;text-decoration:none;margin-right:auto;}
nav a{color:var(--text);text-decoration:none;font-size:.9rem;}
nav a:hover{color:var(--accent);}
#cart-btn{position:relative;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 11px;font-size:1.05rem;cursor:pointer;}
#cart-count{position:absolute;top:-6px;right:-6px;background:var(--accent2);color:#2b1a12;border-radius:50%;width:20px;height:20px;font-size:.7rem;display:flex;align-items:center;justify-content:center;font-weight:bold;}
.page{max-width:720px;margin:0 auto;padding:20px 16px 40px;}
.page h1,.page h2{color:var(--accent);}
.box{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:14px;}
.page label{display:block;font-size:.8rem;color:var(--muted);margin:10px 0 4px;}
.page input,.page textarea{width:100%;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;}
.btn{display:inline-block;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:11px 18px;margin-top:14px;font:inherit;cursor:pointer;text-decoration:none;}
.btn.alt{background:transparent;color:var(--text);border:1px solid var(--border);}
.muted{color:var(--muted);font-size:.85rem;}
.msg{color:var(--accent);font-size:.85rem;margin-top:8px;}
.tabs{display:flex;gap:8px;margin-bottom:6px;}
.tabs button{flex:1;padding:10px;border:1px solid var(--border);background:var(--card);border-radius:8px;font:inherit;cursor:pointer;}
.tabs button.on{background:var(--accent);color:#fff;}
.order{border-bottom:1px solid var(--border);padding:10px 0;font-size:.9rem;}
.banner{background:linear-gradient(rgba(60,10,25,.45),rgba(60,10,25,.45)),url('banner.jpg') center/cover,linear-gradient(135deg,#9c5a4c,#7d1f35);min-height:200px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;text-align:center;padding:42px 18px;}
.banner h2{margin:0 0 8px;font-size:1.7rem;}
.banner p{margin:0 0 16px;opacity:.9;}
.banner a{background:var(--accent2);color:#2b1a12;padding:10px 20px;border-radius:8px;text-decoration:none;font-weight:bold;}
.chips{display:flex;gap:8px;overflow-x:auto;padding:14px 16px 0;max-width:900px;margin:0 auto;}
.chip{white-space:nowrap;border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:20px;padding:7px 14px;font:inherit;font-size:.85rem;cursor:pointer;}
.chip.on{background:var(--accent);color:#fff;border-color:var(--accent);}
footer{text-align:center;color:var(--muted);font-size:.8rem;padding:24px 16px;border-top:1px solid var(--border);}
footer a{color:var(--accent);}

.hero{background:#faeedd;text-align:center;padding:8px 16px 28px;}
.hero img{width:100%;max-width:560px;display:block;margin:0 auto;mix-blend-mode:multiply;}
.hero p{margin:0 0 14px;color:var(--muted);}
.hero a{background:var(--accent);color:#fff;padding:11px 24px;border-radius:8px;text-decoration:none;}

/* ===== Elegant theme overrides ===== */
:root{--bg:#faf3ea;--card:#fffdf9;--text:#3b2a25;--muted:#8c7468;--accent:#9c5a4c;--accent2:#b8975a;--border:#eadccb;}
body{font-family:'Jost',system-ui,sans-serif;letter-spacing:.01em;}
h1,h2,.brand,.info b,.price,.sheet h2{font-family:'Cormorant Garamond',Georgia,serif;}
nav{padding:14px 28px;background:rgba(255,253,249,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--accent2);gap:10px 26px;}
nav .brand{font-size:1.7rem;letter-spacing:.08em;font-weight:600;}
nav a:not(.brand){text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;}
#cart-btn{background:transparent;color:var(--accent);border:1px solid var(--accent2);border-radius:2px;}
#cart-count{background:var(--accent);color:#fff;}
.promo{background:#efe0c8;color:#6b4a3a;font-weight:400;letter-spacing:.06em;font-size:.8rem;}
.hero{background:var(--bg);}
.hero a,.btn,.primary{border-radius:2px;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;}
.sec{text-align:center;font-weight:500;font-size:2rem;margin:34px 0 0;letter-spacing:.06em;color:var(--text);}
.sec::after{content:"";display:block;width:60px;height:1px;background:var(--accent2);margin:10px auto 0;}
.chips{justify-content:center;flex-wrap:wrap;}
.chip{border-radius:2px;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;padding:8px 16px;}
.grid{gap:22px;}
.card{border-radius:3px;border:1px solid var(--border);box-shadow:0 8px 24px rgba(120,80,60,.06);transition:transform .25s,box-shadow .25s;}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(120,80,60,.12);}
.info{padding:14px 12px;text-align:center;align-items:center;}
.info b{font-size:1.15rem;font-weight:600;}
.desc{font-style:normal;font-size:.76rem;}
.price{font-size:1.2rem;font-weight:600;}
.book-btn{background:transparent;color:var(--accent);border:1px solid var(--accent);border-radius:2px;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;width:100%;transition:.2s;}
.book-btn:hover{background:var(--accent);color:#fff;}
.sheet{border-radius:6px 6px 0 0;}
.box{border-radius:4px;box-shadow:0 6px 20px rgba(120,80,60,.05);}
.page h1{font-weight:500;font-size:2.1rem;letter-spacing:.04em;}
footer{border-top:1px solid var(--accent2);letter-spacing:.08em;background:var(--card);}
.desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.thumb,.info b{cursor:pointer;}
.pd-main{aspect-ratio:3/4;max-height:55vh;width:100%;background:#e5d9cc center/cover;border-radius:3px;}
.pd-thumbs{display:flex;gap:8px;margin:10px 0;overflow-x:auto;}
.pd-t{width:56px;height:72px;flex:none;border-radius:3px;background:center/cover;border:2px solid transparent;cursor:pointer;opacity:.7;}
.pd-t.on{border-color:var(--accent);opacity:1;}
.pd-desc{white-space:pre-line;line-height:1.6;font-size:.92rem;}
.steps{display:flex;gap:4px;margin:8px 0}.stp{flex:1;text-align:center;font-size:.68rem;padding:5px 2px;background:var(--border);color:var(--muted);border-radius:2px}.stp.on{background:var(--accent);color:#fff}
