/* dosmesas — plantillas de la carta (/m/…). Una estructura, cinco caras:
   .mn-auto (la del diseño general), .mn-mantel (restaurantes), .mn-pizarra (tapas y vermut),
   .mn-deco (coctelerías) y .mn-neon (clubs de copas). Todas llevan la firma «Carta hecha con dosmesas.». */
@font-face{font-family:'Onest';src:url('fonts/Onest-variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
/* ---------- Base común ---------- */
.mn-page{margin:0;min-height:100vh;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}
.mn{--mw:760px;max-width:var(--mw);margin:0 auto;padding:clamp(28px,6vw,64px) 20px 40px;box-sizing:border-box}
.mn *{box-sizing:border-box}
.mn-head{text-align:center;margin-bottom:28px}
.mn-logo{display:block;margin:0 auto 16px;max-height:72px;max-width:180px;object-fit:contain}
.mn-kicker{margin:0 0 6px;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;opacity:.75}
.mn-title{margin:0;line-height:1}
.mn-orn{display:block;margin-top:12px;font-size:1.1rem;opacity:.8}
.mn-venues,.mn-cats{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 8px;margin:0 0 22px}
.mn-venues a,.mn-cats a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:99px;text-decoration:none;font-size:.88rem;transition:background .2s,color .2s,box-shadow .2s}
.mn-cats{position:sticky;top:0;z-index:5;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding:10px 2px;margin:0 -20px 12px;padding-inline:20px}
.mn-cats::-webkit-scrollbar{display:none}
.mn-cats a{flex:none}
.mn-cat{margin:0 0 34px;scroll-margin-top:70px}
.mn-cat h2{margin:0 0 14px;text-align:center}
.mn-cat ul{list-style:none;margin:0;padding:0}
.mn-item{padding:10px 0;break-inside:avoid}
.mn-row{display:flex;align-items:baseline;gap:8px}
.mn-name{font-weight:600;min-width:0}
.mn-tag{font-style:normal;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:99px;vertical-align:2px;margin-left:4px;white-space:nowrap}
.mn-dots{flex:1;min-width:14px;border-bottom:1px dotted currentColor;opacity:.35;transform:translateY(-4px)}
.mn-price{flex:none;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.mn-price small{font-size:.72em;margin-left:2px;opacity:.8}
.mn-desc{margin:4px 0 0;font-size:.9rem;line-height:1.45;opacity:.75;max-width:56ch}
.mn-empty{text-align:center;opacity:.75}
.mn-foot{text-align:center;margin-top:44px}
.mn-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:22px}
.mn-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;text-decoration:none;font-weight:600;transition:transform .2s,box-shadow .2s,background .2s}
.mn-btn:active{transform:scale(.97)}
.mn-note{font-size:.8rem;opacity:.6;margin:0 0 18px}
/* La firma de la casa: discreta, igual en todas */
.mn-made{display:inline-flex;align-items:center;gap:5px;font:500 .74rem/1 ui-sans-serif,-apple-system,"Helvetica Neue",sans-serif;letter-spacing:.04em;text-decoration:none;opacity:.55;padding:8px 12px;border-radius:99px;color:inherit;transition:opacity .2s}
.mn-made:hover{opacity:.9}
.mn-made b{font-family:'Onest',sans-serif;font-weight:800;letter-spacing:-.045em;font-size:.86rem}.mn-made i{font-style:normal;color:#b8341c}
.mn :focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media (min-width:860px){.mn-2col .mn-body{columns:2;column-gap:56px}}
/* Productos con foto: miniatura a la izquierda, con un estilo por plantilla */
.mn-item.has-ph{display:flex;gap:16px;align-items:center}
.mn-txt{flex:1;min-width:0}
.mn-ph{flex:none;width:88px;height:88px;overflow:hidden;border-radius:14px;background:rgba(127,127,127,.15)}
.mn-ph :is(picture,img){display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.mn-item:hover .mn-ph img{transform:scale(1.06)}
@media (min-width:600px){.mn-ph{width:104px;height:104px}}
.mn-mantel .mn-ph{border-radius:50%;box-shadow:0 0 0 4px #f4ecdc,0 0 0 5px rgba(43,33,24,.3)}
.mn-pizarra .mn-ph{border-radius:4px;background:#fff;padding:5px 5px 14px;transform:rotate(-3deg);box-shadow:0 8px 18px -8px rgba(0,0,0,.6)}
.mn-pizarra .mn-item:nth-child(even) .mn-ph{transform:rotate(3deg)}
.mn-deco .mn-ph{border-radius:50%;box-shadow:0 0 0 2px #0d0c0a,0 0 0 3px #d4af5f}
.mn-neon .mn-ph{border-radius:12px;box-shadow:0 0 0 1.5px var(--c,#2ee6ff),0 0 18px -4px var(--c,#2ee6ff)}

/* ---------- Como tu diseño (dentro del marco público) ---------- */
.mn-auto{padding-top:8px}
.mn-auto .mn-title{font-size:2.2rem}
.mn-auto :is(.mn-venues a,.mn-cats a){background:var(--fill);color:var(--ink-2);font-weight:600}
.mn-auto :is(.mn-venues a[aria-current],.mn-cats a:hover,.mn-cats a[aria-current]){background:var(--brand);color:#fff}
.mn-auto .mn-cats{background:linear-gradient(var(--bg,#fff) 75%,transparent)}
.mn-auto .mn-cat h2{text-align:left;font-size:1.25rem;padding-bottom:8px;border-bottom:2px solid var(--ink)}
.mn-auto .mn-item{border-bottom:1px dashed var(--line)}
.mn-auto .mn-tag{background:var(--fill);color:var(--ink-2)}
.mn-auto .mn-btn{border-radius:14px;background:var(--brand);color:#fff}
.mn-auto .mn-btn.is-alt{background:var(--fill);color:var(--ink)}

/* ---------- Mantel · restaurantes ---------- */
.mn-page-mantel{background:#f4ecdc;color:#2b2118;
  background-image:radial-gradient(rgba(120,90,50,.07) 1px,transparent 1.2px),linear-gradient(#f6efe1,#efe5d1);background-size:4px 4px,100% 100%}
.mn-mantel{--serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;font-family:var(--serif);font-size:1.06rem}
.mn-mantel .mn-head{padding:34px 20px 26px;border:1px solid rgba(43,33,24,.35);outline:1px solid rgba(43,33,24,.35);outline-offset:5px;margin:0 6px 34px}
.mn-mantel .mn-kicker{font-size:.74rem;color:var(--accent-raw,#8a2c1c)}
.mn-mantel .mn-title{font-size:clamp(3rem,11vw,4.6rem);font-weight:400;font-style:italic;letter-spacing:-.01em}
.mn-mantel .mn-orn{color:var(--accent-raw,#8a2c1c);font-size:1.4rem}
.mn-mantel :is(.mn-venues a,.mn-cats a){font-style:italic;color:#5a4a3a;border:1px solid transparent}
.mn-mantel :is(.mn-venues a[aria-current],.mn-cats a:hover,.mn-cats a[aria-current]){border-color:rgba(43,33,24,.45);color:#2b2118}
.mn-mantel .mn-cats{background:linear-gradient(#f3eadb 78%,transparent)}
.mn-mantel .mn-cat h2{font-weight:400;font-size:.95rem;letter-spacing:.32em;text-transform:uppercase;display:flex;align-items:center;gap:14px}
.mn-mantel .mn-cat h2::before,.mn-mantel .mn-cat h2::after{content:"";flex:1;height:1px;background:rgba(43,33,24,.35)}
.mn-mantel .mn-name{font-weight:600}
.mn-mantel .mn-desc{font-style:italic;opacity:.72}
.mn-mantel .mn-tag{border:1px solid rgba(138,44,28,.5);color:var(--accent-raw,#8a2c1c);font-family:ui-sans-serif,-apple-system,sans-serif}
.mn-mantel .mn-price{font-weight:600}
.mn-mantel .mn-btn{border-radius:2px;background:#2b2118;color:#f4ecdc;font-family:var(--serif);letter-spacing:.06em}
.mn-mantel .mn-btn:hover{background:var(--accent-raw,#8a2c1c)}
.mn-mantel .mn-btn.is-alt{background:transparent;color:#2b2118;box-shadow:inset 0 0 0 1px #2b2118}

/* ---------- Pizarra · tapas y vermut ---------- */
.mn-page-pizarra{color:#f3f1e8;background:#1d2420;
  background-image:radial-gradient(120% 80% at 50% 0,rgba(255,255,255,.07),transparent 60%),
    radial-gradient(rgba(255,255,255,.035) 1px,transparent 1.5px),linear-gradient(160deg,#243029,#1a201d 60%,#151a17);
  background-size:100% 100%,3px 3px,100% 100%;background-attachment:fixed}
.mn-pizarra{--chalk:"Chalkboard SE","Chalkduster","Marker Felt","Segoe Print","Bradley Hand",cursive;font-family:var(--chalk);
  border:14px solid #6b4a2b;border-image:linear-gradient(135deg,#7a5532,#4e3420 40%,#8a6139 70%,#5a3d24) 1;margin:18px auto;
  box-shadow:inset 0 0 60px rgba(0,0,0,.45),0 20px 60px -20px rgba(0,0,0,.7);background:rgba(0,0,0,.08)}
.mn-pizarra .mn-title{font-size:clamp(3rem,12vw,4.8rem);font-weight:400;transform:rotate(-2deg);text-shadow:0 0 1px rgba(255,255,255,.6)}
.mn-pizarra .mn-kicker{letter-spacing:.12em;color:#f7d774}
.mn-pizarra .mn-orn{color:#f7d774}
.mn-pizarra :is(.mn-venues a,.mn-cats a){color:#f3f1e8;border:1.5px dashed rgba(243,241,232,.35)}
.mn-pizarra :is(.mn-venues a[aria-current],.mn-cats a:hover,.mn-cats a[aria-current]){border-style:solid;border-color:#f7d774;color:#f7d774}
.mn-pizarra .mn-cats{background:linear-gradient(#1f2723 78%,transparent)}
.mn-pizarra .mn-cat h2{font-weight:400;font-size:1.7rem;color:#f7d774;text-align:left;transform:rotate(-1deg)}
.mn-pizarra .mn-cat h2 span{border-bottom:2px solid rgba(247,215,116,.55);padding-bottom:2px}
.mn-pizarra .mn-cat:nth-child(3n+2) h2{color:#9fe0c9}.mn-pizarra .mn-cat:nth-child(3n+2) h2 span{border-color:rgba(159,224,201,.55)}
.mn-pizarra .mn-cat:nth-child(3n) h2{color:#f5a1a1}.mn-pizarra .mn-cat:nth-child(3n) h2 span{border-color:rgba(245,161,161,.55)}
.mn-pizarra .mn-item{font-size:1.1rem}
.mn-pizarra .mn-dots{border-bottom-style:dashed;opacity:.25}
.mn-pizarra .mn-price{font-size:1.25rem;color:#fff}
.mn-pizarra .mn-desc{font-size:.92rem;opacity:.7}
.mn-pizarra .mn-tag{color:#1d2420;background:#f7d774;font-family:ui-sans-serif,-apple-system,sans-serif;transform:rotate(-3deg);display:inline-block}
.mn-pizarra .mn-btn{border-radius:10px;background:#f3f1e8;color:#1d2420;font-family:var(--chalk);font-size:1.05rem}
.mn-pizarra .mn-btn.is-alt{background:transparent;color:#f3f1e8;box-shadow:inset 0 0 0 1.5px rgba(243,241,232,.6)}
.mn-page-pizarra .mn-made i{color:#f7d774}

/* ---------- Art déco · coctelerías ---------- */
.mn-page-deco{color:#efe6d2;background:#0d0c0a;
  background-image:repeating-linear-gradient(90deg,rgba(212,175,95,.035) 0 1px,transparent 1px 44px),radial-gradient(70% 40% at 50% 0,rgba(212,175,95,.16),transparent 70%)}
.mn-deco{--gold:#d4af5f;--mw:980px;--display:"Didot","Bodoni 72","Bodoni MT","Playfair Display",Georgia,serif;--sans:"Futura","Avenir Next","Gill Sans","Century Gothic",sans-serif;font-family:var(--sans)}
.mn-deco .mn-head{position:relative;padding:40px 24px 30px;margin:0 auto 34px;max-width:560px;border:1px solid var(--gold);
  background:linear-gradient(135deg,var(--gold) 0 14px,transparent 14px) top left/40px 40px no-repeat,linear-gradient(225deg,var(--gold) 0 14px,transparent 14px) top right/40px 40px no-repeat,
    linear-gradient(45deg,var(--gold) 0 14px,transparent 14px) bottom left/40px 40px no-repeat,linear-gradient(315deg,var(--gold) 0 14px,transparent 14px) bottom right/40px 40px no-repeat}
.mn-deco .mn-head::before{content:"";position:absolute;inset:7px;border:1px solid rgba(212,175,95,.45);pointer-events:none}
.mn-deco .mn-kicker{color:var(--gold);letter-spacing:.4em;font-size:.7rem}
.mn-deco .mn-title{font-family:var(--display);font-weight:400;font-size:clamp(3rem,11vw,4.6rem);letter-spacing:.12em;text-transform:uppercase}
.mn-deco .mn-orn{color:var(--gold);letter-spacing:1em;font-size:.7rem}
.mn-deco .mn-orn::before,.mn-deco .mn-orn::after{content:"◆";}
.mn-deco :is(.mn-venues a,.mn-cats a){color:#efe6d2;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;border-radius:0;border:1px solid rgba(212,175,95,.3)}
.mn-deco :is(.mn-venues a[aria-current],.mn-cats a:hover,.mn-cats a[aria-current]){border-color:var(--gold);color:var(--gold)}
.mn-deco .mn-cats{justify-content:center;background:linear-gradient(#0d0c0a 78%,transparent)}
.mn-deco .mn-cat h2{font-family:var(--display);font-weight:400;font-size:1.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.mn-deco .mn-cat h2 span{display:inline-block;padding:0 18px;background:linear-gradient(var(--gold),var(--gold)) left center/10px 1px no-repeat,linear-gradient(var(--gold),var(--gold)) right center/10px 1px no-repeat}
.mn-deco .mn-item{padding:12px 0;text-align:left;border-bottom:1px solid rgba(212,175,95,.14)}
.mn-deco .mn-name{font-family:var(--display);font-size:1.25rem;font-weight:400;letter-spacing:.04em}
.mn-deco .mn-dots{border-bottom:1px solid rgba(212,175,95,.35);opacity:1}
.mn-deco .mn-price{font-family:var(--display);color:var(--gold);font-size:1.2rem;font-weight:400}
.mn-deco .mn-desc{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;opacity:.62}
.mn-deco .mn-tag{border:1px solid var(--gold);color:var(--gold);border-radius:0}
.mn-deco .mn-btn{border-radius:0;background:var(--gold);color:#0d0c0a;text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;font-weight:700}
.mn-deco .mn-btn:hover{box-shadow:0 0 0 1px var(--gold),0 0 0 5px #0d0c0a,0 0 0 6px var(--gold)}
.mn-deco .mn-btn.is-alt{background:transparent;color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.mn-page-deco .mn-made i{color:#d4af5f}
@media (min-width:860px){.mn-deco .mn-body{columns:2;column-gap:64px}.mn-deco .mn-cat{break-inside:avoid}}

/* ---------- Neón · clubs de copas ---------- */
.mn-page-neon{color:#f5f0ff;background:#07050b;
  background-image:radial-gradient(40% 30% at 10% 0,rgba(255,62,165,.25),transparent 70%),radial-gradient(40% 30% at 100% 20%,rgba(46,230,255,.16),transparent 70%),
    radial-gradient(rgba(255,255,255,.05) 1px,transparent 1.2px);background-size:100% 100%,100% 100%,22px 22px;background-attachment:fixed}
.mn-neon{--pink:#ff3ea5;--cyan:#2ee6ff;--lime:#c6ff3d;--display:"Futura","Avenir Next Condensed","Arial Narrow","Helvetica Neue",sans-serif;font-family:ui-sans-serif,-apple-system,"Helvetica Neue",sans-serif}
.mn-neon .mn-kicker{color:var(--cyan);letter-spacing:.3em;text-shadow:0 0 10px rgba(46,230,255,.7)}
.mn-neon .mn-title{font-family:var(--display);font-weight:800;font-size:clamp(3.4rem,14vw,6rem);text-transform:uppercase;letter-spacing:.04em;color:#fff;
  text-shadow:0 0 4px #fff,0 0 14px var(--pink),0 0 34px var(--pink),0 0 70px rgba(255,62,165,.6)}
.mn-neon .mn-orn{color:var(--lime);text-shadow:0 0 12px var(--lime)}
.mn-neon :is(.mn-venues a,.mn-cats a){color:#f5f0ff;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.18)}
.mn-neon :is(.mn-venues a[aria-current],.mn-cats a:hover,.mn-cats a[aria-current]){color:#fff;box-shadow:inset 0 0 0 1.5px var(--pink),0 0 16px -2px var(--pink)}
.mn-neon .mn-cats{background:linear-gradient(#07050b 78%,transparent)}
.mn-neon .mn-cat h2{font-family:var(--display);font-weight:800;font-size:1.9rem;text-transform:uppercase;letter-spacing:.06em;text-align:left;color:#fff}
.mn-neon .mn-cat h2 span{text-shadow:0 0 3px #fff,0 0 12px var(--c,var(--cyan)),0 0 28px var(--c,var(--cyan))}
.mn-neon .mn-cat:nth-child(3n+1){--c:var(--cyan)}.mn-neon .mn-cat:nth-child(3n+2){--c:var(--pink)}.mn-neon .mn-cat:nth-child(3n){--c:var(--lime)}
.mn-neon .mn-item{padding:14px 16px;margin:0 0 8px;border-radius:14px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);transition:box-shadow .25s,background .25s}
.mn-neon .mn-item:hover{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px var(--c,var(--cyan)),0 0 22px -8px var(--c,var(--cyan))}
.mn-neon .mn-cat{--c:var(--cyan)}
.mn-neon .mn-name{font-weight:700;font-size:1.05rem}
.mn-neon .mn-dots{border:0}
.mn-neon .mn-price{font-family:var(--display);font-weight:800;font-size:1.35rem;color:var(--c,var(--cyan));text-shadow:0 0 12px var(--c,var(--cyan))}
.mn-neon .mn-tag{background:var(--lime);color:#07050b;font-weight:800}
.mn-neon .mn-btn{border-radius:99px;background:var(--pink);color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;font-weight:800;box-shadow:0 0 24px -4px var(--pink)}
.mn-neon .mn-btn:hover{box-shadow:0 0 36px 0 var(--pink)}
.mn-neon .mn-btn.is-alt{background:transparent;color:var(--cyan);box-shadow:inset 0 0 0 1.5px var(--cyan),0 0 18px -6px var(--cyan)}
.mn-page-neon .mn-made i{color:var(--pink,#ff3ea5)}
@media (prefers-reduced-motion:no-preference){.mn-neon .mn-title{animation:mn-flick 7s infinite}}
@keyframes mn-flick{0%,90%,100%{opacity:1}91%{opacity:.4}92%{opacity:1}94%{opacity:.6}95%{opacity:1}}

/* Aparición suave al hacer scroll (menu.js pone .is-in) */
@media (prefers-reduced-motion:no-preference){
  .mn-page .mn-cat{opacity:0;transform:translateY(14px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
  .mn-page .mn-cat.is-in{opacity:1;transform:none}
  .mn-page.no-js .mn-cat{opacity:1;transform:none}
}
@media (max-width:520px){.mn-pizarra{border-width:8px;margin:8px}.mn-mantel .mn-head{margin-inline:0}}
@media print{.mn-page{background:#fff!important;color:#000!important}.mn-cats,.mn-venues,.mn-cta,.mn-made{display:none}.mn-page .mn-cat{opacity:1!important;transform:none!important}}
.mn-algs{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.mn-alg{font:600 .66rem/1 system-ui,sans-serif;letter-spacing:.02em;padding:4px 7px;border-radius:99px;background:color-mix(in srgb,currentColor 10%,transparent);opacity:.85}
.mn-xp{margin-top:8px}.mn-xp>summary{list-style:none;display:inline-flex;cursor:pointer}.mn-xp>summary::-webkit-details-marker{display:none}
.mn .xp-form{display:grid;gap:10px;margin-top:12px}.mn .xp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.mn .xp-form label{display:grid;gap:4px;font-size:.85rem}.mn .xp-form input:not([type=checkbox]){min-height:44px;padding:0 10px;border:1px solid currentColor;border-radius:10px;background:transparent;color:inherit;font:inherit;opacity:.9}
.mn .xp-form .xp-check{display:flex;gap:8px;align-items:center}.mn .xp-left{margin:0;font-size:.8rem;opacity:.7}.mn .xp-form .mn-btn{border:0;cursor:pointer;font:inherit}
