.family-page {
    --family-page-border: color-mix(in srgb, var(--site-primary-dark) 15%, #ffffff);
    --family-page-muted: #edf3f7;
    --family-page-surface: #ffffff;
    --family-page-hero: #17324d;
    --family-page-shadow: 0 0.9rem 2.25rem rgb(14 40 69 / 0.09);
    --public-page-border: var(--family-page-border);
    --public-page-hero-background: var(--family-page-hero);
    --public-page-surface: var(--family-page-surface);
    --public-page-surface-soft: #f7fafc;
}

.family-page > .page-hero {
    --page-hero-background: var(--family-page-hero);
}

.family-page > .page-hero .page-hero__eyebrow {
    border: 1px solid rgb(255 255 255 / 0.2);
    border-radius: var(--site-radius);
    background: rgb(255 255 255 / 0.1);
    color: #ffffff;
}

.family-page > .page-hero h1.page-hero__title {
    max-width: 18ch;
}

.family-page > .page-hero .page-hero__lead {
    max-width: 42rem;
}

.family-page .page-section {
    padding-block: clamp(2rem, 5vw, 3.5rem);
}

.family-page :where(
    .recruitment-intro,
    .recruitment-overview > section,
    .recruitment-residential,
    .recruitment-contact,
    .parents-council-board,
    .parents-council-summary,
    .parents-council-document__chapter,
    .parents-council-work-plan > .site-container > .page-section,
    .textbooks-list,
    .family-page__empty-state
) {
    border: 1px solid var(--family-page-border);
    border-radius: var(--site-radius);
    background: var(--family-page-surface);
    box-shadow: var(--family-page-shadow);
}

.family-page :is(
    .recruitment-intro,
    .parents-council-summary,
    .family-page__empty-state
) {
    border-top: 0.3rem solid var(--site-primary-accent);
    padding: clamp(1.4rem, 3.5vw, 2.25rem);
    background:
        radial-gradient(circle at 100% 0, rgb(0 94 168 / 0.09), transparent 38%),
        var(--family-page-surface);
}

.family-page .recruitment-intro {
    margin-top: clamp(1.25rem, 3vw, 2rem);
}

.family-page .recruitment-intro p,
.family-page .family-page__empty-state p {
    max-width: 48rem;
    margin: 0;
    color: var(--site-text-muted);
    line-height: 1.65;
}

.family-page .recruitment-overview {
    gap: 1rem;
}

.family-page .recruitment-overview > section {
    min-width: 0;
    border-top: 0.3rem solid var(--site-primary);
    padding: clamp(1.25rem, 3vw, 2rem);
}

.family-page .recruitment-overview > section h2 {
    margin-top: 0;
}

.family-page .recruitment-residential {
    margin-top: clamp(1.25rem, 3vw, 2rem);
    border-top: 0.3rem solid var(--site-primary);
    padding: clamp(1.4rem, 3.5vw, 2.25rem);
    background: var(--family-page-muted);
}

.family-page .recruitment-residential__icon {
    color: color-mix(in srgb, var(--site-primary-dark) 24%, transparent);
}

.family-page .recruitment-downloads {
    max-width: none;
    margin-top: clamp(1.25rem, 3vw, 2rem);
}

.family-page .recruitment-downloads .resource-link-list {
    display: grid;
    gap: 0.75rem;
    margin-top: 1.25rem;
    border-top: 0;
}

.family-page .recruitment-downloads .resource-link {
    border: 1px solid var(--family-page-border);
    padding: 1rem;
    background: var(--family-page-muted);
}

.family-page .recruitment-contact {
    margin-top: clamp(1.25rem, 3vw, 2rem);
    border-top: 0.3rem solid var(--site-primary-accent);
    padding: clamp(1.4rem, 3.5vw, 2.25rem);
    background: var(--family-page-hero);
    color: #ffffff;
}

.family-page .recruitment-contact :is(h2, h3) {
    color: inherit;
}

.family-page .recruitment-contact__details {
    display: grid;
    grid-template-columns: auto repeat(2, minmax(0, 1fr));
    gap: 1rem;
    align-items: stretch;
    margin-top: 1.25rem;
}

.family-page .recruitment-contact__icon {
    align-self: center;
    margin-right: 0.25rem;
    color: var(--site-primary-accent);
}

.family-page .recruitment-contact__group,
.family-page .recruitment-contact__group--email,
.family-page .recruitment-contact__group--first {
    padding: 1.1rem 1.25rem;
    border: 1px solid rgb(255 255 255 / 0.2);
    border-radius: var(--site-radius);
    background: rgb(255 255 255 / 0.08);
    color: #ffffff;
}

.family-page .recruitment-contact__group h3 {
    margin-top: 0;
    margin-bottom: 0.35rem;
}

.family-page .recruitment-contact .recruitment-contact__group a {
    color: #ffffff;
    font-weight: 700;
    overflow-wrap: anywhere;
    text-decoration-color: rgb(255 255 255 / 0.5);
    text-underline-offset: 0.18em;
}

.family-page .parents-council-layout {
    gap: 1rem;
}

.family-page .parents-council-board,
.family-page .parents-council-summary {
    padding: clamp(1.4rem, 3.5vw, 2.25rem);
}

.family-page .parents-council-board {
    border-top: 0.3rem solid var(--site-primary);
}

.family-page .parents-council-summary {
    border-top-color: var(--site-primary-accent);
}

.family-page .parents-council-leadership {
    margin-bottom: 1.5rem;
}

.family-page .parents-council-members {
    margin-bottom: 0;
}

.family-page .resource-link-section {
    border: 1px solid var(--family-page-border);
    border-top: 0.3rem solid var(--site-primary-accent);
    border-radius: var(--site-radius);
    padding: clamp(1.25rem, 3vw, 2rem);
    background: var(--family-page-surface);
    box-shadow: var(--family-page-shadow);
}

.family-page .resource-link {
    border-radius: var(--site-radius-small);
}

.family-page .parents-council-document__mobile-navigation {
    margin-bottom: 1rem;
}

.family-page .parents-council-document__chapter {
    padding: clamp(1.25rem, 3vw, 2rem);
    scroll-margin-top: 1.5rem;
}

.family-page .parents-council-document__chapter + .parents-council-document__chapter {
    margin-top: 1rem;
}

.family-page .parents-council-document__chapter > h2 {
    margin-top: 0;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--family-page-border);
}

