/* 스쿨 사이트의 틀과 공용 하위 화면. 다른 사이트에는 싣지 않는다(SSOT 11·14절). */
.site[data-site='school'] .site-side { gap: var(--wa-space-xl); padding-inline: var(--wa-space-m); background: linear-gradient(180deg, var(--wa-color-surface-raised), color-mix(in srgb, var(--wa-color-green-30) 4%, var(--wa-color-surface-raised))); }
.site[data-site='school'] .site-brand { padding-inline: var(--wa-space-xs); }
.site[data-site='school'] .site-nav-item { min-block-size: 3.5rem; padding-inline: var(--wa-space-m); border-radius: var(--wa-border-radius-l); }
.site[data-site='school'] .site-side .site-nav-item[aria-current='page'] { background: var(--wa-color-success-fill-quiet); border-color: var(--wa-color-success-border-quiet); color: var(--wa-color-success-on-quiet); }
.school-site-note { display: grid; gap: var(--wa-space-s); margin-block-start: auto; padding: var(--wa-space-m); border-block-start: 1px solid var(--wa-color-surface-border); color: var(--wa-color-text-quiet); font-size: var(--wa-font-size-s); line-height: 1.75; }
.school-site-note > i { font-size: var(--wa-font-size-xl); color: var(--wa-color-success-on-quiet); }
.school-site-note strong { color: var(--wa-color-text-normal); }
.school-site-note p { margin: 0; }
.site[data-site='school'] .site-content { max-inline-size: 88rem; padding: clamp(1rem, 2.75vw, 3rem); }
.site[data-site='school'] :is(.teacher-directory, .my-bookings, .talk-inbox) { max-inline-size: none; }
.site[data-site='school'] :is(.teacher-directory, .my-bookings, .talk-inbox) > .sonub-page-header { border-block-start-width: 1px; border-inline-start: 4px solid var(--sonub-accent); padding: clamp(1.25rem, 2.4vw, 2rem); background: var(--sonub-surface); }
.site[data-site='school'] .teacher-directory .directory-search { background: color-mix(in srgb, var(--sonub-info) 4%, var(--sonub-surface)); }
.site[data-site='school'] .teacher-directory .directory-card-link { box-shadow: var(--sonub-shadow-card); }
.site[data-site='school'] .booking-periods { padding: var(--wa-space-xs); }
.site[data-site='school'] .talk-inbox .talk-tabs { padding: var(--wa-space-xs); border-radius: var(--sonub-radius-control); background: var(--sonub-surface); border: 1px solid var(--sonub-border); }
.site[data-site='school'] .talk-inbox .talk-rooms > li { border-radius: var(--sonub-radius-card); }
/* 강사 찾기는 넓은 화면에서 검색 조건을 옆에 두어 목록과 함께 읽는다. */
@media (min-width: 80rem) {
	.site[data-site='school'] .teacher-directory { grid-template-columns: 19rem minmax(0, 1fr); align-items: start; }
	.site[data-site='school'] .teacher-directory > .sonub-page-header { grid-column: 1 / -1; }
	.site[data-site='school'] .teacher-directory .directory-search { position: sticky; inset-block-start: 6rem; padding: var(--wa-space-l); }
	.site[data-site='school'] .teacher-directory :is(.directory-filter, .directory-options) { grid-template-columns: minmax(0, 1fr); }
	.site[data-site='school'] .teacher-directory .teacher-cards { grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
	.site[data-site='school'] .teacher-directory .directory-filter-actions button { inline-size: 100%; }
}
@media (max-width: 60rem) {
	.site[data-site='school'] .site-side { gap: var(--wa-space-s); padding: var(--wa-space-s) var(--wa-space-m); border-inline-end: 0; border-block-end: 1px solid var(--wa-color-surface-border); }
	.site[data-site='school'] .site-nav { padding-block-end: var(--wa-space-xs); }
	.site[data-site='school'] .site-nav-item { flex-shrink: 0; min-block-size: 2.75rem; padding-inline: var(--wa-space-s); }
	.school-site-note { display: none; }
}
@media (prefers-reduced-motion: reduce) { .site[data-site='school'] .site-nav-item { transition: none; } }
