/* Aditive landing styles for StreamfieldPage (MChAP). Do not duplicate exposicion.css rules. */

/* Brand anchors (homepage hero / Figma Frame 5) — Planifica page fills derive from these hues. */
:root {
  --mchap-brand-terra: #6e3d2f;
  --mchap-brand-coral: #f37c51;
  --mchap-brand-blue: #3252c4;
  --mchap-streamfield-block-gap: 2rem;
}

/* Gradient on wrapper only so breadcrumb + main share one vertical run (no restart at main top). */
.mchap-landing-gradient-fill.mchap-landing--gradient-soft {
  background: linear-gradient(
    180deg,
    rgba(250, 248, 245, 1) 0%,
    rgba(240, 236, 230, 1) 45%,
    rgba(250, 248, 245, 1) 100%
  );
}

.mchap-landing-gradient-fill.mchap-landing--gradient-soft > main.expo-page.mchap-landing--gradient-soft {
  /* Shorthand on main would clear CMS background-image; color only. */
  background-color: transparent !important;
}

.mchap-landing-gradient-fill.mchap-landing--gradient-soft {
  display: flow-root;
  margin-bottom: 0;
}

.expo-page.mchap-landing--gradient-soft {
  display: flow-root;
  margin-bottom: 0;
}

/*
 * Footer markup: <footer class="mt-5 pt-5" id="footer"><div class="site-footer py-5 mt-5">…
 * Outer margin/padding and .site-footer’s mt-5 sit on body background (white) above terracotta.
 */
body:has(main.expo-page.mchap-landing--has-wash) footer#footer,
body:has(main.streamfield-page:not(.streamfield-page--tabs)) footer#footer {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body:has(main.expo-page.mchap-landing--has-wash) footer#footer .site-footer,
body:has(main.streamfield-page:not(.streamfield-page--tabs)) footer#footer .site-footer {
  margin-top: 0 !important;
}

.mchap-landing__cta-row .btn,
.mchap-landing__multiple-buttons .btn {
  border-radius: 2rem;
  font-weight: 600;
}

/* Multi-column CTA grid: full-width cells, centered label, horizontal inset */
.mchap-landing__cta-grid--multi .mchap-landing__cta-btn {
  width: 100%;
  max-width: 100%;
  text-align: center;
}

.mchap-landing__cta-grid--multi > .col {
  min-width: 0;
}

