/* ============================================================
   Homepage-only styles — dense reference-matched layout.
   Loaded only on Index.cshtml via @section Styles.
   ============================================================ */

/* ---- Hero: near-full-screen current-building photo, left-aligned welcome message ----
   Photo + gradient are scoped under .hero-home so the shared .hero-overlay rule in
   site.css (still used by the Spanish homepage) is untouched. */
.hero.hero-bg.hero-home {
    min-height: 85vh;
    display: flex;
    align-items: center;
    padding: 3rem 0;
}
.hero.hero-bg.hero-home .hero-overlay {
    background-image:
        linear-gradient(90deg, rgba(31,27,78,0.62) 0%, rgba(31,27,78,0.38) 32%, rgba(31,27,78,0.14) 58%, rgba(31,27,78,0) 78%),
        url('/images/home-hero.jpg');
    background-size: cover, cover;
    /* Source photo is a wide landscape shot (1000x600). Below ~1200px the viewport is
       taller relative to its width than the photo, so `cover` crops horizontally —
       bias right so the brick "Church of Christ" sign survives the crop. Above that,
       the full photo width fits and centering reads best. */
    background-position: 88% 44%, 88% 44%;
}
.hero.hero-bg.hero-home .hero-copy { max-width: 620px; }
.hero.hero-bg.hero-home .hero-actions { display: flex; flex-wrap: wrap; }

@media (min-width: 1200px) {
    .hero.hero-bg.hero-home .hero-overlay { background-position: center 56%, center 56%; }
}

/* ---- Purple info strip: thin bar, small icons/text ---- */
.info-band { background: var(--primary); padding: 0.85rem 0; }
.info-band .info-item { gap: 0.6rem; }
.info-band .info-icon { width: 34px; height: 34px; font-size: 1rem; }
.info-band .info-title { font-size: 0.82rem; }
.info-band .info-desc { white-space: normal; font-size: 0.72rem; }
@media (min-width: 992px) {
    .info-band .col-lg-3 { position: relative; }
    .info-band .col-lg-3:not(:last-child)::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        width: 1px;
        background: rgba(255,255,255,0.2);
    }
}

/* ---- Main content section ---- */
.home-main { padding: 1.75rem 0; }

/* Narrower right sidebar at wide desktop widths, closer to the reference's proportions */
@media (min-width: 1200px) {
    .home-main .col-lg-8 { flex: 0 0 auto; width: 70%; }
    .home-main .col-lg-4 { flex: 0 0 auto; width: 30%; }
}

/* ---- Shared homepage card base ---- */
.home-card {
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-sm);
}

/* ---- Dense uppercase section heading for Announcements / Ministries / Latest Posts ---- */
.home-heading {
    font-size: 0.98rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--navy);
    margin-bottom: 0.75rem;
}

/* ---- Sub-sections stack tightly instead of using the generous marketing .section-sm ---- */
.home-block { padding: 0.9rem 0; }

/* ---- Bulletin card (base .bulletin-card structure from site.css, tightened here) ---- */
.bulletin-card { border-radius: var(--radius-sm); }
.bulletin-card-cover { padding: 1rem; background: var(--light-bg); }
.bulletin-card-logo { height: auto; width: 65%; max-width: 200px; filter: none; opacity: 1; }
.bulletin-card-cover-photo { padding: 0; height: 140px; overflow: hidden; }
.bulletin-card-cover-image { width: 100%; height: 100%; object-fit: cover; display: block; }
.bulletin-card-body { padding: 1.1rem; }

/* ---- Today's Sermon feature card ---- */
.sermon-feature-card { padding: 1.1rem; }
.sermon-feature-speaker { font-size: 0.85rem; color: var(--muted); }
.sermon-feature-summary { font-size: 0.85rem; color: var(--text); }

/* ---- Ministry grid density (homepage uses a shorter tile than other pages) ---- */
.home-main .ministry-photo-card { height: 110px; border-radius: var(--radius-sm); }
.home-main .ministry-photo-caption h3 { font-size: 0.82rem; }

/* ---- West Freeway Reflections banner + post list ---- */
.reflections-banner {
    width: 100%;
    max-width: 280px;
    height: auto;
    border-radius: var(--radius-sm);
    display: block;
}

.reflection-card { padding-top: 0.25rem; }
.reflection-title { font-size: 1.1rem; margin-bottom: 0.25rem; }
.reflection-meta { font-size: 0.8rem; color: var(--muted); margin-bottom: 0.5rem; }
.reflection-excerpt { font-size: 0.9rem; color: var(--text); margin-bottom: 0.75rem; max-width: 640px; }

/* ---- This Week's Sermon (bulletin-sourced outline/notes) ---- */
.sermon-notes-card { padding: 1.1rem 1.25rem; }
.sermon-notes-title { font-size: 1.05rem; margin-bottom: 0.35rem; }
.sermon-notes-meta {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.85rem;
    color: var(--muted);
    margin-bottom: 0.5rem;
}
.sermon-notes-meta .sermon-scripture { margin-bottom: 0; }
.sermon-notes-summary { font-size: 0.9rem; color: var(--text); margin-bottom: 0.75rem; }
.sermon-outline {
    margin: 0 0 1rem;
    padding: 0;
    border-top: 1px solid var(--border);
}
.sermon-outline-row {
    padding: 0.55rem 0;
    border-bottom: 1px solid var(--border);
    font-size: 0.92rem;
    color: var(--text);
    line-height: 1.5;
}
.sermon-notes-actions { display: flex; flex-wrap: wrap; gap: 0.5rem; }

/* ---- Sidebar cards ---- */
.sidebar-card { padding: 1.1rem 1.25rem; }
.sidebar-card h3 {
    font-size: 0.9rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    color: var(--navy);
    margin-bottom: 0.5rem;
}
.sidebar-card p { font-size: 0.85rem; color: var(--muted); }

/* ---- Compact event card (sidebar variant) ---- */
.event-card-compact { padding: 0.75rem; margin-bottom: 0.6rem; border-radius: var(--radius-sm); gap: 0.85rem; }
.event-card-compact .event-date-badge { min-width: 42px; padding: 0.35rem 0.45rem; border-radius: var(--radius-sm); }
.event-card-compact .event-date-badge .day { font-size: 1.05rem; }
.event-card-compact h5 { font-size: 0.88rem; margin-bottom: 0.15rem; }
.event-card-compact .event-location { font-size: 0.75rem; }

/* ---- Giving CTA card (purple-filled, distinct from white sidebar cards) ---- */
.giving-cta-card {
    background: var(--primary);
    color: var(--white);
    border-radius: var(--radius-sm);
    padding: 1.1rem 1.25rem;
    text-align: center;
}
.giving-cta-icon { font-size: 1.5rem; margin-bottom: 0.4rem; }
.giving-cta-card h3 {
    color: var(--white);
    font-size: 0.9rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    margin-bottom: 0.4rem;
}
.giving-cta-card p { color: rgba(255,255,255,0.85); font-size: 0.85rem; }
.giving-cta-card .btn-light { color: var(--primary); font-weight: 700; }
.giving-cta-thanks { font-size: 0.75rem; color: rgba(255,255,255,0.7); margin-top: 0.65rem; }

@media (max-width: 767.98px) {
    .home-main { padding: 1.5rem 0; }
    .hero.hero-bg.hero-home { min-height: 70vh; padding: 2.5rem 0; }
}
