/* Privacidad: tipografías locales y tonos de la web de Activa. */
#ac-consent { font: 14px/1.5 'Lato', Arial, sans-serif; color: #eee; }
#ac-consent [hidden] { display: none !important; }
#ac-cookie-banner, #ac-cookie-dialog { background: #303030; border: 1px solid #555; padding: 20px; box-sizing: border-box; }
#ac-cookie-banner { position: fixed; bottom: 0; left: 0; width: 100%; z-index: 20000; box-shadow: 0 -3px 18px #0003; max-height: 65vh; overflow: auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 28px; padding: 16px 28px; }
#ac-consent h2 { font: 700 19px/1.35 'Raleway', Arial, sans-serif; color: #fff; margin: 0 0 10px; text-transform: none; letter-spacing: .2px; }
#ac-consent p { margin: 6px 0 12px; text-align: left !important; }
#ac-consent a { color: #eee; text-decoration: underline !important; text-underline-offset: 3px; }
#ac-consent button, [data-ac-cookie-settings] { font: 600 13px/1.35 'Raleway', Arial, sans-serif; border: 1px solid #aaa; background: #3a3a3a; color: #fff; border-radius: 8px; padding: 10px 14px; min-height: 42px; cursor: pointer; }
#ac-consent button:hover, [data-ac-cookie-settings]:hover { background: #505050; border-color: #ddd; }
.ac-cookie-actions { display: flex; gap: 8px; flex-wrap: wrap; }
#ac-cookie-banner > h2, #ac-cookie-banner > p { grid-column: 1; margin: 0; }
#ac-cookie-banner > h2 { font-size: 16px; margin-bottom: 2px; }
#ac-cookie-banner > p { font-size: 13px; max-width: 850px; }
#ac-cookie-banner > .ac-cookie-actions { grid-column: 2; grid-row: 1 / 4; align-self: center; flex-wrap: nowrap; }
#ac-cookie-banner .ac-cookie-actions button { white-space: nowrap; }
#ac-cookie-status:empty { display: none; }
#ac-consent button:focus-visible, #ac-consent a:focus-visible, #ac-consent input:focus-visible { outline: 3px solid #fff !important; outline-offset: 3px; }
#ac-cookie-dialog { width: min(580px, calc(100% - 32px)); max-height: 85vh; overflow: auto; border-radius: 10px; color: #eee; z-index: 20001; }
#ac-cookie-dialog::backdrop { background: #0009; }
#ac-cookie-dialog label { display: flex; gap: 10px; align-items: center; font-weight: 700; color: #fff; }
#ac-cookie-dialog input { width: 20px; height: 20px; flex-shrink: 0; accent-color: #666; }
#ac-cookie-settings { position: fixed; bottom: 16px; left: 16px; z-index: 19999; box-shadow: 0 2px 8px #0002; }
@media (max-width: 1000px) {
 #ac-cookie-banner { grid-template-columns: minmax(0, 1fr); padding: 14px 20px; gap: 6px; }
 #ac-cookie-banner > .ac-cookie-actions { grid-column: 1; grid-row: auto; margin-top: 4px; }
}
@media (max-width: 575px) {
 #ac-cookie-banner { padding: 14px 16px; }
 #ac-cookie-banner .ac-cookie-actions { width: 100%; gap: 6px; }
 #ac-cookie-banner .ac-cookie-actions button { flex: 1 1 0; padding: 9px 6px; font-size: 12px; white-space: normal; }
 #ac-cookie-dialog .ac-cookie-actions button { flex: 1 1 auto; }
}

/* Enlaces nuevos del pie, independientes del color de Canvas. */
.activa-cookie-links { display: flex; gap: 10px 16px; align-items: center; flex-wrap: wrap; margin-top: 14px; text-align: left; }
.activa-cookie-links a { color: #eee; text-decoration: underline !important; }
.activa-cookie-links a:focus-visible, .activa-cookie-links button:focus-visible { outline: 3px solid #fff !important; outline-offset: 3px; }

/* Botones para reabrir preferencias, incluido el aviso del mapa. */
[data-ac-cookie-settings]:focus-visible { outline: 3px solid #075f50 !important; outline-offset: 3px; }
.activa-cookie-links [data-ac-cookie-settings]:focus-visible { outline-color: #fff !important; }

/* La imagen local ocupa el mismo espacio que el mapa autorizado. */
.activa-map-wrap { position: absolute; inset: 0; }
.activa-map-static { position: absolute; inset: 0; margin: 0; }
.activa-map-static[hidden] { display: none !important; }
.activa-map-static img { display: block; width: 100%; height: 100%; object-fit: contain; }
/* Evitar un rectángulo vacío antes de autorizar el mapa. */
.activa-map-wrap iframe:not([src]) { display: none !important; }

/* Acceso temprano con teclado, visible solo al recibir foco. */
.ac-cookie-skip { position: fixed; top: -120px; left: 16px; z-index: 20003; background: #fff; color: #075f50; padding: 12px 16px; border: 2px solid #075f50; text-decoration: underline !important; }
.ac-cookie-skip:focus { top: 12px; outline: 3px solid #202b36 !important; }
#ac-cookie-dialog:not([open]) { display: none !important; }
#ac-cookie-dialog.ac-dialog-fallback { display: block; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); margin: 0; }
#ac-cookie-backdrop { position: fixed; inset: 0; background: #0008; z-index: 20000; }

.activa-policy-footer { background: #303030; color: #eee; }
.activa-policy-footer a { color: #eee; }

/* Mismo gris del enlace legal; centrado como su columna en pantallas pequeñas. */
#copyrights .activa-cookie-links a,
#copyrights .activa-cookie-links button,
.activa-policy-footer a,
.activa-policy-footer .activa-cookie-links button { color: #bbb; }
#copyrights .activa-cookie-links a:hover,
#copyrights .activa-cookie-links button:hover,
.activa-policy-footer a:hover,
.activa-policy-footer .activa-cookie-links button:hover { color: #ddd; }
@media (max-width: 767.98px) {
 .activa-cookie-links { justify-content: center; text-align: center; }
 .activa-policy-footer { text-align: center; }
}

/* La imagen sin ficha tiene su propio encuadre; el mapa interactivo mantiene 4:3. */
.activa-map-box:has(.activa-map-static:not([hidden]))::before { padding-top: 46.50794%; }
