/* Zona Zero — aviso de cookies. Colores del tema (rojo #AF191B, carbón #2D2926, crema #FFF9E6). */

.zz-ck {
    position: fixed; z-index: 100000; left: 16px; right: 16px; bottom: 16px;
    display: flex; justify-content: center; pointer-events: none;
}
.zz-ck[hidden] { display: none; }
.zz-ck__box {
    pointer-events: auto; width: 100%; max-width: 760px; max-height: calc(100vh - 32px); overflow: auto;
    background: #FFF9E6; color: #2D2926; border-top: 4px solid #AF191B; border-radius: 6px;
    box-shadow: 0 10px 40px rgba(29, 26, 24, .35);
    padding: 20px 22px; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-size: 14px; line-height: 1.55;
}
.zz-ck__title { font-family: var(--zz-font, "Black Ops One", Impact, sans-serif); font-size: 1.15rem; margin: 0 0 6px; }
.zz-ck__text { margin: 0; }
.zz-ck__text a, .zz-ck__details a { color: #AF191B; text-decoration: underline; }

.zz-ck__prefs { margin-top: 14px; border-top: 1px solid rgba(45, 41, 38, .14); }
.zz-ck__prefs[hidden] { display: none; }
.zz-ck__cat { padding: 12px 0; border-bottom: 1px solid rgba(45, 41, 38, .14); }
.zz-ck__cat-text { margin: 4px 0 0 52px; color: rgba(45, 41, 38, .82); font-size: 13px; }
.zz-ck__cat-label { font-weight: 600; }
.zz-ck__cat-label small { font-weight: 400; color: rgba(45, 41, 38, .65); }

.zz-ck__switch { display: flex; align-items: center; gap: 12px; cursor: pointer; }
.zz-ck__switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.zz-ck__slider {
    position: relative; flex: none; width: 40px; height: 22px; border-radius: 999px;
    background: #B9B5B1; transition: background .15s;
}
.zz-ck__slider::after {
    content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%;
    background: #fff; transition: transform .15s;
}
.zz-ck__switch input:checked + .zz-ck__slider { background: #AF191B; }
.zz-ck__switch input:checked + .zz-ck__slider::after { transform: translateX(18px); }
.zz-ck__switch input:disabled + .zz-ck__slider { opacity: .55; }
.zz-ck__switch input:disabled ~ .zz-ck__cat-label { cursor: default; }
.zz-ck__switch input:focus-visible + .zz-ck__slider { outline: 2px solid #2D2926; outline-offset: 2px; }

.zz-ck__details { margin: 6px 0 0 52px; font-size: 12.5px; }
.zz-ck__details summary { cursor: pointer; color: #AF191B; }
.zz-ck__details ul { margin: 6px 0 0; padding-left: 18px; }
.zz-ck__details li { margin-bottom: 6px; }

.zz-ck__actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 16px; }
.zz-ck__btn {
    appearance: none; border: 2px solid #AF191B; background: #AF191B; color: #fff; cursor: pointer;
    font: inherit; font-weight: 600; padding: 9px 18px; border-radius: 6px; min-width: 132px;
}
.zz-ck__btn:hover { background: #8E1315; border-color: #8E1315; }
.zz-ck__btn--ghost { background: transparent; color: #2D2926; border-color: #2D2926; }
.zz-ck__btn--ghost:hover { background: #2D2926; border-color: #2D2926; color: #fff; }
.zz-ck__btn[hidden] { display: none; }
.zz-ck__btn:focus-visible { outline: 2px solid #2D2926; outline-offset: 2px; }

@media (max-width: 600px) {
    .zz-ck { left: 8px; right: 8px; bottom: 8px; }
    .zz-ck__box { padding: 16px; }
    .zz-ck__actions { justify-content: stretch; }
    .zz-ck__btn { flex: 1 1 calc(50% - 4px); min-width: 0; }
    .zz-ck__btn[data-zz-ck="accept"] { flex-basis: 100%; order: -1; }
    .zz-ck__cat-text, .zz-ck__details { margin-left: 0; }
}

/* Botón flotante para volver a abrir el panel */
.zz-ck-reopen {
    position: fixed; z-index: 99999; left: 16px; bottom: 16px; width: 44px; height: 44px;
    display: grid; place-items: center; border: 0; border-radius: 50%; cursor: pointer;
    background: #2D2926; color: #FFF9E6; box-shadow: 0 0 0 2px #AF191B, 0 4px 14px rgba(0, 0, 0, .25);
}
.zz-ck-reopen:hover { background: #AF191B; }
.zz-ck-reopen[hidden] { display: none; }

/* Política de cookies */
.zz-ck-table { overflow-x: auto; margin: 0 0 1.5em; }
.zz-ck-table table { width: 100%; border-collapse: collapse; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-size: 13.5px; }
.zz-ck-table th, .zz-ck-table td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid rgba(45, 41, 38, .14); }
.zz-ck-table th { background: #2D2926; color: #FFF9E6; font-weight: 600; }
.zz-ck-table td:first-child { font-weight: 600; word-break: break-word; }
.zz-ck-state { margin: 0 0 1.2em; }

/* En móvil cada cookie es una ficha: la tabla no se desliza de lado */
@media (max-width: 700px) {
    .zz-ck-table { overflow: visible; }
    .zz-ck-table table, .zz-ck-table tbody, .zz-ck-table tr, .zz-ck-table td { display: block; width: 100%; }
    .zz-ck-table thead { display: none; }
    .zz-ck-table tr { padding: 10px 0; border-bottom: 1px solid rgba(45, 41, 38, .14); }
    .zz-ck-table table, .zz-prose .zz-ck-table table { display: block; overflow: visible; border: 0; margin: 0; }
    .zz-ck-table td, .zz-prose .zz-ck-table td { border: 0; padding: 2px 0; overflow-wrap: anywhere; }
    .zz-ck-table td:nth-child(2)::before { content: "Dominio: "; font-weight: 600; }
    .zz-ck-table td:nth-child(4)::before { content: "Duración: "; font-weight: 600; }
}
