/* ============ DAY TABS (reutilizado por Almuerzos y su panel de Admin) ============ */
.day-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px;}
.day-tab{
  padding:9px 18px;border-radius:var(--radius-pill);
  font-family:var(--mono);font-size:.72rem;letter-spacing:.03em;
  background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--w-60);
  transition:all .35s var(--ease);
}
.day-tab:hover{color:var(--w-85);border-color:var(--orange-dim);}
.day-tab.active{background:linear-gradient(135deg,var(--orange-soft),var(--orange));color:#1a0d06;font-weight:600;border-color:transparent;}
.day-tab.unavailable{opacity:.35;}

/* ============ MENU CARDS (almuerzo/desayuno) ============ */
.menu-panel{padding:32px;}
.menu-price{font-family:var(--serif);font-style:italic;color:var(--orange-soft);font-size:1.5rem;}
.unavailable-msg{padding:50px 0;text-align:center;color:var(--w-40);font-family:var(--mono);font-size:.85rem;}
.menu-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:50px 0;color:var(--w-40);font-family:var(--mono);font-size:.8rem;letter-spacing:.02em;}
.menu-loading-spinner{width:26px;height:26px;border:3px solid var(--w-10);border-top-color:var(--orange);border-radius:50%;animation:menuSpin .8s linear infinite;}
@keyframes menuSpin{to{transform:rotate(360deg);}}
.menu-error{padding:40px 20px;text-align:center;color:var(--orange-soft);font-family:var(--mono);font-size:.85rem;line-height:1.5;border:1px dashed var(--orange-dim);border-radius:var(--radius-md);}

/* ============ ALMUERZOS: selección de entrada/fondo ============
 * Desde el 15 sep 2026 cada día puede tener tantas entradas y tantos fondos
 * como Giani quiera (antes eran siempre 2 y 2 fijos, solo para mostrar). El
 * cliente ahora elige una entrada (si hay más de 1) y un fondo (si hay más
 * de 1) tocando la tarjeta — ver renderAlmPanel() en js/render-public.js. */
.alm-step{margin-bottom:34px;}
.alm-step:last-child{margin-bottom:0;}
.alm-step-head{display:flex;align-items:baseline;gap:14px;margin-bottom:18px;flex-wrap:wrap;}
.alm-step-num{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--orange-soft),var(--orange));color:#1a0d06;font-family:var(--mono);font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.alm-step-head h3{font-size:1.3rem;margin:0;}
.alm-step-meta{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--w-40);}
/* Siempre 1 sola fila por paso (entrada / fondo), con hasta 4 tarjetas visibles
   a la vez, con ancho fijo (no se estiran cuando hay menos de 4 opciones). Si
   hay más de 4, la fila se vuelve un carrusel horizontal (`.alm-pick-track`)
   con flechas (`.alm-pick-arrow`) que solo aparecen cuando hace falta —
   ver almStepHTML() en js/render-public.js. En pantallas angostas se ven
   menos tarjetas completas a la vez (3, 2 o 1 — mismos cortes que antes)
   pero el mecanismo de scroll/flechas es el mismo. */
.alm-pick-row{position:relative;}
.alm-pick-track{
  display:flex;gap:18px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x proximity;
  scrollbar-width:none;-ms-overflow-style:none;
}
.alm-pick-track::-webkit-scrollbar{display:none;}
.alm-pick-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:38px;height:38px;border-radius:50%;
  background:rgba(8,8,14,.88);backdrop-filter:blur(10px);
  border:1px solid var(--glass-border);color:var(--w-85);
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;line-height:1;cursor:pointer;
  box-shadow:0 8px 20px -6px rgba(0,0,0,.5);
  transition:all .3s var(--ease);z-index:5;
}
.alm-pick-arrow:hover{border-color:var(--orange-dim);background:rgba(8,8,14,.96);}
.alm-pick-arrow-prev{left:-14px;}
.alm-pick-arrow-next{right:-14px;}
.alm-pick-row.at-start .alm-pick-arrow-prev,
.alm-pick-row.at-end .alm-pick-arrow-next{opacity:0;pointer-events:none;}
@media (max-width:480px){
  .alm-pick-arrow{width:32px;height:32px;font-size:1rem;}
  .alm-pick-arrow-prev{left:-8px;}
  .alm-pick-arrow-next{right:-8px;}
}
.alm-pick-track .alm-pick-card{flex:0 0 calc((100% - 3*18px)/4);}
@media (max-width:900px){.alm-pick-track .alm-pick-card{flex-basis:calc((100% - 2*18px)/3);}}
@media (max-width:700px){.alm-pick-track .alm-pick-card{flex-basis:calc((100% - 1*18px)/2);}}
@media (max-width:420px){.alm-pick-track .alm-pick-card{flex-basis:100%;}}
.alm-pick-card{position:relative;text-align:left;display:block;width:100%;flex-shrink:0;scroll-snap-align:start;border-radius:var(--radius-lg);overflow:hidden;background:var(--glass-bg);border:1px solid var(--glass-border);cursor:pointer;transition:all .3s var(--ease);padding:0;font:inherit;color:inherit;}
.alm-pick-card:hover{border-color:var(--orange-dim);transform:translateY(-2px);}
.alm-pick-card.selected{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange);}
.alm-pick-card .postre-photo-wrap{margin:0;}
.alm-pick-check{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;opacity:0;transform:scale(.6);transition:all .25s var(--ease);}
.alm-pick-card.selected .alm-pick-check{opacity:1;transform:scale(1);}
.alm-pick-body{padding:16px 18px 18px;}
.alm-pick-body h4{font-size:1.02rem;margin-bottom:4px;color:var(--w-100);font-family:var(--serif);font-weight:400;}
.alm-pick-body p{font-size:.82rem;color:var(--w-40);margin:0;}
.alm-included-badge{display:inline-block;align-self:flex-start;font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-soft);background:rgba(232,103,58,.14);padding:5px 12px;border-radius:var(--radius-pill);margin-bottom:12px;}
.alm-included-card{border-radius:var(--radius-lg);overflow:hidden;background:var(--glass-bg);border:1px solid var(--glass-border);max-width:320px;}
.alm-included-card .postre-photo-wrap{margin:0;}
.alm-included-card .alm-pick-body{padding:16px 18px 18px;}
.alm-refresco-note{display:flex;align-items:center;gap:12px;padding:16px 18px;background:var(--glass-bg);border:1px dashed var(--glass-border);border-radius:var(--radius-md);margin-bottom:8px;font-size:.86rem;color:var(--w-60);}
.alm-refresco-note b{color:var(--w-100);}
.alm-combo-bar{position:sticky;bottom:16px;margin-top:26px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:20px 24px;border-radius:var(--radius-lg);background:rgba(8,8,14,.94);backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:0 18px 50px -10px rgba(0,0,0,.65);z-index:20;}
.alm-combo-info{min-width:0;}
.alm-combo-label{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--w-40);margin-bottom:5px;}
.alm-combo-desc{font-family:var(--serif);font-size:1.08rem;color:var(--w-100);line-height:1.3;}
.alm-combo-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.alm-combo-price-label{font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--w-40);}
@media (max-width:600px){.alm-combo-bar{bottom:8px;flex-direction:column;align-items:stretch;} .alm-combo-actions{justify-content:space-between;}}
