/* Aviso y configuración de cookies (mismo funcionamiento que kesmocan.com y widipeca.com), con los colores de Peritia et Doctrina */
:root {
  --ck-fondo: #fff;
  --ck-texto: #16202B;
  --ck-suave: #55606D;
  --ck-linea: #E4DACB;
  --ck-marca: #B34D08;
  --ck-marca-2: #16202B;
  --ck-foco: #F47B20;
}
[data-theme="dark"] {
  --ck-fondo: #1a2230;
  --ck-texto: #e8edf3;
  --ck-suave: #a7b3c2;
  --ck-linea: #2e3a4d;
  --ck-marca: #5b7cff;
  --ck-marca-2: #e8edf3;
}

.ck-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ck-enlace { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: .15em; }
.pie .ck-enlace { color: rgba(255, 255, 255, .88); text-decoration: none; }
.pie .ck-enlace:hover { color: #F47B20; }

.ck-boton { font: 600 1rem/1.2 "Geist", system-ui, sans-serif; border: 0; border-radius: 999px; padding: .8rem 1.3rem; cursor: pointer;
  background: var(--ck-marca); color: #fff; transition: filter .15s, background .15s, color .15s; }
.ck-boton:hover { filter: brightness(1.12); }
.ck-boton-contorno { background: transparent; color: var(--ck-marca-2); box-shadow: inset 0 0 0 1.5px var(--ck-marca-2); }
.ck-boton-contorno:hover { background: var(--ck-marca-2); color: var(--ck-fondo); filter: none; }
.ck-boton:focus-visible, .ck-cerrar:focus-visible, .ck-enlace:focus-visible { outline: 3px solid var(--ck-foco); outline-offset: 2px; }

.cookie-banner { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 9990; max-width: 60rem; margin: 0 auto;
  background: var(--ck-fondo); color: var(--ck-texto); border: 1px solid var(--ck-linea); border-radius: 10px;
  box-shadow: 0 12px 40px rgba(7, 35, 56, .22); font-family: "Geist", system-ui, sans-serif;
  transform: translateY(150%); opacity: 0; visibility: hidden; transition: transform .35s ease, opacity .35s ease, visibility .35s; }
.cookie-banner.is-visible { transform: none; opacity: 1; visibility: visible; }
/* Para que no se confunda con la página: borde azul marino, franja naranja arriba y sombra más marcada (el fondo sigue blanco) */
.cookie-banner { border: 2px solid #16202B; border-top: 6px solid #F47B20; box-shadow: 0 16px 48px rgba(7, 35, 56, .38); }
[data-theme="dark"] .cookie-banner { border-color: #5b7cff; border-top-color: #ff7300; box-shadow: 0 16px 48px rgba(0, 0, 0, .6); }
.cookie-banner-inner { display: flex; gap: 1.25rem; align-items: center; padding: 1.1rem 1.3rem; }
.cookie-banner p { margin: 0; font-size: 1rem; line-height: 1.5; color: var(--ck-texto); }
.cookie-banner a { color: var(--ck-marca); text-decoration: underline; }
.cookie-banner-actions { display: flex; gap: .5rem; flex: none; }

.cookie-overlay { position: fixed; inset: 0; z-index: 9995; background: rgba(7, 35, 56, .6); display: grid; place-items: center; padding: 1rem;
  opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s; font-family: "Geist", system-ui, sans-serif; }
.cookie-overlay.active { opacity: 1; visibility: visible; }
.cookie-card { position: relative; background: var(--ck-fondo); color: var(--ck-texto); border-radius: 10px; width: min(100%, 34rem);
  max-height: 90vh; overflow: auto; padding: 1.6rem 1.6rem 1.3rem; text-align: left; }
.ck-cerrar { position: absolute; top: .7rem; right: .8rem; background: none; border: 0; font-size: 1.1rem; cursor: pointer; color: var(--ck-suave); padding: .4rem; }
.cookie-antetitulo { font-weight: 700; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ck-marca); }
.cookie-card h2 { font-size: 1.4rem; margin: .2rem 0 .3rem; color: var(--ck-texto); }
.cookie-intro { color: var(--ck-suave); font-size: .92rem; margin: 0 0 1rem; }
.cookie-option { display: flex; gap: 1rem; align-items: flex-start; justify-content: space-between; padding: .9rem 0; border-top: 1px solid var(--ck-linea); }
.cookie-option h3 { font-size: 1rem; margin: 0 0 .25rem; color: var(--ck-texto); }
.cookie-option p { margin: 0; font-size: .88rem; color: var(--ck-suave); }
.cookie-botones { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem; margin-top: 1rem; }
.cookie-mas { font-size: .85rem; color: var(--ck-suave); margin: .9rem 0 0; }
.cookie-mas a { color: var(--ck-marca); }

.ck-switch { position: relative; flex: none; width: 2.8rem; height: 1.55rem; margin-top: .1rem; }
.ck-switch input { position: absolute; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; z-index: 1; }
.ck-switch input:disabled { cursor: not-allowed; }
.ck-slider { position: absolute; inset: 0; background: #c9cedb; border-radius: 99px; transition: background .2s; }
.ck-slider::before { content: ""; position: absolute; width: 1.15rem; height: 1.15rem; left: .2rem; top: .2rem; background: #fff; border-radius: 50%;
  transition: transform .2s; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); }
.ck-switch input:checked + .ck-slider { background: var(--ck-marca); }
.ck-switch input:checked + .ck-slider::before { transform: translateX(1.25rem); }
.ck-switch input:disabled + .ck-slider { opacity: .6; }
.ck-switch input:focus-visible + .ck-slider { outline: 3px solid var(--ck-foco); outline-offset: 2px; }

@media (max-width: 700px) {
  .cookie-banner-inner { flex-direction: column; align-items: stretch; }
  .cookie-banner-actions { flex-wrap: wrap; }
  .cookie-banner-actions .ck-boton { flex: 1; }
  .cookie-botones { grid-template-columns: 1fr; }
}

/* Página de política de cookies */
.ck-tabla { width: 100%; border-collapse: collapse; margin: 1rem 0 1.5rem; font-size: .92rem; }
.ck-tabla th, .ck-tabla td { text-align: left; padding: .55rem .6rem; border-bottom: 1px solid var(--ck-linea); vertical-align: top; }
.ck-tabla th { font-size: .78rem; text-transform: uppercase; letter-spacing: .03em; color: var(--ck-suave); }
.ck-tabla code { font-size: .85em; }
.ck-tabla-scroll { overflow-x: auto; }
