/* Aviso de cookies (2026-10-15): estilo «Noche» (azul marino, dorado, ola de la marca). Ventana centrada que bloquea;
   en móvil, panel inferior; en la política de cookies y el aviso legal, panel que no bloquea. */
@font-face { font-family: "ECB Lobster"; font-style: normal; font-weight: 400; font-display: swap; src: url("/media/clone/aed68c73817364906ff95d97be87246d106bd38d5e4397e4866ec831ee22f7ba.woff2") format("woff2"); }

html.ecb-consent-lock { overflow: hidden !important; padding-right: var(--ecb-consent-scrollbar, 0) !important; }

.ecb-consent { position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center; padding: 16px; font: 15px/1.55 "Open Sans", Arial, Helvetica, sans-serif; color: #eaf4fb; -webkit-font-smoothing: antialiased; }
.ecb-consent[data-ecb-consent="panel"] { inset: auto 16px 16px auto; padding: 0; place-items: end; pointer-events: none; }
.ecb-consent__backdrop { position: absolute; inset: 0; background: rgb(4 28 48 / 52%); backdrop-filter: blur(7px) saturate(1.15); -webkit-backdrop-filter: blur(7px) saturate(1.15); animation: ecb-consent-fade 220ms ease-out both; }
.ecb-consent[data-ecb-consent="panel"] .ecb-consent__backdrop { display: none; }

.ecb-consent__card { position: relative; box-sizing: border-box; width: min(560px, 100%); max-height: calc(100dvh - 32px); overflow: auto; overscroll-behavior: contain; border-radius: 26px; border: 1px solid rgb(255 255 255 / 8%); outline: none;
  background: radial-gradient(120% 90% at 100% 0%, rgb(92 200 245 / 16%), transparent 55%), linear-gradient(165deg, #0b3a5e 0%, #062a44 52%, #041c30 100%);
  box-shadow: 0 40px 90px rgb(2 14 26 / 55%), inset 0 1px 0 rgb(255 255 255 / 8%); animation: ecb-consent-rise 340ms cubic-bezier(.2, .8, .2, 1) both; pointer-events: auto; }
.ecb-consent[data-ecb-consent="panel"] .ecb-consent__card { width: min(440px, calc(100vw - 32px)); box-shadow: 0 24px 60px rgb(2 14 26 / 45%); }
.ecb-consent.is-leaving .ecb-consent__backdrop { animation: ecb-consent-fade 200ms ease-in reverse both; }
.ecb-consent.is-leaving .ecb-consent__card { animation: ecb-consent-rise 220ms ease-in reverse both; }

.ecb-consent__wave { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 64px; opacity: .55; pointer-events: none; }
.ecb-consent__in { position: relative; padding: 30px 32px 44px; }
.ecb-consent__top { display: flex; align-items: center; gap: 14px; margin-bottom: 10px; }
.ecb-consent__badge { flex: none; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; color: #062a44; background: linear-gradient(145deg, #f5be4f, #df9b11); box-shadow: 0 8px 22px rgb(223 155 17 / 35%); }
.ecb-consent__badge svg { width: 30px; height: 30px; }
.ecb-consent__kicker { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #5cc8f5; }
.ecb-consent__title { margin: 2px 0 0; font: 400 34px/1.08 "ECB Lobster", Lobster, cursive; letter-spacing: 0; text-transform: none; color: #f5be4f; }
.ecb-consent__text { margin: 12px 0 0; color: rgb(234 244 251 / 88%); }
.ecb-consent__text strong { color: #fff; }
.ecb-consent a { color: #7fd6fb; text-decoration: underline; text-underline-offset: 3px; }

.ecb-consent__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 22px; }
.ecb-consent__btn { appearance: none; box-sizing: border-box; min-height: 50px; padding: 0 18px; border: 0; border-radius: 14px; font: 700 15px/1.2 "Open Sans", Arial, sans-serif; cursor: pointer; transition: transform 140ms ease, box-shadow 140ms ease, filter 140ms ease; }
.ecb-consent__btn--gold { color: #fff; background: linear-gradient(180deg, #f5be4f, #df9b11); box-shadow: 0 10px 24px rgb(223 155 17 / 28%); }
.ecb-consent__btn--light { color: #062a44; background: #eaf4fb; }
.ecb-consent__btn:hover { filter: brightness(1.05); transform: translateY(-1px); }
.ecb-consent__btn:active { transform: translateY(0) scale(.98); }
.ecb-consent__link { display: block; margin: 14px auto 0; padding: 6px 10px; border: 0; background: none; color: #eaf4fb; font: 600 14px/1.2 "Open Sans", Arial, sans-serif; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.ecb-consent :focus-visible { outline: 3px solid #f5be4f; outline-offset: 3px; border-radius: 10px; }
.ecb-consent .ecb-consent__btn:focus-visible { border-radius: 14px; }

.ecb-consent__list { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.ecb-consent__row { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 4px 16px; padding: 14px 16px; border-radius: 16px; border: 1px solid rgb(255 255 255 / 8%); background: rgb(255 255 255 / 6%); }
.ecb-consent__name { font-weight: 700; color: #fff; }
.ecb-consent__desc { grid-column: 1; font-size: 13px; line-height: 1.45; color: rgb(234 244 251 / 74%); }
.ecb-consent__always { grid-row: 1 / span 2; grid-column: 2; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #5cc8f5; }
.ecb-consent__switch { grid-row: 1 / span 2; grid-column: 2; position: relative; width: 52px; height: 32px; margin: 0; padding: 0; border: 0; border-radius: 999px; background: rgb(255 255 255 / 24%); cursor: pointer; transition: background-color 160ms ease; }
.ecb-consent__switch::after { content: ""; position: absolute; top: 4px; left: 4px; width: 24px; height: 24px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgb(0 0 0 / 30%); transition: transform 180ms cubic-bezier(.2, .8, .2, 1); }
.ecb-consent__switch[aria-checked="true"] { background: #df9b11; }
.ecb-consent__switch[aria-checked="true"]::after { transform: translateX(20px); }
.ecb-consent .ecb-consent__switch:focus-visible { border-radius: 999px; }

/* Botón «Configurar cookies» del pie: como un enlace más de la línea legal. */
button.ecb-consent-link { appearance: none; margin: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

@keyframes ecb-consent-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes ecb-consent-rise { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: none; } }

@media (max-width: 600px) {
  .ecb-consent[data-ecb-consent="modal"] { place-items: end center; padding: 0; }
  .ecb-consent[data-ecb-consent="modal"] .ecb-consent__card { width: 100%; max-height: 92dvh; border-radius: 26px 26px 0 0; padding-bottom: env(safe-area-inset-bottom); }
  .ecb-consent[data-ecb-consent="panel"] { inset: auto 0 0 0; }
  .ecb-consent[data-ecb-consent="panel"] .ecb-consent__card { width: 100%; border-radius: 22px 22px 0 0; }
  .ecb-consent__in { padding: 24px 20px 40px; }
  .ecb-consent__title { font-size: 30px; }
  .ecb-consent__actions { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .ecb-consent__backdrop, .ecb-consent__card, .ecb-consent.is-leaving .ecb-consent__card, .ecb-consent.is-leaving .ecb-consent__backdrop { animation: none !important; }
  .ecb-consent__btn, .ecb-consent__switch, .ecb-consent__switch::after { transition: none !important; }
}

/* Vídeos de YouTube a la espera (2026-10-15): miniatura local en el hueco del vídeo; YouTube no se carga hasta pulsar o
   aceptar la publicidad (src/consent/youtube.ts). El contenedor del clon ya es relativo y tiene la proporción del vídeo. */
.ecb-yt { position: absolute; inset: 0; display: block; overflow: hidden; background: #041c30; color: #fff; text-decoration: none; cursor: pointer; }
.ecb-yt[hidden] { display: none; }
.ecb-yt img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 320ms ease; }
.ecb-yt::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgb(4 28 48 / 55%)); pointer-events: none; }
.ecb-yt__play { position: absolute; z-index: 1; left: 50%; top: 50%; width: 76px; height: 54px; margin: -27px 0 0 -38px; border-radius: 16px; background: rgb(4 28 48 / 82%); box-shadow: 0 8px 24px rgb(0 0 0 / 35%); transition: background-color 160ms ease, transform 160ms ease; }
.ecb-yt__play::before { content: ""; position: absolute; left: 31px; top: 16px; border-style: solid; border-width: 11px 0 11px 19px; border-color: transparent transparent transparent #fff; }
.ecb-yt:hover .ecb-yt__play, .ecb-yt:focus-visible .ecb-yt__play { background: #df9b11; transform: scale(1.06); }
.ecb-yt:hover img { transform: scale(1.03); }
.ecb-yt__note { position: absolute; z-index: 1; left: 12px; bottom: 10px; font: 600 12px/1.2 "Open Sans", Arial, sans-serif; color: rgb(255 255 255 / 92%); text-shadow: 0 1px 2px rgb(0 0 0 / 60%); }
.ecb-yt:focus-visible { outline: 3px solid #f5be4f; outline-offset: -3px; }
.ecb-yt__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
@media (prefers-reduced-motion: reduce) { .ecb-yt img, .ecb-yt__play { transition: none; } }
