/* Buscador de estadisticas-por-autoescuela.php (inc/js/buscador-autoescuelas.js) */
.ba-hero {
    position: relative; z-index: 20; padding: 28px 24px 22px; margin-bottom: 22px; border-radius: 16px; color: #fff;
    background: linear-gradient(135deg, var(--ap-marca) 0%, var(--ap-acento) 60%, #3fa0e8 100%);
    box-shadow: var(--ap-sombra-alta);
}
.ba-hero-dato { margin: 0 0 14px; font-size: 15px; opacity: .92; }
.ba-hero-dato strong { font-size: 18px; }
.ba-buscar { position: relative; display: flex; align-items: center; gap: 8px; background: #fff; border-radius: 12px; padding: 6px 6px 6px 14px; box-shadow: 0 8px 24px rgba(0, 0, 0, .18); transition: box-shadow .2s, transform .2s; }
.ba-buscar:focus-within { box-shadow: 0 0 0 4px rgba(255, 255, 255, .35), 0 10px 30px rgba(0, 0, 0, .22); transform: translateY(-1px); }
.ba-buscar-icono { color: var(--ap-texto-3); display: flex; }
.ba-buscar-icono svg { width: 22px; height: 22px; }
.ba-buscar input[type=search] { flex: 1; min-width: 0; height: 46px; border: 0; outline: none; font-size: 17px; color: var(--ap-texto); background: transparent; }
.ba-buscar-boton { flex: none; height: 46px; padding: 0 22px; border: 0; border-radius: 9px; background: var(--ap-acento); color: #fff; font-weight: 700; font-size: 15px; cursor: pointer; transition: background .15s; }
.ba-buscar-boton:hover { background: var(--ap-acento-hover); }
.ba-chip-prov { flex: none; display: inline-flex; align-items: center; gap: 4px; padding: 4px 6px 4px 10px; border-radius: 999px; background: var(--ap-acento-suave); color: var(--ap-acento); font-size: 13px; font-weight: 700; animation: ba-pop .25s both; }
.ba-chip-prov[hidden] { display: none; }
.ba-chip-prov button { border: 0; background: none; color: inherit; font-size: 16px; line-height: 1; padding: 0 4px; cursor: pointer; }
.ba-ayuda { margin: 10px 0 0; font-size: 13px; opacity: .85; }

.ba-sugerencias {
    position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 8px); margin: 0; padding: 6px; list-style: none;
    background: #fff; border-radius: 12px; box-shadow: 0 16px 40px rgba(15, 23, 42, .25); max-height: 420px; overflow-y: auto;
    animation: ba-baja .18s ease-out both; color: var(--ap-texto);
}
.ba-sugerencias li { display: flex; align-items: center; gap: 12px; padding: 9px 10px; border-radius: 8px; cursor: pointer; }
.ba-sugerencias li[aria-selected=true], .ba-sugerencias li:hover { background: var(--ap-acento-suave); }
.ba-sugerencias li > span:last-child { min-width: 0; }
.ba-sugerencias .ba-sug-nombre { display: block; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ba-sugerencias small { color: var(--ap-texto-3); }
.ba-sugerencias mark { background: #fff1a8; color: inherit; padding: 0; border-radius: 2px; }
.ba-sugerencias .ba-sug-nada { color: var(--ap-texto-2); cursor: default; }
.ba-sugerencias .ba-sug-todas { justify-content: center; color: var(--ap-acento); font-weight: 600; border-top: 1px solid var(--ap-borde-suave); border-radius: 0 0 8px 8px; }

.ba-inicial { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--ap-acento-suave); color: var(--ap-acento); font-weight: 800; }

.ba-cuerpo { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 22px; align-items: start; }
.ba-mapa .ap-mapa { margin: 0; }
.ba-mapa .ap-mapa-svg a.ba-mapa-activa path { fill: var(--ap-acento); }
.ba-provincias-cab { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.ba-provincias-cab h2 { margin: 0; font-size: 18px; }
.ba-provincias-cab input, .ba-resultado-acciones input { height: 36px; padding: 4px 12px; border: 1px solid var(--ap-borde); border-radius: 999px; font-size: 14px; }
.ba-provincias-cab input:focus, .ba-resultado-acciones input:focus { outline: none; border-color: var(--ap-acento); box-shadow: 0 0 0 3px var(--ap-acento-suave); }
.ba-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ba-chips a {
    display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--ap-borde);
    background: var(--ap-superficie); color: var(--ap-texto-2); font-size: 14px; font-weight: 600; text-decoration: none;
    transition: transform .15s, border-color .15s, color .15s, background .15s, box-shadow .15s;
}
.ba-chips a small { font-size: 11px; padding: 1px 6px; border-radius: 999px; background: var(--ap-superficie-2); color: var(--ap-texto-3); }
.ba-chips a:hover { transform: translateY(-2px); border-color: var(--ap-acento); color: var(--ap-acento); box-shadow: var(--ap-sombra); }
.ba-chips a[aria-current] { background: var(--ap-acento); border-color: var(--ap-acento); color: #fff; box-shadow: 0 4px 12px rgba(42, 120, 214, .3); }
.ba-chips a[aria-current] small { background: rgba(255, 255, 255, .25); color: #fff; }
.ba-chips a[hidden] { display: none; }

.ba-resultado { margin-top: 26px; padding: 20px; background: var(--ap-superficie); border: 1px solid var(--ap-borde); border-radius: 14px; box-shadow: var(--ap-sombra); scroll-margin-top: 80px; }
.ba-resultado-cab { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.ba-resultado-cab h2 { margin: 0; font-size: 20px; }
.ba-resultado-cab h2 small { margin-left: 8px; font-size: 14px; font-weight: 500; color: var(--ap-texto-3); }
.ba-resultado-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ba-enlace-prov { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: 14px; }
.ba-enlace-prov svg { width: 16px; height: 16px; }
.ba-rejilla { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
.ba-rejilla a {
    display: flex; align-items: center; gap: 10px; height: 100%; padding: 10px 12px; border: 1px solid var(--ap-borde); border-radius: 10px;
    background: var(--ap-superficie-2); text-decoration: none; transition: transform .15s, border-color .15s, box-shadow .15s, background .15s;
}
.ba-rejilla a:hover, .ba-rejilla a:focus-visible { transform: translateY(-2px); border-color: var(--ap-acento); background: var(--ap-superficie); box-shadow: var(--ap-sombra-alta); }
.ba-rejilla .ba-nombre { flex: 1; min-width: 0; font-weight: 600; color: var(--ap-texto); overflow-wrap: anywhere; }
.ba-rejilla small { color: var(--ap-texto-3); font-size: 12px; }
.ba-rejilla li[hidden] { display: none; }
.ba-rejilla-entra li { animation: ba-sube .4s both; }
.ba-cargando .ba-rejilla { opacity: .4; transition: opacity .2s; }
.ba-esqueleto { height: 58px; border-radius: 10px; background: linear-gradient(90deg, var(--ap-superficie-2) 25%, var(--ap-borde-suave) 50%, var(--ap-superficie-2) 75%); background-size: 200% 100%; animation: ba-brillo 1.1s infinite linear; }
.ba-vacio { grid-column: 1 / -1; color: var(--ap-texto-2); }

@keyframes ba-sube { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes ba-baja { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes ba-pop { from { opacity: 0; transform: scale(.7); } to { opacity: 1; transform: none; } }
@keyframes ba-brillo { from { background-position: 200% 0; } to { background-position: -200% 0; } }

@media (max-width: 900px) { .ba-cuerpo { grid-template-columns: 1fr; } .ba-mapa { max-width: 520px; margin: 0 auto; width: 100%; } }
@media (max-width: 600px) {
    .ba-hero { padding: 20px 14px 16px; }
    .ba-buscar { flex-wrap: wrap; padding: 6px; }
    .ba-buscar-icono { display: none; }
    .ba-buscar input[type=search] { flex-basis: 100%; padding-left: 8px; }
    .ba-buscar-boton { width: 100%; }
    .ba-sugerencias { top: 60px; }
}
@media (prefers-reduced-motion: reduce) { .ba *, .ba *::before { animation: none !important; transition: none !important; } }
