*{box-sizing:border-box}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:'Figtree',system-ui,sans-serif;line-height:1.5;-webkit-text-size-adjust:100%}
a{color:inherit}
img{max-width:100%}
h1,h2,h3,.logo,.logo2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:600;line-height:1.1;margin:0}
h1{font-size:clamp(2.2rem,7vw,3.6rem);color:var(--wine)}
h2{font-size:clamp(1.7rem,5vw,2.4rem);margin:0 0 16px}
h3{font-size:1.25rem}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
main.wrap{padding-top:24px;padding-bottom:24px;min-height:60vh}
.announce{background:var(--wine);color:#fff;text-align:center;font-size:.85rem;padding:8px 12px}
.top{position:sticky;top:0;z-index:20;background:rgba(251,246,238,.95);backdrop-filter:blur(6px);border-bottom:1px solid #0000000d}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px}
.logo{font-size:1.7rem;color:var(--wine);text-decoration:none}
.dnav{display:none;gap:18px;font-size:.92rem}
.dnav a,.icons a{text-decoration:none}
.dnav a:hover,.icons a:hover{opacity:.65}
.icons{display:flex;gap:12px;font-size:.88rem}
.mnav summary{cursor:pointer;list-style:none;font-size:.95rem;padding:8px 4px}
.mnav summary::-webkit-details-marker{display:none}
.mnav nav{position:absolute;left:0;right:0;top:100%;background:var(--ivory);padding:8px 16px 16px;border-bottom:1px solid #0000001a;display:grid;gap:2px}
.mnav nav a{padding:10px 0;text-decoration:none}
@media(min-width:900px){.dnav{display:flex}.mnav{display:none}}
.btn,button.btn{display:inline-block;background:var(--wine);color:#fff;border:0;border-radius:999px;padding:12px 24px;font:inherit;font-weight:500;cursor:pointer;text-decoration:none;text-align:center}
.btn.ghost{background:transparent;color:var(--wine);border:1.5px solid var(--wine)}
.btn.gold{background:var(--gold)}
.btn.sm{padding:8px 16px;font-size:.9rem}
.btn.dis{opacity:.45;cursor:not-allowed}
.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.flash{padding:12px 16px;border-radius:12px;margin-bottom:16px}
.flash.ok{background:#e4f3ea;color:#1d5a37}
.flash.err{background:#fbe4e2;color:#8a1c14}
.grid{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.grid.g4{grid-template-columns:repeat(4,1fr)}.grid.g3{grid-template-columns:repeat(3,1fr)}}
.card{position:relative;background:#fff;border-radius:18px;overflow:hidden;border:1px solid #0000000d;display:flex;flex-direction:column}
.imgwrap{display:block;position:relative}
.tile{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.tile.ph{display:flex;align-items:center;justify-content:center}
.tile.ph span{font-family:'Cormorant Garamond',Georgia,serif;font-size:4rem;color:#ffffffd9}
.badge{position:absolute;top:10px;left:10px;background:var(--gold);color:#fff;font-size:.75rem;padding:3px 9px;border-radius:99px}
.heart{position:absolute;top:8px;right:8px;margin:0}
.heart button{background:#ffffffe6;border:0;border-radius:50%;width:36px;height:36px;font-size:1.1rem;color:var(--wine);cursor:pointer}
.cbody{padding:12px 14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.cbody h3 a{text-decoration:none}
.cbody form,.cbody>.btn{margin-top:auto}
.price s{opacity:.5;font-size:.9rem;margin-left:4px}
.stars{font-size:.85rem;color:var(--gold)}
.stock{font-size:.8rem}
.stock.sin{color:#1d7a46}.stock.slow{color:var(--gold)}.stock.sout{color:#b3261e}
.hero{display:grid;gap:28px;padding:16px 0 36px;align-items:center}
@media(min-width:860px){.hero{grid-template-columns:1.1fr .9fr}}
.hero p{font-size:1.1rem;max-width:30rem;opacity:.85}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.tag{background:linear-gradient(160deg,var(--blush),#f7e7d0);border-radius:28px;min-height:340px;display:flex;justify-content:center;overflow:hidden}
.tag svg{transform-origin:top center;animation:sway 5s ease-in-out infinite}
@keyframes sway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@media(prefers-reduced-motion:reduce){.tag svg{animation:none}}
section.blk{padding:28px 0}
.cats{display:grid;gap:14px;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.cats{grid-template-columns:repeat(3,1fr)}}
.cat{background:#fff;border-radius:18px;overflow:hidden;border:1px solid #0000000d;text-decoration:none}
.cat .ph{aspect-ratio:16/9}
.cat div.t{padding:12px 14px}
.cat p{margin:2px 0 0;font-size:.85rem;opacity:.7}
.band{background:var(--wine);color:#fff;border-radius:24px;padding:36px 24px;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;margin:20px 0}
.band h2{color:#fff;margin:0;max-width:26rem}
.banner{background:var(--blush);border-radius:16px;padding:16px 20px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:10px}
.banner b{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.4rem}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:#fff;border:1px solid #00000026;border-radius:99px;padding:8px 16px;text-decoration:none;font-size:.92rem}
.chip:hover,.chip.on{border-color:var(--wine);color:var(--wine)}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input[type=date],input[type=time],input[type=search],select,textarea{width:100%;font:inherit;padding:11px 12px;border:1px solid #0000002e;border-radius:12px;background:#fff;color:inherit}
label.f{display:block;margin:0 0 12px;font-size:.9rem}
label.f>span{display:block;margin-bottom:4px;opacity:.75}
.two{display:grid;gap:0 12px}
@media(min-width:640px){.two{grid-template-columns:1fr 1fr}}
.filters{display:grid;gap:10px;margin:14px 0 20px}
@media(min-width:760px){.filters{grid-template-columns:2fr 1fr 1fr 1fr auto}}
.pd{display:grid;gap:26px}
@media(min-width:820px){.pd{grid-template-columns:1fr 1fr}}
.pd .main{border-radius:22px;overflow:hidden}
.thumbs{display:flex;gap:8px;margin-top:8px}
.thumbs img{width:64px;height:64px;object-fit:cover;border-radius:10px;cursor:pointer}
.opts{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}
.opts input{position:absolute;opacity:0;pointer-events:none}
.opts input:checked+span,.opts input:focus-visible+span{background:var(--wine);color:#fff;border-color:var(--wine)}
.opts label{cursor:pointer}
.opts label span{display:block;padding:8px 14px;border-radius:10px;border:1px solid #00000033;background:#fff;min-width:44px;text-align:center}
.box{background:#fff;border-radius:18px;padding:18px;border:1px solid #0000000d}
table.t{width:100%;border-collapse:collapse}
table.t th,table.t td{text-align:left;padding:10px 8px;border-bottom:1px solid #0000000f;vertical-align:top}
.sum{display:grid;gap:6px}
.sum div{display:flex;justify-content:space-between}
.sum .tot{font-size:1.2rem;font-weight:600;border-top:1px solid #0000001a;padding-top:8px}
.steps{list-style:none;padding:0;margin:20px 0}
.steps li{display:flex;gap:12px;align-items:center;padding:8px 0;opacity:.5}
.steps li.done{opacity:1}
.steps i{width:26px;height:26px;border-radius:50%;border:1px solid #0000004d;display:grid;place-items:center;font-style:normal;font-size:.8rem;background:#fff}
.steps li.done i{background:var(--wine);color:#fff;border-color:var(--wine)}
.review{background:#fff;border-radius:14px;padding:14px;border:1px solid #0000000d;margin-bottom:10px}
.prose p{margin:0 0 14px;font-size:1.05rem}
.prose h3{margin:22px 0 6px}
.foot{background:var(--wine);color:#f6e8ec;margin-top:40px;padding:36px 0 90px;font-size:.92rem}
.foot .cols{display:grid;gap:22px}
@media(min-width:760px){.foot .cols{grid-template-columns:1.3fr 1fr 1fr 1fr}}
.foot a,.foot span{display:block;text-decoration:none;padding:3px 0}
.foot .logo2{font-size:1.6rem;color:#fff}
.wa{position:fixed;right:16px;bottom:16px;z-index:30;background:#1f9d55;color:#fff;border-radius:99px;padding:12px 18px;text-decoration:none;font-weight:500;box-shadow:0 4px 14px #0003}
.muted{opacity:.7}
.small{font-size:.85rem}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.qty{width:76px}
.line{display:flex;gap:14px;background:#fff;border-radius:16px;padding:12px;border:1px solid #0000000d;margin-bottom:10px}
.line .tile{width:84px;height:84px;border-radius:12px;flex:none}
.line .tile.ph span{font-size:2rem}
.line .info{flex:1;min-width:0}
.hp{position:absolute;left:-9999px;height:0;overflow:hidden}
