.sdir-school-page { --profile-accent: #23665a; --profile-soft: #edf6f3; }
.sdir-profile-crumbs ol { display: flex; flex-wrap: wrap; gap: .35rem .6rem; padding: 0; margin: 0 0 1rem; list-style: none; font-size: .875rem; }
.sdir-profile-crumbs li + li::before { content: '›'; margin-inline-end: .6rem; color: #526376; }
.sdir-school-profile { display: grid; gap: 1rem; }
.sdir-profile-hero, .sdir-profile-panel, .sdir-profile-facts > div, .sdir-school-profile .sdir-reviews { border: 1px solid var(--sdir-line); border-radius: 1rem; background: white; }
.sdir-profile-hero { overflow: hidden; }
.sdir-profile-cover { aspect-ratio: 3 / 1; min-block-size: 11rem; background: var(--profile-soft); }
.sdir-profile-cover img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; }
.sdir-profile-brand-cover { display: grid; place-items: center; background: radial-gradient(ellipse at center, white, #dfefeb); }
.sdir-profile-brand-cover img { inline-size: min(65%, 21rem); block-size: auto; }
.sdir-profile-intro, .sdir-profile-panel, .sdir-school-profile .sdir-reviews { padding: clamp(1rem, 3vw, 2rem); }
.sdir-public .sdir-profile-intro h1 { margin: 0; font-size: clamp(1.7rem, 4vw, 2.8rem); }
.sdir-profile-intro p { margin: .55rem 0 0; }
.sdir-profile-tags, .sdir-profile-facilities { padding: 0; list-style: none; }
.sdir-profile-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin: .65rem 0 0; }
.sdir-profile-tags li { padding: .3rem .65rem; border-radius: 100vw; color: #185247; background: var(--profile-soft); font-size: .85rem; font-weight: 650; }
.sdir-profile-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; }
.sdir-profile-actions form { margin: 0; }
.sdir-profile-actions a, .sdir-school-page .sdir-profile-actions button, .sdir-profile-map summary, .sdir-gallery-dialog button { display: inline-flex; align-items: center; min-block-size: 44px; box-sizing: border-box; padding: .45rem .75rem; border-radius: .5rem; font-weight: 650; }
.sdir-profile-facts, .sdir-profile-facilities, .sdir-profile-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); gap: .65rem; margin: 0; }
.sdir-profile-facts > div, .sdir-profile-facilities li { padding: .8rem; }
.sdir-profile-facts dt { font-size: .85rem; color: #44596a; }
.sdir-profile-facts dd { margin: .2rem 0 0; font-weight: 700; }
.sdir-profile-panel h2, .sdir-school-profile .sdir-reviews h2 { margin-block: 0 .85rem; font-size: clamp(1.25rem, 2.6vw, 1.65rem); }
.sdir-profile-facilities li { display: flex; align-items: center; gap: .5rem; background: var(--profile-soft); border-radius: .5rem; }
.sdir-profile-facilities svg { flex: 0 0 1rem; color: var(--profile-accent); }
.sdir-profile-gallery img { display: block; aspect-ratio: 4 / 3; inline-size: 100%; object-fit: cover; border-radius: .6rem; }
.sdir-gallery-dialog { max-inline-size: min(92vw, 62rem); max-block-size: 90vh; border: 0; border-radius: .75rem; }
.sdir-gallery-dialog::backdrop { background: #101d2cdd; }
.sdir-gallery-dialog img { display: block; max-block-size: 72vh; object-fit: contain; }
.sdir-gallery-dialog form { margin-block-end: .5rem; }
.sdir-profile-map summary { cursor: pointer; background: var(--profile-soft); }
.sdir-profile-map iframe { display: block; inline-size: 100%; block-size: 19rem; margin-block-start: .65rem; border: 0; }
.sdir-admission-cta { background: var(--profile-soft); }
.sdir-school-profile #school-reviews { margin: 0; }
#contact-school, #school-claim { scroll-margin-block-start: 7rem; }
@media (max-width: 700px) {
	.sdir-school-profile > .sdir-profile-actions { position: sticky; inset-block-start: 4rem; z-index: 4; padding: .45rem; margin-inline: -.45rem; background: #fff; border-radius: .65rem; box-shadow: 0 3px 12px #0f2a4320; }
	.admin-bar .sdir-school-profile > .sdir-profile-actions { inset-block-start: calc(4rem + 46px); }
}

.sdir-public .sdir-profile-actions a:not(.sdir-save-control) { gap: .45rem; background: var(--profile-accent); color: #fff; text-decoration: none; }
.sdir-public .sdir-profile-actions a:not(.sdir-save-control):hover { background: #174b42; color: #fff; }
.sdir-profile-actions a > svg { inline-size: 1.1rem; block-size: 1.1rem; flex: none; }