.family-page .parents-council-document__paragraph {
    padding-top: 0.4rem;
}

.family-page .parents-council-work-plan > .site-container > .page-section {
    margin-top: 1rem;
    padding: clamp(1.25rem, 3vw, 2rem);
}

.family-page .table-scroll {
    border: 1px solid var(--family-page-border);
    border-radius: var(--site-radius);
    background: var(--family-page-surface);
    box-shadow: var(--family-page-shadow);
}

.family-page .data-table {
    border-collapse: separate;
    border-spacing: 0;
}

.family-page .data-table thead th {
    border-color: color-mix(in srgb, var(--site-primary-dark) 70%, #ffffff);
    background: var(--site-primary-dark);
    color: #ffffff;
}

.family-page .data-table tbody tr:nth-child(even) {
    background: color-mix(in srgb, var(--family-page-muted) 55%, #ffffff);
}

@media (max-width: 47.999rem) {
    #site-shell .family-page .parents-council-work-plan__table[data-responsive-table] tbody tr {
        display: grid;
        grid-template-columns: 3rem minmax(0, 1fr);
    }

    #site-shell .family-page .parents-council-work-plan__table[data-responsive-table] tbody :where(th, td) {
        border-bottom: 1px solid color-mix(in srgb, var(--site-primary-dark) 24%, #ffffff);
    }

    #site-shell .family-page .parents-council-work-plan__table[data-responsive-table] tbody th[data-label=""] {
        grid-column: 1;
        display: flex;
        padding-inline: 0.5rem;
        align-items: center;
        justify-content: center;
        color: var(--site-primary-dark);
    }

    #site-shell .family-page .parents-council-work-plan__table[data-responsive-table] tbody td[data-label="Zadania"] {
        grid-column: 2;
    }

    #site-shell .family-page .parents-council-work-plan__table[data-responsive-table] tbody td:not([data-label="Zadania"]) {
        grid-column: 1 / -1;
    }

    #site-shell .family-page .parents-council-work-plan__table[data-responsive-table] tbody :where(th, td):last-child {
        border-bottom-color: transparent;
    }
}

