/* ===== palabra gigante ===== */
.rd-palabra { overflow: hidden; padding: 8rem 0 6rem; }
.rd-palabra__texto {
  font-family: var(--rd-font-display); font-weight: 400; color: var(--rd-negro);
  font-size: clamp(120px, 22vw, 340px); line-height: .9; white-space: nowrap;
  margin: 0 0 0 45vw; will-change: transform;
}
/* ===== marquee de cierre ===== */
.rd-marquee { overflow: hidden; padding: 4rem 0; }
.rd-marquee__track {
  font-family: var(--rd-font-display); font-size: clamp(60px, 8vw, 120px);
  white-space: nowrap; will-change: transform; display: inline-block;
}
/* ===== bloque texto fade ===== */
.rd-texto { font-family: var(--rd-font-text); font-weight: 300; font-size: 20px; letter-spacing: -0.2px; max-width: 548px; }
.rd-texto--center { margin-inline: auto; text-align: center; }
/* ===== nav flotante ===== */
.rd-nav {
  position: fixed; top: 24px; left: 50%; transform: translateX(-50%);
  width: var(--rd-nav-w); height: 90px; z-index: 90;
  display: flex; align-items: center; justify-content: space-between; padding: 0 28px;
  border-radius: 18px; background: rgba(26,23,20,.2); backdrop-filter: blur(12.5px); -webkit-backdrop-filter: blur(12.5px);
  color: var(--rd-blanco);
}
.rd-nav__burger { background: none; border: 0; color: inherit; cursor: pointer; padding: 8px; }
.rd-nav__logo img { display: block; }
.rd-nav__cta {
  font-family: var(--rd-font-text); font-size: 12px; font-weight: 500; letter-spacing: 1.2px; text-transform: uppercase;
  background: var(--rd-gris); color: var(--rd-cream); text-decoration: none; padding: 12px 24px;
}
/* ===== nav secciones (píldora negra) ===== */
.rd-secciones {
  width: var(--rd-nav-w); margin: 3rem auto;
  /* bajo el nav flotante fijo (24px top + 90px alto) */
  margin-top: 150px; height: 90px; border-radius: 18px; background: var(--rd-negro);
  display: flex; align-items: center; justify-content: center; gap: clamp(2rem, 8vw, 9rem);
}
.rd-secciones__item {
  font-family: var(--rd-font-text); font-weight: 600; font-size: 18px; letter-spacing: 4.5px; text-transform: uppercase;
  color: var(--rd-blanco); opacity: .5; text-decoration: none;
}
.rd-secciones__item.is-activa, .rd-secciones__item:hover { opacity: 1; }
/* ===== modal menú ===== */
/* Panel desplegable translúcido bajo el nav (mockup Jose 2026-08-05) */
.rd-modal { position: fixed; inset: 0; z-index: 100; background: transparent; }
.rd-modal[hidden] { display: none; }
.rd-modal__panel {
  position: absolute; top: 130px; left: 50%; transform: translateX(-50%);
  width: var(--rd-nav-w); max-height: calc(100vh - 154px); overflow-y: auto;
  border-radius: 18px; background: rgba(26,23,20,.35);
  backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px);
  color: var(--rd-blanco); padding: 5rem 24px 5.5rem; text-align: center;
}
.rd-modal__cerrar { position: absolute; top: 22px; right: 26px; background: none; border: 0; color: inherit; cursor: pointer; opacity: .8; }
.rd-modal__nav { display: flex; flex-direction: column; align-items: center; gap: 2.6rem; }
.rd-modal__primario {
  font-family: var(--rd-font-text); font-weight: 600; font-size: 22px;
  letter-spacing: 5px; text-transform: uppercase; color: inherit; text-decoration: none;
}
.rd-modal__sec { margin-top: 3.2rem; display: flex; flex-direction: column; gap: 1.6rem; }
.rd-modal__sec a {
  font-family: var(--rd-font-text); font-weight: 600; font-size: 14px;
  letter-spacing: 3px; text-transform: uppercase; color: inherit; opacity: .9; text-decoration: none;
}
/* CTA solo en móvil (en desktop el nav con Pruébame sigue visible sobre el panel) */
.rd-modal__cta { display: none; margin-top: 2.5rem; background: var(--rd-gris); color: var(--rd-cream); text-transform: uppercase; letter-spacing: 1.5px; text-decoration: none; padding: 14px 40px; font-size: 14px; font-weight: 500; }
/* ===== full-bleed ===== */
.rd-fullbleed { position: relative; height: var(--rd-fb-alto, 100vh); overflow: hidden; }
.rd-fullbleed__media { position: absolute; inset: -12% 0; will-change: transform; }
.rd-fullbleed__media img, .rd-fullbleed__media video { width: 100%; height: 100%; object-fit: cover; display: block; }
.rd-fullbleed__overlay { position: absolute; inset: 0; background: linear-gradient(rgba(0,0,0,.49), rgba(0,0,0,.28) 50%, rgba(0,0,0,.39)); }
.rd-fullbleed__contenido { position: absolute; inset: auto 0 12%; text-align: center; color: var(--rd-blanco); padding: 0 24px; }
.rd-kicker { font-family: var(--rd-font-text); font-weight: 600; font-size: 13px; letter-spacing: 3px; text-transform: uppercase; margin: 0 0 1rem; }
.rd-fullbleed__titulo { font-family: var(--rd-font-display); font-weight: 400; font-size: clamp(34px, 4.5vw, 50px); line-height: 1.07; margin: 0; }
/* ===== galería 3 ===== */
.rd-galeria3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; width: min(1450px, calc(100vw - 62px)); margin: 0 auto; position: relative; z-index: 2; }
.rd-galeria3__item { margin: 0; aspect-ratio: 3 / 4; overflow: hidden; }
.rd-galeria3__item img { width: 100%; height: 100%; object-fit: cover; }
/* ===== sidebar anclas ===== */
.rd-anclas { position: sticky; top: 40vh; float: left; margin-left: 40px; display: flex; flex-direction: column; gap: 1.2rem; z-index: 5; }
.rd-anclas__item { font-family: var(--rd-font-text); font-size: 13px; letter-spacing: 2.5px; text-transform: uppercase; text-decoration: none; color: currentColor; opacity: .45; }
.rd-anclas__item.is-activa { opacity: 1; font-weight: 600; }
/* ===== tabs de semanas (menús) ===== */
.rd-semanas__tabs { display: flex; gap: 2.2rem; justify-content: center; flex-wrap: wrap; margin: 4rem 0 2.5rem; }
/* Los tabs son <button>: Astra les pinta color/fondo de boton propios —
 * se declaran los 3 estados explicitos (default/hover/activo) en negro. */
