/* FreakCon — Consentimiento de cookies (estilo cómic de freakcon.es).
   No carga fuentes: usa Sink/Anton/Inter del tema y, si no están, las del sistema. */
.fkn-cc{
  --fkn-red:#e4181b; --fkn-red-deep:#a80d0e; --fkn-yellow:#eeff35;
  --fkn-ink:#0b0a09; --fkn-ink-soft:#1c1917; --fkn-paper:#fffdf8; --fkn-paper-dim:#f4ece0;
  --fkn-display:"Sink","Anton","Arial Narrow",Impact,sans-serif;
  --fkn-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
.fkn-cc, .fkn-cc *, .fkn-cc *::before, .fkn-cc *::after,
.fkn-cc-ph, .fkn-cc-ph *{ box-sizing:border-box; }
.fkn-cc [hidden]{ display:none !important; }
html.fkn-cc-lock{ overflow:hidden; }

/* ---------- textos ---------- */
.fkn-cc .fkn-cc-badge{
  display:inline-block; margin:0 0 10px; padding:4px 12px;
  font:400 12px/1.2 var(--fkn-display); letter-spacing:.04em; text-transform:uppercase;
  color:var(--fkn-paper); background:var(--fkn-red);
  border:3px solid var(--fkn-ink); border-radius:999px;
}
.fkn-cc .fkn-cc-title{
  margin:0 0 8px; padding:0; border:0;
  font:400 clamp(22px,4.5vw,30px)/1.05 var(--fkn-display); text-transform:uppercase;
  color:var(--fkn-ink); letter-spacing:.01em;
}
.fkn-cc .fkn-cc-text{ margin:0 0 10px; font:400 14px/1.55 var(--fkn-sans); color:var(--fkn-ink-soft); }
.fkn-cc .fkn-cc-links{ margin:0 0 16px; display:flex; flex-wrap:wrap; gap:6px 16px; font:700 13px/1.4 var(--fkn-sans); }
.fkn-cc .fkn-cc-links a{ color:var(--fkn-red); text-decoration:underline; text-underline-offset:2px; }

/* ---------- botones: los tres iguales (guía de la AEPD) ---------- */
.fkn-cc-btn{
  appearance:none; -webkit-appearance:none; margin:0; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; text-align:center;
  min-height:48px; padding:10px 18px;
  font:400 16px/1.1 var(--fkn-display); letter-spacing:.02em; text-transform:uppercase;
  color:var(--fkn-ink); background:var(--fkn-yellow);
  border:3px solid var(--fkn-ink); border-radius:999px;
  box-shadow:4px 4px 0 0 var(--fkn-ink);
  transition:transform .12s ease, box-shadow .12s ease;
}
.fkn-cc-btn:hover{ transform:translate(-2px,-2px); box-shadow:6px 6px 0 0 var(--fkn-ink); }
.fkn-cc-btn:active{ transform:translate(2px,2px); box-shadow:2px 2px 0 0 var(--fkn-ink); }
.fkn-cc-btn:focus-visible, .fkn-cc-close:focus-visible, .fkn-cc-reopen:focus-visible,
.fkn-cc a:focus-visible, .fkn-cc-ph-link:focus-visible, .fkn-cc-inline:focus-visible{
  outline:3px solid var(--fkn-red); outline-offset:3px;
}
.fkn-cc .fkn-cc-actions{ display:grid; grid-template-columns:1fr; gap:10px; }
@media (min-width:560px){ .fkn-cc .fkn-cc-actions{ grid-template-columns:repeat(3,1fr); } }

/* ---------- banner ---------- */
.fkn-cc .fkn-cc-banner{
  position:fixed; z-index:2147483000; left:12px; right:12px; bottom:12px;
  max-width:640px; margin:0 auto;
  padding:20px 20px 22px;
  background:var(--fkn-paper); color:var(--fkn-ink);
  border:4px solid var(--fkn-ink); border-radius:22px;
  box-shadow:8px 8px 0 0 var(--fkn-ink);
}
@media (min-width:900px){
  .fkn-cc .fkn-cc-banner{ left:24px; right:auto; bottom:24px; margin:0; width:600px; padding:24px 26px 26px; }
}

/* contenido con scroll propio (pantallas muy bajas): el banner no recorta al monstruo */
.fkn-cc .fkn-cc-banner-body{
  max-height:calc(100vh - 150px); overflow-y:auto;
  /* margen interior para que no se recorten la sombra (4px) ni el desplazamiento
     al pasar el ratón (2px) de los botones; los márgenes negativos lo compensan */
  padding:4px 8px 8px 4px; margin:-4px -8px -8px -4px;
}

/* monstruo galletero saliendo del borde del banner (decorativo).
   Anclado por la base: bottom = borde superior exterior del banner (100% llega
   al borde interior; +3px lo sube casi todo el grosor del borde de 4px), así
   el pelo apoya sobre la línea negra sin hueco, mida lo que mida la imagen. */
.fkn-cc .fkn-cc-monster{
  position:absolute; right:10px; top:auto; bottom:calc(100% + 3px); z-index:1;
  display:block; width:124px; height:auto; max-width:none; margin:0; border:0;
  pointer-events:none; user-select:none;
}
@media (min-width:560px){ .fkn-cc .fkn-cc-monster{ width:144px; right:20px; } }
@media (max-height:520px){ .fkn-cc .fkn-cc-monster{ display:none; } .fkn-cc .fkn-cc-banner-body{ max-height:calc(100vh - 48px); } }

/* ---------- panel de preferencias ---------- */
.fkn-cc .fkn-cc-modal{ position:fixed; inset:0; z-index:2147483001; display:flex; align-items:center; justify-content:center; padding:12px; }
.fkn-cc .fkn-cc-backdrop{ position:absolute; inset:0; background:rgba(11,10,9,.62); }
.fkn-cc .fkn-cc-panel{
  position:relative; width:100%; max-width:640px; max-height:calc(100vh - 24px); overflow-y:auto;
  padding:24px 20px 22px;
  background:var(--fkn-paper); color:var(--fkn-ink);
  border:4px solid var(--fkn-ink); border-radius:22px;
  box-shadow:8px 8px 0 0 var(--fkn-ink);
  outline:none;
}
@media (min-width:560px){ .fkn-cc .fkn-cc-panel{ padding:28px 28px 26px; } }
.fkn-cc .fkn-cc-close{
  position:absolute; top:12px; right:12px;
  width:40px; height:40px; padding:0; margin:0; cursor:pointer;
  font:700 24px/1 var(--fkn-sans); color:var(--fkn-ink);
  background:var(--fkn-paper); border:3px solid var(--fkn-ink); border-radius:50%;
  box-shadow:3px 3px 0 0 var(--fkn-ink);
}
.fkn-cc .fkn-cc-panel .fkn-cc-title{ padding-right:44px; }
.fkn-cc .fkn-cc-cat{
  margin:0 0 12px; padding:14px 16px;
  background:#fff; border:3px solid var(--fkn-ink); border-radius:16px;
}
.fkn-cc .fkn-cc-cat-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 6px; }
.fkn-cc .fkn-cc-cat-title{ margin:0; padding:0; font:400 18px/1.1 var(--fkn-display); text-transform:uppercase; color:var(--fkn-ink); }
.fkn-cc .fkn-cc-cat-text{ margin:0; font:400 13px/1.5 var(--fkn-sans); color:var(--fkn-ink-soft); }
.fkn-cc .fkn-cc-always{
  flex:none; padding:4px 10px; font:800 11px/1.2 var(--fkn-sans); text-transform:uppercase; letter-spacing:.04em;
  color:var(--fkn-ink); background:var(--fkn-paper-dim); border:2px solid var(--fkn-ink); border-radius:999px;
}
.fkn-cc .fkn-cc-panel .fkn-cc-actions{ margin-top:18px; }

