:root{--red:#a8321e;--red2:#86251a;--cream:#fbf1e1;--cream2:#f3e2c7;--ink:#2b1a17;--mut:#7a6259}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden}
h1,h2,h3,.brand b{font-family:Georgia,"Times New Roman",serif}
.top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:10px 18px;background:var(--cream);border-bottom:1px solid var(--cream2)}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink)}.brand small{display:block;font-size:12px;color:var(--red);letter-spacing:.08em;text-transform:uppercase}
.mark{width:40px;height:40px;border-radius:50%;background:var(--red);color:var(--cream);display:grid;place-items:center;font:700 20px Georgia,serif;box-shadow:inset 0 0 0 3px var(--cream),0 0 0 2px var(--red)}
.btn{display:inline-block;background:var(--red);color:#fff;padding:13px 20px;border-radius:999px;text-decoration:none;font-weight:600;border:0;cursor:pointer;font-size:15px}.btn:hover{background:var(--red2)}.btn.sm{padding:8px 14px;font-size:14px}.btn.ghost{background:transparent;color:var(--red);box-shadow:inset 0 0 0 2px var(--red)}.btn.full{display:block;text-align:center}
.hero{padding:44px 20px 30px;max-width:1100px;margin:auto}.kicker{color:var(--red);font-weight:600;text-transform:uppercase;letter-spacing:.1em;font-size:13px;margin:0}
.hero h1{font-size:clamp(32px,6vw,56px);line-height:1.08;margin:8px 0 12px;max-width:16ch}.hero em{color:var(--red)}.hero p{color:var(--mut);max-width:44ch}.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
main,.info{max-width:1100px;margin:auto;padding:20px}h2{font-size:28px;margin:10px 0}
.tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}.tabs button{flex:none;border:1px solid var(--red);background:transparent;color:var(--red);padding:8px 16px;border-radius:999px;font-weight:600;cursor:pointer}.tabs button.on{background:var(--red);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:14px}
.card{background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--cream2);display:flex;flex-direction:column}
.ph{aspect-ratio:4/3;background:repeating-linear-gradient(45deg,#f6ead6 0 12px,#f1e2c8 12px 24px);display:grid;place-items:center;color:var(--mut);font-size:13px;letter-spacing:.06em;text-transform:uppercase;position:relative}.ph img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.badge{position:absolute;top:10px;left:10px;background:var(--red);color:#fff;font-size:12px;padding:3px 10px;border-radius:999px;text-transform:none;letter-spacing:0}
.body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}.body h3{margin:0;font-size:20px}.body p{margin:0;color:var(--mut);font-size:14px}
select{padding:9px;border-radius:10px;border:1px solid var(--cream2);font-size:15px;background:var(--cream)}
.price{font-weight:700;font-size:18px}.pend{font-size:12px;color:var(--mut);background:var(--cream);border:1px dashed #c9a98a;padding:1px 8px;border-radius:6px;font-weight:500}
.acts{display:flex;gap:8px;margin-top:auto}.acts .btn{flex:1;text-align:center;padding:11px 10px;font-size:14px}
.note{color:var(--mut);font-size:14px}
.info{display:grid;gap:24px}@media(min-width:800px){.info{grid-template-columns:1fr 1.4fr}}
.info ul{list-style:none;padding:0}.info li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--cream2)}
iframe{width:100%;height:280px;border:0;border-radius:16px;display:block;margin:8px 0}.info a{color:var(--red)}
footer{background:var(--red);color:var(--cream);text-align:center;padding:30px 20px 100px}footer p{margin:4px 0}footer a{color:#fff}
.cartbar{position:fixed;left:50%;transform:translateX(-50%);bottom:16px;z-index:6;background:var(--ink);color:#fff;border:0;border-radius:999px;padding:14px 24px;font-weight:600;font-size:15px;box-shadow:0 8px 24px #0004;cursor:pointer;max-width:calc(100% - 32px)}
.sheet{position:fixed;inset:0;background:#0006;z-index:9;display:flex;align-items:flex-end;justify-content:center}.sheet[hidden]{display:none}
.panel{background:var(--cream);width:100%;max-width:480px;border-radius:20px 20px 0 0;padding:22px;position:relative;max-height:85vh;overflow:auto}
.x{position:absolute;right:14px;top:10px;border:0;background:none;font-size:28px;cursor:pointer}
#items{list-style:none;padding:0}#items li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--cream2)}
.qty button{width:30px;height:30px;border-radius:50%;border:1px solid var(--red);background:#fff;color:var(--red);font-weight:700}.qty span{display:inline-block;width:24px;text-align:center}
.link{background:none;border:0;color:var(--mut);margin-top:10px;text-decoration:underline;cursor:pointer;width:100%}

.logo{width:44px;height:44px;border-radius:50%;display:block;box-shadow:0 1px 4px rgba(0,0,0,.15)}

/* ===== v2: portada, promo, cupón, popup, stock ===== */
.hero{display:grid;gap:22px;align-items:center;background-size:cover;background-position:center;border-radius:0 0 28px 28px}@media(min-width:800px){.hero{grid-template-columns:1.1fr 1fr}}
.hero-img{margin:0;aspect-ratio:4/3;border-radius:24px;overflow:hidden;background:repeating-linear-gradient(45deg,#f6ead6 0 12px,#f1e2c8 12px 24px);display:grid;place-items:center;position:relative}
.hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ph-hero{color:var(--mut);font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.promo{background:var(--ink);color:var(--cream);text-align:center;padding:10px 16px;font-size:14px}.promo b{color:#fff}
.cupon{display:flex;gap:8px;margin-top:14px}.cupon input{flex:1;padding:11px 14px;border-radius:999px;border:1px solid var(--cream2);font-size:15px;min-width:0}.cupmsg{font-size:14px;margin:6px 0 12px;color:var(--red)}
.sheet.center{align-items:center;padding:16px}.pop{border-radius:22px;text-align:center}.pop img{width:100%;border-radius:16px;margin-bottom:6px}
.card.out{opacity:.65}.agotado{background:var(--mut)!important}.acts button:disabled{opacity:.5;cursor:not-allowed}
.extra{max-width:1100px;margin:auto;padding:20px}.extra-in{background:#fff;border:1px solid var(--cream2);border-radius:24px;padding:22px;display:grid;gap:18px;align-items:center}@media(min-width:800px){.extra-in:has(img){grid-template-columns:1fr 1.2fr}}.extra-in img{width:100%;border-radius:18px;aspect-ratio:4/3;object-fit:cover}.extra h2{margin-top:0}.extra p{color:var(--mut);white-space:pre-line}
.sec-off{opacity:.45}.p-off{opacity:.45}
