/* Ajuste a pantalla en teléfono y en computadoras bajas: nada necesita desplazarse
   (salvo la lista de grupos y lobbys en el teléfono). Se carga después de ajuste.css. */

/* ---------------------------------------------------------------- pantallas bajas de computadora */
@media (max-height: 760px) and (min-width: 901px) {
  .rep-pres small { display: none; }
  .rep-pres { padding: 3px 8px; }
  .rep-fila { padding: 3px 8px; }
  .rep-num { font-size: 18px; }
  .rep-prov h3 { font-size: 28px; margin: 0; }
  .rep-podio { padding-top: 12px; }
  .rep-final { margin-top: 8px; }
  .btn-seguir { padding: 8px 26px; margin-top: 6px; }
  .rep-sil { height: 180px; }
}

/* ---------------------------------------------------------------- teléfonos bajos (tipo iPhone SE) */
@media (max-width: 600px) and (max-height: 720px) {
  .caja-modal header { padding: 8px 14px; }
  .caja-modal header h3 { font-size: 21px; }
  .caja-modal .cuerpo-modal { padding: 8px 14px; }
  .caja-modal footer { padding: 0 14px 10px; }
  .caja-modal .lista li { font-size: 12px; padding: 2px 0; }
  .carta-evento { padding: 6px 10px; font-size: 12.5px; }
  .carta-evento strong { font-size: 16px; }
  .inf-ingreso .ayuda { display: none; }
  .inf-que { -webkit-line-clamp: 1; }
  .al-mapa { height: 17vh; }
  .mosaico { padding: 2px 4px; }
  .mosaico .banca { width: 5px; height: 5px; }
  .mosaicos { gap: 3px; }
  .noche-pane > .ayuda { display: none; }
}

