/* iPad y compu. Enlazado con media="(min-width: 700px) and (min-height: 500px)": el teléfono no lo aplica. */
#app { max-width: 1240px; }
.top { padding-left: 28px; padding-right: 28px; }
.marca { width: 140px; height: 54px; }

/* barra: dock flotante centrado */
.barra { max-width: 520px; }

/* hojas: diálogo centrado */
#hoja { top: 50%; bottom: auto; max-width: 560px; max-height: min(88vh, 860px); border-radius: 30px; transform: translate(-50%, -50%); animation: hojaAncha .35s cubic-bezier(.2,.9,.25,1); }
#hoja.sale { animation: hojaAnchaSale .22s ease-in forwards; }
@keyframes hojaAncha { from { opacity: 0; transform: translate(-50%, -46%) scale(.97); } }
@keyframes hojaAnchaSale { to { opacity: 0; transform: translate(-50%, -48%) scale(.97); } }
.hoja-asa { display: none; }
.hoja-cuerpo { padding: 22px 28px 24px; }

/* contenido general */
.saludo, .cabeza, .carta-cabeza { padding-left: 28px; padding-right: 28px; }
.saludo h1 { font-size: 64px; }
.club-card, .ticket, .neon, .mesa, .cava, .evento, .evento-grande, .form-bloque, .lista-premios, .socio-qr, .tarjeta-mini, .historial { margin-left: 24px; margin-right: 24px; }
.riel { padding-left: 28px; padding-right: 28px; }
.riel > * { scroll-margin-left: 28px; }
.plato-card { width: 44%; max-width: 380px; }
.sucursales { padding-left: 28px; padding-right: 28px; }
.suc-card { width: 40%; max-width: 360px; }
.rubros { top: 74px; padding-left: 28px; padding-right: 28px; }
.rubro-cab { padding-left: 28px; padding-right: 28px; }
.tiles { padding-left: 24px; padding-right: 24px; gap: 14px; }
.tile { min-height: 300px; }
.tile .tx b { font-size: 20px; }
.fila-plato { padding-left: 28px; padding-right: 28px; }
.club-card .pez-grande { width: 300px; right: 0; top: -30px; }
.club-card .zona-alta { min-height: 200px; }
.club-card h3 { font-size: 58px; max-width: 320px; }
.club-card p { max-width: 520px; }
.escalera { max-width: 620px; }
.neon { min-height: 560px; }
.club-hero .pez-club { width: 420px; }
#v-club, #v-agenda, #v-reservar { max-width: 780px; margin: 0 auto; }

/* iPad parado: una columna amplia, filas de la carta en dos columnas */
@media (min-width: 700px) {
  .rubro { display: grid; grid-template-columns: 1fr 1fr; column-gap: 0; }
  .rubro > .rubro-cab, .rubro > .tiles { grid-column: 1 / -1; }
  .fila-plato:first-of-type { border-top: 1px solid var(--linea); }
  .fila-plato:nth-of-type(odd) { border-right: 1px solid var(--linea); }
}

/* compu: inicio a dos columnas, el club fijo a la izquierda */
@media (min-width: 1100px) {
  #v-inicio { display: grid; grid-template-columns: 470px minmax(0, 1fr); gap: 0 8px; align-items: start; padding-top: 6px; }
  .ini-izq { position: sticky; top: 80px; padding-bottom: 20px; }
  .ini-izq .saludo h1 { font-size: 58px; }
  .ini-izq .club-card, .ini-izq .ticket, .ini-izq .mesa { margin-left: 24px; margin-right: 8px; }
  .ini-izq .club-card .pez-grande { width: 240px; right: -20px; }
  .ini-izq .club-card .zona-alta { min-height: 176px; }
  .ini-izq .club-card h3 { font-size: 50px; max-width: 220px; }
  .ini-der .cabeza:first-child { padding-top: 14px; }
  .ini-der .plato-card { width: 46%; }
  .ini-der .suc-card { width: 44%; }
  .ini-der .neon, .ini-der .evento, .ini-der .cava { margin-left: 16px; margin-right: 28px; }
  .tiles { grid-template-columns: repeat(3, 1fr); }
  .tile.ancho { grid-column: span 3; }
  .tile.ancho .ft { aspect-ratio: 21/8; }
  #v-carta { max-width: 1100px; margin: 0 auto; }
}

/* plato solo en su rubro: tarjeta horizontal, no una foto gigante */
.tile.ancho { flex-direction: row; min-height: 0; }
.tile.ancho .ft { width: 46%; aspect-ratio: 4/3; flex: none; }
.tile.ancho .tx { padding: 22px 24px; justify-content: center; }
.tile.ancho .tx b { font-size: 28px; }
.tile.ancho .corazon { right: auto; left: calc(46% - 46px); }
@media (min-width: 1100px) { .tile.ancho .ft { width: 38%; aspect-ratio: 16/10; } .tile.ancho .corazon { left: calc(38% - 46px); } .ini-der .neon { min-height: 440px; } }
