/* Scoped to the site; these styles never target the Google consent dialog. */
:where(.site-shell) .school-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
:where(.site-shell) .school-card{display:flex;flex-direction:column;min-width:0;padding:26px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 6px 24px #102d3106}
:where(.site-shell) .school-logo{display:flex;align-items:center;justify-content:center;height:92px;margin-bottom:20px;border-radius:8px;background:var(--soft)}
:where(.site-shell) .school-logo img{width:auto;height:auto;max-width:180px;max-height:76px;object-fit:contain}
:where(.site-shell) .school-logo-fallback{gap:12px;color:#597348}
:where(.site-shell) .school-logo-fallback svg{width:34px;height:34px}
:where(.site-shell) .school-logo-fallback span{font-size:11px;font-weight:700;letter-spacing:.06em}
:where(.site-shell) .school-location{display:block;margin-bottom:8px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--muted)}
:where(.site-shell) .school-card h3{font-size:23px;line-height:1.25;letter-spacing:-.02em;overflow-wrap:anywhere}
:where(.site-shell) .school-address{margin:16px 0;font-size:15px;line-height:1.6}
:where(.site-shell) .school-licences{font-size:14px;line-height:1.6}
:where(.site-shell) .school-licences strong{color:var(--ink)}
:where(.site-shell) .school-tags{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0;padding:0;list-style:none}
:where(.site-shell) .school-tags li{margin:0;padding:4px 9px;border-radius:4px;background:#edf3e6;color:#3b5127;font-size:12px;line-height:1.5}
:where(.site-shell) .school-details{margin:16px 0;font-size:14px;line-height:1.6}
:where(.site-shell) .school-details summary{cursor:pointer;font-weight:600}
:where(.site-shell) .school-details dl{margin:12px 0;padding:14px;background:var(--soft);border-radius:6px}
:where(.site-shell) .school-details dt{margin-top:10px;font-weight:600}
:where(.site-shell) .school-details dt:first-child{margin-top:0}
:where(.site-shell) .school-details dd{margin:2px 0;color:var(--muted);overflow-wrap:anywhere}
:where(.site-shell) .school-card-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:auto;padding-top:12px}
:where(.site-shell) .school-card .btn{max-width:100%;font-size:14px;line-height:1.4;white-space:normal;text-align:left}
:where(.site-shell) .school-domain{font-size:12px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}
:where(.site-shell) .school-home{background:#f5f6f1}
:where(.site-shell) .school-home .section-head p{margin-top:16px;max-width:720px;font-size:17px}
:where(.site-shell) .school-home-search{max-width:900px;margin:28px 0}
:where(.site-shell) .school-home-search label{margin-bottom:8px;font-size:15px}
:where(.site-shell) .school-home-search>div{display:flex;gap:12px}
:where(.site-shell) .school-home-search input{flex:1;min-width:0}
:where(.site-shell) .school-home-search .btn{flex-shrink:0}
:where(.site-shell) .school-intro-note{margin-bottom:20px}
:where(.site-shell) .school-directory-intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}
:where(.site-shell) .school-directory-intro p{max-width:850px;font-size:17px}
:where(.site-shell) .school-directory-intro strong{color:var(--ink)}
:where(.site-shell) .school-directory .results-count{margin:24px 0}
:where(.site-shell) .school-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:24px;background:var(--soft);border:1px solid var(--line);border-radius:10px}
:where(.site-shell) .school-filters label{font-size:14px;margin-bottom:6px}
:where(.site-shell) .school-filters input,:where(.site-shell) .school-filters select{font-size:15px}
:where(.site-shell) .school-filter-query{grid-column:span 2}
:where(.site-shell) .school-filters .school-web-filter{display:flex;align-items:center;gap:10px;margin:0;align-self:center}
:where(.site-shell) .school-web-filter input{flex:none}
:where(.site-shell) .school-filter-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;grid-column:span 2}
:where(.site-shell) .school-filter-actions>a{font-size:14px;text-decoration:underline}
:where(.site-shell) .school-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:32px 0}
:where(.site-shell) .school-pagination>a:not(.btn){display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:6px;font-size:15px}
:where(.site-shell) .school-pagination>a[aria-current=page]{background:var(--ink);color:#fff}
:where(.site-shell) .school-departments{margin-top:40px;border:1px solid var(--line);border-radius:10px;padding:24px}
:where(.site-shell) .school-departments>summary{cursor:pointer;font-size:22px;font-weight:700}
:where(.site-shell) .school-department-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}
:where(.site-shell) .school-department-grid>a{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);padding:14px;border-radius:6px;font-size:15px}
:where(.site-shell) .school-department-grid>a:hover{background:var(--soft)}
:where(.site-shell) .school-department-grid strong{min-width:30px;color:#597348}
:where(.site-shell) .school-department-grid small{display:block;color:var(--muted);font-size:12px}
:where(.site-shell) .school-back{margin-top:30px}
:where(.site-shell) .school-advice{margin-top:48px}
:where(.site-shell) .school-advice .three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:24px 0}
:where(.site-shell) .school-advice h3{font-size:22px;margin-bottom:12px}
:where(.site-shell) .school-advice p{font-size:16px}
:where(.site-shell) .school-source{margin-top:40px;padding:28px;background:var(--soft);border-radius:10px}
:where(.site-shell) .school-source h2{font-size:25px;margin-bottom:16px}
:where(.site-shell) .school-source p{font-size:14px;line-height:1.7;margin:12px 0}
:where(.site-shell) .school-source a{text-decoration:underline}
@media(max-width:1100px){
 :where(.site-shell) .school-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 :where(.site-shell) .school-filters,:where(.site-shell) .school-department-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 :where(.site-shell) .school-directory-intro{flex-direction:column;align-items:flex-start}
}
@media(max-width:760px){
 :where(.site-shell) .school-grid{grid-template-columns:1fr}
 :where(.site-shell) .school-card{padding:22px}
 :where(.site-shell) .school-home-search>div{flex-direction:column}
 :where(.site-shell) .school-filters{grid-template-columns:1fr;padding:20px}
 :where(.site-shell) .school-filter-query,:where(.site-shell) .school-filter-actions{grid-column:auto}
 :where(.site-shell) .school-advice .three-grid{grid-template-columns:1fr}
 :where(.site-shell) .school-department-grid{grid-template-columns:1fr}
 :where(.site-shell) .school-departments,:where(.site-shell) .school-source{padding:20px}
 :where(.site-shell) .school-pagination{gap:6px}
 :where(.site-shell) .school-pagination .btn{padding:12px;font-size:14px}
}
@media print{
 :where(.site-shell) .school-filters,:where(.site-shell) .school-pagination{display:none}
 :where(.site-shell) .school-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 :where(.site-shell) .school-card{break-inside:avoid;box-shadow:none}
}
