/* JSA · Aviso de cookies — paleta y tipografías del sitio
   navy #13243a · terracota #b8542a · crema #f7f3ec · borde #e8e2d4 */

.jsa-ck,
.jsa-ck * { box-sizing: border-box; }

.jsa-ck {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 999999;
  padding: 0 16px 16px;
  font-family: 'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  animation: jsa-ck-sube .28s ease-out both;
}
.jsa-ck[hidden] { display: none !important; }

@keyframes jsa-ck-sube {
  from { transform: translateY(14px); opacity: 0; }
  to   { transform: none; opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .jsa-ck { animation: none; }
}

.jsa-ck-caja {
  max-width: 1120px;
  margin: 0 auto;
  background: #f7f3ec;
  border: 1px solid #e8e2d4;
  border-top: 3px solid #b8542a;
  box-shadow: 0 -6px 28px rgba(19, 36, 58, .16);
}

/* ---------- bloque principal ---------- */

.jsa-ck-principal { padding: 26px 30px 24px; }

.jsa-ck-eyebrow {
  margin: 0 0 8px;
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #b8542a;
  font-weight: 600;
}

.jsa-ck h2 {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: 23px;
  line-height: 1.2;
  font-weight: 500;
  color: #13243a;
  margin: 0 0 10px;
}

.jsa-ck p#jsa-ck-texto {
  margin: 0 0 20px;
  font-size: 14.5px;
  line-height: 1.65;
  color: #4a4a4a;
  font-weight: 300;
  max-width: 76ch;
}

.jsa-ck p#jsa-ck-texto a {
  color: #13243a;
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 1px;
}
.jsa-ck p#jsa-ck-texto a:hover { color: #b8542a; }

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

.jsa-ck-botones {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.jsa-ck-btn {
  font-family: inherit;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  padding: 14px 30px;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background .2s, color .2s, border-color .2s;
  line-height: 1.2;
}

/* Aceptar y rechazar tienen el mismo peso visual, como exige la AEPD. */
.jsa-ck-btn-si {
  background: #b8542a;
  color: #fff;
  border-color: #b8542a;
}
.jsa-ck-btn-si:hover { background: #9c451f; border-color: #9c451f; }

.jsa-ck-btn-no {
  background: transparent;
  color: #13243a;
  border-color: #13243a;
}
.jsa-ck-btn-no:hover { background: #13243a; color: #fff; }

.jsa-ck-link {
  background: none;
  border: 0;
  padding: 6px 2px;
  margin-left: 4px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 400;
  color: #6b6b6b;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.jsa-ck-link:hover { color: #b8542a; }

.jsa-ck :focus-visible {
  outline: 2px solid #b8542a;
  outline-offset: 3px;
}

/* ---------- panel de categorías ---------- */

.jsa-ck-panel {
  border-top: 1px solid #e8e2d4;
  padding: 4px 30px 24px;
  max-height: 46vh;
  overflow-y: auto;
}
.jsa-ck-panel[hidden] { display: none !important; }

.jsa-ck-lista { list-style: none; margin: 0; padding: 0; }

.jsa-ck-cat {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 18px 0;
  border-bottom: 1px solid #ece6da;
}
.jsa-ck-cat:last-child { border-bottom: 0; }

.jsa-ck-cat-txt { flex: 1; min-width: 0; }

.jsa-ck-cat-txt strong {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #13243a;
  margin-bottom: 4px;
}
.jsa-ck-cat-txt label { cursor: pointer; }

.jsa-ck-cat-txt span {
  display: block;
  font-size: 13px;
  line-height: 1.6;
  color: #6b6b6b;
  font-weight: 300;
}

.jsa-ck-fija {
  flex: none;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #9a9a9a;
  padding-top: 3px;
  white-space: nowrap;
}

/* interruptor */
.jsa-ck-sw {
  flex: none;
  position: relative;
  width: 46px;
  height: 26px;
  margin-top: 2px;
  cursor: pointer;
}
.jsa-ck-sw input {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  cursor: pointer;
}
.jsa-ck-sw-pista {
  position: absolute;
  inset: 0;
  background: #d4ccba;
  border-radius: 999px;
  transition: background .2s;
  pointer-events: none;
}
.jsa-ck-sw-pista::after {
  content: '';
  position: absolute;
  top: 3px; left: 3px;
  width: 20px; height: 20px;
  background: #fff;
  border-radius: 50%;
  transition: transform .2s;
  box-shadow: 0 1px 3px rgba(0,0,0,.2);
}
.jsa-ck-sw input:checked + .jsa-ck-sw-pista { background: #b8542a; }
.jsa-ck-sw input:checked + .jsa-ck-sw-pista::after { transform: translateX(20px); }
.jsa-ck-sw input:focus-visible + .jsa-ck-sw-pista {
  outline: 2px solid #b8542a;
  outline-offset: 3px;
}

.jsa-ck-panel-pie { padding-top: 20px; }

/* ---------- botón para volver a abrirlo ---------- */

.jsa-ck-reabrir {
  position: fixed;
  left: 16px; bottom: 16px;
  z-index: 999998;
  background: #13243a;
  color: #fff;
  border: 0;
  font-family: 'Jost', -apple-system, Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 10px 16px;
  cursor: pointer;
  opacity: .55;
  transition: opacity .2s;
}
.jsa-ck-reabrir:hover { opacity: 1; }
.jsa-ck-reabrir[hidden] { display: none !important; }

/* ---------- móvil ---------- */

@media (max-width: 640px) {
  .jsa-ck { padding: 0; }
  .jsa-ck-caja { border-left: 0; border-right: 0; border-bottom: 0; }
  .jsa-ck-principal { padding: 22px 20px 20px; }
  .jsa-ck-panel { padding: 4px 20px 20px; max-height: 40vh; }
  .jsa-ck h2 { font-size: 20px; }
  .jsa-ck-botones { gap: 10px; }
  .jsa-ck-btn { flex: 1 1 100%; text-align: center; padding: 15px 20px; }
  .jsa-ck-link { flex: 1 1 100%; text-align: center; margin: 4px 0 0; }
  .jsa-ck-cat { gap: 16px; }
  .jsa-ck-reabrir { left: 10px; bottom: 10px; padding: 8px 12px; }
}
