.facility-page{max-width:1000px;margin:0 auto}
.facility-heading{margin-bottom:22px}
.facility-heading h1{font-size:28px;line-height:1.4;letter-spacing:0}
.facility-heading p{font-size:17px;line-height:1.65;color:var(--muted);margin-top:8px}
.facility-filters{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.facility-filters button{min-height:46px;padding:9px 19px;border:1px solid var(--border);border-radius:24px;background:var(--surface);color:var(--ink);font-size:17px;line-height:1.5;font-weight:500}
.facility-filters button[aria-pressed="true"]{background:var(--forest);border-color:var(--forest);color:#fff}
.facility-map-card{position:relative;border:1px solid var(--border);border-radius:22px;overflow:hidden;background:#e5ece7}
.facility-map{height:340px;width:100%;z-index:1;background:#e5ece7}
.facility-map .leaflet-container,.facility-map.leaflet-container{font-family:inherit;font-size:16px}
.facility-map .leaflet-control-zoom{border:1px solid #c6d2cb!important;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #20332c1a}
.facility-map .leaflet-control-zoom a{width:44px;height:44px;line-height:44px;color:var(--forest);font-size:26px}
.facility-map .leaflet-control-attribution{font-size:12px;line-height:1.5;padding:3px 6px;background:#fffffff2}
.facility-map .leaflet-control-attribution a{color:#285b4d}
.facility-pin-wrap{background:none;border:0}
.facility-pin{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:3px solid #fff;border-radius:50%;background:var(--forest);box-shadow:0 2px 6px #20332c5e;color:#fff;font-size:18px;font-weight:600;line-height:1}
.facility-pin.home-pin{background:#ad744b}
.facility-popup{min-width:170px;padding:3px 0;font-size:17px;line-height:1.55}
.facility-popup strong{display:block;font-weight:600}
.facility-popup a{display:flex;align-items:center;min-height:44px;margin-top:6px;font-size:16px;color:var(--forest)}
.facility-map .leaflet-popup-content-wrapper{border-radius:16px}
.map-fallback{padding:15px 18px;background:#fff8e9;color:#604a23;font-size:16px;line-height:1.65}
.map-fallback a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:inherit;font-weight:500}
.facility-distance-note{font-size:17px;line-height:1.7;color:var(--muted);margin:12px 2px 22px}
.facility-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0;margin:0;list-style:none}
.facility-card{min-width:0;border:1px solid var(--border);border-radius:22px;background:var(--surface);padding:21px}
.facility-home{border-color:color-mix(in srgb,var(--forest) 40%,var(--border))}
.facility-card-top{display:flex;gap:13px;align-items:flex-start}
.facility-number{width:34px;height:34px;flex:0 0 34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--forest-light);color:var(--forest);font-size:17px;font-weight:600}
.facility-name{min-width:0}
.facility-name h2{font-size:20px;line-height:1.5;letter-spacing:0;font-weight:600}
.facility-name p{font-size:17px;color:var(--muted);margin-top:3px;line-height:1.65}
.facility-distance{font-size:17px;color:var(--muted);line-height:1.6;margin-top:14px}
.facility-actions{display:flex;align-items:center;flex-wrap:wrap;gap:2px 14px;margin-top:13px;border-top:1px solid var(--border);padding-top:5px}
.facility-actions button,.facility-actions a{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:46px;padding:6px 0;border:0;background:transparent;color:var(--forest);font-size:17px;line-height:1.5;text-decoration:none;font-weight:500}
.facility-actions a{margin-right:auto;padding:8px 14px;border-radius:13px;background:var(--forest-light);color:var(--forest-dark)}
.facility-network-note{font-size:17px;color:var(--muted);line-height:1.75;margin-top:23px}
.facility-details{font-size:18px;line-height:1.8}
.facility-details h3{font-size:20px;font-weight:600;line-height:1.6;margin-bottom:8px}
.facility-details>p+p{margin-top:16px}
.facility-directions{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:12px 18px;background:var(--forest);color:#fff;border-radius:15px;text-decoration:none;margin:22px 0}
.facility-sources{margin:24px 0;padding-top:22px;border-top:1px solid var(--border)}
.facility-sources a,.facility-history a{display:flex;justify-content:space-between;align-items:center;gap:18px;min-height:48px;margin:5px 0;padding:8px 0;color:var(--forest);font-size:17px;line-height:1.7;text-decoration:none}
.facility-sources p{font-size:17px;color:var(--muted);line-height:1.7;margin-top:10px}
.facility-history{margin:22px 0;padding:17px 19px;border-radius:18px;background:var(--forest-light);font-size:17px}
@media(max-width:700px){.facility-heading{margin-bottom:19px}.facility-heading h1{font-size:26px}.facility-heading p{font-size:17px}.facility-map{height:300px}.facility-filters{gap:8px}.facility-filters button{padding:9px 10px;font-size:17px}.facility-list{grid-template-columns:1fr;gap:13px}.facility-card{padding:20px}.facility-name h2{font-size:20px}.facility-actions{gap:4px 20px}.facility-actions a{margin-right:auto}.facility-distance-note{margin-bottom:20px}.facility-map-card{border-radius:19px}}
@media(prefers-reduced-motion:reduce){.facility-map *{scroll-behavior:auto}}

.facility-map .facility-home-label{font:500 17px/1.5 "IBM Plex Sans Thai",sans-serif;color:#285b4d;background:#fff;border:1px solid #cad8d0;border-radius:10px;padding:5px 10px;box-shadow:0 2px 8px #20332c1a;}

body.large-text .facility-details{font-size:20px}
body.large-text .facility-name h2{font-size:22px}
body.large-text .facility-heading p,
body.large-text .facility-distance-note,
body.large-text .facility-name p,
body.large-text .facility-distance,
body.large-text .facility-actions button,
body.large-text .facility-actions a,
body.large-text .facility-filters button,
body.large-text .facility-network-note,
body.large-text .facility-sources p,
body.large-text .facility-sources a,
body.large-text .facility-history,
body.large-text .facility-history a,
body.large-text .facility-popup,
body.large-text .facility-popup a,
body.large-text .map-fallback{font-size:18px}
body.large-text .facility-directions{font-size:20px}
body.large-text .facility-actions{gap:6px 16px}
