/**
 * NEB Healthcare Screenings — public page styles.
 * Loaded unconditionally per CLAUDE.md asset-loading guidance.
 */

/* Temporary promo banner shown on /events/ archive (remove with the banner markup when tour ends) */
.events-promo {
    background: linear-gradient(135deg, var(--color-primary, #006d6c) 0%, var(--color-primary-dark, #004d4c) 100%);
    color: #fff;
    border-radius: 10px;
    padding: 1.75rem 1.75rem;
    margin-bottom: 2.5rem;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.events-promo__inner {
    max-width: 760px;
}

.events-promo__eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.78rem;
    font-weight: 700;
    margin: 0 0 0.4rem;
    opacity: 0.85;
}

.events-promo__title {
    margin: 0 0 0.6rem;
    color: #fff;
    font-size: 1.6rem;
    line-height: 1.2;
}

.events-promo__body {
    margin: 0 0 1.1rem;
    color: #fff;
    opacity: 0.95;
    font-size: 1rem;
    line-height: 1.5;
}

.events-promo__cta {
    margin: 0;
}

.events-promo__cta .btn {
    background: #fff;
    color: var(--color-primary, #006d6c);
    border-color: #fff;
}

.events-promo__cta .btn:hover,
.events-promo__cta .btn:focus {
    background: rgba(255, 255, 255, 0.92);
    color: var(--color-primary-dark, #004d4c);
}


.neb-screenings {
    max-width: 980px;
}

.neb-intro {
    background: var(--color-surface-alt, #f8fafc);
    border-left: 4px solid var(--color-primary, #006d6c);
    border-radius: 6px;
    padding: 1.5rem 1.75rem;
    margin-bottom: 2.5rem;
    color: var(--color-text);
}

.neb-intro p {
    margin: 0 0 0.85rem;
    line-height: 1.55;
}

.neb-intro p:last-child {
    margin-bottom: 0;
}

.neb-intro__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 1rem;
}

.neb-section-title {
    margin-top: 0;
    margin-bottom: 1.5rem;
    color: var(--color-text);
}

.neb-region {
    margin-bottom: 2.5rem;
}

.neb-region__title {
    font-size: 1.25rem;
    margin: 0 0 0.75rem;
    color: var(--color-primary, var(--color-text));
    border-bottom: 2px solid var(--color-border, #e5e7eb);
    padding-bottom: 0.4rem;
}

.neb-table {
    width: 100%;
    border-collapse: collapse;
    background: var(--color-surface, #fff);
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: 6px;
    overflow: hidden;
}

.neb-table thead th {
    background: var(--color-surface-alt, #f8fafc);
    text-align: left;
    padding: 0.75rem 1rem;
    font-weight: 600;
    color: var(--color-text);
    font-size: 0.92rem;
    border-bottom: 1px solid var(--color-border, #e5e7eb);
}

.neb-table tbody td {
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--color-border, #e5e7eb);
    vertical-align: top;
    color: var(--color-text);
}

.neb-table tbody tr:last-child td {
    border-bottom: 0;
}

.neb-table__venue {
    display: block;
    font-weight: 500;
}

.neb-table__notes {
    display: block;
    color: var(--color-text-muted, #64748b);
    font-size: 0.88rem;
    margin-top: 0.2rem;
}

.neb-table__tbc {
    color: var(--color-text-muted, #64748b);
    font-style: italic;
}

.neb-table--past {
    opacity: 0.78;
}

.neb-past-toggle {
    margin: 2rem 0 1rem;
    text-align: center;
}

.neb-past-toggle a {
    display: inline-block;
    padding: 0.6rem 1.2rem;
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: 999px;
    color: var(--color-text);
    text-decoration: none;
    font-size: 0.92rem;
}

.neb-past-toggle a:hover,
.neb-past-toggle a:focus {
    background: var(--color-surface-alt, #f8fafc);
}

/* Mobile: collapse rows into cards */
@media (max-width: 640px) {
    .neb-table {
        border: 0;
        background: transparent;
    }

    .neb-table thead {
        position: absolute;
        left: -9999px;
    }

    .neb-table tbody tr {
        display: block;
        background: var(--color-surface, #fff);
        border: 1px solid var(--color-border, #e5e7eb);
        border-radius: 6px;
        padding: 0.75rem 1rem;
        margin-bottom: 0.75rem;
    }

    .neb-table tbody td {
        display: block;
        padding: 0.25rem 0;
        border-bottom: 0;
    }

    .neb-table tbody td[data-label]::before {
        content: attr(data-label) ": ";
        font-weight: 600;
        color: var(--color-text-muted, #64748b);
        margin-right: 0.4rem;
    }

    .neb-table tbody td:first-child::before {
        display: none;
    }
}
