/* ============================================================
   DISCO VOLANTE — Carta (food / drinks)
   ============================================================ */
@font-face{
  font-family:"SairaBlack";
  src:url("fonts/saira-condensed-black.woff2") format("woff2");
  font-weight:900; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"SairaBold";
  src:url("fonts/saira-condensed-bold.woff2") format("woff2");
  font-weight:700; font-style:normal; font-display:swap;
}
:root{
  --rosa:#ebd0df; --rosa-claro:#f3e2ec; --rosa-pal:#faf2f7; --vino:#540f1a; --vino-2:#6f1c2c;
  --magenta:#c56393; --crema:#fcf4f8;
  --f-mark:"SairaBlack","Anton",sans-serif; --f-label:"SairaBold","Oswald",sans-serif;
  --f-nav:"Oswald",sans-serif;
  --f-serif:"Cormorant Garamond",Georgia,serif; --f-script:"Allura",cursive;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{ font-family:var(--f-serif); background:var(--rosa-pal); color:var(--vino); -webkit-font-smoothing:antialiased; }
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}

.carta-top{ background:var(--vino); color:var(--crema); text-align:center; padding:2.4rem 1.5rem 2rem; position:relative; }
.carta-top .back{
  position:absolute; left:1.2rem; top:1.4rem; font-family:var(--f-label);
  text-transform:uppercase; letter-spacing:.16em; font-size:.7rem; color:var(--rosa-pal); opacity:.85;
}
.carta-top .back:hover{ opacity:1; color:var(--magenta); }
.carta-top .mark{ font-family:var(--f-mark); text-transform:uppercase; font-size:clamp(1.8rem,7vw,3rem); transform:scaleX(.9); line-height:.9; }
.carta-top .script{ font-family:var(--f-script); color:var(--rosa); font-size:1.7rem; line-height:1; margin-top:.1rem; }

.carta-switch{ display:flex; justify-content:center; gap:.5rem; padding:1.4rem 1rem; background:var(--rosa-pal); position:sticky; top:0; z-index:5; }
.carta-switch a{ font-family:var(--f-label); text-transform:uppercase; letter-spacing:.14em; font-size:.74rem; color:var(--vino); border:1px solid rgba(84,15,26,.4); padding:.5rem 1.1rem; border-radius:2px; transition:.25s; }
.carta-switch a.active, .carta-switch a:hover{ background:var(--magenta); border-color:var(--magenta); color:var(--crema); }

.carta-wrap{ max-width:1080px; margin-inline:auto; padding:1rem clamp(1.2rem,4vw,3rem) 4rem; }
.carta-cols{ columns:2; column-gap:clamp(2rem,5vw,4.5rem); }
@media (max-width:720px){ .carta-cols{ columns:1; } }

.cat{ break-inside:avoid; margin-bottom:2.4rem; }
.cat__title{ font-family:var(--f-label); font-weight:600; text-transform:uppercase; letter-spacing:.12em; color:var(--magenta); font-size:1.15rem; text-align:center; margin-bottom:1.1rem; }
.cat--box{ border:2px double var(--magenta); padding:1.4rem 1.3rem; }

.item{ margin-bottom:1rem; }
.item__head{ display:flex; align-items:baseline; gap:.6rem; }
.item__name{ font-family:var(--f-nav); font-weight:500; text-transform:uppercase; letter-spacing:.04em; font-size:.92rem; color:var(--vino); }
.item__dots{ flex:1; border-bottom:1px dotted rgba(84,15,26,.35); transform:translateY(-3px); }
.item__price{ font-family:var(--f-serif); font-weight:600; font-size:1.05rem; color:var(--magenta); white-space:nowrap; }
.item__desc{ font-size:1.02rem; line-height:1.4; color:var(--vino-2); margin-top:.12rem; max-width:42ch; }

.note{ text-align:center; font-family:var(--f-nav); text-transform:uppercase; letter-spacing:.1em; font-size:.62rem; color:var(--vino-2); opacity:.75; margin-top:1.5rem; line-height:1.8; }

/* dentro del modal (iframe): el modal ya aporta cabecera + selector + cerrar,
   así que ocultamos los del propio documento para no duplicar */
body.in-modal .carta-top{ display:none; }
body.in-modal .carta-switch{ display:none; }
body.in-modal .carta-wrap{ padding-top:1.6rem; }
