/* Schedule / RJs / Contact / Events — no PNG design supplied for these
   pages, so they are built from shared components/utilities, with
   page-specific layout added here where a generic utility isn't enough on
   its own. */

.sfm-panel--bordered textarea.sfm-field { resize: vertical; min-height: 8rem; }

/* --- Events hero (page-events.php) ------------------------------------------
   Mechanics (full-bleed image, overlay, sizing) come from the shared
   ../hero.css; only the heading size is page-specific. No real event
   photography exists for this page (confirmed against production too), so
   the fallback background is the same generic photo used on
   Schedule/RJs/Contact below rather than a fabricated stock photo. */
.sfm-events-hero .sfm-hero__heading { font-size: clamp(1.6rem, 3.5vw, 2.3rem); }

/* --- Schedule / RJs / Contact hero (no PNG design supplied for these
   pages — see the file-level note above) — same shared full-bleed
   mechanics and heading size as every other page's hero, for the "same
   sizing everywhere" the rest of the site now has. */
.sfm-misc-hero .sfm-hero__heading { font-size: clamp(1.6rem, 3.5vw, 2.3rem); }

/* --- RJ directory (page-rjs.php) --------------------------------------------
   A photo-forward team grid, matching the sfm-rj-card language used
   elsewhere on the site (Home/Shows/Podcasts) rather than the generic
   bordered-box panel used for one-off content blocks. */
.sfm-team-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
}
.sfm-team-card {
    background: var(--sfm-white);
    border-radius: var(--sfm-radius-lg);
    box-shadow: var(--sfm-shadow-sm);
    padding: 2rem 1.25rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.sfm-team-card:hover { box-shadow: var(--sfm-shadow-md); transform: translateY(-2px); }
.sfm-team-card__avatar { width: 108px; height: 108px; margin-bottom: 1.1rem; box-shadow: var(--sfm-shadow-sm); }
.sfm-team-card__name { font-size: 1.05rem; margin: 0 0 0.3rem; }
.sfm-team-card__role {
    display: inline-block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--sfm-blue-600);
    background: var(--sfm-bg-blue-50);
    border-radius: var(--sfm-radius-pill);
    padding: 0.25rem 0.75rem;
    margin-bottom: 0.9rem;
}
.sfm-team-card__bio { font-size: 0.85rem; color: var(--sfm-gray-600); margin-bottom: 1.1rem; }
.sfm-team-card__bio:only-of-type { margin-top: -0.3rem; }

@media (min-width: 640px) {
    .sfm-team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
    .sfm-team-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
