/* ═══════════════════════════════════════════════════════════════
   pages.css — Estilos adicionales de página y utilidades
   ═══════════════════════════════════════════════════════════════ */

/* ── Utilidades de espaciado ──────────────────────────────────── */
.mt-1 { margin-top: 1rem; }
.mt-2 { margin-top: 2rem; }
.mt-3 { margin-top: 3rem; }
.mb-1 { margin-bottom: 1rem; }
.mb-2 { margin-bottom: 2rem; }

/* ── Sección shell (compat. antiguo) ──────────────────────────── */
.section-shell {
    padding: var(--section-pad);
}
.section-shell--alt  { background: var(--color-ivory); }
.section-shell--tight { padding: 3rem 2rem; }

.section-heading {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 3.5rem;
}
.section-heading h2 {
    font-family: var(--font-display);
    font-size: clamp(1.7rem, 3vw, 2.5rem);
    color: var(--color-burgundy);
    margin-top: .6rem;
}
.section-heading p {
    margin-top: .8rem;
    font-size: 1rem;
    color: var(--color-text-mid);
}

/* ── Animaciones de scroll (JS las activa) ────────────────────── */
.reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .65s ease, transform .65s ease;
}
.reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* ── Separador ornamental ─────────────────────────────────────── */
.divider {
    text-align: center;
    padding: 1rem 0;
    color: var(--color-gold);
    font-size: 1rem;
    letter-spacing: .5em;
    opacity: .45;
}

/* ── Impresión ────────────────────────────────────────────────── */
@media print {
    .site-header,
    .topbar,
    .hero-slider,
    .slider-btn,
    .slider-dots,
    .site-footer { display: none !important; }

    body {
        font-size: 12pt;
        color: #000;
        background: #fff;
    }

    a::after { content: " (" attr(href) ")"; font-size: .8em; }
}
