/* Aviso y panel de cookies, y recuadro de los mapas sin cargar. Uso: ver el comentario de consent.js. */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;z-index:10000;background:rgba(13,74,114,0.97);backdrop-filter:blur(8px);border-top:3px solid #7DC241;padding:1rem 5vw;box-shadow:0 -4px 24px rgba(0,0,0,0.2);animation:slideUpBanner 0.4s cubic-bezier(0.22,1,0.36,1);font-family:'Inter',sans-serif}
.cookie-banner[hidden]{display:none}
@keyframes slideUpBanner{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.cookie-banner{animation:none}}
.cookie-content{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;justify-content:space-between}
.cookie-text{display:flex;align-items:flex-start;gap:0.9rem;flex:1;min-width:280px}
.cookie-icon{font-size:1.6rem;flex-shrink:0;margin-top:2px}
.cookie-text strong{color:white;font-size:0.9rem;display:block;margin-bottom:3px}
.cookie-text p{color:rgba(255,255,255,0.85);font-size:0.78rem;line-height:1.5;margin:0}
.cookie-text a{color:#A9E06F;text-decoration:underline}
/* Tres columnas iguales: "Aceptar todas" y "Solo esenciales" miden y destacan lo mismo. */
.cookie-actions{display:grid;grid-template-columns:repeat(3,10rem);gap:0.6rem}
.cookie-btn{padding:0.6rem 0.8rem;border-radius:4px;font-size:0.78rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;cursor:pointer;border:1px solid #fff;background:#fff;color:#0D4A72;transition:background 0.2s,color 0.2s;font-family:'Inter',sans-serif;text-align:center}
.cookie-btn:hover{background:#DCEFFA;border-color:#DCEFFA}
.cookie-btn--config{background:transparent;color:#fff}
.cookie-btn--config:hover{background:rgba(255,255,255,0.15);border-color:#fff}
.cookie-btn:focus-visible,.cookie-dialog-cerrar:focus-visible,.mapa-aviso-btn:focus-visible{outline:3px solid #3AABE0;outline-offset:2px}
@media(max-width:760px){
  .cookie-content{flex-direction:column;align-items:stretch;gap:0.9rem}
  .cookie-actions{grid-template-columns:1fr 1fr}
  .cookie-btn{padding:0.6rem 0.3rem;letter-spacing:0.02em}
  .cookie-btn--config{grid-column:1 / -1}
}

/* Panel "Configurar cookies" y pregunta del chat. El margen automatico lo centra: las paginas ponen margin:0 a todo. */
dialog.cookie-dialog{position:fixed;margin:auto;width:calc(100% - 2rem);max-width:32rem;max-height:calc(100% - 2rem);overflow:auto;padding:1.5rem;border:0;border-radius:12px;background:#fff;color:#1A3348;font-family:'Inter',sans-serif;box-shadow:0 12px 40px rgba(0,0,0,0.3)}
dialog.cookie-dialog::backdrop{background:rgba(13,30,45,0.55)}
dialog.cookie-dialog--pregunta{max-width:26rem}
.cookie-dialog-titulo{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;margin:0 2rem 1rem 0;padding-bottom:0.7rem;border-bottom:3px solid #7DC241}
.cookie-dialog-texto{font-size:0.92rem;line-height:1.55;margin-bottom:1.2rem}
.cookie-dialog-cerrar{position:absolute;top:1rem;right:1rem;width:2rem;height:2rem;border:0;border-radius:50%;background:none;color:#5B7489;font-size:1rem;line-height:1;cursor:pointer}
.cookie-dialog-cerrar:hover{background:#EEF4F9;color:#1A3348}
.cookie-opcion{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:0.9rem 0;border-bottom:1px solid #DAEAF5;cursor:pointer}
.cookie-opcion-texto strong{display:block;font-size:0.88rem;margin-bottom:0.25rem}
.cookie-opcion-texto span{display:block;font-size:0.8rem;line-height:1.5;color:#2D4A62}
.cookie-switch{position:relative;flex-shrink:0;width:44px;height:24px;margin-top:2px}
.cookie-switch input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.cookie-switch-pista{position:absolute;inset:0;border-radius:12px;background:#7C8FA0;transition:background 0.2s;pointer-events:none}
.cookie-switch-pista::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform 0.2s}
.cookie-switch input:checked + .cookie-switch-pista{background:#1A6FA8}
.cookie-switch input:checked + .cookie-switch-pista::after{transform:translateX(20px)}
.cookie-switch input:focus-visible + .cookie-switch-pista{outline:3px solid #3AABE0;outline-offset:2px}
.cookie-dialog-acciones{display:flex;flex-wrap:wrap;gap:0.6rem;margin-top:1.2rem}
.cookie-btn--guardar{background:#0D4A72;border-color:#0D4A72;color:#fff}
.cookie-btn--guardar:hover{background:#1A6FA8;border-color:#1A6FA8}
.cookie-btn--config-claro{background:#fff;border-color:#0D4A72;color:#0D4A72}
.cookie-btn--config-claro:hover{background:#EEF4F9;border-color:#0D4A72}
.cookie-dialog-acciones .cookie-btn{flex:1 1 auto}

/* Recuadro en lugar del mapa, con la altura del iframe */
.mapa-frame iframe[hidden],.mapa-aviso[hidden]{display:none}
.mapa-aviso{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.45rem;min-height:300px;margin-bottom:4px;padding:1rem;border-radius:10px;background:#F4F9FE;border:1px solid #D4EAF7;text-align:center}
.mapa-aviso-nombre{font-size:1rem;font-weight:700;color:#0D4A72}
.mapa-aviso-direccion{font-size:0.82rem;line-height:1.5;color:#2D4A62}
.mapa-aviso-btn{margin-top:0.35rem;padding:0.6rem 1.1rem;border:0;border-radius:6px;background:#0D4A72;color:#fff;font-family:'Inter',sans-serif;font-size:0.82rem;font-weight:600;cursor:pointer;transition:background 0.2s}
.mapa-aviso-btn:hover{background:#1A6FA8}
.mapa-aviso-nota{font-size:0.72rem;color:#4A6579}
.mapa-aviso-enlace{font-size:0.8rem;color:#0D4A72;text-decoration:underline}
