/* ==========================================================
   COLORES CENTRALES - MENU DE HOY
   Cambia aqui la paleta para mantener consistencia entre:
   - menu completo: assets/menu_simple.css
   - menu lite: assets/menu_lite.css
========================================================== */
:root{
  --bg:#f8f1e7;
  --paper:#fffdf9;
  --text:#4a2d18;
  --muted:#8a6a52;
  --line:#ecd8c4;

  --orange:#d97a1e;
  --orange-dark:#b85f14;
  --orange-soft:#fff1e1;

  --brown:#6f4322;
  --brown-dark:#512f16;
  --brown-soft:#f6ebe0;

  --green:#20a35b;
  --green-dark:#117a3e;
  --green-soft:#edf8f1;

  --danger:#b91c1c;
  --danger-soft:#fee2e2;

  --white:#ffffff;
  --shadow:0 10px 24px rgba(81,47,22,.08);

  /* Botones lite: visibles pero menos saturados */
  --lite-btn-bg:var(--orange-soft);
  --lite-btn-text:var(--brown-dark);
  --lite-btn-border:#f0d5bd;

  --lite-eco-bg:var(--green-soft);
  --lite-eco-text:var(--green-dark);
  --lite-eco-border:#cbead6;

  --lite-main-action-bg:#ffe2b8;
  --lite-main-action-text:var(--brown-dark);
  --lite-main-action-border:var(--orange);
}
/* Colores centralizados en assets/menu_colores.css */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  background:linear-gradient(180deg,#faefe3 0%, #f7f0e8 100%);
  color:var(--text);
  padding-bottom:150px;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}

.menu-page{
  width:min(100%, 860px);
  margin:0 auto;
}

.top-cover{
  position:relative;
  width:100%;
  aspect-ratio:16 / 7.4;
  background:linear-gradient(135deg,#e6b07a 0%, #8b5a30 100%);
  overflow:hidden;
}
.top-cover img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.top-cover__overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(69,39,19,.28) 0%, rgba(69,39,19,.48) 58%, rgba(69,39,19,.62) 100%);
}
.top-cover__content{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  text-align:center;
  padding:24px 18px 28px;
}
.top-cover__title{
  margin:0;
  color:#fff;
  font-size:34px;
  line-height:1.05;
  font-weight:700;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.top-cover__sub{
  margin:8px 0 0;
  color:#fff2e4;
  font-size:19px;
  line-height:1.1;
  font-weight:400;
  text-shadow:0 2px 10px rgba(0,0,0,.35);
}
.top-cover__hours{
  margin:10px 0 0;
  padding:8px 14px;
  border-radius:999px;
  color:#fffdf8;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.28);
  font-size:13px;
  line-height:1.25;
  font-weight:600;
  text-shadow:0 2px 10px rgba(0,0,0,.28);
  box-shadow:0 8px 16px rgba(0,0,0,.12);
  backdrop-filter:blur(4px);
}
.top-cover__feature{
  position:absolute;
  top:18px;
  left:18px;
  z-index:46;
  max-width:calc(100% - 208px);
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.24);
  color:#ffffff;
  font-size:13px;
  line-height:1.2;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  box-shadow:0 10px 18px rgba(0,0,0,.15);
  text-shadow:0 2px 10px rgba(0,0,0,.30);
  backdrop-filter:blur(6px);
}

.main-shell{
  position:relative;
  margin-top:-14px;
  background:var(--paper);
  border-radius:30px 30px 0 0;
  box-shadow:0 -1px 0 rgba(0,0,0,.02), 0 8px 22px rgba(81,47,22,.08);
  padding:18px 18px 18px;
}

.banner-shell{display:none}
#banner-promocional.banner-bottom{display:none}

.hero-meta-center{
  margin:18px 0 10px;
  text-align:center;
}
.hero-meta-title{
  display:block;
  font-size:24px;
  line-height:1.1;
  color:var(--brown-dark);
  font-weight:700;
}
.hero-meta-date{
  display:block;
  margin-top:6px;
  font-size:14px;
  line-height:1.3;
  color:var(--muted);
  font-weight:400;
}

.category-nav-shell{
  margin-top:12px;
  padding:0 0 2px;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:40;
  background:rgba(255,253,249,.96);
  backdrop-filter:blur(6px);
}
.category-nav{
  display:flex;
  gap:10px;
  overflow-x:auto;
  scrollbar-width:none;
  padding:12px 0 10px 2px;
}
.category-nav::-webkit-scrollbar{display:none}
.category-tab{
  appearance:none;
  border:1px solid var(--line);
  background:#fff;
  padding:10px 14px;
  color:var(--brown);
  font-size:14px;
  line-height:1;
  font-weight:600;
  border-radius:999px;
  white-space:nowrap;
  transition:all .18s ease;
}
.category-tab.is-active{
  color:#fff;
  background:linear-gradient(135deg,var(--orange) 0%, #b85f14 100%);
  border-color:transparent;
  box-shadow:0 8px 16px rgba(217,122,30,.24);
}

.menu-sections{
  display:grid;
  gap:24px;
  padding-top:14px;
}
.menu-section{scroll-margin-top:112px}
.section-head{
  display:flex;
  align-items:center;
  gap:12px;
  margin:4px 0 12px;
}
.section-head__line{
  flex:1 1 auto;
  height:1px;
  background:linear-gradient(90deg, transparent 0%, var(--line) 100%);
}
.section-head__title{
  margin:0;
  font-size:18px;
  line-height:1.1;
  color:var(--brown-dark);
  font-weight:700;
  white-space:nowrap;
}
.section-head__title::first-letter{text-transform:uppercase}
.section-note{
  margin:-4px 0 12px;
  padding:10px 12px;
  border:1px solid #f0dcc8;
  border-radius:14px;
  background:#fff8f1;
  color:var(--muted);
  font-size:13px;
  line-height:1.4;
  font-weight:400;
}
.section-note strong{
  color:var(--brown-dark);
  font-weight:700;
}
.menu-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
}

/* CARD DE PLATILLO */
.menu-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  box-shadow:var(--shadow);
  display:grid;
  grid-template-columns:118px minmax(0, 1fr);
  height:126px;
  min-height:126px;
  max-height:126px;
  min-width:0;
}
.menu-card.is-unavailable{opacity:.76}

