.school-directory{max-width:1140px;margin:0 auto;color:#242424;text-align:left}
.school-directory [hidden]{display:none!important}
.school-filters{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) auto auto;align-items:end;gap:18px;background:#f6f6f6;border-top:4px solid #eab249;padding:26px;margin:0 0 18px}
.school-filters label{display:block;font-weight:600;margin-bottom:10px;text-transform:uppercase}
.school-filters input,.school-filters select{width:100%;height:48px;padding:10px 12px;background:#fff;border:1px solid #c8c8c8;border-radius:3px;color:#242424;font:inherit;font-size:16px}
.school-filters button{height:48px;margin:0;padding:10px 24px;background:#c9252b;border:0;border-radius:3px;color:#fff}
.school-reset{align-self:center;margin-top:25px;white-space:nowrap;font-size:16px;text-decoration:underline}
.school-help{font-size:16px;margin-bottom:22px}.school-result-count{font-size:16px;font-weight:600;border-bottom:1px solid #ddd;padding-bottom:18px}
.school-county-group{margin:30px 0 38px}.school-county-group h2{font-size:28px!important;line-height:1.25!important;border-bottom:3px solid #eab249;padding-bottom:12px;margin-bottom:16px!important;letter-spacing:.5px}
.school-group-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;margin-left:8px;padding:3px 8px;border-radius:20px;background:#f4ead6;font:600 14px/1 sans-serif;vertical-align:middle}
.school-directory .school-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none!important;margin:0!important;padding:0!important}
.school-directory .school-list li{list-style:none!important;margin:0!important;padding:0!important}
.school-card{display:flex;min-height:116px;height:100%;flex-direction:column;justify-content:space-between;gap:15px;background:#f7f7f7;border:1px solid #e1e1e1;border-left:3px solid #eab249;padding:20px;color:#252525!important;text-decoration:none!important;transition:background .15s,border-color .15s}
.school-card:hover{background:#fff8eb;border-color:#dca836}.school-card-name{font-size:23px;line-height:1.2;text-transform:uppercase;font-weight:600;overflow-wrap:anywhere}.school-card-action{font:14px/1.3 sans-serif;color:#a51c22;display:flex;justify-content:space-between;gap:12px}
.school-directory :focus-visible,.school-detail :focus-visible{outline:3px solid #9d2024!important;outline-offset:4px}
.school-no-results{padding:25px;background:#fff8eb;font-size:18px}
.school-modal-open{overflow:hidden}.school-dialog{box-sizing:border-box;width:min(900px,calc(100vw - 40px));height:min(850px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);max-width:none;padding:0;border:0;border-radius:5px;background:#fff;color:#242424;box-shadow:0 12px 60px #0005}
.school-dialog[open]{display:flex;flex-direction:column}.school-dialog::backdrop{background:rgba(0,0,0,.65)}
.school-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 22px;background:#edb34a;flex-shrink:0}
.school-dialog-bar h2{font-size:26px!important;line-height:1.2!important;margin:0!important;color:#242424!important;letter-spacing:.3px}
.school-dialog-close{background:#fff!important;color:#222!important;font:30px/1 sans-serif!important;width:42px;height:42px;min-width:42px;padding:0!important;border:0!important;border-radius:3px}
.school-dialog-frame{border:0;width:100%;flex:1;min-height:0;background:#fff}.school-dialog-loading{font:14px/1.4 sans-serif;padding:10px 20px;margin:0}
.school-dialog-fallback{margin:0;padding:10px 22px;border-top:1px solid #ddd;font:14px/1.5 sans-serif;flex-shrink:0}.school-dialog-fallback a{text-decoration:underline}
.school-detail{max-width:1000px;margin:0 auto;padding:35px 25px}.school-detail h1{text-align:center;font-size:44px;line-height:1.15}.school-detail-county{text-align:center;color:#7b5a20;font-size:18px}.school-detail-content{overflow-wrap:anywhere}.school-detail img{max-width:100%;height:auto}.school-detail iframe,.school-detail video{max-width:100%}.school-contact{padding:24px;background:#f7f7f7;border-top:3px solid #eab249;margin-top:30px}.school-contact h2{font-size:26px}.school-contact p{font-size:16px;margin-bottom:12px}.school-detail .comment-list{list-style:none;padding:0}.school-detail .comment-body{border-bottom:1px solid #ddd;padding:18px 0}.school-detail .comment-metadata{font-size:14px}
body.school-popup-document{background:#fff!important;margin:0!important;padding:0!important;min-width:0}.school-detail-popup{padding:22px;max-width:850px}.school-popup-document #wpadminbar{display:none}.school-popup-document .school-detail-content figure{margin-left:auto;margin-right:auto}
@media(max-width:900px){.school-directory .school-list{grid-template-columns:repeat(2,minmax(0,1fr))}.school-filters{grid-template-columns:1fr 1fr}.school-reset{margin-top:0;justify-self:start}.school-filters button{justify-self:start}}
@media(max-width:540px){.school-filters{grid-template-columns:1fr;padding:20px;gap:14px}.school-directory .school-list{grid-template-columns:1fr}.school-card{min-height:96px;padding:18px}.school-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.school-dialog-bar{padding:12px 14px}.school-dialog-bar h2{font-size:22px!important}.school-detail-popup{padding:20px 14px}.school-county-group h2{font-size:26px!important}}

.school-directory button.school-card{width:100%;text-align:left;font:inherit;border-radius:0;cursor:pointer;white-space:normal}

/* Shared school-content layout, including legacy records with oversized images. */
.school-detail-content{max-width:740px;margin:0 auto}
.school-detail-content .wp-block-image{text-align:center;margin:22px auto}
.school-detail-content img.school-logo{display:block;width:auto!important;height:auto!important;max-width:min(260px,100%)!important;max-height:180px!important;object-fit:contain;margin:0 auto 30px}
.school-detail-content img.school-heading-image{display:block;width:auto!important;height:auto!important;max-width:min(360px,100%)!important;max-height:78px!important;object-fit:contain;margin:26px auto 14px}
.school-detail-content p,.school-detail-content li,.school-detail .comment-content{font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.7;text-transform:none;letter-spacing:normal}
.school-detail-content p{margin:0 0 20px}
.school-fact{display:grid;grid-template-columns:150px 1fr;gap:15px;padding:13px 18px;border-bottom:1px solid #e6dfd0;background:#faf7f0;font-size:18px;line-height:1.5}
.school-fact-label{font-weight:600;text-transform:uppercase;color:#775719}.school-fact-value{font:16px/1.6 Arial,Helvetica,sans-serif;color:#242424}
.school-testimonial{margin:26px 0!important;padding:22px 24px!important;background:#faf7f0;border:0!important;border-left:4px solid #eab249!important;color:#333;quotes:none}
.school-testimonial:before,.school-testimonial:after{content:none!important}.school-testimonial p:last-child{margin-bottom:0}
.school-detail .school-section-heading{font-size:28px;line-height:1.25;margin:30px 0 18px;padding-bottom:10px;border-bottom:2px solid #eab249}
.school-detail-content .wp-block-embed{margin:28px 0}.school-detail-content .wp-block-embed iframe{max-width:100%}
.school-detail .school-feedback{margin-top:30px}.school-detail .school-feedback h2{font-size:28px}.school-detail .school-feedback .comment-body{font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.6}
@media(max-width:540px){.school-detail-content img.school-logo{max-width:min(220px,100%)!important;max-height:150px!important}.school-fact{grid-template-columns:110px 1fr;gap:12px;padding:12px}.school-testimonial{padding:18px!important}.school-detail-content p{font-size:15px;line-height:1.65}}
.school-detail-content p,.school-detail-content li,.school-detail-content .school-testimonial p,.school-detail .comment-content{font-family:Arial,Helvetica,sans-serif!important;text-transform:none!important;font-weight:400!important}
