/* ══════════════════════════════════════════════════════════════════════
   Aluna Blocks — Sistema Global de Diseño
   Tokens de diseño y clases tipográficas reutilizables.

   Encolado en frontend + editor desde aluna-blocks.php.
   REGLA: Nunca redefinir estas reglas en el CSS de un bloque individual.
   Para ajustes de bloque, usar extensión:
     .wp-block-aluna-{slug} .aluna-h2 { margin-bottom: 0; }
   ══════════════════════════════════════════════════════════════════════ */

/* ── Ocultar título de página en posts 58 (Noticias), 53 (Experiencias), 52 (Nosotros), 54 (Espacios) ─── */
/* El título se gestiona desde el hero banner — no debe duplicarse */
.page-id-58 .wp-block-post-title,
.page-id-58 h1.entry-title,
.page-id-58 .page-title,
.page-id-53 .wp-block-post-title,
.page-id-53 h1.entry-title,
.page-id-53 .page-title,
.page-id-52 .wp-block-post-title,
.page-id-52 h1.entry-title,
.page-id-52 .page-title,
.page-id-54 .wp-block-post-title,
.page-id-54 h1.entry-title,
.page-id-54 .page-title {
  display: none !important;
}
/* Eliminar gap entre secciones en páginas de diseño */
.page-id-52 .wp-block-group.alignfull,
.page-id-52 .alignfull,
.page-id-53 .wp-block-group.alignfull,
.page-id-53 .alignfull,
.page-id-58 .wp-block-group.alignfull,
.page-id-58 .alignfull {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ── Página Espacios (ID 54) — layout full width, sin título ─────── */
/* Twenty Twenty-Five usa is-layout-constrained en el post-content.
 * El bloque wp:group con align:full rompe esa restricción.
 * Las reglas CSS aquí eliminan el padding/margin residual del tema
 * y el título duplicado. */

/* Ocultar título WordPress (template page-no-title ya lo omite,
 * pero esto cubre el caso en que el template default esté activo) */
body.page-id-54 h1.wp-block-post-title,
body.page-id-54 h1.entry-title,
body.page-id-54 .wp-block-post-title { display: none !important; }

/* Eliminar margin-top del <main> que agrega Twenty Twenty-Five */
body.page-id-54 .wp-block-group[style*="margin-top"],
body.page-id-54 main.wp-block-group { margin-top: 0 !important; }

/* El grupo alignfull NO debe tener padding extra del tema */
body.page-id-54 .wp-block-post-content > .alignfull {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Eliminar padding en el root del post-content */
body.page-id-54 .wp-block-post-content,
body.page-id-54 .entry-content {
  padding: 0 !important;
  margin: 0 !important;
}

/* Compatibilidad con Hello Elementor si volviera a ser activo */
body.page-id-54 .page-header   { display: none !important; }
body.page-id-54 .page-content  { padding: 0 !important; margin: 0 !important; }
body.page-id-54 .ahdr-spacer   { display: none !important; }
body.page-id-54 .site-main     { max-width: 100% !important; padding: 0 !important; margin: 0 !important; width: 100% !important; }

/* ── Contención de overflow + normalización de layout ────────────── */
/*
 * Los bloques alignfull usan margin negativo para romper el padding
 * del body (theme.json root padding = clamp(30px, 5vw, 50px)).
 * overflow-x: clip corta el overflow sin crear nuevo scroll container
 * (a diferencia de hidden, que rompería position:sticky).
 */
html { overflow-x: clip; }
body { overflow-x: clip; }

/*
 * Normalizar el contenedor <main> y wp-block-post-content para que
 * no agreguen padding lateral propio — las secciones internas
 * manejan su propio spacing con clamp().
 */
.wp-block-post-content.is-layout-default,
.wp-block-post-content.is-layout-flow {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Garantizar que el bloque custom noticias-grid sea realmente full-width
 * usando las mismas variables CSS que WordPress usa para alignfull */
.wp-block-aluna-noticias-grid.alignfull {
  margin-left: calc(var(--wp--style--root--padding-left, 0px) * -1);
  margin-right: calc(var(--wp--style--root--padding-right, 0px) * -1);
  width: calc(100% + var(--wp--style--root--padding-left, 0px) + var(--wp--style--root--padding-right, 0px));
  max-width: unset;
}

/* ── Tokens: Paleta ──────────────────────────────────────────────── */
:root {
  --aluna-cream:      #F2E6D0;
  --aluna-cream-lt:   #FBF5EC;
  --aluna-cream-dk:   #E8D8BF;
  --aluna-sand:       #D9C9A8;
  --aluna-taupe:      #8B7E70;
  --aluna-brown:      #6B5C4E;
  --aluna-black:      #1C1814;
  --aluna-white:      #FEFCF8;
  --aluna-text:       #2C2420;
  --aluna-text-sec:   #6B5C4E;
  --aluna-text-muted: #7A6C62;
  --aluna-border:     rgba(139,126,112,.18);
  --aluna-border-st:  rgba(139,126,112,.35);
}

/* ── Tokens: Fuentes ─────────────────────────────────────────────── */
:root {
  --aluna-font-display: 'Cormorant Garamond', serif;
  --aluna-font-body:    'Jost', sans-serif;
}

/* ── Tokens: Escala tipográfica ──────────────────────────────────── */
:root {
  --aluna-text-xs:   14px;
  --aluna-text-sm:   16px;
  --aluna-text-md:   20px;
  --aluna-text-lg:   22px;
  --aluna-text-xl:   28px;
  --aluna-text-2xl:  40px;
  --aluna-text-3xl:  60px;
  --aluna-text-hero: clamp(72px, 10.5vw, 150px);
}

/* ── Tokens: Line-heights ────────────────────────────────────────── */
:root {
  --aluna-lh-tight:  1.1;
  --aluna-lh-snug:   1.35;
  --aluna-lh-normal: 1.65;
  --aluna-lh-loose:  1.85;
}


/* ══════════════════════════════════════════════════════════════════════
   JERARQUÍA TIPOGRÁFICA
   ══════════════════════════════════════════════════════════════════════ */

/* ── Eyebrow ─────────────────────────────────────────────────────── */
/* Label sobre el título. Elemento <div> o <p>. Nunca <h*>. */
.aluna-eyebrow {
  font-family: var(--aluna-font-body);
  font-size: var(--aluna-text-sm);
  font-weight: 600;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--aluna-taupe);
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
}
.aluna-eyebrow::before {
  content: '';
  width: 28px;
  height: 1px;
  background: var(--aluna-taupe);
  flex-shrink: 0;
}
.aluna-eyebrow--lt              { color: rgba(242,230,208,.80); }
.aluna-eyebrow--lt::before      { background: rgba(242,230,208,.65); }

/* ── H2 — Título de sección ─────────────────────────────────────── */
.aluna-h2 {
  font-family: var(--aluna-font-display);
  font-size: clamp(44px, 5vw, 72px);
  font-weight: 300;
  line-height: var(--aluna-lh-tight);
  color: var(--aluna-text);
  margin-bottom: 20px;
}
.aluna-h2 em                    { font-style: italic; color: var(--aluna-taupe); }
.aluna-h2.aluna-h2--lt          { color: var(--aluna-cream); }
.aluna-h2.aluna-h2--lt em       { color: var(--aluna-sand); }

/* ── H3 — Título de subsección / tarjeta ────────────────────────── */
.aluna-h3 {
  font-family: var(--aluna-font-display);
  font-size: var(--aluna-text-2xl);
  font-weight: 300;
  line-height: var(--aluna-lh-tight);
  color: var(--aluna-text);
  margin-bottom: 8px;
}
.aluna-h3.aluna-h3--lt          { color: var(--aluna-white); }

/* ── H4 — Título de componente ──────────────────────────────────── */
.aluna-h4 {
  font-family: var(--aluna-font-display);
  font-size: var(--aluna-text-xl);
  font-weight: 400;
  line-height: var(--aluna-lh-snug);
  color: var(--aluna-text);
}
.aluna-h4.aluna-h4--lt          { color: var(--aluna-white); }

/* ── Lead — Subtítulo itálico ────────────────────────────────────── */
.aluna-lead {
  font-family: var(--aluna-font-display);
  font-size: var(--aluna-text-md);
  font-weight: 300;
  font-style: italic;
  color: var(--aluna-text-sec);
  max-width: 560px;
  line-height: var(--aluna-lh-normal);
  margin-bottom: 52px;
}
.aluna-lead.aluna-lead--lt      { color: rgba(242,230,208,.80); }

/* ── Body — Párrafo largo ────────────────────────────────────────── */
.aluna-body {
  font-family: var(--aluna-font-body);
  font-size: var(--aluna-text-md);
  font-weight: 300;
  color: var(--aluna-text-sec);
  line-height: var(--aluna-lh-loose);
  margin-bottom: 40px;
  max-width: 440px;
}

/* ── Desc — Descripción corta de tarjeta ─────────────────────────── */
.aluna-desc {
  font-family: var(--aluna-font-body);
  font-size: var(--aluna-text-sm);
  font-weight: 300;
  color: var(--aluna-text-muted);
  line-height: var(--aluna-lh-normal);
}

/* Variantes sobre fondo oscuro (hero) */
.aluna-body--lt { color: rgba(242, 230, 208, .85); }
.aluna-desc--lt { color: rgba(242, 230, 208, .70); }


/* ══════════════════════════════════════════════════════════════════════
   BOTONES
   Siempre <a href="…"> o <button>. Nunca <div> ni <span>.
   ══════════════════════════════════════════════════════════════════════ */

.aluna-btn,
.aluna-btn--fill,
.aluna-btn--cream,
.aluna-btn--ghost,
.aluna-btn--solid,
.aluna-btn--lg {
  font-family: var(--aluna-font-body);
  font-size: var(--aluna-text-sm);
  font-weight: 500;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  text-decoration: none;
  display: inline-block;
  cursor: pointer;
  transition: all .2s;
  line-height: 1;
}

.aluna-btn {
  padding: 10px 22px;
  border: 1px solid var(--aluna-border-st);
  color: var(--aluna-text-sec);
  background: transparent;
}
.aluna-btn:hover { border-color: var(--aluna-taupe); color: var(--aluna-taupe); }

.aluna-btn--fill {
  padding: 10px 22px;
  background: var(--aluna-taupe);
  color: var(--aluna-white);
  border: 1px solid var(--aluna-taupe);
}
.aluna-btn--fill:hover { background: var(--aluna-brown); border-color: var(--aluna-brown); }

.aluna-btn--cream {
  padding: 14px 36px;
  background: var(--aluna-cream);
  color: var(--aluna-black);
  border: none;
}
.aluna-btn--cream:hover { background: var(--aluna-white); }

.aluna-btn--ghost {
  padding: 14px 36px;
  background: transparent;
  color: var(--aluna-cream);
  border: 1px solid rgba(242,230,208,.4);
  font-weight: 400;
}
.aluna-btn--ghost:hover { border-color: var(--aluna-cream); }

.aluna-btn--solid {
  padding: 14px 36px;
  background: var(--aluna-taupe);
  color: var(--aluna-white);
  border: none;
}
.aluna-btn--solid:hover { background: var(--aluna-brown); }

.aluna-btn--lg {
  padding: 18px 56px;
  background: var(--aluna-cream);
  color: var(--aluna-black);
  border: none;
}
.aluna-btn--lg:hover { background: var(--aluna-white); }

@media (max-width: 700px) {
  .aluna-btn,
  .aluna-btn--fill,
  .aluna-btn--cream,
  .aluna-btn--ghost,
  .aluna-btn--solid,
  .aluna-btn--lg {
    padding: 10px 22px;
    font-size: 12px;
    letter-spacing: 2px;
  }

  .aluna-eyebrow         { font-size: 11px; letter-spacing: 2px; }
  .aluna-eyebrow::before { display: none; }

  .aluna-lead            { font-size: 16px; }
}


/* ══════════════════════════════════════════════════════════════════════
   NEWSLETTER / SUSCRIPCIÓN  (nsl)
   Prefijo: .nsl-   Fondo: --aluna-cream-dk (#E8D8BF)
   ══════════════════════════════════════════════════════════════════════ */

/* ── Eyebrow centrado en contexto newsletter ─────────────────────── */
.nsl-eyebrow {
  justify-content: center;
  margin-bottom: 28px;
}

/* ── Título de la sección ────────────────────────────────────────── */
.nsl-heading {
  text-align: center;
  margin-bottom: 14px !important;
}

/* ── Subtítulo / descripción ─────────────────────────────────────── */
.nsl-sub {
  font-family: var(--aluna-font-body);
  font-size: var(--aluna-text-sm);
  font-weight: 300;
  color: var(--aluna-text-muted);
  text-align: center;
  margin-top: 0;
  margin-bottom: 40px;
}

/* ── Formulario inline ───────────────────────────────────────────── */
.nsl-form {
  display: flex;
  gap: 0;
  max-width: 520px;
  margin: 0 auto;
}

.nsl-input {
  flex: 1;
  min-width: 0;
  font-family: var(--aluna-font-body);
  font-size: var(--aluna-text-sm);
  font-weight: 300;
  padding: 14px 20px;
  border: 1px solid var(--aluna-border-st);
  border-right: none;
  background: var(--aluna-white);
  color: var(--aluna-text);
  outline: none;
  transition: border-color .2s;
}

.nsl-input::placeholder {
  color: var(--aluna-text-muted);
}

.nsl-input:focus {
  border-color: var(--aluna-taupe);
}

.nsl-btn {
  font-family: var(--aluna-font-body);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  white-space: nowrap;
  flex-shrink: 0;
  padding: 14px 28px;
  background: var(--aluna-brown);
  color: var(--aluna-white);
  border: none;
  cursor: pointer;
  transition: background .2s;
  line-height: 1;
}

.nsl-btn:hover {
  background: var(--aluna-black);
}

/* ── Mensaje de confirmación / error ─────────────────────────────── */
.nsl-msg {
  text-align: center;
  margin-top: 14px;
  font-family: var(--aluna-font-body);
  font-size: 13px;
  letter-spacing: 1px;
  color: var(--aluna-taupe);
  min-height: 20px;
}

.nsl-msg--ok    { color: var(--aluna-taupe); }
.nsl-msg--error { color: #b94a48; }

/* ── Responsive ──────────────────────────────────────────────────── */
@media (max-width: 600px) {
  /* Heading más contenido en pantallas angostas */
  .nsl-heading.aluna-h2,
  .nsl-heading {
    font-size: clamp(28px, 7.5vw, 44px);
  }

  .nsl-form {
    flex-direction: column;
    gap: 8px;
  }

  .nsl-input {
    border-right: 1px solid var(--aluna-border-st);
  }

  .nsl-btn {
    padding: 14px 24px;
    text-align: center;
  }
}


/* ══════════════════════════════════════════════════════════════════════
   FOOTER — .aluna-ftr
   Estilos globales para el footer del sitio.
   Se aplica al template part "footer" del FSE.
   ══════════════════════════════════════════════════════════════════════ */

.aluna-ftr {
  background: var(--aluna-black) !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* ── Main grid: 4 columns (2.2fr 1fr 1fr 1fr) ───────────────────── */
.aluna-ftr-main {
  max-width: 1280px;
  margin: 0 auto;
  padding: 72px 64px 52px;
  display: grid;
  grid-template-columns: 2.2fr 1fr 1fr 1fr;
  gap: 52px;
  border-bottom: 1px solid rgba(242,230,208,.18);
}

/* ── Branding column ─────────────────────────────────────────────── */
.aluna-ftr-name {
  font-family: var(--aluna-font-body);
  font-weight: 200;
  font-size: 20px;
  letter-spacing: 8px;
  text-transform: uppercase;
  color: var(--aluna-cream);
  margin: 0 0 3px;
  line-height: 1.3;
}

.aluna-ftr-sub {
  font-family: var(--aluna-font-body);
  font-size: 17px;
  font-weight: 400;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(242,230,208,.58);
  margin: 0 0 18px;
}

.aluna-ftr-tag {
  font-family: var(--aluna-font-display);
  font-size: 17px;
  font-style: italic;
  color: rgba(242,230,208,.68);
  margin: 0 0 22px;
}

/* ── Info rows ───────────────────────────────────────────────────── */
.aluna-ftr-info {
  margin: 20px 0 24px;
}

.aluna-ftr-info-row {
  display: flex;
  flex-direction: column;
  margin-bottom: 12px;
}

.aluna-ftr-info-lbl {
  font-family: var(--aluna-font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(242,230,208,.52);
  margin-bottom: 2px;
}

.aluna-ftr-info-val {
  font-family: var(--aluna-font-body);
  font-size: 16px;
  font-weight: 300;
  color: rgba(242,230,208,.78);
  line-height: 1.4;
}

.aluna-ftr-info-val em {
  font-family: var(--aluna-font-display);
  font-size: 18px;
  font-style: italic;
  color: var(--aluna-taupe);
  font-weight: 400;
  display: block;
  margin-top: 2px;
}

.aluna-ftr-nota {
  font-family: var(--aluna-font-display);
  font-size: 16px;
  font-style: italic;
  color: rgba(242,230,208,.58);
  margin-top: 4px;
}

.aluna-ftr-email {
  color: rgba(242,230,208,.75) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(242,230,208,.28);
  transition: all .2s;
}
.aluna-ftr-email:hover {
  color: var(--aluna-cream) !important;
  border-color: rgba(242,230,208,.5);
}

/* ── Social icons ────────────────────────────────────────────────── */
.aluna-ftr-social {
  display: flex;
  gap: 16px;
  margin-top: 8px;
}

.aluna-ftr-social .wp-social-link {
  width: 34px !important;
  height: 34px !important;
  border: 1px solid rgba(242,230,208,.28) !important;
  background: transparent !important;
  color: rgba(242,230,208,.60) !important;
  border-radius: 0 !important;
  transition: all .25s;
}
.aluna-ftr-social .wp-social-link:hover {
  border-color: rgba(242,230,208,.55) !important;
  color: rgba(242,230,208,.9) !important;
  background: transparent !important;
}
.aluna-ftr-social .wp-social-link svg {
  width: 16px;
  height: 16px;
}

/* ── Nav columns ─────────────────────────────────────────────────── */
.aluna-ftr-col-heading {
  font-family: var(--aluna-font-body) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase;
  color: var(--aluna-cream) !important;
  margin: 0 0 18px !important;
}

.aluna-ftr-links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.aluna-ftr-links li {
  margin-bottom: 10px;
}

.aluna-ftr-links a {
  font-family: var(--aluna-font-body);
  font-size: 18px;
  font-weight: 300;
  color: rgba(242,230,208,.65) !important;
  text-decoration: none !important;
  transition: color .2s;
}
.aluna-ftr-links a:hover {
  color: var(--aluna-cream) !important;
}

/* ── Bottom bar ──────────────────────────────────────────────────── */
.aluna-ftr-bot {
  max-width: 1280px;
  margin: 0 auto;
  padding: 20px 64px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.aluna-ftr-copy {
  font-family: var(--aluna-font-body);
  font-size: 14px;
  font-weight: 300;
  color: rgba(242,230,208,.40);
  margin: 0;
}

.aluna-ftr-legal {
  display: flex;
  gap: 24px;
}

.aluna-ftr-legal a {
  font-family: var(--aluna-font-body);
  font-size: 14px;
  color: rgba(242,230,208,.40) !important;
  text-decoration: none !important;
  transition: color .2s;
}
.aluna-ftr-legal a:hover {
  color: rgba(242,230,208,.70) !important;
}


/* ── FOOTER RESPONSIVE ───────────────────────────────────────────── */

/* Tablet ≤960px */
@media (max-width: 960px) {
  .aluna-ftr-main {
    padding: 52px 40px 40px;
    grid-template-columns: 1fr 1fr;
    gap: 28px 24px;
  }
  .aluna-ftr-main > *:first-child {
    grid-column: span 2;
  }
  .aluna-ftr-bot {
    padding: 16px 40px;
  }
}

/* Móvil ≤700px */
@media (max-width: 700px) {
  .aluna-ftr-main {
    padding: 40px 24px 32px;
    grid-template-columns: 1fr 1fr;
    gap: 28px 24px;
  }
  .aluna-ftr-main > *:first-child {
    grid-column: span 2;
  }
  .aluna-ftr-bot {
    padding: 16px 24px;
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }
  .aluna-ftr-legal {
    justify-content: center;
  }
  .aluna-ftr-col-heading {
    font-size: 14px !important;
  }
  .aluna-ftr-links a {
    font-size: 16px;
  }
}

/* Móvil pequeño ≤460px */
@media (max-width: 460px) {
  .aluna-ftr-main {
    padding: 32px 16px 24px;
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .aluna-ftr-main > *:first-child {
    grid-column: span 1;
  }
  .aluna-ftr-bot {
    padding: 16px;
  }
}


/* ══════════════════════════════════════════════════════════════════════
   Manifesto CTA — "En ALUNA ocurrirán cosas grandiosas"
   Prefix: .aluna-mf-   Root: .aluna-mf
   ══════════════════════════════════════════════════════════════════════ */

/* ── Alignfull reset ───────────────────────────────────────────────── */
.aluna-mf.alignfull,
.aluna-mf.alignwide {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ── Root ──────────────────────────────────────────────────────────── */
/* Para cambiar la imagen de fondo, actualizar la URL a continuación   */
.aluna-mf {
  background:
    linear-gradient(rgba(28,24,20,.88), rgba(28,24,20,.88)),
    url('/wireframes-html/img/DSC00459.jpg') center/cover no-repeat;
  position: relative;
  overflow: hidden;
  text-align: left;
  padding: 0 !important;
}

/* Decorative floating "ALUNA" text */
.aluna-mf::before {
  content: 'ALUNA';
  position: absolute;
  bottom: -50px;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--aluna-font-display);
  font-size: 220px;
  font-weight: 300;
  letter-spacing: 20px;
  color: rgba(242,230,208,.07);
  pointer-events: none;
  white-space: nowrap;
  animation: aluna-mf-drift 22s ease-in-out infinite alternate;
  z-index: 0;
}

@keyframes aluna-mf-drift {
  from { transform: translateX(-50%) translateY(0); }
  to   { transform: translateX(-50%) translateY(-36px); }
}

/* ── Inner columns container ──────────────────────────────────────── */
.aluna-mf .wp-block-columns.aluna-mf-inner {
  max-width: 1280px;
  margin: 0 auto !important;
  padding: clamp(60px, 8vw, 120px) clamp(20px, 5vw, 64px);
  position: relative;
  z-index: 1;
  align-items: center;
  gap: 0 !important;
}

/* ── Left column ──────────────────────────────────────────────────── */
.aluna-mf .wp-block-column.aluna-mf-left {
  padding-right: 72px;
}

/* ── Decorative horizontal rule ───────────────────────────────────── */
.aluna-mf .aluna-mf-rule.wp-block-separator {
  width: 80px;
  max-width: 80px;
  height: 1px;
  min-height: 0;
  background: rgba(217,201,168,.45);
  margin: 0 0 52px !important;
  border: none !important;
  opacity: 1;
}

/* ── Quote text ───────────────────────────────────────────────────── */
.aluna-mf .aluna-mf-text {
  font-family: var(--aluna-font-display);
  font-size: clamp(32px, 4.5vw, 60px) !important;
  font-weight: 300;
  font-style: italic;
  color: var(--aluna-cream);
  margin: 0 !important;
  line-height: 1.2 !important;
  position: relative;
  z-index: 1;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 1s cubic-bezier(.16, 1, .3, 1) .1s;
}
.aluna-mf .aluna-mf-text.in {
  clip-path: inset(0 0% 0 0) !important;
}
/* Editor: show text immediately (no JS animation in the editor) */
.editor-styles-wrapper .aluna-mf .aluna-mf-text {
  clip-path: none;
}
.aluna-mf .aluna-mf-text strong {
  font-weight: 400;
  color: var(--aluna-sand);
  font-style: normal;
}

/* ── Right column (with vertical divider) ─────────────────────────── */
.aluna-mf .wp-block-column.aluna-mf-right {
  padding-left: 72px;
  border-left: 1px solid rgba(217,201,168,.22);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 36px;
}

/* ── Subtitle ─────────────────────────────────────────────────────── */
.aluna-mf .aluna-mf-sub {
  font-family: var(--aluna-font-display);
  font-size: clamp(26px, 2.8vw, 38px) !important;
  font-weight: 300;
  font-style: italic;
  color: var(--aluna-cream);
  margin: 0 !important;
  position: relative;
  z-index: 1;
  letter-spacing: .5px;
}

/* ── Buttons wrapper ──────────────────────────────────────────────── */
.aluna-mf .aluna-mf-btns.wp-block-buttons {
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  position: relative;
  z-index: 1;
}

/* ── Button: Cream (primary CTA) ──────────────────────────────────── */
.aluna-mf .aluna-mf-btn-cream .wp-block-button__link {
  font-family: var(--aluna-font-body);
  font-size: var(--aluna-text-sm) !important;
  font-weight: 500;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  padding: 18px 56px;
  background: var(--aluna-cream) !important;
  color: var(--aluna-black) !important;
  border: none;
  border-radius: 0 !important;
  transition: all .2s;
}
.aluna-mf .aluna-mf-btn-cream .wp-block-button__link:hover {
  background: var(--aluna-white) !important;
}

/* ── Button: Ghost (secondary CTA) ────────────────────────────────── */
.aluna-mf .aluna-mf-btn-ghost .wp-block-button__link {
  font-family: var(--aluna-font-body);
  font-size: var(--aluna-text-sm) !important;
  font-weight: 400;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  padding: 14px 36px;
  background: transparent !important;
  color: var(--aluna-cream) !important;
  border: 1px solid rgba(242,230,208,.4);
  border-radius: 0 !important;
  transition: all .2s;
}
.aluna-mf .aluna-mf-btn-ghost .wp-block-button__link:hover {
  border-color: var(--aluna-cream);
}

/* ── Responsive: Tablet ≤960px ────────────────────────────────────── */
@media (max-width: 960px) {
  .aluna-mf .wp-block-columns.aluna-mf-inner {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 28px !important;
    align-items: flex-start;
  }
  .aluna-mf .wp-block-column.aluna-mf-left {
    flex: none !important;
    width: 100% !important;
    flex-basis: 100% !important;
    padding-right: 0;
  }
  .aluna-mf .wp-block-column.aluna-mf-right {
    flex: none !important;
    width: 100% !important;
    flex-basis: 100% !important;
    padding-left: 0;
    border-left: none;
  }
}

/* ── Responsive: Small mobile ≤460px ──────────────────────────────── */
@media (max-width: 460px) {
  .aluna-mf .wp-block-columns.aluna-mf-inner {
    padding: 44px 20px;
    gap: 20px !important;
  }
  .aluna-mf .aluna-mf-btns.wp-block-buttons {
    gap: 10px;
  }
  .aluna-mf .aluna-mf-btn-cream .wp-block-button__link {
    padding: 16px 32px;
  }
}

/* ── Responsive: Button compact ≤700px ────────────────────────────── */
@media (max-width: 700px) {
  .aluna-mf .aluna-mf-btn-cream .wp-block-button__link,
  .aluna-mf .aluna-mf-btn-ghost .wp-block-button__link {
    padding: 10px 22px !important;
    font-size: 12px !important;
    letter-spacing: 2px !important;
  }
}


/* ══════════════════════════════════════════════════════════════════════
   Newsletter CTA — "Sé el primero en saber qué viene"
   Prefix: .aluna-news-   Root: .aluna-news
   ══════════════════════════════════════════════════════════════════════ */

/* ── Alignfull reset ───────────────────────────────────────────────── */
.aluna-news.alignfull,
.aluna-news.alignwide {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ── Root ──────────────────────────────────────────────────────────── */
.aluna-news {
  background: var(--aluna-cream) !important;
  padding: clamp(40px, 6vw, 72px) clamp(20px, 5vw, 64px) !important;
  text-align: center;
}

/* ── Title ────────────────────────────────────────────────────────── */
.aluna-news .aluna-news-title {
  font-family: var(--aluna-font-display) !important;
  font-size: 40px !important;
  font-weight: 300 !important;
  font-style: italic;
  color: var(--aluna-text) !important;
  margin: 0 0 8px !important;
}

/* ── Subtitle ─────────────────────────────────────────────────────── */
.aluna-news .aluna-news-sub {
  font-family: var(--aluna-font-body) !important;
  font-size: var(--aluna-text-md) !important;
  font-weight: 300 !important;
  letter-spacing: 1px;
  color: var(--aluna-text-muted) !important;
  margin: 0 0 32px !important;
}

/* ── Form placeholder container ───────────────────────────────────── */
.aluna-news .aluna-news-form-slot {
  max-width: 480px;
  margin: 0 auto;
}


/* ══════════════════════════════════════════════════════════════════════
   Freq Section Header — .freq-hdr-wrap
   Encabezado "Elige tu experiencia / Cuatro formas de vibrar".
   El wp:group (align:full, layout:default) provee el fondo full-width.
   Las wp:columns internas se centran y limitan a 1280px aquí,
   igual que .freq-hdr en aluna-home-v4.html.
   ══════════════════════════════════════════════════════════════════════ */

.freq-hdr-wrap > .wp-block-columns {
  max-width: 1280px;
  margin: 0 auto !important;
  align-items: flex-end;
  width: 100%;
}

/* Tablet ≤960px: ocultar columna descriptiva derecha */
@media (max-width: 960px) {
  .freq-hdr-wrap > .wp-block-columns .wp-block-column:last-child {
    display: none;
  }
}

/* ══════════════════════════════════════════════════════════════════════
   Page Hero — patrón reutilizable para heroes de páginas internas
   Clase raíz: .aluna-page-hero (en core/cover)
   Portado de wireframes-html/aluna-home-v4.html (.ph sección)
   Overlay: gradiente horizontal izq→der; texto izq, imagen visible a der.
   ══════════════════════════════════════════════════════════════════════ */

/* Flex layout en el inner-container del cover */
.aluna-page-hero .wp-block-cover__inner-container {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 110px clamp(80px, 6vw, 120px) 0;
  width: 100%;
  max-width: 100%;
}

/* Contenedor de texto — máx. 680px, apilado verticalmente */
.aluna-page-hero-content {
  max-width: 680px;
  width: 100%;
  display: flex;
  flex-direction: column;
}

/* H1 del hero — portado de .qs-h1 del wireframe */
.aluna-page-hero-content h1 {
  font-family: var(--aluna-font-display);
  font-size: clamp(64px, 8.5vw, 108px);
  font-weight: 300;
  line-height: 0.92;
  letter-spacing: -2px;
  color: var(--aluna-cream);
  margin: 16px 0 36px;
}
.aluna-page-hero-content h1 em {
  font-style: italic;
  color: var(--aluna-sand);   /* #D9C9A8 — tono arena cálido */
}

/* Párrafos del hero — Cormorant Garamond, portado de .qs-hero-body p */
.aluna-page-hero .aluna-body--lt,
.aluna-page-hero .aluna-desc--lt {
  font-family: var(--aluna-font-display);
  font-size: clamp(18px, 1.7vw, 22px);
  font-weight: 400;
  line-height: 1.7;
  margin-bottom: 14px;
  max-width: none;
}

/* Ajustar eyebrow y lead al contexto hero */
.aluna-page-hero-content .aluna-eyebrow {
  margin-bottom: 0;
}
.aluna-page-hero-content .aluna-lead {
  margin-bottom: 0;
}

@media (max-width: 600px) {
  .aluna-page-hero .wp-block-cover__inner-container {
    padding: 0 clamp(20px, 5vw, 40px);
  }
}

/* ── Page Hero — variante bottom-left (Noticias, etc.) ───────────── */
/* Cuando contentPosition=bottom-left, el contenido se ancla al fondo */
.aluna-page-hero.is-position-bottom-left .wp-block-cover__inner-container {
  align-items: flex-end;
}

/* ══════════════════════════════════════════════════════════════════════
   PÁGINA 58 — NOTICIAS  (hero overrides)
   Portado de wireframes-html/aluna-home-v4.html, sección PAGE 11.
   Hero más compacto (44 vh, título menor, tonos más sutiles).
   ══════════════════════════════════════════════════════════════════════ */

/* Título más compacto que el hero genérico */
.page-id-58 .aluna-page-hero-content h1 {
  font-size: clamp(48px, 6.5vw, 88px);
  line-height: 0.95;
  letter-spacing: -1px;
  margin: 12px 0 20px;
}

/* Eyebrow: opacidad .55 (wireframe .ph-ey) vs .80 global */
.page-id-58 .aluna-page-hero-content .aluna-eyebrow--lt {
  color: rgba(242,230,208,.55);
}
.page-id-58 .aluna-page-hero-content .aluna-eyebrow--lt::before {
  background: rgba(242,230,208,.40);
}

/* Lead/subtitle: opacidad .6, 19 px (wireframe .ph-sub) */
.page-id-58 .aluna-page-hero-content .aluna-lead--lt {
  color: rgba(242,230,208,.6);
  font-size: 19px;
}

@media (max-width: 600px) {
  .page-id-58 .aluna-page-hero-content h1 {
    font-size: clamp(36px, 9vw, 52px);
    margin: 8px 0 14px;
  }
  .page-id-58 .aluna-page-hero-content .aluna-lead--lt {
    font-size: 16px;
  }
}

/* ══════════════════════════════════════════════════════════════════════
   PÁGINA 52 — QUIÉNES SOMOS
   ══════════════════════════════════════════════════════════════════════ */

/* ── Ocultar spacer del header en páginas con hero full-screen ─────── */
/* El spacer del aluna/site-header empuja el contenido 110px hacia abajo.
 * En páginas que inician con un hero de pantalla completa eso genera un
 * espacio en blanco visible. Se oculta aquí; el hero cubre desde el top. */
.page-id-52 .ahdr-spacer,
.page-id-53 .ahdr-spacer,
.page-id-54 .ahdr-spacer,
.page-id-58 .ahdr-spacer {
  display: none !important;
}

/* ── Ocultar el wrapper .page-header del tema hello-elementor ──────── */
/* El template single.php renderiza <div class="page-header"><h1>…</h1></div>.
 * Ocultamos el h1 vía .page-id-52 h1.entry-title (ya definido arriba)
 * y también colapsamos el wrapper por si el tema le asigna padding. */
.page-id-52 .page-header,
.page-id-53 .page-header,
.page-id-54 .page-header,
.page-id-58 .page-header {
  display: none !important;
}

/* ── Eliminar padding heredado del wrapper .page-content ───────────── */
.page-id-52 .page-content,
.page-id-53 .page-content,
.page-id-58 .page-content {
  padding: 0 !important;
  margin: 0 !important;
}

/* ── Eliminar margin-top del <main> que agrega Twenty Twenty-Five ── */
body.page-id-52 main.wp-block-group { margin-top: 0 !important; }

/* ── Eliminar padding vertical del wrapper .has-global-padding de TT5 ─
 *  Este wrapper envuelve TODO el post-content y agrega padding via
 *  --wp--style--root--padding-top/bottom.  Zeramos solo el wrapper,
 *  SIN tocar el padding inline de cada sección (story, mf, etc.).
 * ──────────────────────────────────────────────────────────────────── */
body.page-id-52 .has-global-padding {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ── Eliminar padding en el root del post-content ────────────────── */
body.page-id-52 .wp-block-post-content,
body.page-id-52 .entry-content {
  padding: 0 !important;
  margin: 0 !important;
}

/* ── § 2 ¿Qué es ALUNA? — Story section ─────────────────────────── */
.aluna-qs-story.alignfull {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.aluna-qs-story .wp-block-columns {
  max-width: 1280px;
  margin: 0 auto !important;
  padding: 0 clamp(20px, 5vw, 64px);
  align-items: center;
  gap: 80px !important;
}
/* Tipografía editorial — portado de .sh2 y .qs-story-text p del wireframe */
.aluna-qs-story .aluna-h2 {
  font-size: clamp(38px, 4vw, 58px);
  line-height: 1.05;
  margin-bottom: 36px;
}
/* .aluna-qs-p — clase exclusiva de esta sección, evita conflicto con global .aluna-body/.aluna-desc */
.aluna-qs-p {
  font-family: var(--aluna-font-display);
  font-size: clamp(16px, 1.4vw, 20px);
  font-weight: 400;
  font-style: normal;
  color: var(--aluna-text);
  line-height: 1.65;
  margin-bottom: 22px;
}
/* Video column: centrar verticalmente el embed dentro de la columna */
.aluna-qs-story .aluna-qs-story-video {
  display: flex !important;
  align-items: center;
}
.aluna-qs-story .wp-block-embed__wrapper {
  border-radius: 8px;
  overflow: hidden;
  width: 100%;
  position: relative;
}
.aluna-qs-story .wp-block-embed__wrapper iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  display: block;
}
@media (max-width: 768px) {
  .aluna-qs-story .wp-block-columns {
    gap: 40px !important;
  }
}

/* ── § 3 Manifiesto — firma tipográfica ─────────────────────────── */
.aluna-mf-firma {
  font-family: var(--aluna-font-display);
  font-size: clamp(44px, 5vw, 68px);
  font-weight: 300;
  font-style: italic;
  color: var(--aluna-cream);
  line-height: 1;
  letter-spacing: -1px;
  margin-bottom: 10px;
}

/* ── § 3 Manifiesto — Quiénes Somos (clases propias, sin colisión con CTA) ── */
.aluna-qs-mf.alignfull {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.aluna-qs-mf {
  position: relative;
  overflow: hidden;
}
.aluna-qs-mf::before {
  content: 'ALUNA';
  position: absolute;
  right: -20px;
  bottom: -30px;
  font-family: var(--aluna-font-display);
  font-size: 22vw;
  font-weight: 300;
  color: rgba(139,126,112,.04);
  white-space: nowrap;
  pointer-events: none;
  line-height: 1;
  letter-spacing: -4px;
  z-index: 0;
}
.aluna-qs-mf > .wp-block-columns {
  gap: 0 !important;
  position: relative;
  z-index: 1;
}
.aluna-qs-mf-img {
  min-height: 680px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 60px 48px;
  background: rgba(28,24,20,.6);
}
.aluna-qs-mf-img .wp-block-image {
  width: 68% !important;
  max-width: 300px !important;
}
.aluna-qs-mf-img .wp-block-image img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto;
  object-fit: contain;
  filter: brightness(1.05);
  display: block;
}
.aluna-qs-mf-text {
  padding: clamp(64px,7vw,110px) clamp(48px,5vw,80px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
/* Eyebrow — 11px, línea después del texto */
.aluna-qs-mf .aluna-eyebrow {
  font-size: 11px;
  letter-spacing: 5px;
  margin-bottom: 24px;
}
.aluna-qs-mf .aluna-eyebrow::before {
  display: none;
}
.aluna-qs-mf .aluna-eyebrow::after {
  content: '';
  width: 36px;
  height: 1px;
  background: var(--aluna-taupe);
  flex-shrink: 0;
}
/* H2 */
.aluna-qs-mf .aluna-h2 {
  font-size: clamp(38px, 4vw, 58px);
  line-height: 1.05;
  margin-bottom: 36px;
}
/* Lead — line-height 1.75 + margin 18px (wireframe .mf-p) */
.aluna-qs-mf .aluna-lead {
  font-size: clamp(17px, 1.6vw, 21px);
  line-height: 1.75;
  margin-bottom: 18px !important;
}
.aluna-qs-mf .aluna-lead strong {
  font-style: normal;
  font-weight: 500;
  color: var(--aluna-sand);
}
/* Separador */
.aluna-qs-mf .wp-block-separator {
  width: 36px !important;
  max-width: 36px !important;
  height: 1px !important;
  border: none !important;
  margin: 32px 0 !important;
}
/* Tagline — sin línea, 11px peso 400, taupe */
.aluna-qs-mf-tagline {
  font-family: var(--aluna-font-body);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--aluna-taupe);
  margin: 0;
}
@media (max-width: 860px) {
  .aluna-qs-mf-img {
    min-height: 300px;
    flex-basis: 100% !important;
  }
  .aluna-qs-mf-text {
    flex-basis: 100% !important;
    padding: 56px 20px;
  }
}
@media (max-width: 600px) {
  .aluna-qs-mf-img { min-height: 180px; padding: 20px; }
  .aluna-qs-mf-text { padding: 36px 20px; }
}

/* ── § 7 Cierre emocional ────────────────────────────────────────── */
.aluna-qs-close.alignfull {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.aluna-qs-close .wp-block-cover__inner-container {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.aluna-qs-close-lead {
  font-family: var(--aluna-font-display);
  font-size: clamp(36px, 5.5vw, 72px);
  font-weight: 300;
  font-style: italic;
  color: rgba(242, 230, 208, .72);
  line-height: 1.35;
  max-width: 800px;
  margin-bottom: 52px;
}
.aluna-qs-close-lead strong {
  font-style: normal;
  font-weight: 500;
  color: var(--aluna-cream);
}


/* ── § 4 Tres formas de vibrar ─────────────────────────────────── */
.aluna-qs-cats.alignfull {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.aluna-qs-cats-hdr {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 clamp(20px,5vw,64px) 48px;
}
.aluna-qs-cats-hdr .aluna-h2 { margin-bottom: 0; }
.aluna-qs-cats-hdr .aluna-eyebrow--lt::before { background: var(--aluna-sand); }
.aluna-qs-cats-grid.wp-block-columns {
  max-width: 1280px;
  margin: 0 auto !important;
  padding: 0 clamp(20px,5vw,64px);
  gap: 3px !important;
  flex-wrap: nowrap;
  align-items: stretch;
}
.aluna-qs-cats-grid > .wp-block-column { min-width: 0; overflow: hidden; }
.aluna-qs-cats .wp-block-cover__image-background {
  filter: brightness(.5);
  transition: filter .5s, transform .6s;
}
.aluna-qs-cats .wp-block-cover:hover .wp-block-cover__image-background {
  filter: brightness(.65);
  transform: scale(1.04);
}
.aluna-qs-cats .wp-block-cover__inner-container {
  padding: 40px 36px !important;
  width: 100%;
}
.aluna-qs-cat-num {
  font-family: var(--aluna-font-body);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: rgba(242,230,208,.55);
  margin-bottom: 12px;
}
.aluna-qs-cat-title {
  font-family: var(--aluna-font-display);
  font-size: 46px;
  font-weight: 300;
  color: var(--aluna-cream);
  line-height: 1;
  margin-bottom: 8px;
}
.aluna-qs-cat-q {
  font-family: var(--aluna-font-display);
  font-size: 20px;
  font-weight: 400;
  font-style: italic;
  color: var(--aluna-sand);
  margin-bottom: 14px;
}
.aluna-qs-cat-desc {
  font-family: var(--aluna-font-body);
  font-size: 15px;
  font-weight: 400;
  color: rgba(242,230,208,.88);
  line-height: 1.65;
  margin-bottom: 20px;
}
.aluna-qs-cat-cta a {
  font-family: var(--aluna-font-body);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--aluna-cream);
  text-decoration: none;
  border-bottom: 1px solid rgba(242,230,208,.5);
  padding-bottom: 3px;
  transition: border-color .2s;
  display: inline-block;
}
.aluna-qs-cat-cta a:hover { border-color: var(--aluna-cream); }
@media (max-width: 860px) {
  .aluna-qs-cats-grid.wp-block-columns { flex-wrap: wrap !important; }
  .aluna-qs-cats-grid > .wp-block-column { flex-basis: calc(50% - 2px) !important; }
}
@media (max-width: 480px) {
  .aluna-qs-cats-grid > .wp-block-column { flex-basis: 100% !important; }
  .aluna-qs-cats-hdr { padding-bottom: 28px; }
}
