/* GENERADO por tools/fluid.py desde src/css/ios.css — no editar aquí */
/* HOTBET V2 — iPhone / iPad y app web instalada (pantalla de inicio). */

/* Sin retardo ni zoom por doble toque; sin menú de "vista previa" al mantener. */
a, button, [role="button"], .odd, .game__hit { touch-action: manipulation; -webkit-user-select: none; user-select: none; }
.game__media img, .hero__slide img, .promo-card img, .tile img { -webkit-touch-callout: none; }

/* iOS hace zoom en campos con letra < 16px: se evita. */
html.is-ios input, html.is-ios select, html.is-ios textarea { font-size: max(16px, 1em) ; }  /* 16 px reales: iOS no hace zoom al tocar */

/* Muescas en horizontal: el contenido no queda bajo la cámara. */
.app__col { padding-left: env(safe-area-inset-left, 0px); padding-right: env(safe-area-inset-right, 0px); }
.tabbar { padding-left: env(safe-area-inset-left, 0px); padding-right: env(safe-area-inset-right, 0px); }
.sidebar { padding-top: calc(calc(var(--u) * 18) + env(safe-area-inset-top, 0px)); }

/* Botón "Volver" del header: solo en la app instalada y fuera del inicio. */
.topbar__back { display: none; flex: none; color: var(--text); }
.is-standalone:not(.route-home) .topbar__back { display: inline-grid; }

/* App instalada: barra de estado translúcida sobre el header en cualquier tamaño
 * (iPad incluido), sin rebote que muestre fondo blanco. */
.is-standalone body { overscroll-behavior-y: none; }
.is-standalone .topbar { padding-top: env(safe-area-inset-top, 0px); height: calc(var(--topbar-h) + env(safe-area-inset-top, 0px)); }
.is-standalone .modal__sheet { max-height: calc(100dvh - env(safe-area-inset-top, 0px) - calc(var(--u) * 10)); }
.is-standalone .search-layer__panel { padding-top: calc(calc(var(--u) * 12) + env(safe-area-inset-top, 0px)); }
.is-standalone .sb__slip { top: calc(var(--topbar-h) + env(safe-area-inset-top, 0px) + calc(var(--u) * 12)); }
@media (max-width: 991px) {
    .is-standalone:not(.route-home) .topbar__brand .logo-img { max-width: calc(var(--u) * 100); }
}

/* Teclado abierto en iOS: los CTA fijos no quedan tapados. */
@supports (height: 1dvh) {
    .sheet__foot { padding-bottom: max(calc(var(--u) * 18), env(safe-area-inset-bottom, 0px)); }
}

/* Registro (lo demás del formulario está en responsive.css, sección 7) */
.reg-promo__btn { display: inline-flex; align-items: center; gap: calc(var(--u) * 8); color: var(--primary); font-weight: 700; font-size: max(10px, calc(var(--u) * 14)); }
.reg-promo__btn .ic { width: calc(var(--u) * 22); height: calc(var(--u) * 22); padding: calc(var(--u) * 3); border-radius: 50%; background: var(--primary); color: #fff; }
.reg-promo [data-promo] { margin-top: calc(var(--u) * 10); }
.link-btn { color: var(--primary); font-weight: 700; }

/* Acceso con Google */
.social { display: flex; flex-direction: column; align-items: center; gap: calc(var(--u) * 12); flex-shrink: 0; }
.social > * { flex-shrink: 0; }   /* nunca se encogen: el texto no queda tapado por el botón de Google */
.social__sep { position: relative; z-index: 1; display: flex; align-items: center; gap: calc(var(--u) * 12); width: 100%; min-height: calc(var(--u) * 20); line-height: calc(var(--u) * 20); white-space: nowrap; color: #7a7a7a; font-size: max(10px, calc(var(--u) * 13)); }
.social__sep::before, .social__sep::after { content: ""; flex: 1; height: 1px; background: #E4E4E4; }
.social__btn { width: 100%; display: flex; justify-content: center; min-height: calc(var(--u) * 44); }
.social--top { margin-bottom: calc(var(--u) * 2); }

/* Botón de Google con marca: cara visible propia, botón oficial invisible encima */
.gbtn { position: relative; width: 100%; max-width: calc(var(--u) * 400); height: calc(var(--u) * 50); }
.gbtn__face { display: flex; align-items: center; justify-content: center; gap: calc(var(--u) * 12); height: 100%; border-radius: calc(var(--u) * 25);
    background: #fff; border: 1px solid #DADCE0; color: #1F1F1F; font-weight: 700; font-size: max(10px, calc(var(--u) * 15)); letter-spacing: .1px; transition: background-color .15s, box-shadow .15s; }
.gbtn__logo { width: calc(var(--u) * 22); height: calc(var(--u) * 22); flex: none; }
.gbtn__real { position: absolute; inset: 0; opacity: .01; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.gbtn__real > div, .gbtn__real iframe { width: 100% !important; min-width: 100% !important; height: 100% !important; }
.gbtn:hover .gbtn__face { background: #F8F9FA; box-shadow: 0 1px calc(var(--u) * 3) rgba(60, 64, 67, .25); }
.gbtn:focus-within .gbtn__face { box-shadow: 0 0 0 calc(var(--u) * 3) rgba(66, 133, 244, .35); }
