/* =========================================================
   La Ceiba Real Food — Estilos de "Nuestra Carta".
   Todo escopado bajo .carta-menu para no interferir con el
   resto del sitio. Sin fuentes externas (antes usaba Google
   Fonts Yellowtail/Montserrat; ahora fuentes de sistema, igual
   que el resto del sitio, para no romper "cero peticiones
   externas" ni la CSP existente).
   ========================================================= */
.carta-menu{
    --green:#3a6b34; --green-dark:#1f3d1e; --red:#c1471d; --ink:#2b2b24; --muted:#6f6f64;
    --paper:#ffffff; --bg:#e7e6da; --line:#e7e5d6;
    --f-script:var(--f);
    --f:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  }
.carta-menu *{box-sizing:border-box;margin:0;padding:0}
.carta-menu{font-family:var(--f);color:var(--ink);background:var(--bg);
    padding:clamp(10px,2.4vw,34px);line-height:1.3;-webkit-font-smoothing:antialiased}
.carta-menu img{display:block}
.carta-menu ul{list-style:none}
.carta-menu .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
    clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* ---------- barra de pestañas de página ----------
   Sin "sticky": se probó pegada (position:sticky) tanto a top:0
   como a top:var(--header-h), y en ambos casos quedaba flotando
   sobre el contenido al hacer scroll, tapando texto. Fluye con
   la página como el resto de la carta. */
.carta-menu .topbar{max-width:1240px;margin:0 auto 10px;
    display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
    padding:8px 0 10px}
.carta-menu .pill{display:flex;flex-wrap:wrap;gap:4px;background:#fff;padding:6px;border-radius:999px;
    box-shadow:0 10px 30px -16px rgba(0,0,0,.45);border:1px solid var(--line)}
.carta-menu .pill button{border:0;cursor:pointer;font-family:var(--f);font-weight:800;font-size:13px;
    color:var(--green);background:transparent;padding:8px 14px;border-radius:999px;transition:.16s;
    display:inline-flex;align-items:center;gap:5px;line-height:1}
