/* Viu Map · bienvenida (Etapa 3b, 29-oct-2026): registro, «Hemos mejorado para ti» y vídeo de bienvenida.
   El velo es el mismo de los modales del mapa (rgba(14,34,38,.55)), sin backdrop-filter (Sesión 76). */
#viuBienvenida { position: fixed; inset: 0; z-index: 7000; font-family: 'Inter', -apple-system, 'PingFang SC', 'Microsoft YaHei', 'Noto Sans SC', Arial, sans-serif; color: #1B2430; }
#viuBienvenida .bv-velo { position: absolute; inset: 0; background: rgba(14, 34, 38, 0.55); display: flex; align-items: center; justify-content: center; padding: 12px; animation: bvFundido .25s ease; }
@keyframes bvFundido { from { opacity: 0; } to { opacity: 1; } }
#viuBienvenida .bv-tarjeta { background: #fff; border-radius: 18px; box-shadow: 0 14px 44px rgba(0,0,0,.28); width: 100%; max-width: 380px; max-height: calc(100dvh - 24px); overflow-y: auto; padding: 20px 24px 14px; text-align: center; animation: bvSube .32s cubic-bezier(.2,.9,.3,1); }
@keyframes bvSube { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }
#viuBienvenida .bv-logo { width: 230px; max-width: 72%; height: auto; display: block; margin: 0 auto 4px; }
#viuBienvenida h2 { font-size: 21px; font-weight: 800; color: #111; margin: 4px 0 12px; line-height: 1.2; }
#viuBienvenida .bv-texto { font-size: 14.5px; color: #666; line-height: 1.45; margin: 0 6px 16px; }
#viuBienvenida .bv-campo { text-align: left; margin-bottom: 11px; }
#viuBienvenida .bv-campo label { display: block; font-size: 13px; font-weight: 500; color: #333; margin-bottom: 5px; }
#viuBienvenida .bv-campo input { width: 100%; height: 42px; border: 1px solid #d5dbe8; border-radius: 9px; background: #E8EEFB; padding: 0 12px; font: 16px 'Inter', sans-serif; color: #1B2430; box-sizing: border-box; }
#viuBienvenida .bv-campo input:focus { outline: none; border-color: #2E7D32; background: #fff; }
#viuBienvenida .bv-fila { display: flex; gap: 8px; margin-top: 14px; }
#viuBienvenida .bv-fila .bv-btn { flex: 1; }
#viuBienvenida .bv-btn { border: none; border-radius: 9px; color: #fff; font: 700 14.5px 'Inter', sans-serif; padding: 12px 8px; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 6px; box-shadow: 0 2px 5px rgba(0,0,0,.15); width: 100%; }
#viuBienvenida .bv-btn:disabled { opacity: .6; cursor: default; }
#viuBienvenida .bv-verde { background: #2E7D32; }
#viuBienvenida .bv-verde:hover { background: #256428; }
#viuBienvenida .bv-oro { background: #D79109; width: 86%; margin: 12px auto 0; font-size: 16px; padding: 13px 8px; }
#viuBienvenida .bv-oro:hover { background: #c18207; }
#viuBienvenida .bv-azul { background: #1C3F7A; width: 72%; margin: 12px auto 0; }
#viuBienvenida .bv-azul:hover { background: #163364; }
#viuBienvenida .bv-enlace { display: inline-block; margin-top: 10px; font-size: 13px; color: #2E7D32; cursor: pointer; background: none; border: none; font-family: inherit; }
#viuBienvenida .bv-mensaje { font-size: 13px; min-height: 0; margin-top: 8px; line-height: 1.35; }
#viuBienvenida .bv-mensaje:empty { display: none; }
#viuBienvenida .bv-mensaje.error { color: #C62828; }
#viuBienvenida .bv-mensaje.ok { color: #2E7D32; }
#viuBienvenida .bv-motivo { font-size: 13.5px; color: #555; line-height: 1.4; margin: -4px 4px 12px; }
#viuBienvenida .bv-nota { font-size: 11.5px; color: #888; line-height: 1.4; margin: 10px 8px 0; }
#viuBienvenida .bv-pie { margin-top: 12px; font-size: 11.5px; color: #888; }
#viuBienvenida .bv-pie a { color: #2E7D32; font-weight: 600; text-decoration: none; }
#viuBienvenida [hidden] { display: none !important; }
/* Vídeo: el mapa detrás no se oscurece, se desenfoca (filter en el propio mapa, no backdrop-filter) */
#viuBienvenida .bv-capa-video { position: absolute; inset: 0; transition: opacity .5s ease; }
#viuBienvenida .bv-capa-video.saliendo { opacity: 0; }
#viuBienvenida .bv-capa-video video, #viuBienvenida .bv-capa-video canvas { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
html.viu-bv-borroso body > *:not(#viuBienvenida) { filter: blur(8px); transition: filter .5s ease; }
html.viu-bv-enfocando body > *:not(#viuBienvenida) { filter: none; transition: filter .5s ease; }
@media (max-height: 640px) { #viuBienvenida .bv-logo { width: 170px; } #viuBienvenida h2 { margin-bottom: 8px; } }
/* ── Etapa 16b (2-nov-2026): el registro por pasos, con el mismo diseño de la tarjeta ── */
#viuBienvenida .bv-pasos { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 2px 0 6px; }
#viuBienvenida .bv-pasos i { width: 28px; height: 5px; border-radius: 3px; background: #e2e6ee; display: block; }
#viuBienvenida .bv-pasos i.hecho { background: #2E7D32; }
#viuBienvenida .bv-pasos i.ahora { background: #D79109; }
#viuBienvenida .bv-paso-txt { font-size: 12px; color: #888; margin-bottom: 4px; font-weight: 600; letter-spacing: .2px; }
#viuBienvenida .bv-quien { display: flex; align-items: center; gap: 12px; text-align: left; background: #F6F8FC; border-radius: 12px; padding: 10px 12px; margin: 4px 0 12px; }
#viuBienvenida .bv-foto { width: 46px; height: 46px; border-radius: 50%; background: #1C3F7A; color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 17px; border: 2px solid #D79109; flex: 0 0 auto; object-fit: cover; box-sizing: border-box; }
#viuBienvenida .bv-quien b { display: block; font-size: 15px; word-break: break-word; }
#viuBienvenida .bv-quien small { color: #777; font-size: 12.5px; word-break: break-all; }
#viuBienvenida .bv-ayuda { font-size: 11.8px; color: #7a8290; margin-top: 4px; line-height: 1.35; }
#viuBienvenida .bv-opc { font-weight: 400; color: #888; }
#viuBienvenida .bv-campo input[type="date"] { -webkit-appearance: none; appearance: none; text-align: left; display: block; min-height: 42px; }
#viuBienvenida .bv-campo input[type="date"]::-webkit-date-and-time-value { text-align: left; }
#viuBienvenida .bv-doc { display: flex; align-items: flex-start; gap: 10px; text-align: left; border: 1.5px solid #e3e8f0; border-radius: 12px; padding: 10px 12px; margin-bottom: 10px; }
#viuBienvenida .bv-doc input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: #2E7D32; flex: 0 0 auto; }
#viuBienvenida .bv-doc .t { font-size: 13.5px; line-height: 1.35; color: #333; flex: 1; cursor: pointer; }
#viuBienvenida .bv-doc .leer { font: 700 12.5px 'Inter', sans-serif; color: #1C3F7A; background: #E8EEFB; border: none; border-radius: 8px; padding: 7px 10px; cursor: pointer; white-space: nowrap; }
#viuBienvenida .bv-doc.apagado .t { color: #9aa1ad; cursor: default; }
#viuBienvenida .bv-gris, #viuBienvenida .bv-gris:hover { background: #bbb; }
#viuBienvenida .bv-sec { background: #fff; color: #1C3F7A; border: 1.5px solid #1C3F7A; box-shadow: none; margin-top: 10px; }
#viuBienvenida .bv-sec:hover { background: #F6F8FC; }
#viuBienvenida .bv-tel { display: flex; gap: 8px; }
#viuBienvenida .bv-tel input { flex: 1; min-width: 0; }
#viuBienvenida .bv-tel .pre { height: 42px; border: 1px solid #d5dbe8; border-radius: 9px; background: #f2f2f2; display: grid; place-items: center; padding: 0 10px; font-size: 15px; color: #444; box-sizing: border-box; }
#viuBienvenida .bv-cod { width: 100%; height: 52px; border: 1px solid #d5dbe8; border-radius: 9px; background: #E8EEFB; text-align: center; font: 800 24px 'Inter', sans-serif; letter-spacing: 10px; color: #1B2430; box-sizing: border-box; }
#viuBienvenida .bv-cod:focus { outline: none; border-color: #2E7D32; background: #fff; }
#viuBienvenida .bv-marco { width: 100%; height: min(520px, calc(100dvh - 250px)); min-height: 260px; border: 1px solid #e3e8f0; border-radius: 12px; display: block; background: #fff; }
#viuBienvenida .bv-fila-lector { display: flex; gap: 8px; align-items: center; justify-content: space-between; margin-top: 8px; flex-wrap: wrap; }
#viuBienvenida .bv-fila-lector a { font-size: 13px; color: #1C3F7A; font-weight: 600; }
#viuBienvenida .bv-amable { font-size: 15px; color: #444; line-height: 1.5; margin: 0 4px 12px; }
#viuBienvenida .bv-caja { background: #FFF7E6; border-radius: 12px; padding: 10px 12px; text-align: left; font-size: 13.5px; color: #5b4a1f; line-height: 1.45; margin-bottom: 12px; }
#viuBienvenida .bv-caja.verde { background: #EAF5EC; color: #22502a; }
#viuBienvenida .bv-grande { font-size: 44px; line-height: 1; margin: 6px 0 4px; }
/* Etapa 16d: fecha de nacimiento tomada de Google, bloqueada */
#viuBienvenida .bv-candado { font-size: 11.8px; color: #2E7D32; margin-top: 4px; font-weight: 600; line-height: 1.35; }
#viuBienvenida .bv-campo input[readonly] { background: #f2f2f2; color: #444; }
/* Etapa 16f: «Crear mi cuenta con Google» arriba y «Para tu familia» */
#viuBienvenida .bv-separador { display: flex; align-items: center; gap: 10px; margin: 14px 0 10px; color: #8a93a0; font-size: 12.5px; }
#viuBienvenida .bv-separador span { flex: 1; height: 1px; background: #e2e6ee; }
#viuBienvenida .bv-resumen { font-size: 13px; }
#viuBienvenida .bv-doc .t a { font-weight: 600; }
/* Etapa 16g: el selector de país y el reCAPTCHA de «¿Otro código?» */
#viuBienvenida .bv-select { width: 100%; height: 42px; border: 1px solid #d5dbe8; border-radius: 9px; background: #E8EEFB; padding: 0 10px; font: 15px 'Inter', sans-serif; color: #1B2430; box-sizing: border-box; }
#viuBienvenida .bv-captcha { display: flex; justify-content: center; min-height: 78px; margin: 4px 0 12px; }
/* Etapa 93a: «Iniciar sesión con Apple» — botón blanco, letras y logotipo negros, con borde (pautas de Apple) */
#viuBienvenida .bv-apple { background: #fff; color: #000; border: 1px solid #000; box-shadow: none; gap: 8px; }
#viuBienvenida .bv-apple:hover { background: #f5f5f5; }
