/* ===========================================================================
   Guatazales · extras del tema WordPress (fuera del prototipo):
   banner de consentimiento, reveals, página genérica, prosa.
   =========================================================================== */

/* ---------- Banner de cookies ---------- */
.gz-consent { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 0 var(--gutter) 22px; pointer-events: none; }
.gz-consent__card { pointer-events: auto; max-width: 720px; margin: 0 auto; background: var(--surface-card);
  border: 1px solid var(--border-subtle); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg);
  padding: 18px 22px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.gz-consent__text { margin: 0; flex: 1 1 320px; font-size: var(--text-sm); line-height: var(--leading-normal); }
.gz-consent__text a { color: var(--text-primary); }
.gz-consent__actions { display: flex; gap: 10px; margin-left: auto; }
@media (max-width: 720px) {
  .gz-consent__card { flex-direction: column; align-items: stretch; text-align: left; }
  .gz-consent__text { flex: 0 0 auto; }
  .gz-consent__actions { margin-left: 0; }
  .gz-consent__actions .gz-btn { flex: 1; }
}

/* ---------- Reveals fade-up (el río es lento) ---------- */
[data-gz-reveal] { opacity: 0; transform: translateY(22px);
  transition: opacity var(--dur-reveal) var(--ease-river), transform var(--dur-reveal) var(--ease-river); }
[data-gz-reveal].is-revealed { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  [data-gz-reveal] { opacity: 1; transform: none; transition: none; }
}

/* ---------- Página genérica / prosa ---------- */
.gz-page { padding: var(--section-y) 0; }
.gz-page__inner { max-width: var(--container-max); margin: 0 auto; padding: 0 var(--gutter); }
.gz-page__head { margin-bottom: var(--space-7); }
.gz-prose { max-width: var(--container-prose); }
.gz-prose a { color: var(--text-primary); }
.gz-prose ul, .gz-prose ol { padding-left: 1.2em; margin: 0 0 1em; }
.gz-prose img { border-radius: var(--radius-lg); }

/* ---------- Flujo de reserva: piezas WP ---------- */
.gz-flow[hidden] { display: none !important; }
.gz-flow__times { margin-top: var(--space-5); }
.gz-flow__timeslabel { display: inline-flex; align-items: center; gap: 8px; font-size: var(--text-sm);
  font-weight: 600; color: var(--text-body); margin-bottom: 10px; }
.gz-flow__timeopts { display: flex; gap: 10px; flex-wrap: wrap; }
.gz-flow__error { position: fixed; left: 50%; bottom: 110px; transform: translateX(-50%); z-index: 210;
  background: var(--terracota-600); color: #fff; font-size: var(--text-sm); font-weight: 500;
  padding: 12px 22px; border-radius: var(--radius-pill); box-shadow: var(--shadow-md); margin: 0; }
.gz-flow__brand { background: none; border: 0; cursor: pointer; }
[data-gz-sense][hidden] { display: none; }
.gz-extra__add[hidden], [data-gz-extra-qty][hidden] { display: none; }
.gz-takehome__media img, .gz-extra__media img, .gz-flow__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.gz-takehome__name a { text-decoration: none; color: inherit; }

/* ---------- Toast de aviso ---------- */
.gz-toast { position: fixed; left: 50%; bottom: 96px; transform: translateX(-50%); z-index: 60;
  background: var(--bosque-700); color: var(--crema-100); font-size: var(--text-sm); font-weight: 500;
  padding: 12px 22px; border-radius: var(--radius-pill); box-shadow: var(--shadow-md); }

/* ---------- Ajustes del chrome WP ---------- */
/* El prototipo monta estos nodos condicionalmente en React; aquí viven en el
   DOM y se ocultan con [hidden], que debe ganar a cualquier display del spec. */
.gz-lang__menu[hidden], .gz-burger__open[hidden], .gz-burger__close[hidden], .gz-cartbtn__count[hidden] { display: none !important; }
.gz-burger__open, .gz-burger__close { display: inline-flex; }
.gz-cartbtn { position: relative; text-decoration: none; }
.gz-cartbtn__count[hidden] { display: none; }
.gz-nav__link, .gz-mobile__link, .gz-lang__opt, .gz-foot__col a { text-decoration: none; }
.gz-foot__form .gz-field { flex: 1; }