/* CTA + multiple buttons: outline + fill from palette (--mchap-cta-* on section) */
.mchap-landing__cta-row .btn.mchap-landing__cta-btn--themed,
.mchap-landing__multiple-buttons .btn.mchap-landing__cta-btn--themed {
  color: var(--mchap-cta-text, var(--mchap-cta-outline, #111111));
  background-color: var(--mchap-cta-bg, #ffffff);
  background-image: none;
  border: 1px solid var(--mchap-cta-outline, #111111);
  border-width: 1px;
}

.mchap-landing__cta-row .btn.mchap-landing__cta-btn--themed:hover,
.mchap-landing__cta-row .btn.mchap-landing__cta-btn--themed:focus,
.mchap-landing__multiple-buttons .btn.mchap-landing__cta-btn--themed:hover,
.mchap-landing__multiple-buttons .btn.mchap-landing__cta-btn--themed:focus {
  color: var(--mchap-cta-bg, #ffffff);
  background-color: var(--mchap-cta-outline, #111111);
  border-color: var(--mchap-cta-outline, #111111);
}

.mchap-landing__cta-row .btn.mchap-landing__cta-btn--themed:focus-visible,
.mchap-landing__multiple-buttons .btn.mchap-landing__cta-btn--themed:focus-visible {
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--mchap-cta-outline, #111111) 22%, transparent);
}

.mchap-landing__cta-row .btn.mchap-landing__cta-btn--themed:active,
.mchap-landing__multiple-buttons .btn.mchap-landing__cta-btn--themed:active {
  color: var(--mchap-cta-bg, #ffffff);
  background-color: var(--mchap-cta-outline, #111111);
  border-color: var(--mchap-cta-outline, #111111);
}

/* Inactive CTA: same colors, no hover */
.mchap-landing__cta-row .mchap-landing__cta-btn.mchap-landing__cta-btn--inactive.mchap-landing__cta-btn--themed,
.mchap-landing__multiple-buttons .mchap-landing__cta-btn.mchap-landing__cta-btn--inactive.mchap-landing__cta-btn--themed {
  opacity: 0.8;
  pointer-events: none;
  cursor: default;
  color: var(--mchap-cta-text, var(--mchap-cta-outline, #111111));
  background-color: var(--mchap-cta-bg, #ffffff);
  border-color: var(--mchap-cta-outline, #111111);
}

.mchap-landing__cta-row .mchap-landing__cta-btn.mchap-landing__cta-btn--inactive.mchap-landing__cta-btn--themed:hover,
.mchap-landing__cta-row .mchap-landing__cta-btn.mchap-landing__cta-btn--inactive.mchap-landing__cta-btn--themed:focus,
.mchap-landing__cta-row .mchap-landing__cta-btn.mchap-landing__cta-btn--inactive.mchap-landing__cta-btn--themed:active,
.mchap-landing__multiple-buttons .mchap-landing__cta-btn.mchap-landing__cta-btn--inactive.mchap-landing__cta-btn--themed:hover,
.mchap-landing__multiple-buttons .mchap-landing__cta-btn.mchap-landing__cta-btn--inactive.mchap-landing__cta-btn--themed:focus,
.mchap-landing__multiple-buttons .mchap-landing__cta-btn.mchap-landing__cta-btn--inactive.mchap-landing__cta-btn--themed:active {
  color: var(--mchap-cta-text, var(--mchap-cta-outline, #111111));
  background-color: var(--mchap-cta-bg, #ffffff);
  border-color: var(--mchap-cta-outline, #111111);
  opacity: 0.8;
  box-shadow: none;
}

/*
 * Richtext section h2: matches stream `subpages_grid` title — `.expo-page__section-title.mb-4`
 * (1.5rem below heading). expo-richtext-flow zeros margins on children; restore explicitly.
 * Extra top when a second h2 appears in the same column (rare).
 */
.expo-page.mchap-landing--has-wash
  .expo-page__text-block
  .expo-richtext-flow
  > h2.expo-page__section-title {
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
}

.expo-page.mchap-landing--has-wash
  .expo-page__text-block
  .expo-richtext-flow
  > h2.expo-page__section-title:not(:first-child) {
  margin-top: 1.25rem !important;
}

/*
 * Planifica tu visita — page backgrounds (`background_style_preset`).
 * Six fills from carousel brand hues (terracotta / coral / blue) × soft vs strong vertical washes.
 */
/* --- Planifica / streamfield presets (additive) --- */

.mchap-landing-gradient-fill:is(
  .mchap-landing--grad-terra-soft,
  .mchap-landing--grad-terra-strong,
  .mchap-landing--grad-coral-soft,
  .mchap-landing--grad-coral-strong,
  .mchap-landing--grad-blue-soft,
  .mchap-landing--grad-blue-strong
) {
  display: flow-root;
  margin-bottom: 0;
}

.expo-page:is(
  .mchap-landing--grad-terra-soft,
  .mchap-landing--grad-terra-strong,
  .mchap-landing--grad-coral-soft,
  .mchap-landing--grad-coral-strong,
  .mchap-landing--grad-blue-soft,
  .mchap-landing--grad-blue-strong
) {
  display: flow-root;
  margin-bottom: 0;
}

.mchap-landing-gradient-fill.mchap-landing--grad-terra-soft {
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #f5ebe8 38%,
    rgba(110, 61, 47, 0.22) 72%,
    rgba(110, 61, 47, 0.55) 100%
  );
}

.mchap-landing-gradient-fill.mchap-landing--grad-terra-strong {
  background: linear-gradient(
    180deg,
    #faf8f5 0%,
    #e8d4cf 18%,
    #c89a8c 42%,
    rgba(110, 61, 47, 0.92) 68%,
    var(--mchap-brand-terra) 100%
  );
}

.mchap-landing-gradient-fill.mchap-landing--grad-coral-soft {
  background: linear-gradient(
    180deg,
    #fff7f3 0%,
    #ffe8df 38%,
    rgba(243, 124, 81, 0.28) 78%,
    rgba(243, 124, 81, 0.52) 100%
  );
}

.mchap-landing-gradient-fill.mchap-landing--grad-coral-strong {
  background: linear-gradient(
    180deg,
    #fff8f5 0%,
    #ffdccd 22%,
    #ffb090 48%,
    var(--mchap-brand-coral) 82%,
    #e85a2e 100%
  );
}

.mchap-landing-gradient-fill.mchap-landing--grad-blue-soft {
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #eef1fb 42%,
    rgba(50, 82, 196, 0.22) 78%,
    rgba(50, 82, 196, 0.48) 100%
  );
}

.mchap-landing-gradient-fill.mchap-landing--grad-blue-strong {
  background: linear-gradient(
    180deg,
    #f7f8fd 0%,
    #d9dff5 28%,
    #7b8fd8 55%,
    var(--mchap-brand-blue) 88%,
    #2a459f 100%
  );
}

.mchap-landing-gradient-fill.mchap-landing--grad-terra-soft > main.expo-page.mchap-landing--grad-terra-soft,
.mchap-landing-gradient-fill.mchap-landing--grad-terra-strong > main.expo-page.mchap-landing--grad-terra-strong,
.mchap-landing-gradient-fill.mchap-landing--grad-coral-soft > main.expo-page.mchap-landing--grad-coral-soft,
.mchap-landing-gradient-fill.mchap-landing--grad-coral-strong > main.expo-page.mchap-landing--grad-coral-strong,
.mchap-landing-gradient-fill.mchap-landing--grad-blue-soft > main.expo-page.mchap-landing--grad-blue-soft,
.mchap-landing-gradient-fill.mchap-landing--grad-blue-strong > main.expo-page.mchap-landing--grad-blue-strong {
  background-color: transparent !important;
}

/* Venta tab: stronger coral wash on the outer fill (any of the six brand presets). */
.mchap-landing-gradient-fill:is(
  .mchap-landing--grad-terra-soft,
  .mchap-landing--grad-terra-strong,
  .mchap-landing--grad-coral-soft,
  .mchap-landing--grad-coral-strong,
  .mchap-landing--grad-blue-soft,
  .mchap-landing--grad-blue-strong
):has(> main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"]) {
  background: linear-gradient(
    180deg,
    #fff5f2 0%,
    #ffe0d9 18%,
    #ffc4a8 38%,
    var(--mchap-brand-coral) 72%,
    #c95a38 100%
  );
}

main.streamfield-page--tabs[data-planifica-tab="como-llegar"] .mchap-landing__como-llegar-monolith-copy {
  flex: 0 0 100%;
  max-width: 100%;
  width: 100%;
}

@media (min-width: 768px) {
  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(2rem, 7vw, 5rem);
    row-gap: 0.35rem;
    align-items: start;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow
    > p {
    margin: 0 !important;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow
    > p:nth-of-type(1) {
    grid-column: 1 / -1;
    grid-row: 1;
    justify-self: start;
    width: 66.66666667%;
    max-width: 66.66666667%;
    margin-bottom: 1.5rem !important;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(2),
  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(6),
  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(10) {
    display: none;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(n + 3):nth-of-type(-n + 5) {
    grid-column: 1;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(n + 7):nth-of-type(-n + 9) {
    grid-column: 2;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(3),
  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(7) {
    grid-row: 3;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(4),
  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(8) {
    grid-row: 4;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(5),
  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(9) {
    grid-row: 5;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(n + 11) {
    grid-column: 1 / -1;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(11) {
    grid-row: 7;
    margin-top: 1.5rem !important;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(12) {
    grid-row: 8;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(13) {
    grid-row: 9;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(14) {
    grid-row: 10;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(2),
  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(3),
  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(7),
  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(8),
  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(12),
  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(13) {
    display: none;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(n + 4):nth-of-type(-n + 6) {
    grid-column: 1;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(n + 9):nth-of-type(-n + 11) {
    grid-column: 2;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(4),
  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(9) {
    grid-row: 3;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(5),
  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(10) {
    grid-row: 4;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(6),
  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(11) {
    grid-row: 5;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(n + 14) {
    grid-column: 1 / -1;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(14) {
    grid-row: 7;
    margin-top: 1.5rem !important;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(15) {
    grid-row: 8;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(16) {
    grid-row: 9;
  }

  main.streamfield-page--tabs[data-planifica-tab="como-llegar"]
    .mchap-landing__como-llegar-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(17) {
    grid-row: 10;
  }
}

main.streamfield-page--tabs[data-planifica-tab="horario"]
  .expo-page__split-row--richtext-two-col {
  align-items: flex-start;
}

main.streamfield-page--tabs[data-planifica-tab="horario"]
  .expo-page__split-row--richtext-two-col
  > .col-12 {
  align-self: flex-start;
}

main.streamfield-page--tabs[data-planifica-tab="horario"]
  .expo-page__split-row--richtext-two-col
  .expo-richtext-flow.gap-3 {
  gap: 0.85rem !important;
}

main.streamfield-page--tabs[data-planifica-tab="horario"]
  .expo-page__split-row--richtext-two-col
  .expo-richtext-flow
  > :first-child {
  line-height: 1.3;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

main.streamfield-page--tabs[data-planifica-tab="horario"] .mchap-landing__horario-monolith-copy {
  flex: 0 0 100%;
  max-width: 100%;
  width: 100%;
}

@media (min-width: 768px) {
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(2rem, 7vw, 5rem);
    row-gap: 0.35rem;
    align-items: start;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow
    > p {
    margin: 0 !important;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow
    > p:nth-of-type(1) {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow
    > p:nth-of-type(2) {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow
    > p:nth-of-type(3) {
    grid-column: 1 / -1;
    grid-row: 3;
    margin-bottom: 1.85rem !important;
  }

  /* Monolithic 12-paragraph variant: no empty separator paragraphs. */
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(4),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(5),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(6) {
    grid-column: 1;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(7),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(8),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(9) {
    grid-column: 2;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(4),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(7) {
    grid-row: 5;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(5),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(8) {
    grid-row: 6;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(6),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(9) {
    grid-row: 7;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(n + 10) {
    grid-column: 1 / -1;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(10) {
    grid-row: 9;
    margin-top: 1.5rem !important;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(11) {
    grid-row: 10;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(12) {
    grid-row: 11;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(4),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(7),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:not(:has(> p:nth-of-type(15)))
    > p:nth-of-type(10) {
    font-size: 1.05rem;
    line-height: 1.3;
    margin-bottom: 0.85rem !important;
  }

  /* Monolithic 15-paragraph variant: one empty separator before each subsection. */
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(4),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(8),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(12) {
    display: none;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(n + 5):nth-of-type(-n + 7) {
    grid-column: 1;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(n + 9):nth-of-type(-n + 11) {
    grid-column: 2;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(5),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(9) {
    grid-row: 5;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(6),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(10) {
    grid-row: 6;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(7),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(11) {
    grid-row: 7;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(n + 13) {
    grid-column: 1 / -1;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(13) {
    grid-row: 9;
    margin-top: 1.5rem !important;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(14) {
    grid-row: 10;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(15) {
    grid-row: 11;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(5),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(9),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(15)):not(:has(> p:nth-of-type(16)))
    > p:nth-of-type(13) {
    font-size: 1.05rem;
    line-height: 1.3;
    margin-bottom: 0.85rem !important;
  }

  /* Monolithic 16-paragraph variant: two empty separators before Biblioteca. */
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(4),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(5),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(9),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(13) {
    display: none;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(n + 6):nth-of-type(-n + 8) {
    grid-column: 1;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(n + 10):nth-of-type(-n + 12) {
    grid-column: 2;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(6),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(10) {
    grid-row: 5;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(7),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(11) {
    grid-row: 6;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(8),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(12) {
    grid-row: 7;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(n + 14) {
    grid-column: 1 / -1;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(14) {
    grid-row: 9;
    margin-top: 1.5rem !important;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(15) {
    grid-row: 10;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(16) {
    grid-row: 11;
  }

  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(6),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(10),
  main.streamfield-page--tabs[data-planifica-tab="horario"]
    .mchap-landing__horario-monolith
    .expo-richtext-flow:has(> p:nth-of-type(16))
    > p:nth-of-type(14) {
    font-size: 1.05rem;
    line-height: 1.3;
    margin-bottom: 0.85rem !important;
  }
}

main.streamfield-page--tabs[data-planifica-tab="audioguias"] .expo-page__body-image img {
  margin-left: 0 !important;
  margin-right: auto !important;
}

/*
 * Tab content: each stream block ships its own .container.expo-page__shell
 * inside col-lg-9 — second max-width stacks wrong. Flush inner shell to the column.
 */
main.streamfield-page--tabs .col-12 .expo-page__presentation .container.expo-page__shell,
main.streamfield-page--tabs .col-12 .streamfield-page__title-shell {
  max-width: 100%;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

@media (min-width: 768px) {
  main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"]
    .col-lg-9.col-xl-10.d-flex.flex-column:has(> .mchap-landing__venta-info-col) {
    flex-direction: row !important;
    flex-wrap: wrap;
  }

  main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"]
    .col-lg-9.col-xl-10
    > .expo-page__presentation:not(.mchap-landing__venta-info-col) {
    flex: 0 0 100%;
    max-width: 100%;
  }

  main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"]
    .col-lg-9.col-xl-10
    > .mchap-landing__venta-info-col {
    flex: 0 0 auto;
    width: 50%;
  }

  main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"]
    .col-lg-9.col-xl-10
    > .mchap-landing__venta-info-col:nth-last-child(2) {
    padding-right: 0.75rem;
  }

  main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"]
    .col-lg-9.col-xl-10
    > .mchap-landing__venta-info-col:last-child {
    padding-left: 0.75rem;
  }

  main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"]
    .mchap-landing__venta-info-copy {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }
}

/*
 * Visitas mediadas: 2-col — outline CTAs aligned, same width/typography, lowercase.
 * Column layout uses Bootstrap utilities on richtext_two_columns.html (d-flex, flex-fill, gap-3).
 */

/*
 * Two-col richtext: wrapper gets Bootstrap d-flex flex-column gap-3 (template + stylize filter).
 * Clear exposicion.css * + * margins so vertical rhythm comes from .gap-3 only.
 */
body:not(.expo-temporal-page)
  .expo-page__presentation
  .row.expo-page__split-row.expo-page__split-row--richtext-two-col
  > .col-md-6
  .expo-richtext-flow.gap-3
  > * + * {
  margin-top: 0 !important;
}

body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  .expo-page__presentation
  .row.expo-page__split-row.expo-page__split-row--richtext-two-col
  > .col-md-6:first-child
  .expo-richtext-flow.gap-3
  > p:last-child,
body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  .expo-page__presentation
  .row.expo-page__split-row.expo-page__split-row--richtext-two-col
  > .col-md-6:last-child
  .expo-richtext-flow.gap-3
  > p:last-child {
  /* Wins over .expo-richtext-flow > * { margin-top: 0 !important } in exposicion.css */
  margin-top: auto !important;
}

/* Shared CTA chrome: full column width, one size/weight, lowercase (display only). */
body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  .expo-page__presentation
  .row.expo-page__split-row.expo-page__split-row--richtext-two-col
  .expo-page__text-block
  a.expo-page__auto-pill-link,
body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  .expo-page__presentation
  .row.expo-page__split-row.expo-page__split-row--richtext-two-col
  .expo-page__text-block
  a[href^="mailto:"] {
  box-sizing: border-box;
  width: 100%;
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  color: #1a1a1a !important;
  border: 1px solid #1a1a1a;
  border-radius: 2rem;
  padding: 0.65rem 1.1rem;
  font-family: "Satoshi", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.01em;
  text-align: center;
  text-transform: lowercase;
  white-space: normal;
  word-break: break-word;
  text-decoration: none !important;
  user-select: text;
  -webkit-user-select: text;
}

body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  .expo-page__presentation
  .row.expo-page__split-row.expo-page__split-row--richtext-two-col
  .expo-page__text-block
  a.expo-page__auto-pill-link
  *,
body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  .expo-page__presentation
  .row.expo-page__split-row.expo-page__split-row--richtext-two-col
  .expo-page__text-block
  a[href^="mailto:"]
  * {
  color: inherit !important;
  font-style: normal;
  font-weight: 600;
}

body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  .expo-page__presentation
  .row.expo-page__split-row.expo-page__split-row--richtext-two-col
  .expo-page__text-block
  a.expo-page__auto-pill-link:hover,
body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  .expo-page__presentation
  .row.expo-page__split-row.expo-page__split-row--richtext-two-col
  .expo-page__text-block
  a.expo-page__auto-pill-link:focus,
body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  .expo-page__presentation
  .row.expo-page__split-row.expo-page__split-row--richtext-two-col
  .expo-page__text-block
  a[href^="mailto:"]:hover,
body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  .expo-page__presentation
  .row.expo-page__split-row.expo-page__split-row--richtext-two-col
  .expo-page__text-block
  a[href^="mailto:"]:focus {
  background: #1a1a1a !important;
  color: #fff !important;
  border-color: #1a1a1a;
}

body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  .expo-page__presentation
  .row.expo-page__split-row.expo-page__split-row--richtext-two-col
  .expo-page__text-block
  a.expo-page__auto-pill-link:focus-visible,
body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  .expo-page__presentation
  .row.expo-page__split-row.expo-page__split-row--richtext-two-col
  .expo-page__text-block
  a[href^="mailto:"]:focus-visible {
  box-shadow: 0 0 0 0.2rem rgba(26, 26, 26, 0.22);
}

body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  .expo-page__presentation
  .row.expo-page__split-row.expo-page__split-row--richtext-two-col
  .expo-page__text-block
  a.expo-page__auto-pill-link:active,
body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  .expo-page__presentation
  .row.expo-page__split-row.expo-page__split-row--richtext-two-col
  .expo-page__text-block
  a[href^="mailto:"]:active {
  background: #1a1a1a !important;
  color: #fff !important;
  border-color: #1a1a1a;
}

body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  :is(.mchap-landing__visitas-two-col, .mchap-landing__visitas-monolith)
  a[href^="mailto:"] {
  width: auto;
  min-height: 0;
  display: inline;
  align-items: initial;
  justify-content: initial;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  color: inherit !important;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  text-align: left;
  text-transform: none;
  text-decoration: underline !important;
  word-break: normal;
}

body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  :is(.mchap-landing__visitas-two-col, .mchap-landing__visitas-monolith)
  a[href^="mailto:"]
  * {
  color: inherit !important;
  font-style: normal;
  font-weight: inherit;
}

body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  :is(.mchap-landing__visitas-two-col, .mchap-landing__visitas-monolith)
  a[href^="mailto:"]:hover,
body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  :is(.mchap-landing__visitas-two-col, .mchap-landing__visitas-monolith)
  a[href^="mailto:"]:focus,
body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  :is(.mchap-landing__visitas-two-col, .mchap-landing__visitas-monolith)
  a[href^="mailto:"]:active {
  background: transparent !important;
  color: inherit !important;
  border-color: transparent;
}

body:not(.expo-temporal-page)
  main[data-planifica-tab="visitas-mediadas-educativas"]
  :is(.mchap-landing__visitas-two-col, .mchap-landing__visitas-monolith)
  a.expo-page__auto-pill-link:not([href^="mailto:"]) {
  width: 8rem;
  min-height: 2rem;
  padding: 0.45rem 1rem;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: none;
}

@media (min-width: 768px) {
  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-two-col
    .row.expo-page__split-row.expo-page__split-row--richtext-two-col {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(2rem, 7vw, 5rem);
    row-gap: 0.35rem;
    align-items: start;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-two-col
    .row.expo-page__split-row.expo-page__split-row--richtext-two-col
    > .col-12,
  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-two-col
    .expo-page__text-block,
  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-two-col
    .expo-richtext-flow {
    display: contents !important;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-two-col
    .expo-richtext-flow
    > p {
    margin: 0 !important;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-two-col
    .col-md-6:first-child
    .expo-richtext-flow
    > p {
    grid-column: 1;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-two-col
    .col-md-6:first-child
    .expo-richtext-flow
    > p:nth-of-type(1) {
    grid-row: 1;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-two-col
    .col-md-6:first-child
    .expo-richtext-flow
    > p:nth-of-type(2) {
    grid-row: 2;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-two-col
    .col-md-6:first-child
    .expo-richtext-flow
    > p:nth-of-type(3) {
    grid-row: 3;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-two-col
    .col-md-6:first-child
    .expo-richtext-flow
    > p:nth-of-type(4) {
    grid-row: 4;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-two-col
    .col-md-6:last-child
    .expo-richtext-flow
    > p:nth-of-type(1) {
    grid-column: 1;
    grid-row: 6;
    margin-top: 1rem !important;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-two-col
    .col-md-6:last-child
    .expo-richtext-flow
    > p:nth-of-type(2) {
    grid-column: 2;
    grid-row: 1;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-two-col
    .col-md-6:last-child
    .expo-richtext-flow
    > p:nth-of-type(3) {
    grid-column: 2;
    grid-row: 2;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith-copy {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(2rem, 7vw, 5rem);
    row-gap: 0.35rem;
    align-items: start;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow
    > p {
    margin: 0 !important;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow
    > p:nth-of-type(-n + 4) {
    grid-column: 1;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow
    > p:nth-of-type(1) {
    grid-row: 1;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow
    > p:nth-of-type(2) {
    grid-row: 2;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow
    > p:nth-of-type(3) {
    grid-row: 3;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow
    > p:nth-of-type(4) {
    grid-row: 6;
    margin-top: 1rem !important;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow
    > p:nth-of-type(5),
  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow
    > p:nth-of-type(8) {
    display: none;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow
    > p:nth-of-type(6) {
    grid-column: 2;
    grid-row: 1;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow
    > p:nth-of-type(7) {
    grid-column: 2;
    grid-row: 2;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow
    > p:nth-of-type(n + 9) {
    grid-column: 1 / -1;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow
    > p:nth-of-type(9) {
    grid-row: 8;
    margin-top: 1.5rem !important;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow
    > p:nth-of-type(10) {
    grid-row: 9;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow:has(> p:nth-of-type(11))
    > p:nth-of-type(7),
  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow:has(> p:nth-of-type(11))
    > p:nth-of-type(9) {
    display: none;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow:has(> p:nth-of-type(11))
    > p:nth-of-type(8) {
    display: block;
    grid-column: 2;
    grid-row: 2;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow:has(> p:nth-of-type(11))
    > p:nth-of-type(10) {
    grid-column: 1 / -1;
    grid-row: 8;
    margin-top: 1.5rem !important;
  }

  body:not(.expo-temporal-page)
    main[data-planifica-tab="visitas-mediadas-educativas"]
    .mchap-landing__visitas-monolith
    .expo-richtext-flow:has(> p:nth-of-type(11))
    > p:nth-of-type(11) {
    grid-column: 1 / -1;
    grid-row: 9;
  }
}

/* Tabbed planifica: full-width tables inside stream body (pricing-style layouts from editor). */
.streamfield-page--tabs .expo-page__presentation table {
  width: 100%;
}

.streamfield-page--tabs .expo-page__presentation .table-responsive {
  overflow-x: auto;
}

/* Subpages grid: 2×3 portrait tiles (Bootstrap .ratio > * fills box; object-fit crops) */
.mchap-landing__subpages-grid .ratio.mchap-landing__subpage-grid-frame {
  position: relative;
  max-width: 100%;
}

.mchap-landing__subpages-grid .ratio > img.mchap-landing__subpage-grid-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.mchap-landing__subpage-grid-placeholder {
  min-height: 0;
}

/* Fit chart to column width; viewBox scales entire SVG (no horizontal scroll). */
.organigrama-root {
  max-width: 100%;
}

.organigrama-chart-wrap {
  position: relative;
  max-width: 100%;
}

.organigrama-fullscreen-btn {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}

.organigrama-host {
  max-width: 100%;
  min-width: 0;
  overflow: visible;
}

.organigrama-host svg {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}

.organigrama-chart-wrap--fullscreen {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 1rem;
  background: #fff;
  display: flex;
  flex-direction: column;
}

.organigrama-chart-wrap--fullscreen .organigrama-host {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  align-items: center;
  margin-bottom: 0 !important;
}

.organigrama-chart-wrap--fullscreen .organigrama-host svg {
  width: 100%;
  height: auto;
  max-width: 100%;
}

.organigrama-host svg foreignObject div {
  font-weight: 500;
}

.organigrama-root .container.expo-page__shell {
  min-width: 0;
}

/* Streamfield richtext: readable vertical rhythm between Word paragraphs */
.expo-page__text-block .expo-richtext-flow > p + p {
  margin-top: 0.85rem;
}

.expo-page__text-block .expo-richtext-flow h2,
.expo-page__text-block .expo-richtext-flow h3,
.expo-page__text-block .expo-richtext-flow h4 {
  margin-top: 0.65rem;
  margin-bottom: 0.35rem;
  font-weight: 500;
}

.expo-page__text-block .expo-richtext-flow hr {
  margin: clamp(0.75rem, 2vw, 1.25rem) 0;
  border: 0;
  border-top: 1px solid currentColor;
  opacity: 0.35;
}

.expo-page__text-block .expo-richtext-flow > *:has(+ hr) {
  margin-bottom: 0;
}

.expo-page__text-block .expo-richtext-flow > hr + * {
  margin-top: 0;
}

.expo-page__text-block .expo-richtext-flow h2:first-child,
.expo-page__text-block .expo-richtext-flow h3:first-child,
.expo-page__text-block .expo-richtext-flow h4:first-child {
  margin-top: 0;
}

/* Docx-derived section bands (MAYÚSCULAS → h3) vs short labels (h4) */
.expo-page__text-block .expo-richtext-flow h3 {
  font-size: 1.35rem;
  letter-spacing: 0.02em;
}

.expo-page__text-block .expo-richtext-flow h4 {
  font-size: 1.1rem;
}

.expo-page__text-block .expo-richtext-flow ul,
.expo-page__text-block .expo-richtext-flow ol {
  margin-top: 0.5rem;
  margin-bottom: 0.75rem;
  padding-left: 1.35rem;
}

.expo-page__text-block .expo-richtext-flow li + li {
  margin-top: 0.35rem;
}

/*
 * Peach wash + TableBlock: public render uses Bootstrap columns, while Wagtail admin stays TableBlock.
 * Venta layout: header = category, copy = blurb, price = CLP amount.
 */
main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"] .expo-page__stream-table {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0;
  background-color: transparent !important;
  border: 0 !important;
  color: rgba(44, 22, 18, 0.92);
}

main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"] .expo-page__stream-table-card {
  min-width: 0;
}

main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"] .expo-page__stream-table-card-inner {
  padding: 0.35rem 1rem 0.35rem 0rem;
}

main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"] .expo-page__stream-table-heading {
  font-family: "Satoshi", sans-serif;
  font-weight: 500;
  font-size: 1.05rem;
  line-height: 1.3;
  letter-spacing: 0.015em;
  color: rgba(44, 22, 18, 0.92);
  margin-bottom: 1.45rem;
}

main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"] .expo-page__stream-table-copy {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.45;
  color: rgba(44, 22, 18, 0.76);
  margin-bottom: 1.75rem;
}

main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"] .expo-page__stream-table-price {
  font-family: "Satoshi", sans-serif;
  font-size: clamp(1.65rem, 3.2vw, 1.625rem);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: 0.02em;
  text-align: right;
  color: rgba(44, 22, 18, 0.96);
  padding-top: 0.85rem;
  border-top: 1px solid rgba(74, 36, 28, 0.22);
  font-variant-numeric: tabular-nums;
}

main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"] .expo-page__stream-table-price small {
  font-size: 0.4em;
  padding-left: 5px;
}

/* Venta pricing: two Bootstrap columns from md upward. */
main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"]
  .expo-page__stream-table
  .expo-page__stream-table-card {
  min-width: 0;
  box-sizing: border-box;
}

@media (max-width: 767.98px) {
  main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"] .expo-page__stream-table-card-inner {
    padding-inline: 0;
  }

  main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"] .expo-page__stream-table-card + .expo-page__stream-table-card {
    margin-top: 1.75rem;
  }

  main.streamfield-page--tabs[data-planifica-tab="venta-de-entradas"] .expo-page__stream-table-price {
    text-align: left;
  }
}

/*
 * Artboard 1 (Venta) — XD Museo_Planificacion_Visita: reddish-brown band, white title,
 * white pill “COMPRA TUS ENTRADAS” with brown label (not header gradient).
 */
/* Inset brown band vs full column — XD artboard 052 card width (~half ~704px column). */
.mchap-landing__cta-row--promo-earth .mchap-landing__cta-row-promo-wrap {
  box-sizing: border-box;
  width: 100%;
  /*max-width: min(100%, 34rem);*/
  /*margin-left: auto;*/
  /*margin-right: auto;*/
  /*background: #5d332b;*/
  /*border-radius: 0.5rem;*/
  /*padding: 1.5rem 1.35rem 1.65rem;*/
  /*box-shadow: 0 0.35rem 1rem rgba(44, 22, 18, 0.18);*/
  /*text-align: center;*/
}

.mchap-landing__cta-row--promo-earth .mchap-landing__cta-row-promo-wrap .expo-page__text-block,
.mchap-landing__cta-row--promo-earth .mchap-landing__cta-row-promo-wrap .expo-richtext-flow {
  color: #fff;
}

/* Headings use --bs-heading-color in Bootstrap; override so CTA title/body stay white on brown */
.mchap-landing__cta-row--promo-earth .mchap-landing__cta-row-promo-wrap .expo-page__text-block :is(h1, h2, h3, h4, h5, h6, p),
.mchap-landing__cta-row--promo-earth .mchap-landing__cta-row-promo-wrap .expo-richtext-flow :is(h1, h2, h3, h4, h5, h6, p) {
  color: #000 !important;
}

.mchap-landing__cta-row--promo-earth .mchap-landing__cta-row-promo-wrap .expo-richtext-flow a {
  color: #ffe0c2;
  text-decoration: underline;
}

.mchap-landing__cta-row--promo-earth .mchap-landing__cta-row-promo-wrap .expo-page__section-title {
  color: #fff;
  font-size: clamp(1.35rem, 2.5vw, 1.65rem);
  line-height: 1.2;
  letter-spacing: 0.01em;
  margin-bottom: 1.5rem !important;
  font-family: "Satoshi", sans-serif;
  font-weight: 400;
}

.mchap-landing__cta-row--promo-earth .mchap-landing__cta-row-inner--promo-earth {
  max-width: none;
  /*width: 100%;*/
  /*justify-items: center;*/
}

.mchap-landing__cta-row--promo-earth .mchap-landing__cta-btn--themed {
  color: #000 !important;
  background-color: #fff !important;
  background-image: none !important;
  border: 1px solid rgba(255, 255, 255, 0.65) !important;
  border-radius: 999px !important;
  font-family: "Satoshi", sans-serif !important;
  font-weight: 600 !important;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  padding: 0.55rem 1.35rem !important;
  width: fit-content;
  max-width: 100%;
  text-align: center;
  box-shadow: none !important;
}

.mchap-landing__cta-row--promo-earth .mchap-landing__cta-grid--multi .mchap-landing__cta-btn--themed {
  width: 100% !important;
}

.mchap-landing__cta-row--promo-earth .mchap-landing__cta-btn--themed:hover,
.mchap-landing__cta-row--promo-earth .mchap-landing__cta-btn--themed:focus {
  color: #fff !important;
  background-color: #000 !important;
  border-color: rgba(0, 0, 0, 0) !important;
}

.mchap-landing__cta-row--promo-earth .mchap-landing__cta-btn--themed:focus-visible {
  box-shadow: 0 0 0 0.2rem rgba(255, 255, 255, 0.45) !important;
}

.mchap-landing__cta-row--promo-earth .mchap-landing__cta-btn--themed:active {
  color: #3d1d18 !important;
  background-color: #ebe4e0 !important;
}

.mchap-landing__cta-row--promo-earth .mchap-landing__cta-btn.mchap-landing__cta-btn--inactive {
  color: rgba(92, 46, 38, 0.55) !important;
  background-color: rgba(255, 255, 255, 0.75) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  border-radius: 999px !important;
  font-size: 1rem !important;
}

/* Gratuidad / peach surface: no panel fill — lists sit on the page wash. */
.mchap-landing__surface-peach .container.expo-page__shell {
  background: transparent;
  border: none;
  border-radius: 0;
  /*padding-top: 1.5rem;*/
  padding-bottom: 1.5rem;
  box-shadow: none;
}

.mchap-landing__surface-peach .expo-page__text-block .expo-richtext-flow > h2:first-child {
  margin-top: 0;
}

/* General StreamfieldPage normalization: public non-tabbed landings. */
main.streamfield-page:not(.streamfield-page--tabs) {
  color: #111;
  font-family: "Satoshi", sans-serif;
}

/* Vertical rhythm: Bootstrap gap-3 (1rem) on main / tab column; block templates use mb-0 */
main.streamfield-page:not(.streamfield-page--tabs) > *,
main.streamfield-page--tabs .col-lg-9 > * {
  margin-bottom: 0 !important;
}
main.streamfield-page--tabs .col-12 > .expo-page__presentation {
  margin-bottom: 0 !important;
}

/* 2× gap-3 (1rem → 2rem) between blocks; 2× pb-4 (1.5rem → 3rem) above footer */
main.streamfield-page.d-flex.flex-column.gap-3 {
  gap: 2rem !important;
}

main.streamfield-page.d-flex.flex-column.pb-4 {
  padding-bottom: 3rem !important;
}

main.streamfield-page--tabs .col-lg-9.d-flex.flex-column.gap-3,
main.streamfield-page--tabs .col-12.d-flex.flex-column.gap-3 {
  gap: 2rem !important;
}

/* Block-level image/video: ~100px to adjacent text (flex gap counted). */
main.streamfield-page > .expo-page__presentation + :is(
    .expo-page__body-image,
    .expo-page__video,
    .mchap-landing__two-col-image-text,
    .expo-page__presentation.mchap-layout-contenidos__split-row--text-image,
    .expo-page__presentation.mchap-layout-contenidos__split-row--image-links
  ),
main.streamfield-page > :is(
    .expo-page__body-image,
    .expo-page__video,
    .mchap-landing__two-col-image-text,
    .expo-page__presentation.mchap-layout-contenidos__split-row--text-image,
    .expo-page__presentation.mchap-layout-contenidos__split-row--image-links
  ) + .expo-page__presentation,
main.streamfield-page > :is(.expo-page__body-image, .expo-page__video) + :is(.expo-page__body-image, .expo-page__video),
main.streamfield-page--tabs .col-lg-9 > .expo-page__presentation + :is(
    .expo-page__body-image,
    .expo-page__video,
    .mchap-landing__two-col-image-text,
    .expo-page__presentation.mchap-layout-contenidos__split-row--text-image,
    .expo-page__presentation.mchap-layout-contenidos__split-row--image-links
  ),
main.streamfield-page--tabs .col-lg-9 > :is(
    .expo-page__body-image,
    .expo-page__video,
    .mchap-landing__two-col-image-text,
    .expo-page__presentation.mchap-layout-contenidos__split-row--text-image,
    .expo-page__presentation.mchap-layout-contenidos__split-row--image-links
  ) + .expo-page__presentation,
main.streamfield-page--tabs .col-lg-9 > :is(.expo-page__body-image, .expo-page__video) + :is(.expo-page__body-image, .expo-page__video) {
  margin-top: calc(var(--mchap-text-media-spacing) - var(--mchap-streamfield-block-gap)) !important;
}

/* Tabbed layout h1 → next block: gap uses flex gap (2rem), cancel the sibling margin rule. */
main.streamfield-page--tabs .col-12 > section.expo-page__presentation--streamfield-page-title + .expo-page__presentation {
  margin-top: 0 !important;
}

main.streamfield-page > .expo-page__video.mb-5,
main.streamfield-page--tabs .col-lg-9 > .expo-page__video.mb-5 {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

main.streamfield-page .streamfield-page__title-shell {
  /*padding-bottom: clamp(1.5rem, 3vw, 2.5rem);*/
}

/* Richtext links — underline so users know they're clickable. */
main.streamfield-page .expo-page__text-block .expo-richtext-flow a {
  text-decoration: underline;
}

/* Page h1 (Figma H1 — Satoshi Precolombina / Museo). */
main.streamfield-page .streamfield-page__title-shell > h1,
main.streamfield-page--tabs .expo-page__text-block > h1,
.transparencia-home .streamfield-page__title-shell > h1,
.transparencia-item .streamfield-page__title-shell > h1 {
  margin: 0;
  font-family: "Museo", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 62px !important;
  line-height: 64px !important;
  color: #000000;
}

main.streamfield-page .expo-page__hero {
  margin: 0;
}

main.streamfield-page .expo-page__hero-image,
main.streamfield-page .expo-page__body-image figure {
  margin: 0;
}

main.streamfield-page .expo-page__hero-image img,
main.streamfield-page .expo-page__body-image img,
main.streamfield-page .expo-gallery-01__cell figure,
main.streamfield-page .expo-gallery-02__cell figure,
main.streamfield-page .expo-gallery-03__cell figure,
main.streamfield-page .expo-page__gallery-grid figure,
main.streamfield-page .mchap-landing__subpage-grid-frame,
main.streamfield-page .mchap-landing__subpage-grid-placeholder {
  border-radius: 0 !important;
}

main.streamfield-page .expo-page__hero-image img,
main.streamfield-page .expo-page__body-image img {
  width: 100%;
  height: auto;
}

main.streamfield-page .expo-page__gallery-option {
  padding-bottom: 0 !important;
}

main.streamfield-page .expo-page__text-block {
  font-family: "Satoshi", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

main.streamfield-page .expo-page__text-block .expo-richtext-flow > * {
  margin: 0 0 0.85rem !important;
}

main.streamfield-page .expo-page__text-block .expo-richtext-flow > *:last-child {
  margin-bottom: 0 !important;
}

main.streamfield-page .expo-page__text-block .expo-richtext-flow > *:has(+ h2),
main.streamfield-page .expo-page__text-block .expo-richtext-flow > *:has(+ h3),
main.streamfield-page .expo-page__text-block .expo-richtext-flow > *:has(+ h4) {
  margin-bottom: 1rem !important;
}

main.streamfield-page .expo-page__text-block .expo-richtext-flow hr {
  margin: clamp(0.75rem, 2vw, 1.25rem) 0 !important;
  border: 0;
  border-top: 1px solid currentColor;
  opacity: 0.35;
}

main.streamfield-page .expo-page__text-block .expo-richtext-flow > *:has(+ hr) {
  margin-bottom: 0 !important;
}

main.streamfield-page .expo-page__text-block .expo-richtext-flow > hr + * {
  margin-top: 0 !important;
}

main.streamfield-page .expo-page__text-block .expo-richtext-flow h2,
main.streamfield-page .expo-page__text-block .expo-richtext-flow h3,
main.streamfield-page .expo-page__text-block .expo-richtext-flow h4 {
  margin: 0.35rem 0 0.5rem !important;
  font-family: "Museo", sans-serif;
  font-weight: 400;
  line-height: 1.12;
}

main.streamfield-page .expo-page__text-block .expo-richtext-flow h2 {
  font-size: clamp(1.55rem, 2.4vw, 2rem);
}

main.streamfield-page .expo-page__text-block .expo-richtext-flow h3 {
  font-size: clamp(1.3rem, 1.9vw, 1.6rem);
  letter-spacing: 0;
}

main.streamfield-page .expo-page__text-block .expo-richtext-flow h4 {
  font-size: clamp(1.1rem, 1.5vw, 1.25rem);
}

main.streamfield-page .expo-page__text-block .expo-richtext-flow p,
main.streamfield-page .expo-page__text-block .expo-richtext-flow li {
  line-height: 1.55;
}

main.streamfield-page .expo-page__text-block .expo-richtext-flow ul,
main.streamfield-page .expo-page__text-block .expo-richtext-flow ol {
  margin: 0 0 0.85rem !important;
  padding-left: 1.35rem;
}

main.streamfield-page .mchap-landing__cta-row-inner,
main.streamfield-page .mchap-landing__multiple-buttons-inner {
  margin-left: 0 !important;
  margin-right: 0 !important;
  justify-content: flex-start !important;
}

main.streamfield-page .mchap-landing__cta-row-inner {
  align-items: flex-start !important;
}

main.streamfield-page .mchap-landing__multiple-buttons-stack {
  text-align: left !important;
}

main.streamfield-page .mchap-landing__subpage-grid-card span {
  font-family: "Satoshi", sans-serif;
  font-size: 1rem;
  font-weight: 500 !important;
  line-height: 1.25;
}

main.streamfield-page .organigrama-root h2 {
  margin-bottom: 1.25rem !important;
  font-family: "Museo", sans-serif;
  font-size: clamp(1.55rem, 2.4vw, 2rem);
  font-weight: 400;
  line-height: 1.12;
}

main.streamfield-page .organigrama-host svg foreignObject div {
  font-family: "Satoshi", sans-serif !important;
}

main.streamfield-page .organigrama-host {
  width: 100%;
  max-width: 100%;
}

/* Dos columnas imagen + texto + CTA (p. ej. presentación exposiciones permanentes) */
.mchap-landing__two-col-image-text .mchap-landing__promo-col-figure {
  margin: 0;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.04);
  /* Column is d-flex flex-column + sibling flex-grow-1; default shrink squashes the figure. */
  flex-shrink: 0;
}

.mchap-landing__two-col-image-text .mchap-landing__promo-col-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 767.98px) {
  main.streamfield-page .streamfield-page__title-shell {
    padding-bottom: 1.5rem;
  }

  main.streamfield-page .streamfield-page__title-shell > h1 {
    font-size: 2rem;
  }

  main.streamfield-page .expo-page__presentation,
  main.streamfield-page .expo-page__body-image,
  main.streamfield-page .expo-page__gallery-option,
  main.streamfield-page .organigrama-root {
    margin-bottom: 1.75rem !important;
  }
}

/* Richtext column blocks: optional alignment (block setting) */
.expo-page__presentation--align-center .expo-page__text-block .expo-richtext-flow {
  text-align: center;
}

.expo-page__presentation--align-center .expo-page__text-block .expo-richtext-flow ul,
.expo-page__presentation--align-center .expo-page__text-block .expo-richtext-flow ol {
  padding-left: 0;
  list-style-position: inside;
}

.expo-page__presentation--align-right .expo-page__text-block .expo-richtext-flow {
  text-align: right;
}

.expo-page__presentation--align-right .expo-page__text-block .expo-richtext-flow ul,
.expo-page__presentation--align-right .expo-page__text-block .expo-richtext-flow ol {
  padding-left: 0;
  padding-right: 0;
  list-style-position: inside;
}

/* LineBlock: equal blank space above/below the rule (flex gap + symmetric line padding) */
main.streamfield-page .expo-page__line {
  margin: 0 !important;
  padding: clamp(1rem, 2.5vw, 1.5rem) 0 !important;
}

main.streamfield-page .expo-page__presentation:has(+ .expo-page__line),
main.streamfield-page.mchap-landing--has-wash > section.expo-page__presentation.mb-2:has(+ .expo-page__line),
main.streamfield-page.mchap-landing--has-wash > section.expo-page__presentation:has(+ .expo-page__line),
main.streamfield-page .mchap-landing__cta-row:has(+ .expo-page__line),
main.streamfield-page .mchap-landing__multiple-buttons:has(+ .expo-page__line) {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

main.streamfield-page .expo-page__line + .expo-page__presentation {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* StreamField: línea divisoria (LineBlock) — width on wrap + margin auto for alignment */
.expo-page__line-wrap {
  display: block;
  width: 100%;
}

.expo-page__line-wrap--w-100 {
  width: 100%;
}

.expo-page__line-wrap--w-75 {
  width: 75%;
}

.expo-page__line-wrap--w-50 {
  width: 50%;
}

.expo-page__line-wrap--w-25 {
  width: 25%;
}

.expo-page__line-wrap--align-left {
  margin-left: 0;
  margin-right: auto;
}

.expo-page__line-wrap--align-center {
  margin-left: auto;
  margin-right: auto;
}

.expo-page__line-wrap--align-right {
  margin-left: auto;
  margin-right: 0;
}

.expo-page__line-rule {
  width: 100%;
  margin: 0;
  border: 0;
  border-top: 1px solid;
  opacity: 1;
}

.expo-page__line-rule--color-neutral {
  border-color: #cfcfcf;
}

.expo-page__line-rule--color-black {
  border-color: #111111;
}

.expo-page__line-rule--color-terra {
  border-color: #6e3d2f;
}

.expo-page__line-rule--color-coral {
  border-color: #f37c51;
}

.expo-page__line-rule--color-blue {
  border-color: #3252c4;
}

.expo-page__line-rule--color-accent {
  border-color: #ffd84a;
}

/* Educación index intro (Figma body — aligns with split_row_text_image col-lg-6) */
main.streamfield-page--educacion
  > section.expo-page__presentation:first-of-type
  .expo-richtext-flow
  > p {
  font-family: "Satoshi Variable", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 19px;
  letter-spacing: 0;
}

/* Layout CONTENIDOS — lead titles (Figma H3 desktop / Satoshi Variable Medium) */
main.streamfield-page
  .mchap-layout-contenidos__split-row--text-image
  .expo-page__text-block
  > h2.expo-page__section-title.mchap-layout-contenidos__lead,
main.streamfield-page
  .mchap-layout-contenidos__split-row--heading-links
  h3.expo-page__section-title.mchap-layout-contenidos__lead {
  font-family: "Satoshi Variable", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 36px;
  line-height: 40px;
  letter-spacing: 0;
}

/* split_row_text_image + split_row_heading_links body (Figma H4 desktop) */
main.streamfield-page
  .mchap-layout-contenidos__split-row--text-image
  .expo-page__text-block
  .expo-richtext-flow
  > p,
main.streamfield-page
  .mchap-layout-contenidos__split-row--heading-links
  .expo-page__text-block
  .expo-richtext-flow
  > p {
  font-family: "Satoshi Variable", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 24px;
  letter-spacing: 0;
}

.mchap-layout-contenidos__text-link {
  display: inline-block;
  font-family: "Satoshi Variable", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 24px;
  letter-spacing: 0;
  color: #111;
  text-decoration: underline;
  text-decoration-style: solid;
  text-underline-offset: 40%;
  text-decoration-thickness: 3.5%;
}

.mchap-layout-contenidos__text-link:hover {
  color: #111;
}

/* Audience rows after LineBlock: spacing comes from line padding + main gap only */
.expo-page__line + .mchap-layout-contenidos__split-row--heading-links {
  padding-top: 0 !important;
}

.mchap-layout-contenidos__card-grid {
  border-color: rgba(17, 17, 17, 0.2) !important;
}

/* Card grid: bottom border on every card, top border only on first row.
   Discontinuous lines — gaps at gutters. No double borders between rows. */
.mchap-layout-contenidos__card-grid .mchap-layout-contenidos__card {
  border-bottom: 1px solid rgba(17, 17, 17, 0.2);
}
/* Equal padding above and below the border lines — 80% of original pt-5 (3rem). */
.mchap-layout-contenidos__card-grid .mchap-layout-contenidos__card {
  padding-top: 2.4rem;
  padding-bottom: 2.4rem;
}
/* Top border: first card on mobile (single column). */
.mchap-layout-contenidos__card-grid .col:first-child .mchap-layout-contenidos__card {
  border-top: 1px solid rgba(17, 17, 17, 0.2);
}
/* Top border: first two cards on md+ (2 columns). */
@media (min-width: 768px) {
  .mchap-layout-contenidos__card-grid .col:nth-child(-n+2) .mchap-layout-contenidos__card {
    border-top: 1px solid rgba(17, 17, 17, 0.2);
  }
}

/* Card grid headings: 36px/40px Satoshi Variable (overrides Bootstrap .h5). */
main.streamfield-page .mchap-layout-contenidos__card-grid .expo-page__section-title.h5 {
  font-family: "Satoshi Variable", sans-serif;
  font-weight: 500;
  font-size: 36px;
  line-height: 40px;
  letter-spacing: 0;
}

/* Card grid: constrain body text to ~col-8 width, whitespace on right. */
main.streamfield-page .mchap-layout-contenidos__card-grid .expo-richtext-flow {
  max-width: 66.666666%;
}

/* Card grid body text: 20px/24px Satoshi Variable. */
main.streamfield-page .mchap-layout-contenidos__card-grid .expo-richtext-flow p,
main.streamfield-page .mchap-layout-contenidos__card-grid .expo-richtext-flow li {
  font-family: "Satoshi Variable", sans-serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 24px;
  letter-spacing: 0;
}

/* Split row text-image body text: 16px/19px Satoshi Variable. */
.mchap-layout-contenidos__split-row--text-image .expo-richtext-flow p {
  font-family: "Satoshi Variable", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 19px;
  letter-spacing: 0;
}

.mchap-layout-contenidos__card-thumb-img {
  display: block;
  width: 200px;
  max-width: 40vw;
  height: auto;
}

.mchap-layout-contenidos__experience-panel .mchap-layout-contenidos__experience-band--image {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

/* Experience panel (image + peach): band inside global .container */
.mchap-layout-contenidos__experience-panel {
  --mchap-experience-inset: 4.5rem;
}

@media (min-width: 992px) {
  .mchap-layout-contenidos__experience-panel {
    --mchap-experience-inset: 6.75rem;
  }
}

/* Outside band: vertical breathing room inside page margins (image + peach) */
.mchap-layout-contenidos__experience-panel .mchap-layout-contenidos__experience-band {
  margin-top: 100px;
  margin-bottom: 100px;
}

.mchap-layout-contenidos__experience-panel:has(.mchap-layout-contenidos__experience-band + .row)
  .mchap-layout-contenidos__experience-band {
  margin-bottom: 0;
}

.mchap-layout-contenidos__experience-panel .mchap-layout-contenidos__experience-inner {
  padding-top: calc(var(--mchap-experience-inset) * 1.33);
  padding-bottom: calc(var(--mchap-experience-inset) * 1.33);
}

.mchap-layout-contenidos__experience-panel .mchap-layout-contenidos__experience-card {
  margin-left: var(--mchap-experience-inset);
}

.mchap-layout-contenidos__experience-panel .mchap-layout-contenidos__experience-band--peach {
  background-color: #f1ede7;
}

/* Experience panel footer link: same size as .small description text */
.mchap-layout-contenidos__experience-panel .mchap-layout-contenidos__text-link {
  font-size: .875em;
  line-height: 1.5;
}

@media (max-width: 767.98px) {
  .mchap-layout-contenidos__card-thumb-img {
    max-width: 100%;
    width: 100%;
  }

  /* After desktop CONTENIDOS sizes — page h1 stays 2rem; shrink all other streamfield type */
  main.streamfield-page .expo-page__text-block .expo-richtext-flow h2 {
    font-size: 1.125rem;
    line-height: 1.25;
  }

  main.streamfield-page .expo-page__text-block .expo-richtext-flow h3 {
    font-size: 1rem;
    line-height: 1.25;
  }

  main.streamfield-page .expo-page__text-block .expo-richtext-flow h4 {
    font-size: 0.9375rem;
  }

  main.streamfield-page .organigrama-root h2 {
    font-size: 1.125rem;
  }

  main.streamfield-page
    .mchap-layout-contenidos__split-row--text-image
    .expo-page__text-block
    > h2.expo-page__section-title.mchap-layout-contenidos__lead,
  main.streamfield-page
    .mchap-layout-contenidos__split-row--heading-links
    h3.expo-page__section-title.mchap-layout-contenidos__lead {
    font-size: 22px;
    line-height: 26px;
  }

  main.streamfield-page
    .mchap-layout-contenidos__split-row--text-image
    .expo-page__text-block
    .expo-richtext-flow
    > p,
  main.streamfield-page
    .mchap-layout-contenidos__split-row--heading-links
    .expo-page__text-block
    .expo-richtext-flow
    > p,
  .mchap-layout-contenidos__text-link {
    font-size: 14px;
    line-height: 18px;
  }

  main.streamfield-page--educacion
    > section.expo-page__presentation:first-of-type
    .expo-richtext-flow
    > p {
    font-size: 14px;
    line-height: 17px;
  }

  main.streamfield-page h2.expo-page__section-title:not(.mchap-layout-contenidos__lead) {
    font-size: 1.125rem;
    line-height: 1.25;
  }
}

/* Archivos block — document download links, 4-col grid */
.archivos-block__link {
  font-family: 'Satoshi', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  line-height: 24px;
  text-decoration: underline;
  text-decoration-style: solid;
  text-underline-offset: 40%;
  text-decoration-thickness: 3.5%;
  color: #000;
  transition: opacity 0.15s ease;
}
.archivos-block__link:hover {
  opacity: 0.7;
  color: #000;
}
.archivos-block__icon {
  font-size: 24px;
  color: inherit;
  line-height: 1;
}
.archivos-block__title {
  word-break: break-word;
}
