/* Portada de la zona premium (index.php) */
.ap-bienvenida {
    display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 18px;
    margin: 8px 0 8px;
}
.ap-bienvenida h1 { margin: 0 0 6px; font-size: 32px; }
.ap-bienvenida p { margin: 0; color: var(--ap-texto-2); font-size: 16px; }
.ap-bienvenida-dato { display: inline-flex; align-items: center; gap: 5px; margin-left: 10px; color: var(--ap-texto-3); font-size: 14px; }
.ap-bienvenida-dato svg { width: 15px; height: 15px; }
.ap-bienvenida .ap-buscador-grande { flex: 1 1 420px; justify-content: flex-end; }
.ap-aviso-portada { margin: 18px 0 0; font-size: 16px; }

.ap-renovar { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin-top: 20px; }
.ap-renovar > div { flex: 1 1 300px; }
.ap-renovar h2 { margin: 0 0 4px; }
.ap-renovar p { margin: 0; color: var(--ap-texto-2); }
.ap-renovar .ap-tarjeta-icono { color: var(--ap-premium); background: #fdf6e7; }

@media (max-width: 600px) {
    .ap-bienvenida h1 { font-size: 26px; }
    .ap-bienvenida-dato { display: flex; margin: 6px 0 0; }
}

/* Mapa de % de aptos por provincia (App\Helpers\MapaAprobados, inc/js/mapa-aprobados.js) */
.ap-mapa-aprobados { margin-top: 8px; }
.ap-mapa-aprobados-cuerpo {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 300px); gap: 20px; align-items: start;
    padding: 16px; background: var(--ap-superficie); border: 1px solid var(--ap-borde); border-radius: var(--ap-radio); box-shadow: var(--ap-sombra);
}
.ap-mapa-aprobados .ap-mapa { margin: 0; max-width: none; }
.ap-mapa-panel-titulo { margin: 0 0 10px; font-weight: 700; color: var(--ap-texto); }
.ap-mapa-media { margin: 0 0 14px; color: var(--ap-texto-2); }
.ap-mapa-media strong { display: block; font-size: 30px; line-height: 1.1; color: var(--ap-marca); }
.ap-mapa-media span { color: var(--ap-texto-3); font-size: 13px; }
.ap-mapa-leyenda { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 4px; font-size: 14px; color: var(--ap-texto-2); }
.ap-mapa-leyenda li { display: flex; align-items: center; gap: 8px; }
.ap-mapa-extremos { margin: 0 0 12px; display: grid; gap: 6px; font-size: 14px; }
.ap-mapa-extremos dt { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--ap-texto-3); }
.ap-mapa-extremos dd { margin: 0; }
.ap-mapa-tabla summary { cursor: pointer; color: var(--ap-acento); font-weight: 600; font-size: 14px; }
.ap-mapa-tabla table { margin: 8px 0 0; font-size: 14px; }
.ap-mapa-tabla th[scope=row] { font-weight: normal; }
.ap-mapa-aprobados [data-ma-cuerpo].ap-cargando { opacity: .5; transition: opacity .15s; }

@media (max-width: 860px) {
    .ap-mapa-aprobados-cuerpo { grid-template-columns: 1fr; padding: 12px; }
}

/* Tablas "Más aprobados" y "Más suspensos" bajo el mapa */
.ap-mapa-rankings {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; margin-top: 16px;
    padding: 16px; background: var(--ap-superficie); border: 1px solid var(--ap-borde); border-radius: var(--ap-radio); box-shadow: var(--ap-sombra);
}
.ap-mapa-ranking h3 { margin: 0 0 8px; font-size: 18px; }
.ap-mapa-ranking table { margin: 0; font-size: 14px; }
.ap-mapa-ranking th[scope=row] { font-weight: normal; }
.ap-mapa-rankings .ap-filtros-nota { grid-column: 1 / -1; margin: 10px 0 0; }
@media (max-width: 860px) { .ap-mapa-rankings { grid-template-columns: 1fr; } }

/* Ranking "Autoescuelas por provincia": tabla de todas las provincias a ancho completo */
.ap-mapa-rankings.ap-mae-tabla { display: block; }
.ap-mae-tabla h3 { margin: 0 0 8px; font-size: 18px; }
.ap-mae-tabla table { margin: 0; font-size: 14px; }
.ap-mae-tabla th[scope=row] { font-weight: normal; }
.ap-mae-tabla.ap-cargando { opacity: .5; transition: opacity .15s; }
.ap-mapa-aprobados [data-mae-cuerpo].ap-cargando { opacity: .5; transition: opacity .15s; }
.ap-filtros label.ap-filtro-casilla { flex-direction: row; align-items: center; gap: 6px; font-size: 14px; align-self: end; padding-bottom: 6px; }