/* ================================================================ teléfono */
@media (max-width: 600px) {
  /* Tira de candidatos: los seis a la vista, sin deslizar. */
  .hud { overflow: visible; flex-wrap: nowrap; justify-content: center; gap: 3px; left: 4px; right: 4px; }
  .hud-cand { padding: 2px 5px 2px 2px; gap: 3px; border-width: 1px; }
  .hud-cara { width: 22px; height: 22px; border-width: 2px; }
  .hud-num { font-size: 12px; }
  /* Selección: tarjetas que siempre entran de a dos, o de a tres si son muchas. */
  .seleccion { padding: 8px 10px 76px; }
  .seleccion .cab .btn { padding: 6px 10px; }
  .tarjetas { gap: 8px; padding: 2px 0 6px; }
  .tarjeta, .cand { width: calc(50% - 4px); }
  .partido .tarjeta-arte { height: 104px; }
  .partido .insignia { width: 76px; height: 76px; padding: 9px; }
  .partido .tarjeta-pie { min-height: 46px; padding: 6px 4px; font-size: 14px; }
  .cand .tarjeta-arte { height: 150px; }
  .cand .retrato { width: 104px; height: 124px; }
  .cand .tarjeta-pie { min-height: 0; padding: 6px 4px 8px; }
  .cand .apellido { font-size: 19px; }
  .cand .rol { font-size: 10.5px; margin-top: 2px; }
  .tarjetas.muchas .cand { width: calc(33.33% - 6px); }
  .tarjetas.muchas .cand .tarjeta-arte { height: 112px; }
  .tarjetas.muchas .retrato { width: 76px; height: 92px; border-width: 3px; }
  .tarjetas.muchas .cand .apellido { font-size: 14px; }
  .tarjetas.muchas .cand .nombre, .tarjetas.muchas .cand .rol { display: none; }
  .tarjetas.muchas .tarjeta-pie { min-height: 0; padding: 5px 3px 6px; }
  .tarjetas.muchas .prov-tag { font-size: 9px; padding: 2px 4px; }
  .tarjetas.muchas .logo-esquina { height: 16px; }
  .etiqueta-precio { font-size: 12px; padding: 2px 5px; right: 4px; bottom: 4px; }
  .etiqueta-acuerdo { font-size: 8px; left: 4px; bottom: 4px; padding: 2px 4px; }
  .detalle-cand, .detalle-cand + .ayuda { display: none; }
  .formula { padding: 4px 8px; gap: 6px; }
  .formula b { font-size: 14px; }
  .formula small { font-size: 11px; }
  .rivales-elegir { gap: 5px; }
  .rival-fila { grid-template-columns: 1fr; gap: 4px; padding: 5px 8px; }
  .rival-partido { display: flex; align-items: center; gap: 8px; }
  .rival-partido .sigla-img { height: 18px; }
  .rival-partido b { font-size: 13px; }
  .rival-ops { gap: 4px; flex-wrap: nowrap; }
  .rival-op { width: auto; flex: 1; min-width: 0; padding: 3px 1px; font-size: 9px; border-width: 1px; }
  .rival-op img, .rival-op .dado { width: 32px; height: 32px; font-size: 14px; }
  .rival-op span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }

  /* Ficha: cabecera horizontal y listas en dos columnas. */
  .ficha { height: auto; max-height: 96dvh; grid-template-columns: 1fr; }
  .ficha-izq { display: grid; grid-template-columns: 96px 1fr; align-items: center; text-align: left; padding: 10px 12px; column-gap: 12px; min-height: 0; }
  .ficha-foto { grid-row: 1 / 5; grid-column: 1; width: 96px; height: 110px; border-radius: 48px 48px 8px 8px; border-width: 3px; margin: 0; }
  .ficha-logo { grid-column: 2; height: 30px; justify-self: start; padding: 3px 6px; }
  .ficha-nombre { grid-column: 2; font-size: 24px; margin: 4px 0 0; }
  .ficha-nombre small { font-size: 12px; }
  .ficha-rol { grid-column: 2; margin: 0; }
  .ficha-agua, .ficha-prov, .ficha-izq .nota-cand { display: none; }
  .precio { position: static; grid-column: 2; justify-self: start; font-size: 18px; padding: 3px 8px; }
  .ficha-der { padding: 10px 12px 0; }
  .ficha-der .cerrar-x { top: -36px; }
  .ficha-sub { font-size: 16px; margin: 0; }
  .ficha-cols { grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 6px; }
  .cab-bono, .cab-castigo { font-size: 14px; padding: 5px; margin-bottom: 4px; }
  .ficha-lista { gap: 2px; }
  .ficha-lista li { grid-template-columns: 18px 38px 1fr; gap: 3px; font-size: 11px; line-height: 1.15; }
  .ficha-lista b { font-size: 13px; }
  .ficha-lista .ico.mini { display: none; }
  .signo { width: 17px; height: 17px; font-size: 8px; border-width: 2px; }
  .ficha-der > .ayuda { font-size: 10.5px; margin: 6px 0 0; }
  .ficha-btns { padding: 8px 0 10px; }
  .ficha-btns .btn { padding: 9px; font-size: 16px; }

  /* Alianzas: mapa más bajo y panel con pestañas. */
  .alianzas { height: 100dvh; min-height: 0; display: flex; flex-direction: column; overflow: hidden; }
  .alianzas .barra { flex: none; }
  .al-cuerpo { display: flex; flex-direction: column; min-height: 0; flex: 1; }
  .al-mapa { height: 24vh; min-height: 0; flex: none; padding: 4px; }
  .al-leyenda { display: none; }
  .al-panel { flex: 1; min-height: 0; padding: 4px 10px 64px; }
  .al-panel h4 { margin: 5px 0 3px; font-size: 12px; }
  .al-tabs button { padding: 6px 8px; font-size: 13px; }
  .socios { grid-template-columns: repeat(3, 1fr); gap: 4px; }
  .socio { padding: 3px 4px; gap: 4px; }
  .socio .cara { width: 24px; height: 24px; }
  .socio small { display: none; }
  .socio .sigla-img { height: 14px; }
  .negocio { grid-template-columns: 1fr 1fr; gap: 6px; margin-bottom: 4px; }
  .negocio > div { font-size: 11px; padding: 4px 6px; }
  .paso { margin-top: 2px; gap: 4px; }
  .paso b { font-size: 15px; min-width: 40px; }
  .paso .btn-chico { padding: 3px 9px; }
  .al-panel .tabla { font-size: 11px; }
  .al-panel .tabla td, .al-panel .tabla th { padding: 2px 4px; }
  .al-panel .tabla-scroll + .ayuda { display: none; }
  .al-panel .chips { gap: 3px; }
  .proponer { margin-top: 4px; padding: 7px; font-size: 16px; }
  .al-panel .botones { margin-top: 3px; }
  .al-msg { margin: 4px 0 0; padding: 4px 8px; font-size: 12px; }

  /* Ventana de provincia: todo más compacto. */
  .vp-cab { padding: 8px 12px; }
  .vp-region { font-size: 10px; }
  .vp-cab h2 { font-size: 22px; margin: 0 0 5px; }
  .vp-sil { width: 64px; height: 50px; right: 50px; }
  .vp-cab .cerrar-x { width: 32px; height: 32px; top: 6px; right: 6px; }
  .vp-stat { padding: 4px 6px; }
  .vp-stat small { font-size: 8.5px; }
  .vp-stat b { font-size: 14px; }
  .vp-cuerpo { padding: 0 12px 4px; }
  .vp-sep { margin: 5px 0 3px; font-size: 9.5px; }
  .vp-monto b { font-size: 28px; }
  .vp-monto small { font-size: 9.5px; }
  .vp-slider { margin-top: 4px; gap: 6px; }
  .vp-rango { padding-bottom: 12px; }
  .vp-limites { font-size: 9.5px; padding: 0 40px; }
  .btn.redondo { width: 32px; height: 32px; font-size: 17px; }
  .vp-bancas b { font-size: 26px; }
  .vp-bancas span { font-size: 15px; }
  .banca-blq { width: 15px; height: 13px; border-radius: 3px; }
  .blqs { margin: 3px 0 4px; gap: 2px; }
  #vp-efecto .chip { padding: 1px 7px; font-size: 10.5px; }
  .vp-aviso { display: none; }
  .vp-lateral .vp-podio { padding-top: 10px; gap: 8px; }
  .vp-lateral .podio-circ { width: 36px; height: 36px; font-size: 14px; border-width: 3px; }
  .vp-lateral .podio-lugar.primero .podio-circ { width: 44px; height: 44px; font-size: 18px; }
  .vp-lateral .podio-nombre { font-size: 11px; }
  .vp-lateral .podio-sub { font-size: 9.5px; }
  .vp-pistas { gap: 2px; }
  .vp-pista { grid-template-columns: 20px 1fr 16px; }
  .vp-pista .cara { width: 20px; height: 20px; }
  .celda { height: 8px; }
  .celdas .meta { font-size: 8px; }
  .vp-pasada { margin-top: 4px; }
  .vp-pasada summary { padding: 5px; font-size: 10px; }
  .vp-pie { padding: 6px 12px 8px; }
  .btn-confirmar { padding: 10px; font-size: 15px; }

  /* Repetición y escrutinio: provincia arriba y un resumen corto abajo. */
  .rep { min-height: 0; height: 100dvh; }
  .rep-cab { padding: 6px 10px; gap: 6px; }
  .rep-cont b { font-size: 26px; }
  .rep-cont span { font-size: 16px; }
  .rep-ctrl button { width: 32px; height: 32px; }
  .rep-ctrl .rep-play { width: 38px; height: 38px; font-size: 14px; }
  .rep-ctrl .rep-omitir { padding: 0 10px; font-size: 13px; }
  .rep-tit { font-size: 11px; }
  .rep-prog { height: 5px; margin-top: 3px; }
  .rep-cuerpo { min-height: 0; }
  .rep-izq, .rep-der { padding: 4px 10px; }
  .rep-sil { width: 120px; height: 100px; top: 16px; }
  .rep-prov h3 { font-size: 22px; margin: 0; }
  .rep-sub { font-size: 11px; margin: 1px 0; }
  .rep-podio { padding-top: 12px; gap: 8px; }
  .podio-circ { width: 42px; height: 42px; font-size: 16px; border-width: 3px; }
  .podio-lugar.primero .podio-circ { width: 52px; height: 52px; font-size: 20px; }
  .podio-nombre { font-size: 11px; }
  .podio-sub { font-size: 9.5px; }
  .podio-gana { top: -12px; font-size: 8.5px; }
  .rep-sig { margin-top: 2px; font-size: 10.5px; }
  .rep-cerrado { font-size: 11px; margin: 2px 0; }
  .rep-total-tit { margin: 2px 0; font-size: 11px; }
  .rep-barra { height: 20px; margin-bottom: 4px; }
  .rep-barra span { font-size: 9.5px; }
  .rep-filas { gap: 2px; }
  .rep-filas .rep-fila:nth-child(n + 5) { display: none; }
  .rep-fila { padding: 2px 6px; grid-template-columns: 16px minmax(60px, 1fr) 1fr 24px 32px; gap: 5px; }
  .rep-nom { font-size: 13px; }
  .rep-nom .cara { width: 20px; height: 20px; }
  .rep-num { font-size: 14px; padding: 0; }
  .rep-delta { font-size: 12px; }
  .rep-pres { grid-template-columns: 24px 1fr 52px; padding: 1px 6px; margin-bottom: 2px; gap: 6px; }
  .rep-pres .cara { width: 22px; height: 22px; border-width: 2px; }
  .rep-pres .rep-pista { display: none; }
  .rep-pres-nom { font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .rep-pres small { display: none; }
  .rep-pres b { font-size: 14px; }
  .rep-izq .rep-pres ~ .rep-filas { display: none; }
  .rep-final b { font-size: 15px; }
  .rep-final { margin-top: 4px; gap: 4px; }
  .btn-seguir { padding: 7px 20px; font-size: 15px; margin-top: 2px; border-width: 2px; }

  /* Noche: provincias en tres columnas y sin la tarjeta grande. */
  .noche { padding: 8px 10px; }
  .noche-cab { padding: 8px 10px; flex-wrap: wrap; gap: 6px; }
  .noche-cab .btn { width: 100%; padding: 8px; }
  .noche-cab h1 { font-size: 22px; }
  .noche-cab .fecha { font-size: 11px; }
  .noche-tabs { margin: 6px 0; }
  .noche-tabs button { font-size: 11.5px; padding: 7px 2px; }
  .noche-pane { padding: 8px 10px; }
  .noche-pane h2 { font-size: 15px; }
  .noche .ganador .tarjeta { display: none; }
  .noche .titular { font-size: 19px; }
  .mosaicos { grid-template-columns: repeat(3, 1fr); gap: 4px; }
  .mosaico { padding: 3px 5px; }
  .mosaico b { font-size: 11px; }
  .mos-gana { font-size: 10px; }
  .mosaico .banca { width: 6px; height: 6px; }
  .noche .hemi { grid-template-columns: 1fr; gap: 4px; }
  .noche .hemi svg { max-width: 220px; }
  .noche .hemi figcaption { font-size: 14px; }
}
