.cookie-banner[hidden]{display:none!important}
.cookie-banner{position:fixed;bottom:16px;left:16px;right:16px;z-index:10020;max-width:1100px;margin:auto;padding:22px;background:#fff;color:#17324a;border:1px solid #c8d8e5;border-radius:14px;box-shadow:0 8px 35px #12324f33;display:grid;gap:16px;text-align:left}
.cookie-banner h2,.cookie-settings h2{margin:0 0 8px;font-size:1.2rem;color:#06446d}
.cookie-banner p,.cookie-settings p{margin:0;font-size:.9rem;line-height:1.5}
.cookie-banner a{color:#06446d;text-decoration:underline}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.cookie-actions button,.cookie-placeholder button{min-height:44px;padding:10px 16px;border:1px solid #06446d;border-radius:7px;background:#fff;color:#06446d;font:inherit;font-size:.85rem;cursor:pointer}
.cookie-actions button[data-cookie-accept],.cookie-actions button[data-cookie-save]{background:#06446d;color:#fff}
.cookie-settings{width:min(540px,calc(100% - 28px));max-height:85dvh;overflow:auto;border:0;border-radius:14px;padding:24px;color:#17324a;background:#fff;text-align:left}
.cookie-settings::backdrop{background:#001b36aa}
.cookie-settings label{display:flex;align-items:flex-start;gap:10px;margin:20px 0;font-size:.9rem}
.cookie-settings input{width:18px;height:18px;flex:0 0 18px;margin-top:2px;accent-color:#06446d}
.cookie-settings small{display:block;margin-top:5px;line-height:1.4}
.cookie-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:180px;height:100%;padding:20px;background:#f3f7fa;color:#17324a;text-align:center;box-sizing:border-box}
iframe[data-cookie-src][hidden]{display:none!important}
@media(max-width:600px){.cookie-banner{bottom:8px;left:8px;right:8px;padding:16px;max-height:70dvh;overflow:auto}.cookie-actions{justify-content:stretch}.cookie-actions button{flex:1 1 auto}}
/* Aviso horizontal según la referencia. */
html body #cookieBanner { bottom:0;left:0;right:0;max-width:none;width:100%;box-sizing:border-box;margin:0;padding:16px 24px 10px;border:0;border-radius:0;box-shadow:0 -2px 12px #0000000d;gap:8px;background:#fff!important;text-align:center; }
html body #cookieBanner h2 { color:#555!important;-webkit-text-fill-color:#555!important;font-size:1.25rem!important;font-weight:400!important;margin:0 0 6px;line-height:1.3; }
html body #cookieBanner p { color:#222!important;-webkit-text-fill-color:#222!important;font-size:.875rem;line-height:1.5; }
html body #cookieBanner .cookie-actions { justify-content:center;gap:6px; }
html body #cookieBanner .cookie-actions button { flex:0 1 auto;min-height:36px;padding:9px 13px;background:#d9232e!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:0;border-radius:0;box-shadow:none;font-size:.75rem;font-weight:600; }
html body #cookieBanner .cookie-actions button:hover { background:#b91c26!important; }
html body #cookieBanner .cookie-more { justify-self:center;margin-top:36px;color:#555!important;-webkit-text-fill-color:#555!important;font-size:.875rem;text-decoration:underline; }
@media(max-width:600px){html body #cookieBanner{padding:16px 12px 12px;max-height:70dvh}html body #cookieBanner h2{font-size:1.1rem!important}html body #cookieBanner .cookie-more{margin-top:18px}html body #cookieBanner .cookie-actions button{min-height:44px}}
/* Botones del aviso con el color institucional de la cabecera. */
html body #cookieBanner .cookie-actions button { background:var(--primary,#06446d)!important; }
html body #cookieBanner .cookie-actions button:hover { background:var(--primary-deep,#043650)!important; }
/* Mayor separación entre el texto y los botones del aviso. */
html body #cookieBanner .cookie-actions { margin-top:14px; }