.menu-card__media{
  position:relative;
  padding:0;
  border:none;
  background:#efdfd2;
  width:100%;
  height:126px;
  min-height:0;
  max-height:126px;
  overflow:hidden;
  align-self:stretch;
}
.menu-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.menu-card__state{
  position:absolute;
  left:8px;
  bottom:8px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(81,47,22,.86);
  color:#fff;
  font-size:10px;
  font-weight:700;
}
.menu-card__body{
  padding:11px 11px 11px 13px;
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.menu-card__title{
  margin:0;
  font-size:16px;
  line-height:1.16;
  font-weight:700;
  color:var(--brown-dark);
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.menu-card.is-unavailable .menu-card__title{
  text-decoration:line-through;
  color:#9a8678;
}
.menu-card__prices{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;
  align-items:end;
  gap:7px;
  margin-top:auto;
  min-width:0;
}
.menu-card__price{min-width:0}
.menu-card__price.is-single{grid-column:1 / span 2}
.menu-card__label{
  display:block;
  font-size:10px;
  line-height:1.12;
  color:var(--muted);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.2px;
}
.menu-card__amount{
  display:block;
  margin-top:3px;
  font-size:14px;
  line-height:1.1;
  color:var(--brown-dark);
  font-weight:700;
  white-space:nowrap;
}
.menu-card__add{
  appearance:none;
  border:none;
  width:40px;
  height:40px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--orange) 0%, #b85f14 100%);
  color:#fff;
  font-size:27px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 14px rgba(217,122,30,.26);
  justify-self:end;
  align-self:end;
}
.menu-card__add[disabled]{background:#d3c3b5;box-shadow:none}

.empty-state{
  padding:40px 14px;
  text-align:center;
  color:var(--muted);
}

.business-paper{
  margin-top:24px;
  background:linear-gradient(180deg,#fffdf9 0%, #fff7ef 100%);
  border:1px solid var(--line);
  border-radius:22px;
  padding:18px 18px 20px;
  box-shadow:var(--shadow);
}
.business-paper__head{
  margin-bottom:14px;
}
.business-paper__kicker{
  display:inline-block;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--orange-dark);
}
.business-paper__title{
  margin:6px 0 0;
  font-size:22px;
  line-height:1.1;
  color:var(--brown-dark);
}
.business-paper__content{
  display:grid;
  gap:14px;
}
.business-paper__item{
  display:grid;
  gap:6px;
}
.business-paper__label{
  font-size:13px;
  line-height:1.2;
  font-weight:700;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.business-paper__text{
  margin:0;
  font-size:15px;
  line-height:1.5;
  color:var(--brown-dark);
}
.business-paper__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 16px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--orange) 0%, #b85f14 100%);
  color:#fff;
  font-weight:700;
  box-shadow:0 8px 18px rgba(217,122,30,.20);
}

.bottom-actions,
.order-bar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:70;
  padding:12px 14px calc(12px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg, rgba(248,241,231,0) 0%, rgba(248,241,231,.92) 28%, rgba(248,241,231,.98) 100%);
}
.bottom-actions__grid,
.order-bar__inner{
  width:min(100%, 860px);
  margin:0 auto;
}
.bottom-actions__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}
.bottom-actions__home-link{
  display:block;
  width:min(100%, 860px);
  margin:10px auto 0;
  text-align:center;
  color:var(--brown);
  font-size:14px;
  line-height:1.25;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:3px;
}
.cta-btn{
  min-height:60px;
  border-radius:14px;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-size:18px;
  font-weight:700;
  box-shadow:0 8px 18px rgba(81,47,22,.16);
}
.cta-btn--wa{background:linear-gradient(135deg,var(--orange) 0%, #b85f14 100%)}
.cta-btn--call{background:linear-gradient(135deg,var(--brown) 0%, var(--brown-dark) 100%)}

.is-hidden{display:none !important}

.order-bar__button{
  width:100%;
  appearance:none;
  border:none;
  background:#fffdfb;
  border-radius:16px;
  padding:12px 14px;
  box-shadow:0 8px 18px rgba(81,47,22,.14);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  text-align:left;
}
.order-bar__title{
  font-size:18px;
  line-height:1.1;
  color:var(--brown-dark);
  font-weight:700;
}
.order-bar__meta{
  margin-top:4px;
  font-size:13px;
  line-height:1.3;
  color:var(--muted);
  font-weight:400;
}
.order-bar__send{
  appearance:none;
  border:none;
  min-width:116px;
  min-height:46px;
  padding:10px 14px;
  border-radius:12px;
  background:linear-gradient(135deg,var(--green) 0%, var(--green-dark) 100%);
  color:#fff;
  font-size:16px;
  font-weight:700;
  box-shadow:0 6px 14px rgba(32,163,91,.24);
}

/* ==========================================================
   MODALES GENERALES
   Corregido para que en celular no se salgan de pantalla
   y los botones inferiores siempre sean accesibles.
========================================================== */
.modal{
  position:fixed;
  inset:0;
  display:none;
  z-index:110;
  padding:10px 0 calc(10px + env(safe-area-inset-bottom));
  overflow:hidden;
  -webkit-overflow-scrolling:touch;
}
.modal.is-open{display:flex;align-items:center;justify-content:center}
.modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(58,33,18,.48);
}
.modal__dialog{
  position:relative;
  width:min(560px, calc(100% - 24px));
  max-height:calc(100dvh - 24px - env(safe-area-inset-bottom));
  margin:auto;
  background:#fffdf9;
  border-radius:20px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  box-shadow:0 18px 44px rgba(58,33,18,.22);
}
.modal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 16px 14px;
  border-bottom:1px solid var(--line);
  flex:0 0 auto;
  background:#fffdf9;
}
.modal__title{
  margin:0;
  font-size:22px;
  line-height:1.15;
  font-weight:700;
  color:var(--brown-dark);
}
.modal__close{
  appearance:none;
  border:none;
  width:38px;
  height:38px;
  min-width:38px;
  border-radius:999px;
  background:var(--brown-soft);
  color:var(--brown-dark);
  font-size:22px;
}
.modal__body{
  padding:16px;
  overflow:auto;
  min-height:0;
  flex:1 1 auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
.modal__foot{
  padding:14px 16px calc(16px + env(safe-area-inset-bottom));
  border-top:1px solid var(--line);
  flex:0 0 auto;
  background:#fffdf9;
  display:flex;
  align-items:center;
  gap:10px;
}
.product-config__subtitle{
  margin:0 0 14px;
  color:var(--muted);
  font-size:14px;
  line-height:1.4;
  font-weight:400;
}
.option-pills{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.option-pill{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  text-align:left;
  padding:12px;
}
.option-pill.is-active{
  border-color:#e3a96b;
  background:var(--orange-soft);
}
.option-pill__name{
  display:block;
  font-size:15px;
  line-height:1.2;
  color:var(--brown-dark);
  font-weight:700;
}
.option-pill__price{
  display:block;
  margin-top:4px;
  font-size:13px;
  line-height:1.2;
  color:var(--muted);
  font-weight:400;
}
.form-group{display:grid;gap:6px;margin-top:10px}
.form-group label{
  font-size:13px;
  line-height:1.2;
  color:var(--brown);
  font-weight:700;
}
.form-group select{
  min-height:46px;
  border-radius:12px;
  border:1px solid var(--line);
  background:#fff;
  padding:10px 12px;
  color:var(--brown-dark);
}
.helper-note{
  margin:12px 0 0;
  font-size:12px;
  line-height:1.4;
  color:var(--muted);
}
.primary-btn{
  width:100%;
  min-height:52px;
  appearance:none;
  border:none;
  border-radius:12px;
  background:linear-gradient(135deg,var(--orange) 0%, #b85f14 100%);
  color:#fff;
  font-size:17px;
  font-weight:700;
}
.primary-btn--whatsapp{
  background:linear-gradient(135deg,var(--green) 0%, var(--green-dark) 100%);
  box-shadow:0 8px 18px rgba(32,163,91,.22);
}

.cart-list{display:grid;gap:12px}
.cart-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  padding:14px;
  border-radius:16px;
  border:1px solid var(--line);
  background:#fff;
}
.cart-item__name{
  margin:0;
  color:var(--brown-dark);
  font-size:16px;
  line-height:1.25;
  font-weight:700;
}
.cart-item__meta{
  margin:6px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
  font-weight:400;
}
.cart-item__price{
  margin-top:7px;
  color:var(--brown-dark);
  font-size:15px;
  font-weight:700;
}
.cart-item__actions{
  display:flex;
  align-items:center;
  gap:8px;
  align-self:center;
}
.qty-btn,
.remove-btn{
  appearance:none;
  border:none;
  width:34px;
  height:34px;
  border-radius:999px;
  background:var(--brown-soft);
  color:var(--brown-dark);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:20px;
}
.remove-btn{background:#fff2ec;color:#b85f14;font-size:16px}
.qty-num{
  min-width:24px;
  text-align:center;
  color:var(--brown-dark);
  font-size:15px;
  font-weight:700;
}
.cart-empty{
  padding:26px 18px;
  border:1px dashed #ddc8b3;
  border-radius:16px;
  text-align:center;
  color:var(--muted);
  font-size:14px;
}
.cart-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
  padding:14px 16px;
  border-radius:14px;
  background:#fbf1e7;
}
.cart-total span{
  color:var(--muted);
  font-size:13px;
  font-weight:400;
}
.cart-total strong{
  color:var(--brown-dark);
  font-size:24px;
  line-height:1;
  font-weight:700;
}

.foto-modal.hidden{display:none}
.foto-modal{
  position:fixed;
  inset:0;
  z-index:120;
  background:rgba(58,33,18,.55);
  padding:20px;
  overflow:auto;
}
.foto-card{
  width:min(560px, 100%);
  max-height:calc(100vh - 40px);
  margin:4vh auto 0;
  background:#fffdf9;
  border-radius:22px;
  overflow:hidden;
  position:relative;
  box-shadow:0 20px 42px rgba(81,47,22,.24);
  display:flex;
  flex-direction:column;
}
.foto-close{
  position:absolute;
  top:14px;
  right:14px;
  width:40px;
  height:40px;
  border:none;
  border-radius:999px;
  background:rgba(255,253,249,.96);
  color:var(--brown-dark);
  font-size:22px;
  z-index:2;
}
.foto-wrap{
  height:min(68vh, 520px);
  background:#efdfd2;
  display:flex;
  align-items:center;
  justify-content:center;
}
.foto-wrap img{width:100%;height:100%;object-fit:contain}
.foto-title{padding:16px}
#fotoTitulo{font-size:20px;font-weight:700;color:var(--brown-dark)}
.foto-sub{margin-top:6px;font-size:13px;color:var(--muted)}

.page-footer{
  margin-top:18px;
  padding:0 4px;
  text-align:center;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}

/* ==========================================================
   Pedido directo independiente - menú de hoy
========================================================== */
.send-choice{display:grid;gap:12px}
.send-choice__card{
  width:100%;
  border:1px solid rgba(124,74,29,.18);
  background:#fff;
  border-radius:18px;
  padding:16px;
  text-align:left;
  display:grid;
  gap:5px;
  box-shadow:0 10px 22px rgba(0,0,0,.06);
}
.send-choice__card strong{font-size:18px;color:#2b1b0e}
.send-choice__card span{font-size:14px;color:#6b5a48;line-height:1.35}
.send-choice__card--primary{background:#fff7ed;border-color:#f59e0b}

.modal__dialog--order{
  width:min(640px, calc(100% - 18px));
  max-height:calc(100dvh - 18px - env(safe-area-inset-bottom));
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.direct-order{
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding-bottom:12px;
}

.order-step h4{font-size:18px;margin:0 0 12px;color:#3b2412}
.form-group input,.form-group textarea{
  width:100%;
  border:1px solid rgba(124,74,29,.22);
  border-radius:14px;
  padding:12px 13px;
  background:#fff;
  color:#2b1b0e;
  outline:none;
}
.form-group textarea{resize:vertical;min-height:82px}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{
  border-color:#d97706;
  box-shadow:0 0 0 3px rgba(217,119,6,.12);
}
.field-help{display:block;margin-top:6px;color:#6b5a48;font-size:12px;line-height:1.35}
.secondary-btn{
  border:1px solid rgba(124,74,29,.24);
  background:#fff;
  color:#5b3418;
  border-radius:999px;
  padding:11px 15px;
  font-weight:800;
  margin-top:8px;
}
.direct-order__foot{
  gap:10px;
}
.direct-order__foot .secondary-btn{
  margin-top:0;
  flex:0 0 auto;
  min-height:52px;
}
.direct-order__foot .primary-btn{
  flex:1 1 auto;
}
.shipping-box{
  margin-top:10px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  border-radius:14px;
  padding:11px 12px;
  color:#334155;
  font-size:14px;
  display:grid;
  gap:3px;
}
.shipping-box small{color:#b91c1c;font-size:12px;margin-top:2px}
.transfer-box{
  background:#fff7ed;
  border:1px solid #fed7aa;
  border-radius:15px;
  padding:13px;
  color:#4b2d13;
  font-size:14px;
  line-height:1.55;
  margin-bottom:12px;
}
.transfer-box p{margin:8px 0 0}
.include-shipping{
  background:#fff7d0;
  border:2px solid #fbbf24;
  border-radius:15px;
  padding:13px;
  margin:12px 0;
  color:#784F17;
}
.include-shipping label{display:flex;align-items:center;gap:10px;font-weight:900}
.include-shipping input{width:21px;height:21px;accent-color:#b91c1c}
.include-shipping small{display:block;margin-top:7px;font-size:12px;text-align:center}

.final-summary{display:grid;gap:8px}
.summary-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:8px 0;
  border-bottom:1px solid rgba(124,74,29,.12);
  font-size:14px;
}
.summary-row--sub{padding-left:12px;color:#6b5a48;font-size:13px}
.summary-total,.summary-grand{display:flex;justify-content:space-between;gap:10px;margin-top:8px}
.summary-total{font-size:14px;color:#6b5a48}
.summary-grand{
  font-size:19px;
  font-weight:950;
  padding-top:10px;
  border-top:2px solid rgba(124,74,29,.18);
  color:#2b1b0e;
}
.summary-note{font-size:13px;color:#92400e;background:#fff7ed;border-radius:12px;padding:9px 10px}
.summary-observation{font-size:13px;color:#334155;background:#f8fafc;border-radius:12px;padding:10px;line-height:1.4}
.success-box{text-align:center;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:18px;padding:18px;color:#14532d}
.success-box h4{margin:0 0 8px;color:#15803d}
.success-box p{margin:7px 0;line-height:1.45}

@media (max-width: 640px){
  .top-cover{aspect-ratio:16 / 8.3}
  .top-cover__title{font-size:28px}
  .top-cover__sub{font-size:17px}
  .main-shell{padding:16px 14px 16px;border-radius:26px 26px 0 0}
  .hero-meta-title{font-size:21px}
  .menu-section{scroll-margin-top:108px}
  .section-head__title{font-size:17px}

  .menu-card{
    grid-template-columns:108px minmax(0,1fr);
    height:118px;
    min-height:118px;
    max-height:118px;
  }
  .menu-card__media{
    height:118px;
    max-height:118px;
  }
  .menu-card__body{
    padding:10px 10px 10px 12px;
    gap:7px;
  }
  .menu-card__title{font-size:15px}
  .menu-card__prices{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 38px;gap:6px}
  .menu-card__amount{font-size:14px}
  .menu-card__add{width:38px;height:38px;font-size:26px}

  .cta-btn{min-height:58px;font-size:17px}
  .order-bar__title{font-size:16px}
  .order-bar__send{font-size:15px;min-width:108px}

  .modal{
    padding:6px 0 calc(6px + env(safe-area-inset-bottom));
  }
  .modal.is-open{
    align-items:center;
    justify-content:center;
  }
  .modal__dialog{
    width:min(100% - 12px, 640px);
    max-height:calc(100dvh - 12px - env(safe-area-inset-bottom));
    border-radius:18px;
  }
  .modal__dialog--order{
    width:min(100% - 12px, 640px);
    max-height:calc(100dvh - 12px - env(safe-area-inset-bottom));
  }
  .modal__head{
    padding:13px 14px 12px;
  }
  .modal__body{
    padding:14px;
  }
  .modal__foot{
    padding:12px 14px calc(14px + env(safe-area-inset-bottom));
  }
  .send-choice__card{
    padding:14px;
  }
  .summary-row{
    font-size:13px;
  }
}

@media (max-width: 480px){
  .menu-page{width:100%}
  .top-cover{aspect-ratio:16 / 9.2}
  .top-cover__content{padding:18px 14px 22px}
  .top-cover__title{font-size:23px}
  .top-cover__sub{font-size:15px;margin-top:6px}
  .top-cover__hours{font-size:12px;padding:7px 12px;margin-top:8px}
  .top-cover__feature{top:12px;left:12px;max-width:calc(100% - 148px);font-size:12px;padding:7px 10px}
  .main-shell{margin-top:-12px}
  .hero-meta-title{font-size:19px}
  .hero-meta-date{font-size:13px}
  .category-nav{gap:8px;padding-top:10px}
  .category-tab{font-size:13px;padding:9px 12px}
  .menu-section{scroll-margin-top:102px}
  .menu-grid{gap:12px}

  .menu-card{
    border-radius:18px;
    grid-template-columns:96px minmax(0,1fr);
    height:108px;
    min-height:108px;
    max-height:108px;
  }
  .menu-card__media{
    height:108px;
    max-height:108px;
  }
  .menu-card__body{
    padding:9px 9px 9px 11px;
    gap:6px;
  }
  .menu-card__title{
    font-size:14px;
    line-height:1.14;
  }
  .menu-card__label{font-size:9px}
  .menu-card__amount{font-size:13px}
  .menu-card__prices{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 36px;
    gap:5px;
  }
  .menu-card__add{
    width:36px;
    height:36px;
    font-size:24px;
  }

  .bottom-actions,
  .order-bar{padding:10px 10px calc(10px + env(safe-area-inset-bottom))}
  .bottom-actions__grid{gap:10px}
  .cta-btn{min-height:54px;font-size:15px;border-radius:12px}
  .order-bar__button{padding:11px 12px}
  .order-bar__send{min-width:96px;min-height:42px;font-size:14px}
  .modal__title{font-size:20px}
  .primary-btn{font-size:16px}
  .foto-modal{padding:10px}
  .foto-card{max-height:calc(100vh - 20px);margin:2vh auto 0}
  .foto-wrap{height:min(72vh, 520px)}
}

@media (max-width: 390px){
  .modal{
    padding:4px 0 calc(4px + env(safe-area-inset-bottom));
  }
  .modal__dialog,
  .modal__dialog--order{
    width:calc(100% - 8px);
    max-height:calc(100dvh - 8px - env(safe-area-inset-bottom));
    border-radius:16px;
  }
  .modal__head{
    padding:11px 12px 10px;
  }
  .modal__body{
    padding:12px;
  }
  .modal__foot{
    padding:10px 12px calc(12px + env(safe-area-inset-bottom));
  }
  .modal__title{
    font-size:18px;
  }
  .modal__close{
    width:36px;
    height:36px;
    min-width:36px;
  }
  .direct-order__foot .secondary-btn{
    padding:10px 12px;
    min-height:48px;
  }
  .direct-order__foot .primary-btn{
    min-height:48px;
  }
}
/* ==========================================================
   Ajustes cliente: card abre configuración + guarniciones tipo mesas
========================================================== */
.menu-card__body.js-config-product{
  position:relative;
  appearance:none;
  border:0;
  background:#fff;
  text-align:left;
  cursor:pointer;
  outline:none;
}
.menu-card__body.js-config-product:focus-visible{
  box-shadow:inset 0 0 0 3px rgba(217,122,30,.25);
}
.menu-card__body.js-config-product[data-disabled="1"]{
  cursor:not-allowed;
  pointer-events:none;
}
.menu-card__prices{
  grid-template-columns:minmax(0,1fr) minmax(0,1.28fr) 38px;
}
.menu-card__label{
  text-transform:none;
  letter-spacing:0;
  font-size:9px;
  line-height:1.08;
  min-height:20px;
  white-space:normal;
  color:#7c5b43;
}
.menu-card__amount{
  margin-top:2px;
  font-weight:800;
}
.menu-card__add{
  position:absolute;
  right:10px;
  bottom:10px;
  width:38px;
  height:38px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--orange) 0%, #b85f14 100%);
  color:#fff;
  font-size:27px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 14px rgba(217,122,30,.26);
  pointer-events:none;
}
.menu-card.is-unavailable .menu-card__add{
  background:#d3c3b5;
  box-shadow:none;
}

.product-config__subtitle{
  margin-bottom:10px;
  font-weight:800;
}
.option-pill{
  min-height:58px;
  padding:10px 11px;
}
.option-pill__desc{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:11px;
  line-height:1.15;
  font-weight:700;
}
.option-pill.is-active .option-pill__desc,
.option-pill.is-active .option-pill__price{
  color:rgba(255,255,255,.78);
}
.qty-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin:8px 0 10px;
}
.qty-row__btn{
  appearance:none;
  border:0;
  background:#f2e5d7;
  color:var(--brown-dark);
  width:42px;
  height:42px;
  border-radius:999px;
  font-size:24px;
  line-height:1;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
}
.qty-row__btn:disabled{
  opacity:.45;
}
.qty-row strong{
  min-width:44px;
  text-align:center;
  font-size:22px;
  font-weight:900;
  color:var(--brown-dark);
}
#productModalSubmit{
  background:linear-gradient(135deg,var(--green) 0%, var(--green-dark) 100%);
  box-shadow:0 8px 18px rgba(32,163,91,.22);
}
.guarniciones-wrap{
  display:grid;
  gap:10px;
  margin-top:8px;
}
.guarniciones-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:0;
}
.guarniciones-header strong{
  color:var(--brown-dark);
  font-size:15px;
  font-weight:900;
}
.guarniciones-counter{
  background:#fff7ed;
  color:var(--orange);
  border:1px solid #fed7aa;
  border-radius:999px;
  padding:6px 10px;
  font-size:12px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}
.guarniciones-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.guarnicion-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  background:#fff;
  color:var(--brown-dark);
  border-radius:16px;
  padding:8px;
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  align-items:center;
  gap:8px;
  text-align:left;
  min-height:74px;
  box-shadow:0 8px 18px rgba(92,53,24,.08);
}
.guarnicion-card:active{transform:scale(.985)}
.guarnicion-card.is-selected{
  border-color:var(--green);
  background:#ecfdf5;
  box-shadow:0 10px 20px rgba(22,163,74,.14);
}
.guarnicion-card.is-agotada{
  background:#f1f5f9;
  color:#64748b;
  border-color:#cbd5e1;
}
.guarnicion-card.is-blocked:not(.is-selected){opacity:.72}
.guarnicion-photo{
  width:56px;
  height:56px;
  border-radius:13px;
  overflow:hidden;
  background:#fff7ed;
  border:1px solid rgba(124,74,29,.12);
}
.guarnicion-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.guarnicion-name{
  display:block;
  padding-right:22px;
  font-size:12px;
  line-height:1.08;
  font-weight:900;
}
.guarnicion-status{
  display:inline-flex;
  margin-top:5px;
  border-radius:999px;
  background:#e2e8f0;
  color:#475569;
  padding:4px 7px;
  font-size:9px;
  line-height:1;
  font-weight:900;
}
.guarnicion-card.is-selected .guarnicion-status{
  background:#bbf7d0;
  color:#166534;
}
.guarnicion-check{
  position:absolute;
  top:7px;
  right:7px;
  width:23px;
  height:23px;
  border-radius:999px;
  background:#e2e8f0;
  color:#64748b;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  line-height:1;
  font-weight:900;
}
.guarnicion-card.is-selected .guarnicion-check{
  background:var(--green);
  color:#fff;
}
.guarnicion-card.is-complete .guarnicion-check{
  background:#15803d;
  color:#fff;
  font-size:11px;
}
.helper-note{
  min-height:0;
  margin-top:8px;
  font-weight:800;
  color:#b45309;
}

@media (max-width:480px){
  .menu-card__prices{
    grid-template-columns:minmax(0,1fr) minmax(0,1.26fr) 34px;
    gap:5px;
  }
  .menu-card__label{
    font-size:8.5px;
    min-height:19px;
  }
  .menu-card__add{
    right:9px;
    bottom:9px;
    width:34px;
    height:34px;
    font-size:23px;
  }
  .option-pills{
    gap:8px;
    margin-bottom:8px;
  }
  .option-pill{
    padding:9px 10px;
    min-height:56px;
    border-radius:14px;
  }
  .option-pill__name{font-size:13px}
  .option-pill__desc{font-size:10px}
  .option-pill__price{font-size:12px}
  .qty-row{
    margin:6px 0 8px;
  }
  .qty-row__btn{
    width:38px;
    height:38px;
    font-size:22px;
  }
  .qty-row strong{
    font-size:20px;
  }
  .guarniciones-grid{
    gap:8px;
  }
  .guarnicion-card{
    grid-template-columns:48px minmax(0,1fr);
    min-height:66px;
    padding:7px;
    gap:7px;
    border-radius:14px;
  }
  .guarnicion-photo{
    width:48px;
    height:48px;
    border-radius:12px;
  }
  .guarnicion-name{font-size:11px}
  .guarnicion-status{font-size:8.5px;padding:3px 6px}
  .guarnicion-check{width:22px;height:22px;font-size:12px}
  .guarniciones-header strong{font-size:14px}
  .guarniciones-counter{font-size:11px;padding:5px 8px}
}

/* Acceso visible a versión ligera para clientes con internet lento */
.lite-access{
  display:flex;
  justify-content:center;
  margin:10px auto 16px;
  padding:0 14px;
}
.lite-access__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  max-width:520px;
  width:100%;
  padding:11px 14px;
  border:1px solid rgba(146, 64, 14, .18);
  border-radius:999px;
  background:#fff7ed;
  color:#7c2d12;
  font-weight:900;
  font-size:13px;
  text-decoration:none;
  box-shadow:0 8px 18px rgba(146,64,14,.08);
}
.lite-access__link:active{
  transform:scale(.99);
}


/* Modal de carga lenta: ofrece versión lite sin guardar preferencia */
.slow-lite-modal{z-index:130}
.slow-lite-modal__dialog{width:min(430px, calc(100% - 26px))}
.slow-lite-modal__head{border-bottom:0;padding-bottom:6px}
.slow-lite-modal__body{text-align:center;padding-top:8px}
.slow-lite-modal__icon{
  width:54px;
  height:54px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 10px;
  background:#fff7ed;
  color:#9a3412;
  font-size:28px;
  box-shadow:0 10px 22px rgba(146,64,14,.12);
}
.slow-lite-modal__lead{
  margin:0 0 7px;
  color:var(--brown-dark);
  font-size:19px;
  line-height:1.25;
  font-weight:1000;
}
.slow-lite-modal__text{
  margin:0;
  color:#6b5a48;
  font-size:14px;
  line-height:1.45;
}
.slow-lite-modal__status{
  display:block;
  margin-top:10px;
  color:#8a6a4a;
  font-size:12px;
  line-height:1.35;
}
.slow-lite-modal__foot{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.slow-lite-modal__primary{
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none;
  min-height:54px;
}
.slow-lite-modal__secondary{
  width:100%;
  margin-top:0;
  border-radius:12px;
  min-height:46px;
}

/* ==========================================================
   TuMenúDelDía - adaptación visual 1:1 del menú de referencia
   Solo vista pública. Sin pedido directo.
========================================================== */
.landing-clean{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:18px;background:linear-gradient(180deg,#faefe3 0%,#f7f0e8 100%)}
.landing-card--clean{width:min(460px,calc(100% - 24px));background:#fffdf9;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:30px;text-align:center}
.landing-card--clean h1{margin:0 0 22px;color:var(--brown-dark);font-size:36px}.landing-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.btn{min-height:52px;border-radius:14px;border:0;background:linear-gradient(135deg,var(--orange) 0%,var(--orange-dark) 100%);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}.btn.secondary{background:#fff;color:var(--brown-dark);border:1px solid var(--line)}
.top-cover__logo{width:58px;height:58px;border-radius:16px;background:rgba(255,255,255,.95);object-fit:contain;padding:0;margin:0 0 10px 0;box-shadow:0 10px 24px rgba(0,0,0,.20);border:1px solid rgba(255,255,255,.72);display:block;backdrop-filter:blur(6px);transform:scale(1.18);transform-origin:center center}
.lg-floating-actions{position:absolute;top:16px;right:16px;z-index:50;display:flex;align-items:center;justify-content:flex-end;gap:10px;pointer-events:auto}.lg-floating-action{width:48px;height:48px;min-width:48px;min-height:48px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.10);box-shadow:0 8px 22px rgba(0,0,0,.26);display:flex;align-items:center;justify-content:center;color:#1f1f1f;text-decoration:none;line-height:1;overflow:hidden;-webkit-tap-highlight-color:transparent;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.lg-floating-action:hover{transform:translateY(-2px);background:#fff;box-shadow:0 12px 26px rgba(0,0,0,.30)}.lg-floating-action svg{width:26px;height:26px;display:block;flex:0 0 auto}.lg-floating-action[aria-label="WhatsApp"]{color:#16a34a}
.menu-card__media img{content-visibility:auto;contain-intrinsic-size:480px 360px}.menu-card__body.js-config-product[data-disabled="1"]{cursor:not-allowed;pointer-events:none}.menu-card__prices .menu-card__price.is-single{grid-column:1 / span 2}.menu-card__amount{font-variant-numeric:tabular-nums}.page-footer{margin:14px 0 8px;text-align:center;color:#9b8068;font-size:12px;line-height:1.7}.bottom-actions .cta-btn{text-decoration:none}.bottom-actions__grid:has(.cta-btn:only-child){grid-template-columns:1fr}.order-bar__send{display:inline-flex;align-items:center;justify-content:center}.primary-btn--whatsapp{background:linear-gradient(135deg,var(--green) 0%,var(--green-dark) 100%)}
.group-block{border:1px solid #f0dcc8;border-radius:16px;background:#fff8f1;padding:12px;margin-bottom:12px}.group-block__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.group-block__head strong{color:var(--brown-dark);font-size:14px}.group-block__head span{color:var(--muted);font-size:12px;font-weight:800}.cart-item__actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.cart-item .secondary-btn{min-height:auto;padding:7px 10px;font-size:12px;border-radius:10px}.cart-item__name{padding-right:10px}.cart-item__meta{white-space:normal}.helper-note:empty{display:none}
@media (max-width:768px){.lg-floating-actions{top:12px;right:12px;gap:8px}.lg-floating-action{width:40px;height:40px;min-width:40px;min-height:40px}.lg-floating-action svg{width:22px;height:22px}.top-cover__logo{width:54px;height:54px;border-radius:15px;margin-bottom:9px;transform:scale(1.16)}.landing-actions{grid-template-columns:1fr}}
@media (max-width:480px){.top-cover__logo{width:48px;height:48px;border-radius:14px;margin-bottom:8px;transform:scale(1.14)}.menu-card__title{padding-right:38px}.cart-item{grid-template-columns:minmax(0,1fr) auto}.cart-item__actions{min-width:82px}.modal__foot{gap:10px}.cart-total{min-width:128px}}

/* ==========================================================
   Landing SaaS TuMenúDelDía
   Se conserva porque index.php usa estas clases.
========================================================== */
.saas-home{min-height:100vh;background:radial-gradient(circle at 12% 8%,#fff1d6 0,#fffaf1 38%,#fff 72%);color:#24160b;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;padding-bottom:0}.saas-header{max-width:1180px;margin:0 auto;padding:24px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px}.saas-brand{font-size:28px;font-weight:1000;color:#7c2d12;text-decoration:none;letter-spacing:-.04em}.saas-nav{display:flex;align-items:center;gap:10px}.saas-nav a{font-weight:900;color:#7c2d12;text-decoration:none;padding:10px 15px;border-radius:999px}.saas-nav__primary{background:#d97706!important;color:#fff!important;box-shadow:0 12px 26px rgba(217,119,6,.22)}.saas-main{max-width:1180px;margin:0 auto;padding:34px 22px 70px}.saas-hero{display:grid;grid-template-columns:1fr 520px;align-items:center;gap:52px;min-height:620px}.saas-kicker{display:inline-flex;background:#fff;border:1px solid #f1dcc4;color:#9a3412;border-radius:999px;padding:9px 14px;font-weight:1000;box-shadow:0 10px 28px rgba(124,45,18,.07)}.saas-hero h1{font-size:72px;line-height:.95;letter-spacing:-.07em;margin:22px 0 30px;color:#431407;max-width:620px}.saas-hero__actions{display:flex;gap:13px;flex-wrap:wrap}.saas-btn{display:inline-flex;align-items:center;justify-content:center;background:#d97706;color:#fff;text-decoration:none;border-radius:17px;padding:15px 22px;font-weight:1000;min-width:158px;box-shadow:0 16px 34px rgba(217,119,6,.24)}.saas-btn--ghost{background:#fff;color:#7c2d12;border:1px solid #efd8bd;box-shadow:none}.saas-preview{background:#fff;border:1px solid #efd8bd;border-radius:34px;padding:18px;box-shadow:0 28px 80px rgba(67,20,7,.14);transform:rotate(1deg)}.saas-preview__top{display:flex;gap:7px;margin-bottom:14px}.saas-preview__top span{width:12px;height:12px;border-radius:50%;background:#fed7aa}.saas-preview__hero{height:132px;border-radius:24px;background:linear-gradient(135deg,#7c2d12,#d97706 56%,#fed7aa);margin-bottom:16px}.saas-preview__tabs{display:flex;gap:8px;margin-bottom:14px}.saas-preview__tabs span{background:#fff7ed;border:1px solid #fed7aa;color:#7c2d12;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:1000}.saas-preview__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.saas-product{border:1px solid #f1dcc4;border-radius:20px;padding:10px;background:#fffaf5}.saas-product div{height:64px;border-radius:15px;background:linear-gradient(135deg,#ffedd5,#fdba74);margin-bottom:10px}.saas-product strong{display:block;font-size:13px;color:#431407}.saas-product small{display:block;color:#8a6a53;font-size:11px;margin-top:3px}.saas-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.saas-steps article{background:#fff;border:1px solid #f1dcc4;border-radius:26px;padding:22px;box-shadow:0 18px 40px rgba(67,20,7,.06);display:flex;align-items:center;gap:14px}.saas-steps strong{display:grid;place-items:center;width:42px;height:42px;border-radius:15px;background:#fff7ed;color:#9a3412;font-size:20px}.saas-steps span{font-weight:1000;color:#431407}@media(max-width:980px){.saas-hero{grid-template-columns:1fr;min-height:auto}.saas-hero h1{font-size:58px}.saas-preview{transform:none}}@media(max-width:620px){.saas-header{display:block;padding:16px}.saas-nav{margin-top:16px}.saas-hero h1{font-size:44px}.saas-preview__grid,.saas-steps{grid-template-columns:1fr}.saas-main{padding:18px 16px 48px}.saas-nav a{padding:9px 12px}.saas-hero{gap:28px}.saas-preview__hero{height:100px}.saas-hero__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.saas-btn{width:100%;min-width:0}}@media(max-width:430px){.saas-header{display:grid;grid-template-columns:1fr;gap:12px}.saas-nav{display:grid;grid-template-columns:1fr 1fr;width:100%}.saas-hero h1{font-size:38px}.saas-hero__actions{grid-template-columns:1fr}}



/* Producto: foto abre detalle sin afectar el botón de agregar/configurar */
.menu-card__media{
  appearance:none;
  display:block;
  cursor:pointer;
  font:inherit;
  text-align:inherit;
  -webkit-tap-highlight-color:transparent;
}
.menu-card__media:focus-visible{
  outline:3px solid rgba(217,122,30,.35);
  outline-offset:-3px;
}
.product-info-modal{
  width:min(500px, calc(100% - 24px));
}
.product-info-modal__body{
  padding:0;
}
.product-info-modal__photo{
  width:100%;
  max-height:min(52vh, 360px);
  background:#efdfd2;
  overflow:hidden;
}
.product-info-modal__photo.is-hidden{
  display:none;
}
.product-info-modal__photo img{
  width:100%;
  height:100%;
  max-height:min(52vh, 360px);
  object-fit:cover;
  object-position:center center;
  display:block;
}
.product-info-modal__description{
  margin:0;
  padding:16px;
  color:var(--brown-dark);
  font-size:15px;
  line-height:1.45;
  white-space:pre-line;
}

/* Carrito: botón de WhatsApp más compacto para que el total no se corte */
.cart-modal__foot{
  display:grid;
  grid-template-columns:minmax(142px, .82fr) minmax(0, 1fr);
  align-items:stretch;
  gap:10px;
}
.cart-modal__foot .cart-total{
  min-width:0;
  margin:0;
  padding:11px 12px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:5px;
}
.cart-modal__foot .cart-total span{
  font-size:13px;
  line-height:1.15;
}
.cart-modal__foot .cart-total strong{
  display:block;
  max-width:100%;
  font-size:24px;
  line-height:1;
  white-space:nowrap;
  overflow:visible;
}
#cartSendBtn.primary-btn--whatsapp{
  width:auto;
  min-width:0;
  min-height:50px;
  padding:0 13px;
  font-size:16px;
  line-height:1.05;
  white-space:nowrap;
}
@media (max-width:480px){
  .product-info-modal{width:min(100% - 12px, 500px)}
  .product-info-modal__description{padding:14px;font-size:14px}
  .cart-modal__foot{
    grid-template-columns:minmax(132px, .78fr) minmax(0, 1fr);
    gap:8px;
  }
  .cart-modal__foot .cart-total{min-width:0;padding:10px 11px}
  .cart-modal__foot .cart-total strong{font-size:21px}
  #cartSendBtn.primary-btn--whatsapp{min-height:48px;padding:0 10px;font-size:14px}
}
@media (max-width:360px){
  .cart-modal__foot{grid-template-columns:minmax(122px, .76fr) minmax(0, 1fr)}
  .cart-modal__foot .cart-total strong{font-size:19px}
  #cartSendBtn.primary-btn--whatsapp{font-size:13px;padding:0 8px}
}

/* Reportar menú */
.report-menu-card{
  margin:16px 0 8px;
  padding:16px;
  border:1px solid rgba(229,231,235,.95);
  border-radius:22px;
  background:#ffffff;
  box-shadow:0 12px 28px rgba(15,23,42,.06);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
}
.report-menu-card__kicker{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:5px 9px;
  background:#f8fafc;
  color:var(--muted);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.report-menu-card__title{
  margin:8px 0 5px;
  color:var(--brown-dark, #4b2d13);
  font-size:20px;
  line-height:1.1;
}
.report-menu-card__copy{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.report-menu-card__btn{
  border:0;
  border-radius:16px;
  min-height:48px;
  padding:0 16px;
  background:linear-gradient(135deg,var(--brown, #6f4322) 0%, var(--brown-dark, #4b2d13) 100%);
  color:#fff;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 12px 22px rgba(15,23,42,.12);
  white-space:nowrap;
}
.report-menu-modal{width:min(520px, calc(100% - 18px))}
.report-menu-form{display:block}
.report-menu-form__field{display:grid;gap:7px;margin:0 0 13px;color:var(--brown-dark, #4b2d13);font-weight:900;font-size:13px}
.report-menu-form__field select,
.report-menu-form__field textarea,
.report-menu-form__field input{
  width:100%;
  border:1px solid var(--line, #e5e7eb);
  border-radius:14px;
  padding:12px;
  font:inherit;
  color:var(--text, #20242c);
  background:#fff;
  outline:none;
}
.report-menu-form__field textarea{resize:vertical;min-height:98px}
.report-menu-form__field select:focus,
.report-menu-form__field textarea:focus,
.report-menu-form__field input:focus{border-color:var(--orange, #d97a1e);box-shadow:0 0 0 3px rgba(217,122,30,.12)}
.report-menu-form__trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.report-menu-form__status{min-height:18px;margin:2px 0 0;font-size:13px;font-weight:850;color:var(--muted)}
.report-menu-form__status.is-ok{color:#15803d}
.report-menu-form__status.is-error{color:#b91c1c}
.report-menu-form__foot .secondary-btn{margin-top:0;min-height:52px}
@media (max-width:560px){
  .report-menu-card{grid-template-columns:1fr;padding:15px;border-radius:20px}
  .report-menu-card__btn{width:100%;min-height:50px}
  .report-menu-card__title{font-size:18px}
}

/* ==========================================================
   Vista configurable del menú público
   - linea: conserva la vista actual
   - cuadricula: cards tipo app; en celular siempre 2 columnas
========================================================== */
.menu-page--cuadricula .menu-grid{
  grid-template-columns:repeat(auto-fit,minmax(178px,1fr));
  gap:14px;
}
.menu-page--cuadricula .menu-card{
  display:flex;
  flex-direction:column;
  height:auto;
  min-height:0;
  max-height:none;
  border-radius:22px;
}
.menu-page--cuadricula .menu-card__media{
  width:100%;
  height:auto;
  aspect-ratio:1.15 / 1;
  max-height:none;
  border-radius:0;
}
.menu-page--cuadricula .menu-card__body{
  position:relative;
  min-height:104px;
  padding:12px 12px 52px;
}
.menu-page--cuadricula .menu-card__title{
  font-size:15px;
  line-height:1.15;
  -webkit-line-clamp:2;
}
.menu-page--cuadricula .menu-card__prices{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:7px;
}
.menu-page--cuadricula .menu-card__price.is-single{grid-column:1 / span 2}
.menu-page--cuadricula .menu-card__add{
  right:12px;
  bottom:12px;
}
@media (min-width: 760px){
  .menu-page--cuadricula .menu-grid{
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  }
}
@media (max-width: 640px){
  .menu-page--cuadricula .main-shell{padding-left:12px;padding-right:12px}
  .menu-page--cuadricula .menu-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .menu-page--cuadricula .menu-card{
    border-radius:17px;
    min-width:0;
  }
  .menu-page--cuadricula .menu-card__media{
    height:auto;
    aspect-ratio:1 / .78;
  }
  .menu-page--cuadricula .menu-card__body{
    min-height:105px;
    padding:9px 9px 46px;
    gap:5px;
  }
  .menu-page--cuadricula .menu-card__title{
    font-size:13px;
    line-height:1.12;
  }
  .menu-page--cuadricula .menu-card__prices{
    display:block;
    padding-right:34px;
  }
  .menu-page--cuadricula .menu-card__price + .menu-card__price{margin-top:4px}
  .menu-page--cuadricula .menu-card__label{
    font-size:8px;
    min-height:0;
  }
  .menu-page--cuadricula .menu-card__amount{
    font-size:12px;
  }
  .menu-page--cuadricula .menu-card__add{
    width:34px;
    height:34px;
    right:8px;
    bottom:8px;
    font-size:22px;
  }
}
@media (max-width: 370px){
  .menu-page--cuadricula .main-shell{padding-left:10px;padding-right:10px}
  .menu-page--cuadricula .menu-grid{gap:8px}
  .menu-page--cuadricula .menu-card__body{padding-left:8px;padding-right:8px}
  .menu-page--cuadricula .menu-card__title{font-size:12px}
}

/* ==========================================================
   Carrito visible: resumen compacto + botón avión
========================================================== */
.order-bar__button{
  cursor:pointer;
  grid-template-columns:minmax(0,1fr) 54px !important;
  align-items:end;
}
.order-bar__content{min-width:0}
.order-bar__title{font-weight:900}
.order-bar__meta{margin-top:6px}
.order-bar__list{
  display:grid;
  gap:3px;
  max-height:88px;
  overflow:hidden;
}
.order-bar__item{
  display:flex;
  align-items:flex-start;
  gap:6px;
  min-width:0;
  font-size:13px;
  line-height:1.22;
  color:var(--brown-dark);
  font-weight:850;
}
.order-bar__dash{color:var(--orange);font-weight:1000;flex:0 0 auto}
.order-bar__item-text{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.order-bar__more{
  margin-top:5px;
  color:var(--orange-dark);
  font-size:12px;
  font-weight:950;
}
.order-bar__total{
  margin-top:5px;
  color:var(--brown-dark);
  font-size:12px;
  line-height:1.15;
  font-weight:950;
}
.order-bar__send{
  width:54px !important;
  height:54px !important;
  min-width:54px !important;
  min-height:54px !important;
  padding:0 !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  justify-self:end;
  align-self:end;
}
.order-bar__send svg{width:25px;height:25px;display:block;fill:currentColor;transform:translateX(1px)}
@media (max-width:480px){
  .order-bar__button{grid-template-columns:minmax(0,1fr) 50px !important;padding:11px 11px 11px 12px !important;gap:10px}
  .order-bar__send{width:50px !important;height:50px !important;min-width:50px !important;min-height:50px !important}
  .order-bar__send svg{width:23px;height:23px}
  .order-bar__item{font-size:12px}
  .order-bar__list{max-height:80px}
}

.order-bar.is-sending .order-bar__send{opacity:.72;cursor:wait;transform:scale(.98)}
.order-bar__send:disabled{opacity:.72;cursor:wait}


/* ==========================================================
   Banner promocional público
========================================================== */
.promo-banner-shell{
  margin:2px 0 17px;
}
.promo-banner-card{
  width:100%;
  appearance:none;
  border:0;
  padding:0;
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 14px 28px rgba(15,23,42,.08);
  display:block;
  -webkit-tap-highlight-color:transparent;
}
.promo-banner-card:active{transform:scale(.995)}
.promo-banner-card__media{
  width:100%;
  display:block;
  aspect-ratio:16 / 5.2;
  object-fit:cover;
  background:#111;
}
.promo-modal{width:min(560px, calc(100% - 18px))}
.promo-modal__body{display:grid;gap:14px}
.promo-modal__media{
  width:100%;
  display:block;
  aspect-ratio:16 / 7;
  object-fit:cover;
  border-radius:18px;
  background:#111;
  overflow:hidden;
}
.promo-modal__content{
  color:var(--brown-dark);
  font-size:15px;
  line-height:1.55;
  font-weight:650;
  white-space:normal;
}
.promo-modal__btn{
  text-decoration:none;
  display:flex;
  align-items:center;
  justify-content:center;
}
@media(max-width:480px){
  .promo-banner-shell{margin:0 0 14px}
  .promo-banner-card{border-radius:17px}
  .promo-banner-card__media{aspect-ratio:16 / 5.45}
  .promo-modal__media{border-radius:15px;aspect-ratio:16 / 7.8}
  .promo-modal__content{font-size:14px;line-height:1.5}
}


.business-social-links{display:flex;flex-wrap:wrap;gap:8px}
.business-social-links a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 12px;border-radius:999px;background:#fff;color:var(--brown-dark);font-weight:800;border:1px solid var(--line);box-shadow:0 6px 14px rgba(15,23,42,.05)}
