  :root{
    --bg:#1b1310;
    --bg-alt:#211712;
    --surface:#2a1e18;
    --line:#3a2c24;
    --text:#f5ede1;
    --text-dim:#b5a392;
    --accent:#af4530;
    --accent-soft:rgba(175,69,48,0.16);
    --accent-glow:rgba(175,69,48,0.35);
    --sage:#5c6b4f;
    --gt-blue:#4f9ecf;
    --gt-blue-deep:#2f6f9e;
    --radius:16px;
    --ease:cubic-bezier(.16,.8,.24,1);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--text);
    font-family:'Work Sans',sans-serif;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  /* Fondo fijo de la portada (elemento real, no background-attachment:fixed —
     que falla en Safari de iPhone). Se queda quieto detrás de todo mientras
     el resto de la página se desliza encima. */
  .fixed-bg{
    position:fixed; inset:0; z-index:-1;
    background:
      linear-gradient(180deg, rgba(27,19,16,0.35) 0%, rgba(27,19,16,0.6) 55%, var(--bg) 96%),
      url('caldo-lunes.jpg');
    background-size:cover;
    background-position:center 35%;
    background-repeat:no-repeat;
  }
  h1,h2,h3,.display{
    font-family:'Petrona',serif;
    font-weight:500;
    letter-spacing:-0.01em;
  }
  a{color:inherit;text-decoration:none;}
  ::selection{background:var(--accent);color:var(--text);}
  button:focus-visible, a:focus-visible{outline:2px solid var(--accent); outline-offset:3px;}

  /* NAV CONTACT ROW (Waze / horario / WhatsApp) */
  .item{display:flex; align-items:center; gap:6px;}
  .nav-row svg:not(.chevron):not(.mini-chevron):not(.quetzal){width:14px; height:14px; flex-shrink:0; opacity:0.7;}

  .item-link{
    color:inherit; font:inherit; background:none; border:none; cursor:pointer;
    display:flex; align-items:center; gap:6px;
    padding:8px 8px; margin:-8px -8px; border-radius:7px;
    opacity:0.85; transition:opacity .25s var(--ease), background .25s var(--ease);
  }
  .nav-contact-copy{display:flex; flex-direction:column; align-items:flex-start; gap:1px; line-height:1.15;}
  .nav-contact-copy small{display:none;}
  .item-link:hover, .item-link[aria-expanded="true"]{opacity:1; background:rgba(92,107,79,0.24);}
  .waze-tag{font-style:normal; color:var(--accent); font-weight:600; opacity:0.9;}
  .mini-chevron{width:8px; height:8px; opacity:0.55; flex-shrink:0; transition:transform .3s var(--ease), opacity .25s var(--ease);}
  .item-link:hover .mini-chevron{opacity:0.9;}
  .schedule-trigger[aria-expanded="true"] .mini-chevron{transform:rotate(180deg);}
  .schedule-wrap{position:relative;}
  .schedule-dropdown{
    position:absolute; top:calc(100% + 12px); left:50%;
    background:var(--surface); border:1px solid var(--line); border-radius:12px;
    padding:12px 18px;
    opacity:0; pointer-events:none; transform:translateX(-50%) translateY(-8px) scale(0.97);
    transform-origin:top center;
    transition:opacity .3s var(--ease), transform .3s var(--ease);
    box-shadow:0 20px 40px -12px rgba(0,0,0,0.5);
    white-space:nowrap;
  }
  .schedule-dropdown.open{opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0) scale(1);}
  .sched-horizontal{display:flex; align-items:center; gap:10px; font-size:0.82rem; color:var(--text);}
  .sched-divider{color:var(--line);}
  .sched-closed-text{color:var(--text-dim);}

  /* NAV */
  nav{
    position:fixed; top:0; left:0; right:0; z-index:100;
    display:flex; align-items:center; justify-content:flex-start;
    padding:22px 5vw;
    transition:background .4s var(--ease), border-color .4s var(--ease);
    border-bottom:1px solid transparent;
  }
  nav.scrolled{background:rgba(27,19,16,0.82); backdrop-filter:blur(12px); border-bottom:1px solid var(--line);}
  .nav-row{display:flex; align-items:center; gap:20px; flex-wrap:wrap; font-size:0.8rem; color:var(--text-dim);}
  .logo{font-family:'Petrona',serif; font-weight:600; font-size:1.2rem;}
  .logo em{font-style:italic;}
  .nav-menu{position:relative;}
  .logo-trigger{
    display:flex; align-items:center; gap:8px;
    background:none; border:none; cursor:pointer;
    padding:6px 4px;
  }
  .brand-mark{width:46px; height:46px; object-fit:contain; display:block; flex-shrink:0;}
  /* Logo estable: blanco con acento azul de Guatemala, sin colores cambiantes */
  .logo-trigger .logo{
    font-size:1.75rem;
    color:#ffffff;
    letter-spacing:-0.01em;
    transition:filter .25s var(--ease);
  }
  .logo-trigger .logo em{color:var(--gt-blue); font-style:italic;}
  .logo-mark{
    display:inline-flex; align-items:flex-end;
    margin-right:0; margin-bottom:3px;
    color:#ffffff;
  }
  .logo-trigger:hover .logo, .logo-trigger[aria-expanded="true"] .logo{filter:brightness(1.15);}
  .chevron{width:14px; height:14px; transition:transform .3s var(--ease); flex-shrink:0; color:var(--text-dim);}
  .logo-trigger[aria-expanded="true"] .chevron{transform:rotate(180deg);}
  .dropdown{
    position:absolute; top:calc(100% + 14px); left:50%;
    background:rgba(33,23,18,.98); backdrop-filter:blur(18px); border:1px solid rgba(245,237,225,.2); border-radius:14px;
    min-width:240px; padding:10px;
    opacity:0; pointer-events:none; transform:translateX(-50%) translateY(-10px) scale(0.97);
    transform-origin:top center;
    transition:opacity .38s var(--ease), transform .38s var(--ease);
    box-shadow:0 20px 40px -12px rgba(0,0,0,.75); z-index:220;
  }
  .dropdown.open{opacity:1; pointer-events:auto; transform:translateX(-50%) translateY(0) scale(1);}
  .dropdown-item{
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    padding:12px 14px; border-radius:9px; font-size:0.92rem; font-weight:500;
    opacity:0; transform:translateY(-6px);
    transition:background .2s var(--ease), opacity .4s var(--ease), transform .4s var(--ease);
  }
  .dropdown.open .dropdown-item{opacity:1; transform:translateY(0);}
  .dropdown.open .dropdown-item:nth-child(1){transition-delay:.08s;}
  .dropdown.open .dropdown-item:nth-child(2){transition-delay:.22s;}
  .dropdown.open .dropdown-item:nth-child(3){transition-delay:.36s;}
  .dropdown.open .dropdown-item:nth-child(4){transition-delay:.50s;}
  a.dropdown-item:hover{background:var(--accent-soft);}
  .dropdown-item.disabled{color:var(--text-dim); cursor:default;}
  .soon{
    font-size:0.66rem; letter-spacing:0.05em; text-transform:uppercase;
    color:var(--text-dim); border:1px solid var(--line); border-radius:100px;
    padding:2px 8px; flex-shrink:0;
  }

  /* ===== MENÚ DE HOY ===== */
  .hoy-section{
    max-width:900px; margin:0 auto; padding:28px 5vw 56px;
    position:relative;
  }
  .hoy-card{
    background:transparent;
    padding:28px 0 30px;
  }
  .hoy-head{text-align:center;}
  .hoy-tag{
    font-size:0.7rem; letter-spacing:0.16em; text-transform:uppercase;
    color:var(--gt-blue); font-weight:600; margin-bottom:8px;
  }
  .hoy-fecha{
    font-family:'Petrona',serif; font-size:clamp(1.45rem,5vw,1.95rem);
    color:var(--text); line-height:1.15;
  }
  .hoy-titulo{
    font-family:'Petrona',serif; font-size:clamp(1.2rem,4.5vw,1.65rem); color:var(--text); font-weight:600; margin-top:7px; line-height:1.18;
    text-shadow:0 2px 14px rgba(0,0,0,.68);
  }
  .hoy-pitch{
    text-align:center; font-size:0.85rem; color:var(--text-dim);
    margin:14px 0 22px; line-height:1.5;
  }
  .hoy-pitch[hidden]{display:none;}
  .hoy-platos{display:grid; grid-template-columns:1fr; gap:18px;}
  .hoy-platos--caldos{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hoy-platos--desayunos{grid-template-columns:repeat(2,minmax(0,1fr));}
  .hoy-plato{
    background:rgba(18,14,12,0.34); backdrop-filter:blur(8px);
    border:1px solid rgba(245,237,225,.22); border-radius:18px;
    overflow:hidden; box-shadow:0 18px 35px -22px rgba(0,0,0,.8);
  }
  .hoy-plato-img{width:100%; aspect-ratio:16/10; object-fit:cover; display:block;}
  .hoy-plato-body{padding:18px;}
  .hoy-plato--sin-foto .hoy-plato-body{padding:20px 22px;}
  .hoy-plato-top{display:flex; align-items:baseline; justify-content:space-between; gap:12px;}
  .hoy-plato h3{font-size:1.02rem; line-height:1.3;}
  .hoy-plato-precio{
    font-family:'Petrona',serif; font-size:1.05rem; color:var(--accent);
    font-weight:600; white-space:nowrap; flex-shrink:0;
  }
  .hoy-plato p{font-size:0.8rem; color:var(--text-dim); line-height:1.5; margin-top:6px;}
  .hoy-plato-ops{font-size:0.75rem; color:var(--sage); margin-top:8px; line-height:1.5;}
  .hoy-plato-order{width:100%; margin-top:13px; padding:10px 12px; border:1px solid rgba(79,158,207,.72); border-radius:10px; background:rgba(79,158,207,.18); color:#fff; font:600 .78rem 'Work Sans',sans-serif; cursor:pointer; transition:background .2s var(--ease), transform .2s var(--ease);}
  .hoy-plato-order:hover{background:rgba(79,158,207,.34); transform:translateY(-1px);}
  .breakfast-quick{
    width:100%; margin:0 0 18px; padding:15px 18px; border-radius:16px;
    border:1px solid rgba(79,158,207,.55); background:rgba(24,44,59,.86); color:var(--text);
    display:flex; align-items:center; gap:12px; text-align:left; cursor:pointer;
    transition:transform .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);
  }
  .breakfast-quick:hover{transform:translateY(-2px); border-color:var(--gt-blue); background:rgba(25,52,70,.96);}
  .breakfast-quick[hidden]{display:none;}
  .breakfast-quick-icon{font-size:1.35rem;}
  .breakfast-quick-copy{display:flex; flex-direction:column; gap:3px; flex:1;}
  .breakfast-quick-copy strong{font-family:'Petrona',serif; font-size:1.05rem; font-weight:600;}
  .breakfast-quick-copy small{color:var(--text-dim); font-family:'Work Sans',sans-serif; font-size:.72rem;}
  .breakfast-quick-arrow{font-size:.78rem; color:var(--gt-blue); font-weight:700; white-space:nowrap;}
  .hoy-estado{
    display:flex; flex-direction:column; align-items:center; gap:5px; text-align:center;
    margin:0 0 20px; padding:18px 16px; border-radius:16px;
    background:rgba(18,14,12,.28); backdrop-filter:blur(8px);
    border:1px solid rgba(245,237,225,.22);
  }
  .hoy-estado[hidden]{display:none;}
  .hoy-estado span{font-family:'Petrona',serif; font-size:1.15rem; color:var(--text);}
  .hoy-estado strong{font-size:.85rem; color:var(--gt-blue);}
  .hoy-estado small{font-size:.75rem; color:var(--text-dim);}
  .hoy-vacio{
    text-align:center; color:var(--text-dim); font-size:0.9rem;
    padding:22px 0; line-height:1.6;
  }
  .hoy-cta{margin-top:26px; text-align:center;}
  .hoy-nota{font-size:0.75rem; color:var(--text-dim); margin-top:14px; line-height:1.5;}

  /* Animación de entrada en cascada del Menú de hoy */
  .hoy-anim{opacity:0; transform:translateY(16px);}
  .hoy-anim.visible{
    opacity:1; transform:translateY(0);
    transition:opacity .6s var(--ease), transform .6s var(--ease);
  }

  /* BOTÓN "ORDENA POR WHATSAPP" — grande, centrado, arriba de "Especialidad de la semana" */
  .order-cta-wrap{
    position:relative;
    display:flex; flex-direction:column; align-items:center;
    margin-bottom:36px;
  }
  .order-wrap{position:relative; display:flex; flex-direction:column; align-items:center; width:100%;}
  .order-trigger{
    display:flex; align-items:center; gap:12px;
    background:linear-gradient(135deg, #c65a3e, var(--accent));
    color:#fff8f2; font-weight:700; font-size:1.05rem; letter-spacing:0.01em;
    padding:19px 38px; border-radius:100px; border:none; cursor:pointer;
    box-shadow:0 10px 30px -8px rgba(0,0,0,0.55);
    animation:orderGlow 2.6s ease-in-out infinite;
    transition:transform .25s var(--ease), box-shadow .25s var(--ease);
  }
  @keyframes orderGlow{
    0%,100%{box-shadow:0 10px 30px -8px rgba(0,0,0,0.55), 0 0 0 0 rgba(0,0,0,0);}
    50%{box-shadow:0 10px 30px -8px rgba(0,0,0,0.55), 0 0 26px 4px var(--accent-glow);}
  }
  .order-trigger:hover{transform:translateY(-2px);}
  .order-wa-icon{width:19px; height:19px; flex-shrink:0;}
  .order-chevron{width:13px; height:9px; flex-shrink:0; transition:transform .35s var(--ease);}
  .order-trigger[aria-expanded="true"] .order-chevron{transform:rotate(180deg);}
  .btn-primary{
    background:var(--accent); color:#f9f2ea; font-weight:600; font-size:0.95rem;
    padding:14px 30px; border-radius:100px; border:none; cursor:pointer;
    transition:transform .3s var(--ease), box-shadow .3s var(--ease);
  }
  .btn-primary:hover{transform:translateY(-2px); box-shadow:0 8px 28px -4px var(--accent-glow);}
  .btn-ghost{
    padding:14px 26px; border-radius:100px; border:1px solid var(--line);
    font-weight:500; font-size:0.95rem; transition:border-color .3s var(--ease);
  }
  .btn-ghost:hover{border-color:var(--text-dim);}
  @keyframes fadeUp{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:translateY(0);}}

  /* CALDO SIGNATURE SECTION */
  .caldo-section{max-width:900px; margin:0 auto; padding:60px 6vw 60px; text-align:center; position:relative;}
  .caldo-section .tag{font-size:0.75rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--sage); margin-bottom:16px;}
  .caldo-section h2{font-size:clamp(1.8rem,3.6vw,2.6rem); margin-bottom:16px;}
  .caldo-section > p.caldo-summary{color:var(--text-dim); max-width:40ch; margin:0 auto 30px; line-height:1.6; font-size:0.85rem;}

  /* COUNTDOWN BADGE (justo arriba de "Especialidad de la semana") */
  .cd-badge{
    margin:0 auto 18px; flex-direction:column; align-items:center; gap:2px;
    background:rgba(19,14,11,0.72); border:1px solid var(--line); border-radius:14px;
    padding:8px 18px; backdrop-filter:blur(8px); width:fit-content;
    animation:cdGlow 2.6s ease-in-out infinite;
  }
  @keyframes cdGlow{
    0%,100%{box-shadow:0 0 0 0 rgba(0,0,0,0); border-color:var(--line);}
    50%{box-shadow:0 0 18px 1px var(--accent-glow); border-color:rgba(175,69,48,0.5);}
  }
  .cd-badge-label{display:flex; align-items:center; justify-content:center; gap:5px; font-size:0.62rem; color:var(--text-dim); letter-spacing:0.05em; text-transform:uppercase; white-space:nowrap;}
  .live-dot{
    width:6px; height:6px; border-radius:50%; background:var(--accent); flex-shrink:0;
    animation:livePulse 1.2s ease-in-out infinite;
  }
  @keyframes livePulse{0%,100%{opacity:1; transform:scale(1);} 50%{opacity:0.35; transform:scale(0.7);}}
  .cd-badge-time{font-family:'Petrona',serif; font-size:1rem; color:var(--text); white-space:nowrap; font-variant-numeric:tabular-nums;}
  .cd-badge-time b{color:var(--accent); font-weight:600; display:inline-block; min-width:1.3em; text-align:center;}
  .cd-badge.cd-today{flex-direction:row; align-items:center; font-size:0.78rem; color:var(--accent); font-weight:500; padding:9px 16px;}
  .caldo-cards{
    display:grid; grid-template-columns:repeat(2,1fr); gap:24px;
    text-align:center; margin-top:8px;
  }
  .caldo-card{
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
    padding:26px 24px 30px;
    display:flex; flex-direction:column; align-items:center; gap:18px;
    opacity:0; transform:translateY(34px);
    transition:opacity .8s var(--ease), transform .8s var(--ease);
  }
  .caldo-card.in-view{opacity:1; transform:translateY(0);}
  .caldo-cards .caldo-card:nth-child(1){transition-delay:0s;}
  .caldo-cards .caldo-card:nth-child(2){transition-delay:.12s;}
  .caldo-cards .caldo-card:nth-child(3){transition-delay:.24s;}
  .caldo-cards .caldo-card:nth-child(4){transition-delay:.36s;}
  .caldo-bowl{width:100%; aspect-ratio:1/1; position:relative; border-radius:14px; overflow:hidden; border:1px solid var(--line);}
  .caldo-bowl img{width:100%; height:100%; object-fit:cover; display:block;}
  .caldo-info{width:100%;}
  .caldo-info .day{font-size:0.75rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--accent); margin-bottom:8px;}
  .caldo-info h3{font-size:1.5rem; margin-bottom:8px;}
  .rotation-note{font-size:0.82rem; font-style:italic; color:var(--sage); margin-bottom:14px !important;}
  .caldo-info p{color:var(--text-dim); font-size:0.95rem; line-height:1.6; margin-bottom:18px;}

  /* MENU GRID */
  .menu-section{max-width:1080px; margin:0 auto; padding:0 6vw 70px; position:relative;}
  .menu-section .heading{text-align:center; margin-bottom:56px;}
  .menu-section .tag{font-size:0.75rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--sage); margin-bottom:14px; text-align:center;}
  .menu-section h2{font-size:clamp(1.7rem,3.2vw,2.3rem); text-align:center; margin-bottom:28px;}

  /* ACORDEÓN DE CATEGORÍAS — todo oculto hasta que el cliente lo abra */
  .cat-accordion{display:flex; flex-direction:column; gap:14px;}
  .cat-item{border:1px solid var(--line); border-radius:16px; overflow:hidden; background:var(--bg-alt);}
  .cat-toggle{
    width:100%; display:flex; align-items:center; justify-content:space-between;
    background:none; border:none; cursor:pointer; color:var(--text);
    font-family:'Petrona',serif; font-size:1.2rem; font-weight:600;
    padding:22px 24px;
    -webkit-tap-highlight-color:transparent;
  }
  .cat-toggle small{
    display:block; font-family:'Work Sans',sans-serif; font-size:0.68rem; font-weight:500;
    color:var(--accent); text-transform:uppercase; letter-spacing:0.05em; margin-top:4px;
  }
  .cat-arrow{width:14px; height:9px; flex-shrink:0; color:var(--text-dim); transition:transform .4s var(--ease), color .25s var(--ease);}
  .cat-toggle:hover .cat-arrow{color:var(--accent);}
  .cat-item.open .cat-arrow{transform:rotate(180deg); color:var(--accent);}
  .cat-panel{max-height:0; overflow:hidden; transition:max-height .6s var(--ease);}
  .cat-item.open .cat-panel{max-height:4000px;}
  .cat-panel-inner{padding:0 24px 26px;}

  .dish-columns{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:24px 34px; margin-bottom:28px;}
  .dish-group h4{font-family:'Petrona',serif; font-weight:500; font-size:1.05rem; color:var(--accent); margin-bottom:10px;}
  .dish-list{list-style:none;}
  .dish-list li{padding:11px 0; border-bottom:1px solid var(--line); font-size:0.92rem; color:var(--text);}
  .dish-list li.dish-item{padding:0;}
  .dish-price{color:var(--accent); font-weight:600; margin-left:8px; font-size:0.85em;}
  .dish-toggle{
    width:100%; background:none; border:none; color:inherit; font:inherit; text-align:left;
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    padding:11px 0; cursor:pointer;
    -webkit-appearance:none; -webkit-tap-highlight-color:transparent; touch-action:manipulation;
  }
  .dish-toggle > span{flex:1; min-width:0;}
  .dish-arrow{width:9px; height:9px; flex-shrink:0; color:var(--text-dim); transition:transform .3s var(--ease), color .25s var(--ease);}
  .dish-toggle:hover .dish-arrow{color:var(--accent);}
  .dish-toggle[aria-expanded="true"] .dish-arrow{transform:rotate(90deg); color:var(--accent);}
  .dish-detail{max-height:0; overflow:hidden; transition:max-height .45s var(--ease);}
  .dish-detail-inner p{
    padding:0 0 14px 2px; font-size:0.82rem; color:var(--text-dim); line-height:1.5;
    opacity:0; transform:translateY(-4px);
    transition:opacity .3s var(--ease) .08s, transform .3s var(--ease) .08s;
  }
  .dish-detail.open .dish-detail-inner p{opacity:1; transform:translateY(0);}
  .dish-list li:last-child{border-bottom:none;}
  .drinks-row{display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:24px 34px; border-top:1px solid var(--line); padding-top:26px;}

  .caldos-note{
    display:table; margin:0 auto 24px; text-align:center; font-size:0.85rem; color:var(--accent); font-weight:500;
    background:var(--accent-soft); border:1px solid rgba(175,69,48,0.3);
    border-radius:100px; padding:10px 20px;
  }
  .menu-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); gap:26px;}
  .menu-card{
    background:var(--bg-alt); border:1px solid var(--line); border-radius:var(--radius);
    overflow:hidden; opacity:0; transform:translateY(24px);
    transition:opacity .8s var(--ease), transform .8s var(--ease), border-color .3s var(--ease);
  }
  .menu-card.in-view{opacity:1; transform:translateY(0);}
  .menu-card:hover{border-color:var(--accent);}
  .card-photo{
    aspect-ratio:4/3; width:100%; position:relative;
    background:var(--surface);
    display:flex; align-items:center; justify-content:center;
  }
  .card-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .card-photo.placeholder{
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
    border-bottom:1px dashed var(--line);
  }
  .card-photo.placeholder svg{width:38px; height:38px; opacity:0.5;}
  .card-photo.placeholder span{font-size:0.72rem; letter-spacing:0.06em; color:var(--text-dim); opacity:0.7;}
  .menu-card .card-body{padding:26px 26px 30px;}
  .menu-card h3{font-size:1.2rem; margin-bottom:10px;}
  .menu-card p{color:var(--text-dim); font-size:0.9rem; line-height:1.6;}

  /* STEPS */
  .steps-section{max-width:1000px; margin:0 auto; padding:0 6vw 70px; position:relative;}
  .steps-section h2{text-align:center; font-size:clamp(1.7rem,3.2vw,2.3rem); margin-bottom:34px;}
  .steps{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
  .step{text-align:center; padding:0 4px;}
  .step .n{font-family:'Petrona',serif; font-style:italic; font-size:1.5rem; color:var(--accent); margin-bottom:8px;}
  .step h3{font-size:0.85rem; margin-bottom:6px; line-height:1.25;}
  .step p{color:var(--text-dim); font-size:0.72rem; line-height:1.45;}

  /* CTA FINAL */

  footer{
    border-top:1px solid var(--line); padding:34px 6vw 40px; text-align:center;
    font-size:0.8rem; color:var(--text-dim);
    display:flex; flex-direction:column; align-items:center; gap:18px;
    position:relative;
  }
  .footer-call{
    display:inline-flex; align-items:center; gap:8px;
    color:var(--text); font-weight:600; font-size:0.85rem;
    border:1px solid var(--line); border-radius:100px; padding:11px 24px;
    transition:border-color .25s var(--ease), background .25s var(--ease);
  }
  .footer-call:hover{border-color:var(--accent); background:var(--accent-soft);}

  @media (max-width:2000px){
    .hoy-platos{grid-template-columns:1fr; gap:14px;}
    .hoy-platos--caldos, .hoy-platos--desayunos{grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px;}
    .hoy-plato-img{aspect-ratio:1/1;}
    .hoy-plato-body{padding:13px;}
    .hoy-plato-top{display:block;}
    .hoy-plato h3{font-size:.94rem;}
    .hoy-plato-precio{display:block; margin-top:4px; font-size:1rem;}
    .hoy-plato p{font-size:.7rem; margin-top:5px;}
    .hoy-plato-ops{font-size:.67rem;}
    .hoy-plato--sin-foto .hoy-plato-body{padding:15px 13px; min-height:128px;}
    .breakfast-quick{padding:14px;}
    .breakfast-quick-arrow{font-size:.72rem;}
    .caldo-cards{grid-template-columns:1fr; gap:20px;}
    .caldo-card{padding:22px 18px 26px;}
    .caldo-info h3{font-size:1.3rem;}
    .menu-grid{grid-template-columns:1fr;}
    .cat-item[data-cat="caldos"] .menu-grid{grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
    .cat-item[data-cat="caldos"] .menu-card .card-body{padding:14px;}
    .cat-item[data-cat="caldos"] .menu-card h3{font-size:.95rem;}
    .cat-item[data-cat="caldos"] .menu-card p{font-size:.72rem;}
    nav{position:static; padding:10px 5vw 12px; background:linear-gradient(180deg,rgba(27,19,16,.92),rgba(27,19,16,.56));}
    nav.scrolled{background:none; backdrop-filter:none; border-bottom-color:transparent;}
    .nav-row{width:100%; display:grid; grid-template-columns:1fr 1fr; gap:8px 9px; font-size:.78rem;}
    .nav-menu{grid-column:1/-1; justify-self:center; display:flex; flex-direction:column; align-items:center; width:100%;}
    /* Cerrado no ocupa espacio: así el logo y los datos se ven al abrir la página. */
    .dropdown{display:none; position:static; transform:none; width:min(100%,300px); margin-top:0;}
    .dropdown.open{display:block; transform:none; margin-top:2px;}
    .logo-trigger{padding:3px 5px 6px;}
    .brand-mark{width:48px; height:48px;}
    .logo-trigger .logo{font-size:1.72rem;}
    .item, .schedule-wrap{min-width:0;}
    .item-link{width:100%; min-height:54px; margin:0; padding:9px 10px; gap:8px; border:1px solid rgba(255,255,255,.24); border-radius:12px; background:rgba(27,19,16,.62); box-shadow:0 8px 18px rgba(0,0,0,.16); color:#fff;}
    .item-link:hover, .item-link[aria-expanded="true"]{background:rgba(27,19,16,.82);}
    .nav-row svg:not(.chevron):not(.mini-chevron):not(.quetzal){width:19px; height:19px; opacity:1; color:var(--gt-blue);}
    .nav-contact-copy{min-width:0;}
    .nav-contact-copy small{display:block; color:#fff; font-size:.64rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; opacity:.72;}
    .nav-contact-copy > span{font-size:.78rem; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
    .waze-tag{color:#ff7257;}
    .mini-chevron{display:none;}
    .schedule-dropdown{left:auto; right:0; transform:translateY(-8px) scale(.97);}
    .schedule-dropdown.open{transform:translateY(0) scale(1);}
    .cat-toggle{padding:18px 18px; font-size:1.05rem;}
    .cat-panel-inner{padding:0 18px 20px;}
    .nav-row{justify-content:center; gap:10px 14px; font-size:0.72rem;}
    .om-cat-btn{font-size:0.85rem; padding:16px 4px;}
    .om-cat-btn small{font-size:0.6rem;}
  }

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
  }
  /* ============ SISTEMA DE PEDIDOS (panel en cascada) ============ */
  .om-panel{
    max-height:0; overflow:hidden; opacity:0;
    transition:max-height .85s var(--ease), opacity .6s var(--ease);
    background:var(--surface); border:1px solid var(--line); border-radius:18px;
    width:min(92vw, 480px); margin:10px 0 0; text-align:left;
  }
  .om-panel.open{opacity:1;}
  .om-panel-inner{display:flex; flex-direction:column;}
  .om-header{
    display:flex; align-items:center; justify-content:space-between; gap:12px;
    padding:18px 20px; border-bottom:1px solid var(--line); flex-shrink:0;
  }
  .om-back, .om-close{
    background:none; border:none; color:var(--text-dim); cursor:pointer;
    font-size:1.3rem; line-height:1; padding:4px 8px; border-radius:8px;
    transition:color .2s var(--ease), background .2s var(--ease);
  }
  .om-back:hover, .om-close:hover{color:var(--text); background:var(--bg-alt);}
  .om-back[hidden]{visibility:hidden;}
  .om-title{font-family:'Petrona',serif; font-size:1.1rem; font-weight:600; text-align:center; flex:1;}
  .om-progress{padding:10px 20px 0; font-size:0.72rem; color:var(--text-dim); text-align:center; letter-spacing:0.04em; text-transform:uppercase; flex-shrink:0;}
  .om-body{padding:20px; min-height:220px; max-height:56vh; overflow-y:auto; display:block; transition:opacity .28s var(--ease), transform .28s var(--ease);}

  .om-cat-grid{display:flex; flex-direction:row; gap:10px;}
  .om-cat-btn{
    flex:1; min-width:0;
    display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:4px;
    background:var(--surface); border:1px solid var(--line); border-radius:14px;
    padding:20px 8px; cursor:pointer; color:var(--text); font-family:'Petrona',serif; font-size:0.98rem; font-weight:600;
    transition:border-color .2s var(--ease), transform .2s var(--ease);
  }
  .om-cat-btn:hover{border-color:var(--accent); transform:translateY(-3px);}
  .om-cat-btn.blocked{opacity:0.55;}
  .om-cat-btn.blocked:hover{border-color:var(--line); transform:none;}
  .om-cat-btn.blocked small{color:var(--accent);}
  .om-cat-btn small{display:block; font-family:'Work Sans',sans-serif; font-size:0.66rem; color:var(--text-dim); font-weight:400; line-height:1.3;}

  .om-group-label{
    font-family:'Petrona',serif; font-size:0.8rem; font-weight:600; color:var(--accent);
    text-transform:uppercase; letter-spacing:0.05em; margin:20px 0 10px;
  }
  .om-group-label:first-child{margin-top:0;}
  .om-product-list{display:grid; grid-template-columns:repeat(2,1fr); gap:12px; align-items:stretch;}
  .om-product{
    display:flex; flex-direction:column; gap:10px;
    background:var(--surface); border:1px solid var(--line);
    border-radius:14px; padding:14px; align-items:center; text-align:center;
    height:100%;
  }
  .om-product-photo{width:100%; aspect-ratio:1/1; border-radius:10px; overflow:hidden; background:var(--bg-alt); flex-shrink:0;}
  .om-product-photo img{width:100%; height:100%; object-fit:cover; display:block;}
  .om-product-info{width:100%; min-width:0; flex:1;}
  .om-product-info h4{font-size:0.92rem; margin-bottom:4px; line-height:1.3;}
  .om-product-info p{font-size:0.74rem; color:var(--text-dim); line-height:1.4; margin-bottom:6px;}
  .om-product-price{font-family:'Petrona',serif; font-size:0.9rem; color:var(--accent); font-weight:600; display:block;}
  .om-product-price.placeholder{color:var(--text-dim); font-style:italic;}
  .om-select-btn{
    width:100%; flex-shrink:0; background:var(--accent); color:#f9f2ea; border:none; border-radius:100px;
    padding:9px 12px; font-size:0.78rem; font-weight:600; cursor:pointer;
  }

  .om-option-group{margin-bottom:26px;}
  .om-option-label{font-size:0.95rem; font-weight:600; margin-bottom:12px;}
  .om-choices{display:flex; flex-wrap:wrap; gap:10px;}
  .om-choice{
    background:var(--surface); border:1px solid var(--line); border-radius:100px;
    padding:11px 20px; font-size:0.88rem; cursor:pointer; color:var(--text);
    transition:border-color .2s var(--ease), background .2s var(--ease);
  }
  .om-choice.selected{border-color:var(--accent); background:var(--accent-soft); color:var(--accent); font-weight:600;}

  .om-note-input{
    width:100%; background:var(--surface); border:1px solid var(--line); border-radius:12px;
    padding:12px 14px; color:var(--text); font:inherit; font-size:0.88rem; resize:none;
  }
  .om-qty-row{display:flex; align-items:center; justify-content:center; gap:22px; margin:22px 0;}
  .om-qty-btn{
    width:40px; height:40px; border-radius:50%; border:1px solid var(--line); background:var(--surface);
    color:var(--text); font-size:1.2rem; cursor:pointer; display:flex; align-items:center; justify-content:center;
  }
  .om-qty-num{font-family:'Petrona',serif; font-size:1.3rem; min-width:24px; text-align:center;}

  .om-confirm{text-align:center; padding:20px 0;}
  .om-confirm-check{font-size:2.4rem; margin-bottom:10px;}
  .om-confirm-actions{display:flex; flex-direction:column; gap:10px; margin-top:22px;}

  .om-cart-item{
    display:flex; justify-content:space-between; gap:12px; padding:14px 0; border-bottom:1px solid var(--line);
  }
  .om-cart-item:last-child{border-bottom:none;}
  .om-cart-item-name{font-weight:600; font-size:0.92rem;}
  .om-cart-item-meta{font-size:0.76rem; color:var(--text-dim); margin-top:3px; line-height:1.4;}
  .om-cart-item-qtybox{display:flex; align-items:center; gap:8px; margin-top:8px;}
  .om-cart-item-qtybox button{
    width:26px; height:26px; border-radius:50%; border:1px solid var(--line); background:var(--surface);
    color:var(--text); cursor:pointer; font-size:0.9rem;
  }
  .om-cart-item-right{text-align:right; flex-shrink:0;}
  .om-cart-item-price{font-family:'Petrona',serif; color:var(--accent); font-weight:600;}
  .om-remove-btn{font-size:0.72rem; color:var(--text-dim); background:none; border:none; cursor:pointer; margin-top:8px; text-decoration:underline;}
  .om-cart-total{display:flex; justify-content:space-between; padding-top:16px; margin-top:6px; border-top:1px solid var(--line); font-family:'Petrona',serif; font-size:1.1rem; font-weight:600;}
  .om-cart-total b{color:var(--accent);}
  .om-empty-cart{text-align:center; color:var(--text-dim); padding:30px 0; font-size:0.9rem;}

  .om-delivery-opt{
    display:flex; align-items:center; gap:14px; background:var(--surface); border:1px solid var(--line);
    border-radius:14px; padding:18px; cursor:pointer; margin-bottom:12px; font-size:1rem;
  }
  .om-delivery-opt.selected{border-color:var(--accent); background:var(--accent-soft);}
  .om-delivery-opt .emoji{font-size:1.4rem;}

  .om-review-note{font-size:0.78rem; color:var(--text-dim); background:var(--surface); border-radius:10px; padding:12px 14px; margin-top:16px; line-height:1.5;}

  .om-footer{padding:16px 20px; border-top:1px solid var(--line); flex-shrink:0;}
  .om-footer .btn-primary, .om-footer .btn-ghost{display:block; width:100%; text-align:center;}
  .om-footer .btn-ghost{margin-top:10px;}

  .cart-fab{
    position:fixed; bottom:22px; right:20px; z-index:150;
    background:var(--accent); color:#f9f2ea; border:none; border-radius:100px;
    padding:14px 20px; font-weight:600; font-size:0.9rem; cursor:pointer;
    box-shadow:0 10px 30px -6px rgba(0,0,0,0.5);
    display:none; align-items:center; gap:8px;
    animation:orderGlow 2.4s ease-in-out infinite;
  }
  .cart-fab.show{display:flex;}
