/*
 * Shared visual system for all internal parent and child pages.
 * This file is deliberately loaded after page-specific styles.
 */
.school-page-hero{
    display:flex;
    min-height:220px;
    align-items:center;
    padding:42px 0;
    background:
        linear-gradient(90deg,rgba(4,38,83,.95),rgba(7,70,132,.78)),
        url("../images/hero-school.jpg") center/cover no-repeat;
    color:#fff;
}

.school-page-hero__inner{
    display:flex;
    min-height:136px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.school-page-hero__eyebrow{
    display:inline-block;
    margin:0 0 5px;
    color:#e0b34b;
    font-size:12px;
    font-weight:900;
    line-height:1.7;
}

.school-page-hero h1{
    max-width:980px;
    margin:0;
    color:#fff;
    font-size:34px;
    font-weight:900;
    line-height:1.55;
}

.school-page-hero--parent h1{
    color:#e0b34b;
}

.school-page-hero__subtitle{
    max-width:820px;
    margin:9px auto 0!important;
    color:rgba(255,255,255,.84)!important;
    font-size:13px;
    line-height:1.9;
}

.school-page-hero__meta{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    gap:8px 18px;
    margin-top:11px;
    color:rgba(255,255,255,.84);
    font-size:12px;
    font-weight:800;
}

.school-page-hero__meta span,
.school-page-hero__meta time{
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.school-archive-filter{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:14px;
    align-items:end;
    margin:0 0 30px;
    padding:18px;
    border:1px solid #e4ebf4;
    border-radius:16px;
    background:#fff;
    box-shadow:0 12px 28px rgba(13,52,105,.07);
}

.school-archive-filter__field--search{
    grid-column:span 2;
}

.school-archive-filter__field{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:7px;
}

.school-archive-filter__field label{
    color:#062f63;
    font-size:12px;
    font-weight:900;
}

.school-archive-filter input,
.school-archive-filter select{
    width:100%;
    min-height:44px;
    padding:8px 12px;
    border:1px solid #d9e3ef;
    border-radius:10px;
    outline:0;
    background:#fff;
    color:#28384f;
    font:inherit;
}

.school-archive-filter input:focus,
.school-archive-filter select:focus{
    border-color:#c99a42;
    box-shadow:0 0 0 3px rgba(201,154,66,.13);
}

.school-archive-filter__actions{
    display:flex;
    min-height:44px;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
}

.school-archive-filter__reset{
    color:#6b7a90;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
}

.school-archive-filter__reset:hover{
    color:#c99a42;
}

.school-single-navigation{
    position:relative;
    z-index:4;
    margin:-24px 0 0;
}

.school-single-navigation__inner{
    display:flex;
    width:min(100%,1100px);
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:15px 18px;
    border:1px solid #e3eaf3;
    border-top:3px solid #c99a42;
    border-radius:15px;
    background:#fff;
    box-shadow:0 14px 35px rgba(6,47,99,.12);
}

.school-content-trail{
    min-width:0;
}

.school-content-trail ol{
    display:flex;
    min-width:0;
    flex-wrap:wrap;
    align-items:center;
    gap:7px;
    margin:0;
    padding:0;
    list-style:none;
}

.school-content-trail li{
    display:inline-flex;
    min-width:0;
    align-items:center;
    gap:7px;
    color:#6b7a90;
    font-size:12px;
    font-weight:800;
    line-height:1.8;
}

.school-content-trail li:not(:last-child)::after{
    content:"←";
    color:#c99a42;
    font-size:15px;
    font-weight:900;
}

.school-content-trail a{
    color:#0b4e8b;
    text-decoration:none;
}

.school-content-trail a:hover{
    color:#c99a42;
}

.school-content-trail__current span{
    display:block;
    max-width:360px;
    overflow:hidden;
    color:#24364f;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.school-single-return{
    display:inline-flex;
    flex:0 0 auto;
    align-items:center;
    gap:8px;
    min-height:40px;
    padding:8px 14px;
    border-radius:10px;
    background:#062f63;
    color:#fff;
    font-size:12px;
    font-weight:900;
    text-decoration:none;
    transition:transform .2s ease,background-color .2s ease;
}

.school-single-return:hover{
    transform:translateY(-1px);
    background:#c99a42;
    color:#fff;
}

.school-single-return span{
    color:#e0b34b;
    font-size:17px;
    line-height:1;
}

.school-single-return:hover span{
    color:#fff;
}

.single-layout,
.school-single-layout{
    display:block;
}

.single-content,
.school-single-content{
    width:min(100%,1040px);
    margin:0 auto;
}

.single-sidebar{
    display:none;
}

@media(max-width:760px){
    .school-page-hero{
        min-height:190px;
        padding:34px 0;
    }

    .school-page-hero__inner{
        min-height:120px;
    }

    .school-page-hero h1{
        font-size:26px;
    }

    .school-page-hero__subtitle{
        font-size:12px;
    }

    .school-archive-filter{
        grid-template-columns:1fr;
        padding:15px;
    }

    .school-archive-filter__field--search{
        grid-column:auto;
    }

    .school-archive-filter__actions{
        align-items:flex-start;
        flex-direction:column;
        justify-content:flex-start;
    }

    .school-single-navigation{
        margin:-15px 0 0;
    }

    .school-single-navigation__inner{
        align-items:stretch;
        flex-direction:column;
        padding:14px;
    }

    .school-content-trail__current span{
        max-width:230px;
    }

    .school-single-return{
        align-self:flex-start;
    }
}