.family-page .textbooks-list {
    margin-top: clamp(1.25rem, 3vw, 2rem);
    border-top: 0.3rem solid var(--site-primary-accent);
    padding: clamp(1.25rem, 3vw, 2rem);
}

.family-page .textbooks-list > h2 {
    margin-top: 0;
}

.family-page .textbooks-table-scroll {
    margin-top: 1.25rem;
}

.family-page .parent-council-announcements__list {
    display: grid;
    gap: 1rem;
    border-top: 0;
}

.family-page .parent-council-announcement-row {
    border: 1px solid var(--family-page-border);
    border-top: 0.25rem solid var(--site-primary-accent);
    border-radius: var(--site-radius);
    padding: clamp(1.25rem, 3vw, 2rem);
    background: var(--family-page-surface);
    box-shadow: var(--family-page-shadow);
}

.family-page .parent-council-announcement-row__day {
    color: var(--site-primary-dark);
}

.family-page .parent-council-announcements__empty {
    border: 1px solid var(--family-page-border);
    border-top: 0.3rem solid var(--site-primary-accent);
    border-radius: var(--site-radius);
    padding: clamp(1.5rem, 4vw, 2.5rem);
    background: var(--family-page-surface);
    box-shadow: var(--family-page-shadow);
}

.family-page--detail {
    border: 1px solid var(--family-page-border);
    border-top: 0.3rem solid var(--site-primary-accent);
    border-radius: var(--site-radius);
    padding: clamp(1.25rem, 4vw, 2.5rem);
    background: var(--family-page-surface);
    box-shadow: var(--family-page-shadow);
}

.family-page--detail .breadcrumbs {
    margin-bottom: 1.5rem;
}

.family-page--detail .page-intro {
    border-radius: var(--site-radius);
}

.family-page .parent-council-attachments__list {
    display: grid;
    gap: 0.75rem;
    border-top: 0;
}

.family-page .parent-council-attachment-row {
    border: 1px solid var(--family-page-border);
    border-radius: var(--site-radius-small);
    padding: 1rem;
    background: var(--family-page-muted);
}

.family-page__empty-state {
    min-height: 14rem;
}

.family-page__empty-state h2 {
    margin-top: 0;
}

@media (min-width: 64rem) {
    .family-page .recruitment-overview,
    .family-page .parents-council-layout {
        gap: 1.25rem;
    }
}

@media (max-width: 47.999rem) {
    .family-page .recruitment-contact__details {
        grid-template-columns: 1fr;
    }

    .family-page .recruitment-contact__icon {
        display: none;
    }

    .family-page .parent-council-announcement-row {
        gap: 0.85rem;
    }

    .family-page--detail {
        padding: 1rem;
    }
}

@media (forced-colors: active) {
    .family-page :is(
        .recruitment-intro,
        .recruitment-overview > section,
        .recruitment-residential,
        .recruitment-contact,
        .parents-council-board,
        .parents-council-summary,
        .parents-council-document__chapter,
        .parents-council-work-plan > .site-container > .page-section,
        .textbooks-list,
        .family-page__empty-state,
        .resource-link-section,
        .parent-council-announcement-row,
        .parent-council-announcements__empty,
        .parent-council-attachment-row
    ),
    .family-page--detail {
        border: 1px solid CanvasText;
        background: Canvas;
        box-shadow: none;
        color: CanvasText;
    }
}
