/* Scoped to school detail tabs; does not affect the homepage. */
.school-detail-tabs .nav-tabs { display: flex; flex-wrap: wrap; gap: 8px; }
.school-detail-tabs .class-details-tab-menu li a { margin-right: 0; padding: 17px 24px 14px; }
.school-detail-tabs .class-details-tab-menu li.active > a:after { background: #ac2867; }
.school-detail-tabs .nav-tabs a:focus-visible, .school-social a:focus-visible { outline: 3px solid #087d89; outline-offset: 3px; }
.school-detail-tabs #school-instagram { margin: -40px -28px -14px; }
.school-social { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); align-items: center; gap: 32px; padding: 38px; background: linear-gradient(125deg,#fff8ee,#fff4f8 50%,#effafa); border-radius: 0 0 12px 12px; }
.school-social__intro { min-width: 0; }
.school-social__label { display: inline-flex; align-items: center; gap: 9px; font-size: 10px; letter-spacing: 1.2px; color: #a22a60; font-weight: 600; }
.school-social__label .fa { font-size: 22px; }
.school-social h2 { margin: 21px 0; font-size: 17px; line-height: 1.4; color: #9c2a60; font-weight: 500; }
.school-social h2 > span { display: block; margin-top: 9px; font-size: 33px; line-height: 1.25; letter-spacing: -.8px; color: #333341; font-weight: 600; }
.school-detail-tabs .school-social p { font-size: 13px; color: #626271; line-height: 1.9; margin: 0 0 21px; }
.school-social__tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 22px 0; }
.school-social__tags span { font-size: 11px; padding: 6px 11px; background: #ffffffb3; color: #66576a; border: 1px solid #eadfe6; border-radius: 20px; }
.school-social a.school-social__follow { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; padding: 13px 17px; background: #a82763; border-radius: 25px; color: #fff; font-size: 12px; text-decoration: none; }
.school-social__follow span { overflow-wrap: anywhere; }
.school-social a.school-social__follow:hover { background: #862051; }
.school-detail-tabs p.school-social__hint { font-size: 11px; margin-top: 16px; margin-bottom: 0; }
.school-social__card { width: 100%; min-width: 0; padding: 16px; border: 1px solid #ede4ea; border-radius: 18px; background: #fff; box-shadow: 0 12px 35px #7153660d; }
.school-social__card-title { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 16px; color: #4a4050; font-size: 12px; font-weight: 500; }
.school-social__card-title .fa { color: #a82763; font-size: 19px; }
.school-social__embed { min-width: 0; overflow: hidden; }
.school-social__embed .instagram-media { width: 100% !important; min-width: 0 !important; max-width: 540px !important; margin: 0 auto !important; box-sizing: border-box !important; }
.school-social__embed blockquote { padding: 44px 18px; border: 1px solid #f0e8ed; border-radius: 10px; background: #fff9fc; text-align: center; font-size: 14px; line-height: 1.8; }
.school-social__embed blockquote a { color: #9c2a60; }
.school-detail-tabs p.school-social__fallback { font-size: 10px; line-height: 1.8; text-align: center; margin: 13px 0 0; }
.school-social__fallback a { color: #98245b; text-decoration: underline; }
@media (max-width: 991px) { .school-social { padding: 24px; gap: 22px; } .school-social h2 > span { font-size: 28px; } }
@media (max-width: 767px) {
    .school-social { grid-template-columns: minmax(0,1fr); padding: 24px 15px; }
    .school-social__intro { text-align: center; }
    .school-social__tags { justify-content: center; }
    .school-social__card { max-width: 540px; margin: auto; padding: 12px; }
    .school-detail-tabs #school-instagram { margin: -24px -10px 0; }
    .school-detail-tabs .nav-tabs { gap: 4px; flex-wrap: nowrap; }
    .school-detail-tabs .class-details-tab-menu li { flex: 1 1 0; width: auto; min-width: 0; text-align: center; }
    .school-detail-tabs .class-details-tab-menu li a { font-size: 11px; padding: 13px 5px; margin-bottom: 0; height: 100%; }
    .school-detail-tabs .class-details-tab-menu li a i { margin-right: 5px; }
}
