/* Fillos do Campo · aviso de cookies con los colores de la web (marron, crema, amarillo y verde) */
.ck { position: fixed; z-index: 60; left: 12px; right: 12px; bottom: 12px; display: flex; justify-content: flex-start; pointer-events: none; }
.ck-caja {
  pointer-events: auto; position: relative; overflow: hidden;
  width: min(560px, 100%); background: var(--bg-primary); color: var(--bg-secondary);
  border-radius: 6px; border-top: 4px solid var(--accent); padding: 26px 24px 22px;
  box-shadow: 0 24px 60px rgba(43, 46, 55, .35), 0 2px 0 rgba(0, 0, 0, .05);
  transform: translateY(calc(100% + 40px)); opacity: 0;
  transition: transform .6s cubic-bezier(.2, .8, .2, 1), opacity .4s ease;
}
.ck.visible .ck-caja { transform: none; opacity: 1; }
/* la palabra manuscrita de fondo, como en las secciones de la web */
.ck-caja::after {
  content: "galletas"; position: absolute; right: -14px; bottom: -34px; z-index: 0; pointer-events: none;
  font: 400 120px/1 var(--script); color: transparent; -webkit-text-stroke: 1px var(--accent-dim); opacity: .7;
}
.ck-caja > * { position: relative; z-index: 1; }
.ck-eyebrow { font-size: 12px; letter-spacing: .05em; text-transform: uppercase; color: var(--accent); margin-bottom: 10px; }
.ck-titulo { font: 400 clamp(22px, 2.3vw, 28px)/1.05 var(--serif); text-transform: uppercase; letter-spacing: -.02em; margin-bottom: 12px; }
.ck-titulo em { font: 400 1.35em/1 var(--script); text-transform: none; color: var(--accent); letter-spacing: 0; display: inline-block; transform: rotate(-5deg) translateY(-2px); }
.ck-texto { font-size: 15px; line-height: 1.5; opacity: .92; margin-bottom: 18px; }
.ck-texto a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.ck-opciones { display: grid; gap: 8px; margin-bottom: 18px; }
.ck-op { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; cursor: pointer;
  background: rgba(248, 243, 232, .08); border: 1px solid rgba(248, 243, 232, .18); border-radius: 4px; padding: 12px 14px; }
.ck-op strong { display: block; font-weight: 500; font-size: 15px; }
.ck-op small { display: block; font-size: 13px; opacity: .75; margin-top: 2px; }
.ck-op input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ck-int { grid-column: 2; grid-row: 1; width: 44px; height: 24px; border-radius: 12px; background: rgba(248, 243, 232, .25); position: relative; transition: background .25s; }
.ck-int::after { content: ""; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--bg-secondary); transition: transform .25s cubic-bezier(.2, .8, .2, 1); }
.ck-op input:checked + .ck-int { background: var(--green); }
.ck-op input:checked + .ck-int::after { transform: translateX(20px); }
.ck-op input:disabled + .ck-int { opacity: .6; }
.ck-op input:focus-visible + .ck-int { outline: 3px solid var(--accent); outline-offset: 2px; }
.ck-botones { display: flex; flex-wrap: wrap; gap: 8px; }
.ck-b { font: 500 14px/1 var(--sans); text-transform: uppercase; letter-spacing: .03em; border-radius: 3px; padding: 12px 16px; cursor: pointer;
  border: 1px solid transparent; transition: background .2s, color .2s, border-color .2s, transform .2s; }
.ck-b:hover { transform: translateY(-1px); }
.ck-si { background: var(--accent); color: var(--bg-primary); }
.ck-si:hover { background: var(--bg-secondary); }
.ck-no { background: transparent; color: var(--bg-secondary); border-color: rgba(248, 243, 232, .6); }
.ck-no:hover { background: var(--bg-secondary); color: var(--bg-primary); }
.ck-conf { background: transparent; color: var(--bg-secondary); border-color: transparent; text-decoration: underline; text-underline-offset: 3px; padding-left: 8px; padding-right: 8px; }
.ck-b:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.pie-cookies { background: none; border: 0; padding: 0; font: inherit; color: inherit; cursor: pointer; opacity: .6; text-transform: inherit; letter-spacing: inherit; }
.pie-cookies:hover { opacity: 1; color: var(--accent); }
@media (max-width: 560px) {
  .ck { left: 8px; right: 8px; bottom: 8px; }
  .ck-caja { padding: 22px 18px 18px; }
  .ck-b { flex: 1 1 auto; text-align: center; }
  .ck-caja::after { font-size: 90px; }
}
@media (prefers-reduced-motion: reduce) { .ck-caja { transition: opacity .2s; transform: none; } }

/* tabla de la politica de cookies y boton para reabrir el aviso */
.tabla-cookies { overflow-x: auto; margin: 0 auto 24px; }
.tabla-cookies table { width: 100%; border-collapse: collapse; font: 400 15px/1.45 var(--sans); }
.tabla-cookies th { text-align: left; font-weight: 500; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--green); border-bottom: 2px solid var(--green); padding: 8px 10px; }
.tabla-cookies td { border-bottom: 1px solid #ddd3c2; padding: 10px; vertical-align: top; }
.tabla-cookies td:first-child { font-weight: 500; white-space: nowrap; }
.btn-cookies { border: 0; cursor: pointer; font-family: var(--sans); margin: 6px 0; vertical-align: middle; }
.foot-cols li .pie-cookies { opacity: 1; }

/* lo oculto se queda oculto aunque el estilo le de display */
.ck [hidden] { display: none !important; }
/* con la barra de WordPress (sesion iniciada), la cabecera fija baja */
.admin-bar header { top: 40px; }
.admin-bar .progress { top: 32px; }
@media (max-width: 782px) { .admin-bar header { top: 54px; } .admin-bar .progress { top: 46px; } }
