@media(max-width:1050px){.desktop-nav{display:none}.menu-button{display:block}.cards.four{grid-template-columns:repeat(2,1fr)}.hero{min-height:560px}.hero-content{padding-left:50px}}
@media(max-width:700px){.site-header{height:68px;padding:0 18px}.brand-mark{font-size:30px}.hero{min-height:610px}.hero-overlay{background:linear-gradient(180deg,rgba(20,33,26,.45),rgba(20,33,26,.94))}.hero-content{align-self:end;padding:90px 22px 50px}.hero h1{font-size:52px}.hero-actions{flex-direction:column}.btn{width:100%}.section{padding:56px 18px}.module-panel-section{padding-top:10px;padding-bottom:10px}.cards.three,.cards.four{grid-template-columns:1fr}.card img{height:220px}.form-row{grid-template-columns:1fr}.tabs{justify-content:flex-start;overflow:auto;flex-wrap:nowrap;padding-bottom:5px}.tab{white-space:nowrap}.section-heading{text-align:left}.hours-list>div{display:grid;gap:2px}.hours-list span{text-align:left}.panel{padding:24px}footer{grid-template-columns:1fr;padding:40px 20px}.mobile-nav{top:62px}}


/* V0.10.4 · composición móvil canónica: lectura real a tamaño teléfono, una tarjeta por bloque. */
@media(max-width:700px){
  body{background:#efe7da}
  #homeFlow{display:block;max-width:none;margin:0;padding:12px 14px 42px;background:#efe7da;overflow:visible}
  #homeFlow>[data-module]{margin:0 0 14px;padding:0!important;background:transparent!important}
  #homeFlow>[data-module]>.section{padding:0!important;background:transparent!important;height:auto}
  #homeFlow>[data-module] .panel{background:#fffdf9;border:1px solid rgba(70,55,42,.10);box-shadow:0 8px 24px rgba(63,43,29,.10);border-radius:22px}
  .section-heading{text-align:left;margin:0 0 15px;padding:0 4px}.section-heading>p{font-size:11px;margin-bottom:6px}.section-heading h2{font-size:34px;line-height:1.04}
  [data-module="hero"]{margin-bottom:18px!important}
  .hero-shell .hero{min-height:0!important;aspect-ratio:1/1.06!important}
  .hero-shell .hero-content{align-self:end!important;padding:26px 22px 30px!important;max-width:76%!important}
  .hero-shell .hero h1{font-size:clamp(44px,12vw,58px)!important;line-height:.93!important}
  .hero-shell .hero-actions{position:static!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin:0!important}

  /* Ofertas: una tarjeta legible por gesto, nunca tres miniaturas comprimidas. */
  .offers-grid{display:flex!important;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;padding:2px 3px 10px;scrollbar-width:none}
  .offers-grid::-webkit-scrollbar{display:none}.offers-grid>.card{flex:0 0 92%;scroll-snap-align:start;border-radius:20px;box-shadow:0 8px 22px rgba(60,41,28,.09)}
  .offers-grid .card-media{height:210px}.offers-grid .card-body{padding:17px 18px 19px}.offers-grid .card h3{font-size:24px}.offers-grid .card p{font-size:15px;min-height:0;line-height:1.45}.offers-grid .price{font-size:20px}

  /* Carta: producto por producto, horizontal y grande para lectura sin zoom. */
  .menu-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px}.menu-grid>.card{display:grid;grid-template-columns:minmax(132px,42%) 1fr;min-height:150px;border-radius:20px;box-shadow:0 7px 20px rgba(60,41,28,.09)}
  .menu-grid>.card .card-media{height:100%;min-height:150px}.menu-grid>.card .card-body{padding:17px 16px;display:flex;flex-direction:column;justify-content:center;min-width:0}.menu-grid>.card h3{font-size:23px;line-height:1.05;margin-bottom:7px}.menu-grid>.card p{font-size:14px;line-height:1.35;min-height:0;margin-bottom:8px}.menu-grid>.card .menu-allergens{font-size:10px}.menu-grid>.card .price{font-size:19px}.menu-grid .menu-card-footer{align-items:flex-end}.menu-more-row{padding-top:2px}.menu-more-button,.menu-less-button{width:100%;border-radius:12px}

  /* Módulos de servicio: uno por fila y con respiración propia. */
  .module-panel-section{padding:0!important}.panel{padding:22px 20px}.panel h3{font-size:30px;line-height:1.08;margin:6px 0 10px}.panel p{font-size:15px;line-height:1.45}.panel-kicker{font-size:10px;margin-bottom:7px}.reservation-panel-pro{grid-template-columns:minmax(0,1fr) 112px!important;gap:12px!important;padding:22px 20px!important}.reservation-panel-pro h3{font-size:34px!important}.reservation-table-visual,.reservation-calendar-visual{min-height:175px!important}.reservation-home-cta{min-height:54px;font-size:17px}.reservation-feature-grid{gap:7px!important}.reservation-feature-grid span{font-size:12px!important}.reservation-next-details{grid-template-columns:1fr!important}.reservation-actions{grid-template-columns:1fr!important}.reservation-actions .btn{min-height:52px}
  .hours-list{font-size:14px}.qr-icon{font-size:36px}.account-panel ul{font-size:14px;line-height:1.7}.account-panel .btn{min-height:52px}
}
@media(max-width:420px){
  #homeFlow{padding-inline:12px}.offers-grid>.card{flex-basis:94%}.offers-grid .card-media{height:195px}.menu-grid>.card{grid-template-columns:122px 1fr;min-height:142px}.menu-grid>.card .card-media{min-height:142px}.menu-grid>.card h3{font-size:21px}.reservation-panel-pro{grid-template-columns:minmax(0,1fr) 96px!important;padding:19px 16px!important}.reservation-panel-pro h3{font-size:31px!important}
}
