
:root{--red:#b30000;--gold:#b8860b;--bg:#ffffff;--muted:#ffe8e8;--card1:#fff5f5;--card2:#ffecec;--card3:#ffe3e3;--shadow:0 6px 18px rgba(0,0,0,.08);--radius:18px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0;background:var(--bg);color:#111;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
a{color:inherit;text-decoration:none}
.container{max-width:980px;margin:0 auto;padding:12px}
header{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:1px solid #f2f2f2;display:flex;align-items:center;justify-content:space-between;padding:10px 12px}
.brand{display:flex;align-items:center;gap:10px}
.brand .logo{width:36px;height:36px;border-radius:50%;background:var(--red);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;box-shadow:var(--shadow)}
.brand .title{font-weight:800;letter-spacing:1px;color:var(--red)}
.nav-actions{display:flex;align-items:center;gap:10px}
.icon-btn{border:none;background:var(--red);color:#fff;padding:10px 12px;border-radius:999px;box-shadow:var(--shadow);font-weight:700}
.icon-btn.secondary{background:#fff;color:var(--red);border:1px solid var(--red)}
.mobile-drawer{position:fixed;inset:0;display:none;background:rgba(0,0,0,.35)}
.mobile-drawer.open{display:block}
.mobile-drawer .panel{position:absolute;right:0;top:0;bottom:0;width:80%;max-width:380px;background:#fff;padding:16px;overflow:auto;border-top-left-radius:16px;border-bottom-left-radius:16px}
footer{background:#fff;border-top:1px solid #f2f2f2;margin-top:24px}
footer .container{padding:18px 12px;font-size:14px;color:#444}
h1,h2,h3{color:var(--red);margin:10px 0} h1{font-size:26px} h2{font-size:22px} h3{font-size:18px}
.card{background:var(--card1);border:1px solid #ffdcdc;padding:12px;border-radius:var(--radius);box-shadow:var(--shadow);margin:12px 0}
.grid{display:grid;gap:12px} .grid.cols-2{grid-template-columns:1fr 1fr} .grid.cols-3{grid-template-columns:1fr 1fr 1fr}
@media (min-width:720px){.grid.cols-2{grid-template-columns:1fr 1fr}.grid.cols-3{grid-template-columns:1fr 1fr 1fr}}
.btn{display:inline-block;background:var(--red);color:#fff;border:none;border-radius:999px;padding:12px 16px;font-weight:700;box-shadow:var(--shadow)}
.btn.ghost{background:#fff;color:var(--red);border:1px solid var(--red)} .btn.block{width:100%;text-align:center}
.thumb-strip{display:flex;gap:8px;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
.thumb{min-width:140px;max-width:140px;aspect-ratio:1;border-radius:12px;background:#fff;border:1px solid #eee;overflow:hidden;scroll-snap-align:start}
.thumb img{width:100%;height:100%;object-fit:cover}
.carousel{position:relative;overflow:hidden;border-radius:16px;border:1px solid #ffdcdc;background:#fff}
.carousel-track{display:flex;gap:8px;animation:slide 18s linear infinite;padding:8px}
.carousel .item{min-width:160px;aspect-ratio:1;border-radius:12px;border:1px solid #eee;overflow:hidden}
.carousel .item img{width:100%;height:100%;object-fit:cover}
@keyframes slide {from{transform:translateX(0)} to{transform:translateX(-50%)}}
.product-card{background:var(--card2);border:1px solid #ffd1d1;border-radius:16px;padding:10px;display:flex;flex-direction:column;gap:8px}
.product-card img{width:100%;height:auto;border-radius:12px}
.product-card .name{font-weight:700}
.price{color:var(--gold);font-weight:800}
.hero-bloom{pointer-events:none;position:fixed;inset:0;overflow:hidden;z-index:0}
.bloom{position:absolute;top:-5vh;animation:fall 9s linear infinite;opacity:.9}
@keyframes fall {0% {transform:translateY(-10vh) rotate(0deg)}100% {transform:translateY(120vh) rotate(360deg)}}
.badge{display:inline-block;background:#fff;color:var(--red);border:1px dashed var(--red);padding:4px 8px;border-radius:999px;font-size:12px;font-weight:700}
.form-row{display:grid;gap:8px;margin:8px 0}
label{font-size:14px;color:#444}
input,select,textarea{width:100%;padding:12px;border:1px solid #ffd1d1;border-radius:12px;background:#fff}
.summary{background:var(--card3);border:1px solid #ffc4c4;border-radius:16px;padding:12px}
.kv{display:flex;justify-content:space-between;padding:6px 0} .kv strong{color:#000}
.total{font-size:18px;color:var(--red);font-weight:800}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;padding:16px;z-index:10000}
.modal.open{display:flex}
.modal .content{background:#fff;border-radius:16px;max-width:520px;width:100%;padding:16px;box-shadow:var(--shadow)}
.modal .content h3{margin-top:0}
.product-top{display:flex;flex-direction:column;gap:10px}
.product-main{width:100%;border:1px solid #eee;border-radius:12px;overflow:hidden}
.product-main img{width:100%;height:auto}
.variants{display:grid;gap:8px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:8px 10px;border:1px solid #ffd1d1;border-radius:999px;background:#fff}
.chip.selected{background:var(--red);color:#fff;border-color:var(--red)}
.small{font-size:12px;color:#666}

/* Toast for coupon applied */
.toast{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);background:#111;color:#fff;padding:10px 14px;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .25s, transform .25s;box-shadow:0 6px 18px rgba(0,0,0,.18);z-index:99999}
.toast.show{opacity:1;transform:translateX(-50%) translateY(-4px)}

/* Enforce link style (no underline, inherit color) */
a, a:visited, a:hover, a:active { text-decoration:none; color:inherit; }