/* interruptor */
.fkn-cc .fkn-cc-switch{ position:relative; flex:none; display:inline-block; width:56px; height:32px; margin:0; cursor:pointer; }
.fkn-cc .fkn-cc-switch input{ position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; z-index:1; }
.fkn-cc .fkn-cc-track{
  position:absolute; inset:0; background:var(--fkn-paper-dim);
  border:3px solid var(--fkn-ink); border-radius:999px; transition:background .15s ease;
}
.fkn-cc .fkn-cc-thumb{
  position:absolute; top:3px; left:3px; width:20px; height:20px;
  background:var(--fkn-ink); border-radius:50%; transition:transform .15s ease, background .15s ease;
}
.fkn-cc .fkn-cc-switch input:checked + .fkn-cc-track{ background:var(--fkn-red); }
.fkn-cc .fkn-cc-switch input:checked + .fkn-cc-track .fkn-cc-thumb{ transform:translateX(24px); background:var(--fkn-paper); }
.fkn-cc .fkn-cc-switch input:focus-visible + .fkn-cc-track{ outline:3px solid var(--fkn-red); outline-offset:3px; }

/* ---------- botón flotante para reabrir ---------- */
.fkn-cc .fkn-cc-reopen{
  position:fixed; z-index:2147482999; left:14px; bottom:14px;
  width:50px; height:50px; padding:0; margin:0; cursor:pointer;
  font:400 24px/1 var(--fkn-sans);
  background:var(--fkn-yellow); border:3px solid var(--fkn-ink); border-radius:50%;
  box-shadow:4px 4px 0 0 var(--fkn-ink);
}
.fkn-cc .fkn-cc-live{ position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); border:0; }

/* ---------- aviso en lugar de un iframe bloqueado ---------- */
.fkn-cc-ph{
  --fkn-ink:#0b0a09; --fkn-red:#e4181b; --fkn-yellow:#eeff35; --fkn-paper:#fffdf8;
  --fkn-display:"Sink","Anton","Arial Narrow",Impact,sans-serif;
  --fkn-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  width:100%; min-height:220px; padding:24px 18px; text-align:center;
  background:var(--fkn-paper); color:var(--fkn-ink);
  border:4px solid var(--fkn-ink); border-radius:18px; box-shadow:6px 6px 0 0 var(--fkn-ink);
}
.fkn-cc-ph .fkn-cc-ph-title{ margin:0; font:400 20px/1.1 var(--fkn-display); text-transform:uppercase; }
.fkn-cc-ph .fkn-cc-ph-text{ margin:0; max-width:460px; font:400 14px/1.5 var(--fkn-sans); }
.fkn-cc-ph .fkn-cc-ph-link, .fkn-cc-inline{
  appearance:none; background:none; border:0; padding:0; margin:0; cursor:pointer;
  font:700 13px/1.4 var(--fkn-sans); color:var(--fkn-red); text-decoration:underline; text-underline-offset:2px;
}

@media (prefers-reduced-motion: reduce){
  .fkn-cc-btn, .fkn-cc .fkn-cc-track, .fkn-cc .fkn-cc-thumb{ transition:none; }
}
