.map-panel{max-width:850px;background:#fff;border:1px solid #dbe6f7;border-radius:12px;box-shadow:0 8px 26px #23487618;padding:22px;margin:0 0 14px}
.map-heading strong{display:block;color:#253b57;font-size:17px}
.map-heading small{display:block;margin-top:5px;color:#718297;font-size:13px}
.area-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}
.area{width:100%;min-height:70px;padding:10px;border:1px solid #bdd5f6;border-radius:8px;background:#f2f7ff;color:#235cb1;font-size:15px;font-weight:700;box-shadow:none}
.area:hover{background:#e2efff;border-color:#7faeea}.area:focus-visible{outline:3px solid #85b8f5;outline-offset:2px}.area.active,.area.active:hover{background:#286bd2;color:#fff;border-color:#286bd2}
.subregions{max-width:850px;background:#fff;border:1px solid #dbe6f7;border-radius:12px;padding:18px 22px;margin:0 0 14px;box-shadow:0 8px 26px #23487612}.subregions[hidden]{display:none}.subregions-heading{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.subregions-heading strong{color:#253b57}.subregions-heading span{color:#718297;font-size:12px}.subregion-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.subregion-options button{border:1px solid #d6e3f5;background:#f7faff;color:#285c9d;padding:8px 12px;font-size:13px}.subregion-options button:hover{background:#e2efff}.subregion-options button:focus-visible{outline:3px solid #85b8f5;outline-offset:2px}.subregion-options button.active,.subregion-options button.active:hover{background:#286bd2;color:#fff;border-color:#286bd2}
.subregion-options[hidden]{display:none}
.pagination{justify-content:center;align-items:center;gap:14px;margin:25px 0}
.subregions-heading #region-back{margin-left:auto;background:#edf4ff;color:#2367cb;padding:6px 10px;font-size:12px}.subregions-heading #region-back[hidden]{display:none}
.pagination[hidden]{display:none}
.pagination button{padding:9px 18px}
.pagination button:disabled{background:#e3eaf3;color:#7c8998}
.pagination span{color:#5e6f83;font-weight:700}
.sortbar{display:flex;justify-content:flex-end;margin:-8px 0 20px}.sortbar label{flex:0 0 220px}.sortbar select{border:1px solid #dbe6f7;border-radius:6px;background:#fff;padding:7px;font-size:13px}
.card{position:relative;display:flex;flex-direction:column}.card-features{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px}.card-features span{display:inline-block;max-width:100%;padding:6px 9px;border-radius:6px;background:#f0f5fc;color:#315578;font-size:12px;line-height:1.4}.card-action{position:relative;margin-top:auto;width:max-content;max-width:100%}.card-action button:focus-visible{outline:3px solid #85b8f5;outline-offset:2px}.card-preview{display:none;position:absolute;z-index:10;left:0;top:calc(100% + 8px);width:min(320px,calc(100vw - 58px));padding:16px;border:1px solid #cdddf1;border-radius:10px;background:#fff;box-shadow:0 12px 30px #17375835;color:#263445;font-size:13px;line-height:1.5}.card-preview strong{display:block;margin-bottom:8px;color:#1f426c}.card-preview p{margin:6px 0;line-height:1.5}.card-action:hover .card-preview,.card-action:focus-within .card-preview{display:block}.card:has(.card-action:hover),.card:has(.card-action:focus-within){z-index:2}
#detail-body a[href^="tel:"]{color:#2367cb;font-weight:700;text-decoration:underline}
@media(max-width:760px){.map-panel{padding:16px}.area-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.area{min-height:58px;font-size:14px}.sortbar label{flex:1}}
