/* =========================================================================
   Consentimiento de cookies — Gozo Cheesecake
   Sustituye al aviso del plugin original, que sólo ofrecía "Aceptar".
   La política de cookies promete tres opciones (aceptar todas, rechazar todas
   y configurar por categorías), así que la implementación tiene que darlas.
   ========================================================================= */

.gz-consent,
.gz-consent * { box-sizing: border-box; }

/* Barra compacta, como la del sitio original: una sola línea centrada, texto
   pequeño y botones discretos. Lo que cambia respecto a aquella es que ofrece
   las tres opciones que promete la política, no sólo "Aceptar". */
.gz-consent {
  position: fixed;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 99999;
  background: var(--gozo-marron, #5A3A24);
  color: var(--gozo-crema-clara, #FAF3EA);
  padding: .5rem clamp(.75rem, 3vw, 1.75rem);
  box-shadow: 0 -6px 30px rgba(46, 46, 44, .28);
  font-size: .78rem;
  line-height: 1.45;
  animation: gz-subir .25s ease-out;
}
@keyframes gz-subir { from { transform: translateY(100%); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .gz-consent { animation: none; } }

.gz-consent[hidden] { display: none; }

.gz-consent__fila {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;   /* centrado, como la barra original */
  gap: .5rem .9rem;
  max-width: 76rem;
  margin-inline: auto;
}
.gz-consent__texto { flex: 0 1 auto; max-width: 82ch; margin: 0; }
/* Crema, no dorado: el dorado sobre el marrón da 4,38:1 y este texto es de
   cuerpo (necesita 4,5:1). En crema son 9,2:1, y el acento lo pone el
   subrayado dorado, igual que en el resto de enlaces sobre fondo oscuro. */
.gz-consent__texto a {
  color: var(--gozo-crema-clara, #FAF3EA);
  text-decoration-color: var(--gozo-dorado, #D8A04B);
  text-underline-offset: .18em;
}
.gz-consent__texto a:hover { text-decoration-color: var(--gozo-crema-clara, #FAF3EA); }

.gz-consent__acciones { display: flex; flex-wrap: wrap; gap: .4rem; }

.gz-consent button {
  font: inherit;
  font-weight: 600;
  border-radius: 4px;
  padding: .3rem .75rem;
  border: 1px solid transparent;
  cursor: pointer;
  white-space: nowrap;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
/* dorado con texto gris: 5,9:1 */
.gz-consent__btn--si {
  background: var(--gozo-dorado, #D8A04B);
  color: var(--gozo-gris, #2E2E2C);
}
.gz-consent__btn--si:hover { background: var(--gozo-crema-clara, #FAF3EA); }

/* crema sobre marrón: 9,2:1 en el borde y en el texto */
.gz-consent__btn--no,
.gz-consent__btn--cfg {
  background: transparent;
  color: var(--gozo-crema-clara, #FAF3EA);
  border-color: var(--gozo-crema-clara, #FAF3EA);
}
.gz-consent__btn--no:hover,
.gz-consent__btn--cfg:hover {
  background: var(--gozo-crema-clara, #FAF3EA);
  color: var(--gozo-marron, #5A3A24);
}
.gz-consent button:focus-visible {
  outline: 2px solid var(--gozo-dorado, #D8A04B);
  outline-offset: 2px;
}

/* ---- panel por categorías ---- */
.gz-consent__panel {
  max-width: 52rem;
  margin: .6rem auto 0;
  padding-block-start: .6rem;
  border-block-start: 1px solid rgba(250, 243, 234, .3);
}
.gz-consent__panel[hidden] { display: none; }

.gz-consent__cat {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  padding-block: .6rem;
}
.gz-consent__cat + .gz-consent__cat { border-block-start: 1px solid rgba(250, 243, 234, .16); }
.gz-consent__cat input { margin-block-start: .25rem; width: 1.05rem; height: 1.05rem; accent-color: var(--gozo-dorado, #D8A04B); }
.gz-consent__cat input:disabled { opacity: .65; }
.gz-consent__cat strong { display: block; }
.gz-consent__cat span { opacity: .85; }

.gz-consent__guardar { margin-block-start: .9rem; }

/* enlace permanente para volver a abrir las preferencias */
.gz-consent-abrir {
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  text-decoration: underline;
  text-underline-offset: .18em;
  cursor: pointer;
}
