/* ═══════════════════════════════════════════════════════════════════════════
   Ópera de Morelia — FASE M Tighten
   Eliminar 5000+ px de padding desperdiciado.
   Apple sections flow tight — no double-padding entre adyacentes.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ──────────── ALL SECTIONS: agressive tighten ──────────── */
.mod-section,
.opm-numbers,
.opm-newsletter,
.mod-quote,
.mod-final-cta,
.mod-portrait,
.estudia, #contacto,
section[id="estudia"],
section[id="contacto"]{
  padding-top: clamp(64px, 9vh, 100px) !important;
  padding-bottom: clamp(64px, 9vh, 100px) !important;
}

/* Adjacent sections: collapse double padding */
.mod-section + .mod-section,
.opm-numbers + .mod-section,
.mod-section + .opm-numbers,
.mod-section + .mod-photomoment,
.mod-photomoment + .mod-section,
.mod-section + .mod-quote,
.mod-quote + .mod-section,
.mod-portrait + .mod-section,
.mod-section + .mod-portrait,
.mod-section + .opm-newsletter,
.opm-newsletter + section,
.mod-final-cta + .opm-newsletter,
.opm-newsletter + .estudia,
.estudia + #contacto{
  padding-top: clamp(48px, 7vh, 80px) !important;
}

/* ──────────── PHOTO MOMENT: tighter height ──────────── */
.mod-photomoment{
  min-height: clamp(440px, 65vh, 620px) !important;
}
.mod-photomoment .mod-inner,
.mod-photomoment-text{
  padding-top: clamp(56px, 10vh, 96px) !important;
  padding-bottom: clamp(40px, 7vh, 72px) !important;
}

/* ──────────── NUMBERS section: collapse trailing space ──────────── */
.opm-numbers{
  padding-bottom: clamp(72px, 10vh, 110px) !important;
}
.opm-numbers-cta{
  margin-top: clamp(56px, 8vh, 90px) !important;
  padding-top: clamp(28px, 4vh, 48px) !important;
}
.opm-numbers-eyebrow{
  margin-bottom: clamp(48px, 7vh, 80px) !important;
}
.opm-numbers-hero{
  margin-bottom: clamp(48px, 7vh, 80px) !important;
}
.opm-numbers-divider{
  margin-bottom: clamp(48px, 7vh, 80px) !important;
}

/* ──────────── INTRO SECTION: tighten gap text↔foto ──────────── */
.mod-intro-split .mod-intro-text{
  margin-bottom: clamp(36px, 6vh, 56px) !important;
}

/* ──────────── OMAR PORTRAIT: shorter ──────────── */
.mod-portrait{
  padding-top: clamp(72px, 10vh, 110px) !important;
  padding-bottom: clamp(64px, 9vh, 100px) !important;
}
.mod-portrait-img{
  width: 220px !important;
  height: 220px !important;
  margin-bottom: clamp(32px, 5vh, 48px) !important;
}
.mod-portrait-name{
  margin-bottom: 6px !important;
}
.mod-portrait-role{
  margin-bottom: clamp(24px, 4vh, 36px) !important;
}
.mod-portrait .mod-prose{
  margin-bottom: clamp(24px, 4vh, 32px) !important;
}
.mod-portrait .mod-prose p{
  margin-bottom: 14px !important;
}
.mod-portrait .mod-cta-row{
  margin-top: clamp(20px, 3vh, 32px) !important;
}

/* ──────────── SECTION HEADS: tighter ──────────── */
.mod-section-head{
  margin-bottom: clamp(40px, 6vh, 64px) !important;
}
.mod-section-head .mod-h2{
  margin-bottom: clamp(14px, 2vh, 22px) !important;
}
.mod-section-head .mod-lede{
  margin-bottom: 0 !important;
}

/* ──────────── CARDS GRIDS: less gap to next section ──────────── */
.mod-cards-3,
.mod-cards-2,
.mod-collab{
  margin-top: clamp(40px, 6vh, 56px) !important;
  margin-bottom: 0 !important;
}

/* ──────────── TIMELINE: rows tighter ──────────── */
.mod-timeline-list{
  margin-top: clamp(40px, 6vh, 56px) !important;
}
.mod-timeline-item{
  padding: 20px 0 !important;
}

/* ──────────── FAQ: tighter rows ──────────── */
.mod-faq-list,
details{
  margin-top: clamp(36px, 5vh, 48px) !important;
}
.mod-faq-item summary,
details summary{
  padding: 18px 0 !important;
}

/* ──────────── FINAL CTA: tighter ──────────── */
.mod-final-cta .mod-h2{
  margin-bottom: 14px !important;
}
.mod-final-cta .mod-lede{
  margin: 14px auto 28px !important;
}

/* ──────────── NEWSLETTER: tighter ──────────── */
.opm-newsletter-h2{
  margin-bottom: 12px !important;
}
.opm-newsletter-lede{
  margin: 12px auto 32px !important;
}
.opm-newsletter-form{
  margin: 0 auto !important;
}
.opm-newsletter-fine{
  margin-top: 18px !important;
}

/* ──────────── PULL QUOTE: tighter ──────────── */
.mod-quote{
  padding: clamp(80px, 11vh, 130px) 0 !important;
}
.mod-quote p{
  margin-bottom: 20px !important;
}

/* ──────────── INTRO + producciones tight ──────────── */
.mod-section .mod-intro-split{
  padding-bottom: 0 !important;
}
.mod-section .mod-intro-split + *,
.mod-intro-split .mod-intro-img{
  margin-top: clamp(32px, 5vh, 48px) !important;
  margin-bottom: 0 !important;
}

/* ──────────── ESTUDIA + CONTACTO: tighter ──────────── */
.estudia .section-title,
#contacto .section-title{
  margin-bottom: 12px !important;
}
.estudia .section-lede,
#contacto .section-lede{
  margin: 0 auto clamp(40px, 6vh, 56px) !important;
}

/* ──────────── FOOTER: tighter ──────────── */
footer{
  padding: clamp(56px, 8vh, 80px) 0 24px !important;
}

/* ──────────── COLABORADORES section: shorter ──────────── */
.mod-section--d-warm .mod-section-head{
  margin-bottom: clamp(32px, 5vh, 48px) !important;
}

/* ──────────── PROSE: tighter line-spacing in some cases ──────────── */
.mod-prose p{
  margin-bottom: 14px !important;
}
.mod-prose p:last-child{
  margin-bottom: 0 !important;
}

/* ──────────── MOBILE further tighten ──────────── */
@media (max-width: 768px){
  .mod-section,
  .opm-numbers,
  .opm-newsletter,
  .mod-quote,
  .mod-final-cta,
  .mod-portrait,
  .estudia, #contacto{
    padding-top: 56px !important;
    padding-bottom: 56px !important;
  }
  .mod-photomoment{
    min-height: 420px !important;
  }
  .mod-photomoment .mod-inner,
  .mod-photomoment-text{
    padding-top: 48px !important;
    padding-bottom: 36px !important;
  }
  .mod-portrait-img{
    width: 180px !important;
    height: 180px !important;
  }
}
