/*
 * Aviso de consentimiento de cookies.
 *
 * Sigue los valores del sitio y no trae ninguno propio: el fondo y el cuerpo de letra son
 * los del pie (#0c1318 sobre 12-13 px de Arial), el filo de arriba es la franja naranja
 * que el sitio usa de acento, y los botones son los dos que el sitio ya usa sobre fondo
 * oscuro —blanco relleno y contorno claro—, con su radio de 3 px y su peso 900.
 *
 * Por qué los botones no son naranjas: sobre el naranja de marca, el texto blanco queda
 * en 3,11:1, por debajo del 4,5:1 que pide la norma para texto normal. En el resto del
 * sitio es una decisión tomada y asumida; en un control que hay que leer para decidir, no.
 * Las parejas de botones del héroe, que también van sobre oscuro, son blanco y contorno,
 * así que esto no introduce nada nuevo: usa lo que ya hay.
 *
 * Medidos sobre el fondo de la barra: título 18,72:1, texto 12,19:1, enlaces 6,01:1,
 * «Accept all» 16,37:1 y «Reject all» 18,72:1.
 *
 * Aceptar y rechazar van del mismo tamaño, pegados y en el mismo sitio. Un rechazo más
 * pequeño o más escondido que la aceptación no es una elección.
 */

.omi-consent {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 9000;                 /* encima del encabezado (50), debajo del modal (10000) */
    background: #0c1318;
    border-top: 3px solid #ff5a2a;
    color: #c8d2d9;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    line-height: 1.5;
    box-shadow: 0 -14px 40px rgba(4, 10, 14, .38);
    transform: translateY(100%);
    transition: transform .28s ease;
}
.omi-consent.is-open { transform: translateY(0); }

.omi-consent-inner {
    width: min(1180px, 92vw);      /* el mismo ancho que .container */
    margin: 0 auto;
    padding: 20px 0 22px;
}

.omi-consent-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px 34px;
}

.omi-consent-copy { max-width: 760px; }

.omi-consent-title {
    margin: 0 0 6px;
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .3px;
}

.omi-consent-text { margin: 0; }

.omi-consent-text a {
    color: #ff5a2a;
    text-decoration: underline;
    text-underline-offset: 2px;
    font-weight: 700;
    white-space: nowrap;
}
.omi-consent-text a:hover { color: #fff; }

/* ------------------------------------------------------------------ botones */

.omi-consent-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.omi-consent-btn {
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .4px;
    border-radius: 3px;
    border: 1px solid transparent;
    padding: 13px 18px;
    cursor: pointer;
    background: none;
    color: #fff;
    white-space: nowrap;
}

.omi-consent-primary {           /* blanco relleno, como .btn.light del sitio */
    background: #fff;
    border-color: #fff;
    color: #13212d;
}
.omi-consent-primary:hover { background: #e9eef1; border-color: #e9eef1; }

.omi-consent-ghost {             /* contorno claro, como .btn.ghost del sitio */
    border-color: rgba(255, 255, 255, .55);
}
.omi-consent-ghost:hover { border-color: #fff; background: rgba(255, 255, 255, .08); }

.omi-consent-light {
    background: #fff;
    border-color: #fff;
    color: #13212d;
}
.omi-consent-light:hover { background: #e9eef1; }

.omi-consent-link {             /* «Choose»: no es una accion final, no lleva caja */
    padding: 13px 4px;
    color: #c8d2d9;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.omi-consent-link:hover { color: #fff; }

.omi-consent-btn:focus-visible {
    outline: 2px solid #ff5a2a;
    outline-offset: 2px;
}

/* ------------------------------------------------------------- las opciones */

.omi-consent-options {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #263340;
}

.omi-consent-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 28px;
}

.omi-consent-item label {
    display: flex;
    align-items: baseline;
    gap: 9px;
    cursor: pointer;
}
.omi-consent-item label:has(input:disabled) { cursor: default; }

.omi-consent-item input {
    accent-color: #ff5a2a;
    width: 15px; height: 15px;
    flex-shrink: 0;
    margin: 0;
}
.omi-consent-item input:focus-visible { outline: 2px solid #ff5a2a; outline-offset: 2px; }

.omi-consent-item-name {
    color: #fff;
    font-weight: 900;
    font-size: 13px;
    letter-spacing: .3px;
}
.omi-consent-item-name em { font-style: normal; font-weight: 400; color: #8e9ba5; }

.omi-consent-item-note {
    display: block;
    margin: 5px 0 0 24px;
    font-size: 12px;
    color: #9dacb6;              /* el gris del pie: 8,03:1 sobre este fondo */
}

.omi-consent-options-actions { margin-top: 16px; }

/* ----------------------------------------------------------------- en movil */

@media (max-width: 900px) {
    .omi-consent-inner { padding: 16px 0 18px; }
    .omi-consent-main { flex-direction: column; gap: 14px; }
    .omi-consent-text a { white-space: normal; }

    /* Aceptar y rechazar, uno al lado del otro y del mismo ancho. «Choose» baja, que es
       lo unico que no decide nada. */
    .omi-consent-actions { width: 100%; flex-wrap: wrap; gap: 10px; }
    .omi-consent-ghost, .omi-consent-primary { flex: 1 1 0; justify-content: center; }
    .omi-consent-link { order: 3; flex: 1 1 100%; text-align: left; padding-left: 0; }

    .omi-consent-list { grid-template-columns: 1fr; gap: 12px; }
    .omi-consent-options-actions .omi-consent-btn { width: 100%; }
}

/* Quien pide menos movimiento recibe la barra ya puesta, sin deslizamiento. */
@media (prefers-reduced-motion: reduce) {
    .omi-consent { transition: none; }
}