.rd-semanas__tab, .rd-semanas__tab:hover, .rd-semanas__tab:focus {
  background: none; border: 0; color: var(--rd-negro);
  box-shadow: none; outline: none; text-shadow: none; border-radius: 0;
}
.rd-semanas__tab { cursor: pointer; font-family: var(--rd-font-text); font-weight: 600; font-size: 13px; letter-spacing: 2px; opacity: .4; position: relative; padding-top: 1.8em; }
.rd-semanas__tab:hover { opacity: .75; }
.rd-semanas__tab.is-activa { opacity: 1; }
/* La W va ENCIMA de la semana activa (mockup Jose 2026-08-05) */
.rd-semanas__tab .rd-semanas__w { position: absolute; top: 0; left: 50%; transform: translateX(-50%); font-size: 15px; }
.rd-semanas__w { font-family: var(--rd-font-display); margin-right: .4em; }
.rd-semanas__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; width: min(1450px, calc(100vw - 62px)); margin: 0 auto; }
.rd-semanas__plato { margin: 0; }
.rd-semanas__plato img { width: 100%; aspect-ratio: 3/4; object-fit: cover; }
.rd-semanas__plato figcaption { font-size: 14px; margin-top: .6rem; text-align: center; }
.rd-semanas__leyenda { text-align: center; margin-top: 3rem; font-size: 15px; }

/* nav-secciones sticky abajo (petición Jose 2026-08-05): en las páginas donde
 * la píldora arranca arriba, al scrollear reaparece fijada al fondo. La clase
 * la pone el observer de redesign.js. */
@keyframes rd-secciones-sube { from { transform: translate(-50%, 20px); opacity: 0; } to { transform: translate(-50%, 0); opacity: 1; } }
.rd-secciones.is-flotante {
  position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%);
  margin: 0; width: var(--rd-nav-w); z-index: 90;
  box-shadow: 0 10px 32px rgba(0,0,0,.35);
  animation: rd-secciones-sube .28s ease-out;
}
.rd-secciones.is-flotante { transition: opacity .25s ease, visibility .25s ease; }
.rd-secciones.is-flotante.is-cede { opacity: 0; visibility: hidden; pointer-events: none; }
.rd-secciones { transition: opacity .25s ease; }
/* ocultado INSTANTANEO (sin transicion): si no, con un scroll rapido se la ve
 * deslizarse por detras del nav mientras se desvanece (parpadeo) */
.rd-secciones.is-oculta { opacity: 0 !important; visibility: hidden; pointer-events: none; transition: none; }

/* Hovers explicitos de componentes cuyo color vive en el propio <a>:
 * la neutralizacion global de Astra (.weilo-rd a:hover = 0,2,1) los pisaria.
 * (0,3,1) para ganarle. */
.rd-nav a.rd-nav__cta:hover { color: var(--rd-cream); }
.rd-secciones a.rd-secciones__item:hover { color: var(--rd-blanco); }
.rd-modal a.rd-modal__cta:hover { color: var(--rd-cream); }