.carta-menu .pill button:hover{background:#eef3e6}
.carta-menu .pill button.active{background:var(--green);color:#fff}
.carta-menu .pill button:focus-visible{outline:3px solid #e7b53c;outline-offset:2px}
.carta-menu .pill .flag{font-size:15px}
.carta-menu .pagetabs button{font-size:12.5px}
.carta-menu /* ---------- hoja ---------- */
  .sheet{max-width:1240px;margin:0 auto;background:var(--paper);border-radius:14px;
    box-shadow:0 24px 60px -28px rgba(0,0,0,.5);overflow:hidden;position:relative}
.carta-menu .grid{display:grid;grid-template-columns:1fr 1.06fr .96fr;gap:clamp(16px,2vw,30px);
    grid-template-areas:"left center right";
    padding:clamp(18px,2.6vw,40px) clamp(18px,2.6vw,40px) clamp(20px,2.4vw,34px)}
.carta-menu .col-left{grid-area:left}
.carta-menu .col-center{grid-area:center}
.carta-menu .col-right{grid-area:right}
.carta-menu /* pagina de postres: dos columnas centradas bajo la cabecera */
  .grid.two{grid-template-columns:1fr 1.22fr;grid-template-areas:"head head" "left right";
    max-width:1040px;margin:0 auto}
.carta-menu .page-head{grid-area:head;text-align:center;margin-bottom:6px}
.carta-menu .page-head .logo{width:min(300px,60%)}
.carta-menu .col{min-width:0}
.carta-menu .script-title{display:block;margin:0 auto 6px;width:min(320px,100%);height:auto}
.carta-menu .logo-wrap{display:flex;justify-content:center;margin:-6px 0 2px}
.carta-menu .logo{width:min(380px,96%);height:auto}
.carta-menu .box{border-radius:16px;padding:clamp(14px,1.8vw,22px)}
.carta-menu .box.green{border:2.5px solid var(--green)}
.carta-menu .box.red{border:2.5px solid var(--red)}
.carta-menu .box.mt{margin-top:clamp(12px,1.6vw,20px)}
.carta-menu .sec-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.carta-menu .sec-title{font-family:var(--f);font-weight:800;color:var(--green);
    font-size:clamp(22px,3vw,32px);letter-spacing:.005em;line-height:1;text-transform:uppercase}
.carta-menu .sec-title.red{color:var(--red)}
.carta-menu .cup{width:30px;height:30px;color:var(--green);flex:none}
.carta-menu .feather{width:22px;height:22px;color:var(--red);flex:none}
.carta-menu .sec-sub{font-size:11.5px;color:var(--muted);font-weight:500;margin:5px 0 0;line-height:1.35}
.carta-menu .sec-note{font-size:11.8px;color:#55554c;font-weight:500;line-height:1.45;margin:7px 0 2px;
    max-width:56ch;border-left:2px solid #dcdccb;padding-left:9px}
.carta-menu .sec-note .alg{color:var(--red);font-weight:600}
.carta-menu .rule-red{border:0;border-top:2px dotted var(--red);opacity:.5;margin:9px 0 6px}
.carta-menu /* ---------- filas con icono ---------- */
  .item{display:grid;grid-template-columns:46px 1fr auto;gap:11px;align-items:start;padding:11px 0}
.carta-menu .item .ico{width:44px;height:44px;object-fit:contain;margin-top:4px}
.carta-menu .svg-ico{width:36px;height:36px;color:var(--red);margin-top:3px}
.carta-menu .svg-ico svg{width:100%;height:100%}
.carta-menu .item-body{min-width:0}
.carta-menu .item-name{font-family:var(--f);font-weight:800;font-size:15px;letter-spacing:.005em;
    color:var(--green-dark);text-transform:uppercase}
.carta-menu .box.red .item-name{color:var(--red)}
.carta-menu .item-desc{font-size:11.8px;color:#3f3f37;margin-top:2px;line-height:1.36;font-weight:400}
.carta-menu .allerg{display:block;font-size:11px;color:var(--red);font-weight:600;margin-top:3px}
.carta-menu /* ---------- filas sin icono (cafes) ---------- */
  .lines .line{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:baseline;padding:7px 0}
.carta-menu .line-name{font-family:var(--f);font-weight:700;font-size:13px;color:var(--green-dark);
    text-transform:uppercase;letter-spacing:.004em;display:inline}
.carta-menu .line-desc{display:block;font-size:11.2px;color:#55554c;line-height:1.35;margin-top:1px}
.carta-menu .line .allerg{font-size:10px;margin-top:2px}
.carta-menu /* ---------- bebidas ---------- */
  .drink{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:baseline;padding:7px 0}
.carta-menu .drink .ico-emoji{font-size:20px;line-height:1;text-align:center;width:28px}
.carta-menu .drink-name{font-size:12.4px;font-weight:500;color:var(--ink)}
.carta-menu .drink-name .allerg{font-size:10px;margin-top:1px}
.carta-menu .drink .price{font-size:14px}
.carta-menu /* ---------- zumos: dos columnas de precio ---------- */
  .zumos{width:100%;border-collapse:collapse;margin-top:8px}
.carta-menu .zumos caption{text-align:left}
.carta-menu .zumos thead th{font-family:var(--f);font-weight:800;font-size:10px;letter-spacing:.06em;
    text-transform:uppercase;color:var(--muted);padding:0 0 6px;text-align:right;width:62px}
.carta-menu .zumos tbody th{font-weight:500;font-size:12.6px;color:var(--ink);text-align:left;
    padding:7px 0;display:flex;align-items:center;gap:9px}
.carta-menu .zumos tbody tr{border-top:1px solid #f0efe4}
.carta-menu .zumos tbody tr:first-child{border-top:0}
.carta-menu .zumos td{text-align:right;padding:7px 0;vertical-align:middle;width:62px}
.carta-menu .zumos .price{font-size:14px;padding-left:0}
.carta-menu .zumos .nope{color:#cfcfbe;font-weight:600}
.carta-menu .zumo-name{min-width:0}
.carta-menu /* ---------- precios ---------- */
  .price{font-family:var(--f);font-weight:700;color:var(--green-dark);font-size:16px;
    white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;padding-left:14px;
    align-self:start;letter-spacing:.01em}
.carta-menu .price .cur{font-size:.68em;font-weight:600;opacity:.55;margin-left:2px;vertical-align:.06em}
.carta-menu .price-dash{color:#a9a99a;font-weight:600}
.carta-menu .box.red .price{font-size:15px}
.carta-menu /* cachapas y tapas algo mas compactas */
  .box.red .item, .carta-menu .box.green .item{padding:9px 0}
.carta-menu .col-right .box .item{grid-template-columns:38px 1fr auto;gap:10px}
.carta-menu .col-right .box .item .ico{width:36px;height:36px;margin-top:3px}
.carta-menu .col-right .box .item-name{font-size:13.5px}
.carta-menu .col-right .box .item-desc{font-size:11px;line-height:1.32;margin-top:1px}
.carta-menu .col-right .box .allerg{font-size:10px;margin-top:2px}
.carta-menu /* ---------- pie ---------- */
  .algkey-full.in-col{margin:clamp(14px,1.8vw,20px) 0 0;padding:14px 16px}
.carta-menu .algkey-full.in-col .row{grid-template-columns:repeat(4,1fr)}
.carta-menu .algkey-full{background:#fff;border:1.5px solid var(--line);border-radius:14px;
    padding:14px clamp(14px,2vw,22px);margin:0 clamp(18px,2.6vw,40px) 4px}
.carta-menu .algkey-full h3{font-family:var(--f);font-weight:800;color:var(--green);font-size:13px;
    text-transform:uppercase;letter-spacing:.04em;text-align:center;margin-bottom:10px}
.carta-menu .algkey-full .row{display:grid;grid-template-columns:repeat(7,1fr);gap:10px 8px}
.carta-menu .algkey-full .cell{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}
.carta-menu .algkey-full .cell img{width:42px;height:42px;object-fit:contain}
.carta-menu .algkey-full .cell span{font-size:9.8px;font-weight:600;color:#4b4b42;line-height:1.15}
.carta-menu .food{width:min(100%,340px);height:auto;margin:clamp(14px,2vw,22px) auto 0;pointer-events:none}
.carta-menu .legend{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;
    padding:14px clamp(18px,3vw,40px);position:relative;z-index:3}
.carta-menu .legend .li{display:inline-flex;align-items:center;gap:7px;font-family:var(--f);
    font-weight:700;font-size:11px;color:#3f3f37;letter-spacing:.02em}
.carta-menu .legend .li img{width:26px;height:26px;object-fit:contain}
.carta-menu .banner{background:var(--green);color:#fff;text-align:center;font-family:var(--f);
    font-weight:800;letter-spacing:.05em;font-size:clamp(12px,1.7vw,16px);padding:13px}
.carta-menu .banner .hl{color:#ffd9a6}

@media (max-width:920px) {
.carta-menu .grid{grid-template-areas:"left" "center" "right";grid-template-columns:1fr;
      gap:6px;padding-bottom:20px}
.carta-menu .grid.two{grid-template-columns:1fr}
.carta-menu #pagina2 .grid, .carta-menu #pagina3 .grid{grid-template-areas:"head" "left" "center" "right"}
.carta-menu .food{width:62%}
.carta-menu .algkey-full .row{grid-template-columns:repeat(4,1fr)}
.carta-menu .topbar{justify-content:center;gap:6px}
.carta-menu .pill button{font-size:12px;padding:7px 11px}
.carta-menu .col-right .box .item{grid-template-columns:46px 1fr auto}
.carta-menu .col-right .box .item .ico{width:44px;height:44px}
.carta-menu .col-right .box .item-name{font-size:15px}
.carta-menu .col-right .box .item-desc{font-size:11.8px}
}

@media (max-width:520px) {
.carta-menu .algkey-full .row{grid-template-columns:repeat(3,1fr)}
.carta-menu .pill{gap:2px;padding:4px}
.carta-menu .pill button{font-size:11px;padding:6px 8px;gap:4px}
.carta-menu .pagetabs button{font-size:11px}
}

@media (prefers-reduced-motion:reduce) {
.carta-menu *{transition:none!important}
}

@media print {
.carta-menu .topbar{display:none}
.carta-menu{background:#fff;padding:0}
.carta-menu .sheet{box-shadow:none;border-radius:0}
.carta-menu .sheet[hidden]{display:block!important}
.carta-menu #pagina2{break-before:page;page-break-before:always}
.carta-menu .photo-slot{display:none}
}