/* P431 — Service Area & Community. Scoped to the new About School subpage. */
.p431-community-page{--p431-green:#0d7050;--p431-blue:#275c8a;--p431-line:#d6e7dd}
.p431-community{font-family:Sarabun,sans-serif;max-width:1200px;margin:auto;color:#1b4b3a;min-width:0}
.p431-community *, .p431-community *::before, .p431-community *::after{box-sizing:border-box}
.p431-community-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:3px 0 22px}
.p431-community-nav a{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--p431-line);border-radius:999px;background:#fff;color:#236b51;text-decoration:none;font-size:13px;font-weight:700;line-height:1.3;padding:9px 15px;transition:background .16s ease,transform .16s ease,border-color .16s ease}
.p431-community-nav a:hover{background:#eaf7ef;border-color:#a9d3bb;transform:translateY(-2px)}
.p431-community-nav a:focus-visible{outline:3px solid #b8dcca;outline-offset:2px}
.p431-service-section{scroll-margin-top:110px;border:1px solid #d6e9dd;background:#f5faf7;padding:clamp(18px,2.7vw,29px);border-radius:22px;margin-bottom:18px}
.p431-service-section.is-secondary{background:#f5f9fc;border-color:#d8e4ef}
.p431-service-heading{display:flex;align-items:center;gap:10px;margin:0 0 15px;padding-bottom:13px;border-bottom:1px solid #d5e7da}
.p431-service-heading:before{content:'';width:5px;height:28px;background:#15875d;border-radius:10px;flex:none}
.p431-service-section.is-secondary .p431-service-heading:before{background:#2c7fa9}
.p431-service-heading h2{font:800 clamp(20px,2.5vw,27px)/1.3 Sarabun,sans-serif!important;color:#174a36;margin:0!important}
.p431-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,315px),1fr));gap:13px}
.p431-area-card{background:#fff;border:1px solid #dbe9e1;border-radius:17px;padding:19px 20px;min-width:0;box-shadow:0 7px 21px rgba(15,76,54,.04);transition:transform .17s ease,box-shadow .17s ease,border-color .17s ease}
.p431-area-card:hover{transform:translateY(-3px);border-color:#a8d8bd;box-shadow:0 13px 25px rgba(15,76,54,.09)}
.p431-area-card h3{color:#164f3b;font:800 19px/1.35 Sarabun,sans-serif!important;margin:0 0 13px!important}
.p431-area-card p{color:#566e61;font-size:15px;line-height:1.7;margin:0}
.p431-village-tags{display:flex;flex-wrap:wrap;gap:8px}
.p431-village-tags span{padding:7px 12px;background:#edf8f1;border:1px solid #d4eadb;border-radius:10px;color:#187552;font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap}
.p431-service-section.is-secondary .p431-village-tags span{background:#edf5fc;color:#1d668b;border-color:#d9e8f5}
.p431-learning{scroll-margin-top:110px;margin-top:24px}
.p431-learning .p411-public-blocks{max-width:none}
.p431-learning .p411-gallery{border:1px solid #dbe8e1;border-radius:20px;background:#fff;padding:clamp(15px,2.3vw,26px);box-shadow:0 8px 25px rgba(11,74,51,.035)}
.p431-learning .p411-gallery h2{font:800 clamp(20px,2.5vw,27px)/1.3 Sarabun,sans-serif!important;color:#174a36;margin:0 0 14px!important}
.p431-learning .p411-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.p431-learning .p411-gallery-grid figure{min-width:0;margin:0;border:1px solid #e0ebe4;border-radius:14px;overflow:hidden;background:#fbfdfb;transition:transform .18s,box-shadow .18s}
.p431-learning .p411-gallery-grid figure:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(11,74,51,.09)}
.p431-learning .p411-gallery-grid img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block}
.p431-learning .p411-gallery-grid figcaption{font-size:13px;line-height:1.55;font-weight:600;color:#325843;padding:10px 12px}
@media(max-width:780px){
 .p431-service-section{padding:18px 16px;border-radius:16px}
 .p431-service-heading h2{font-size:20px!important}
 .p431-community-nav{justify-content:flex-start}
 .p431-learning .p411-gallery-grid{grid-template-columns:1fr}
 .p431-learning .p411-gallery-grid img{aspect-ratio:16/9}
}
@media(prefers-reduced-motion:reduce){
 .p431-community *, .p431-community *::before, .p431-community *::after{transition:none!important;animation:none!important;transform:none!important;scroll-behavior:auto!important}
}

/* P432 — the original, unaltered school service-area map */
.p431-community .p432-service-map{
 margin:0 0 18px;
 padding:0;
 width:100%;
 overflow:hidden;
 border:1px solid #dcebe2;
 border-radius:18px;
 background:#f6faf8;
 box-shadow:0 8px 24px rgba(13,76,52,.055);
}
.p431-community .p432-service-map img{
 display:block;
 width:100%;
 height:auto;
 object-fit:contain;
 max-width:100%;
 aspect-ratio:auto;
}
@media(max-width:780px){
 .p431-community .p432-service-map{margin-bottom:13px;border-radius:12px}
}
