/** SOFTM-MAP-EXPERIENCE START 날짜:20260904 : 작은 화면에서도 기관을 먼저 읽고 큰 조작 영역으로 검색·비교하도록 두 지도의 표현을 통일 */
.care-map-page { color:var(--care-ink,#172c43); background:var(--care-bg,#f7f8f5); font-size:16px; line-height:1.6; }
.care-map-page .wrap { padding:20px; }
.care-map-page .card { border-radius:16px; box-shadow:0 2px 10px #172c4305; }
.care-map-page .filters { padding:24px; }
.care-map-page .head-row,.care-map-page .compare-head,.care-map-page .modal-head { flex-wrap:wrap; }
.care-map-page .head-row > div { flex:1 1 260px; min-width:0; }
.care-map-page .page-head h1 { overflow-wrap:anywhere; word-break:keep-all; }
.care-map-page .map-head,.care-map-page .list-head { flex-wrap:wrap; }
.care-map-page .compare-head h2,.care-map-page .modal-head h2 { min-width:0; overflow-wrap:anywhere; }
.care-search-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:18px; }
.care-search-heading h2 { margin:0; font-size:24px; letter-spacing:-.04em; }
.care-search-heading p { margin:5px 0 0; color:#53667b; font-size:15px; }
.care-search-heading a { color:var(--care-blue,#175cb5); font-weight:700; min-height:48px; display:inline-flex; align-items:center; flex-shrink:0; }
.care-map-page .filter-grid { grid-template-columns:minmax(180px,1.8fr) repeat(2,minmax(140px,1fr)) auto; }
.care-map-page input:not([type="checkbox"]),.care-map-page select,.care-map-page .search-btn,.care-map-page .seg { font-size:16px; min-height:48px; }
.care-map-page .stats { display:flex; flex-wrap:wrap; gap:8px 24px; padding:4px 4px 12px; margin:0; }
.care-map-page .stats .stat { display:flex; align-items:baseline; gap:8px; padding:0; background:transparent; border:0; box-shadow:none; }
.care-map-page .stats .stat span { font-size:14px; font-weight:500; }
.care-map-page .stats .stat b { margin:0; font-size:16px!important; font-weight:750; }
.care-data-note { margin:0 4px 14px; color:#53667b; font-size:14px; }
.care-data-note summary { cursor:pointer; width:fit-content; min-height:36px; }
.care-data-note .source-note,.care-data-note .source { margin:4px 0 12px; padding:14px; background:#fff; font-size:14px; }
.care-extra-filters { margin-top:18px; border-top:1px solid #dce5ee; }
.care-extra-filters > summary { padding:14px 0 0; cursor:pointer; font-weight:700; min-height:48px; }
.care-extra-filters > summary span { margin-left:12px; color:#53667b; font-size:14px; font-weight:400; }
.care-extra-basic { display:flex; gap:12px; flex-wrap:wrap; }
.care-extra-basic select { max-width:260px; }
.care-grade-help { background:#f2f6fb; padding:12px 14px; border-radius:10px; color:#415a74; font-size:14px; }
.care-map-page .filter-line strong { font-size:14px; min-width:160px; }
.care-map-page .filter-line .seg.active { background:var(--care-blue,#175cb5); border-color:var(--care-blue,#175cb5); color:#fff; }
.care-map-page .filter-note { font-size:14px; }
.care-nested-advanced { border:0!important; }
.care-nested-advanced > summary { display:none; }
.care-map-page .advanced-body { padding:10px 0; }
.care-map-page .advanced-option,.care-map-page .advanced-help,.care-map-page .advanced-logic { font-size:14px; }
.care-map-page .advanced-option { min-height:48px; }
.care-map-page [data-basket-open] { background:#175cb5; color:#fff; border-color:#175cb5; }
.care-map-page [data-basket-open]:disabled { background:#eef2f6; color:#66798a; border-color:#dce5ee; cursor:default; }
.care-map-page .results { min-width:0; }
/** SOFTM-SEARCH-MAP-SCROLL START 날짜:20260907 : 스크롤 도착 시 조회 결과 지도를 짧게 강조해 시선을 자연스럽게 연결 */
.care-map-page .map-card.care-search-map-focus { animation:careSearchMapFocus 1.45s ease-out; }
@keyframes careSearchMapFocus {
 0% { box-shadow:0 0 0 0 #2383df66,0 2px 10px #172c4305; }
 35% { box-shadow:0 0 0 5px #2383df55,0 10px 28px #175cb526; }
 100% { box-shadow:0 2px 10px #172c4305; }
}
/** SOFTM-SEARCH-MAP-SCROLL END */
/** SOFTM-LOCATION START 날짜:20260905 : 사라지는 토스트 대신 위치 오류와 재시도를 지도 위의 읽을 수 있는 영역에 제공 */
.care-location-notice { margin:0 0 12px; padding:14px; border:1px solid #e5cfae; border-radius:12px; background:#fffaf2; color:#654b2c; overflow-wrap:anywhere; }
.care-location-notice[hidden],.care-location-notice details[hidden] { display:none; }
.care-location-notice strong { font-size:16px; line-height:1.5; }
.care-location-notice p { margin:6px 0 10px; font-size:14px; line-height:1.65; }
.care-location-notice summary { cursor:pointer; font-size:14px; padding:6px 0; }
.care-location-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.care-location-actions button { min-height:44px; border:1px solid #c5d4e2; border-radius:8px; background:#fff; color:#244c76; padding:8px 10px; font-size:14px; cursor:pointer; }
.care-map-page [aria-busy="true"] { cursor:progress; }
/** SOFTM-LOCATION END */
.care-map-page .row p,.care-map-page .row .details { font-size:16px; line-height:1.65; }
.care-map-page .row .chip { font-size:13px; line-height:1.5; }
/** SOFTM-LIST-CONTROLS START 날짜:20260905 : 체크박스를 설명과 같은 줄에 놓고 담기와 지도 표시의 조작 크기를 구분 */
.care-map-page .row input[type="checkbox"] { width:20px; height:20px; min-width:20px; min-height:20px; margin:0; flex:0 0 20px; accent-color:#175cb5; cursor:pointer; }
/** SOFTM-LIST-CONTROLS END */
.care-map-page .row .actions { flex-wrap:wrap; }
.care-map-page .row .actions button,.care-map-page .row .actions a,.care-map-page .small-btn,.care-map-page .route-actions button { min-height:48px; font-size:14px; }
.care-map-page .small-btn.primary,.care-map-page .route-actions .primary { background:#f2f6fb; border-color:#c3d2e2; color:#294f76; }
.care-map-page .icon-btn,.care-map-page .map-share-icon { background:var(--care-blue,#175cb5); border-color:var(--care-blue,#175cb5); box-shadow:0 3px 10px #175cb51a; }
/** SOFTM-LIST-CONTROLS START 날짜:20260905 : 담기 버튼과 지도 표시를 한 행동 영역으로 묶고 이름 없는 체크가 떨어져 보이지 않도록 정리 */
.care-row-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-top:12px; }
.care-map-display { display:inline-flex; align-items:center; gap:7px; padding:8px 6px; border-radius:8px; font-size:14px; font-weight:500; line-height:1.4; color:#53667b; cursor:pointer; min-height:48px; white-space:nowrap; }
.care-map-display:hover { color:#175cb5; background:#eef5fc; }
.care-map-display:focus-within { outline:2px solid #175cb5; outline-offset:2px; }
/** SOFTM-LIST-CONTROLS END */
.care-map-page .route-note,.care-map-page .map-note,.care-map-page .route-tools p { font-size:14px; line-height:1.6; }
.care-map-page .route-tools > p,.care-map-page .select-tools { color:#53667b; }
.care-map-page .detail-view,.care-map-page .detail-line,.care-map-page .official-field,.care-map-page .official-table th,.care-map-page .official-table td,.care-map-page .popup-row,.care-map-page .popup-static-item,.care-map-page .popup-static-message { font-size:16px; line-height:1.65; }
.care-map-page .metric span,.care-map-page .basic-live-note,.care-map-page .official-card-head small,.care-map-page .popup-chip,.care-map-page .popup-static-source { font-size:14px; }
.care-map-page .official-field span,.care-map-page .basic-live-item span { font-size:14px; }
.care-map-page .official-field b,.care-map-page .official-field a { font-size:16px; line-height:1.6; }
.care-map-page .detail-main-tab,.care-map-page .official-tab,.care-map-page .detail-links a,.care-map-page .detail-links button,.care-map-page .popup-static-tab,.care-map-page .popup-links a,.care-map-page .popup-links button { min-height:48px; font-size:16px; }
.care-map-page .detail-close,.care-map-page .popup-close,.care-map-page .mobile-popup-dismiss { width:48px; height:48px; min-height:48px; }
.care-map-page .official-photo figcaption,.care-map-page .popup-static-photos figcaption { font-size:14px; line-height:1.5; }
.care-map-page .popup { width:440px; max-width:calc(100vw - 32px); }
.care-map-page .popup-body { max-height:min(480px,60vh); }
.care-map-page .popup-row-label { flex-basis:64px; }
.care-map-page .daycare-contact { padding:8px 0; color:#53667b; font-size:15px; }
.care-map-page .daycare-contact a { display:inline-flex; align-items:center; min-height:48px; color:var(--care-blue,#175cb5); font-weight:700; font-size:16px; }
.care-map-page .popup-head h3 { font-size:22px; }
.care-map-page .popup-static-item b,.care-map-page .popup-static-item a,.care-map-page .popup-chip b,.care-map-page .basic-live-item b,.care-map-page .basic-live-item a { font-size:16px; line-height:1.6; }
.care-map-page .popup-static-photos button { min-height:48px; }
.care-map-page .mobile-popup-layer:not([hidden]) { position:fixed; inset:0; z-index:12000; display:flex; align-items:center; justify-content:center; padding:16px; background:#0f172a60; }
.care-map-page .mobile-popup-sheet { position:relative; display:flex; flex-direction:column; width:min(100%,640px); max-height:80dvh; overflow:hidden; border-radius:20px; background:#fff; }
.care-map-page .mobile-popup-content { min-height:0; overflow-y:auto; overscroll-behavior:contain; }
.care-map-page .mobile-popup-content .popup { width:100%; max-width:none; }
.care-map-page .mobile-popup-content .popup-close { display:none; }
.care-map-page .mobile-popup-content .popup-body { max-height:none; overflow:visible; }
.care-map-page .mobile-popup-dismiss { position:absolute; z-index:6; right:12px; top:16px; background:#ffffff30; color:#fff; border:0; border-radius:50%; font-size:26px; padding:0; }
.care-map-page .care-marker-emphasis .marker-pin { animation:careMarkerEmphasis .32s ease-in-out 2; }
@keyframes careMarkerEmphasis { 50% { box-shadow:0 0 0 12px #175cb544; filter:brightness(1.5); } }
.care-map-cost { margin:16px 0; border:1px solid #c8d9e9; border-radius:12px; background:#f5f8fc; }
.care-map-cost > summary { padding:14px 16px; min-height:52px; color:#175cb5; font-weight:750; cursor:pointer; }
.care-map-cost-host { padding:0 12px 12px; }
.care-map-page .compare-table { font-size:15px; }
.care-map-page .compare-table th button { min-height:48px; font-size:14px; }
.care-compare-toolbar { display:flex; gap:12px; justify-content:space-between; align-items:center; margin-top:12px; }
.care-compare-scroll { overflow:auto; max-height:60vh; }
.care-compare-scroll .compare-table { min-width:1550px; }
.care-compare-scroll th { position:sticky; top:0; background:#edf3fa; z-index:2; }
.care-map-page button:focus-visible,.care-map-page a:focus-visible,.care-map-page summary:focus-visible,.care-map-page .row:focus-visible { outline:3px solid #ba6400; outline-offset:3px; }
@media(max-width:1000px) {
 .care-map-page .wrap { padding:16px; }
 .care-map-page .layout { display:block; position:relative; }
 .care-map-page .result-list { height:auto; min-height:0; max-height:none; }
 .care-map-page .results { position:static; }
 .care-map-page .care-search-heading { align-items:flex-start; }
 .care-map-page .filter-grid { grid-template-columns:1fr 1fr; }
 .care-map-page .filter-grid #q { grid-column:1/-1; }
 .care-map-page .filter-grid .search-btn { grid-column:1/-1; }
 .care-map-page .mobile-popup-layer:not([hidden]) { position:fixed; inset:0; z-index:12000; display:flex; align-items:flex-end; justify-content:center; padding:10px 8px calc(10px + env(safe-area-inset-bottom)); background:#0f172a60; }
 .care-map-page .mobile-popup-sheet { position:relative; display:flex; flex-direction:column; width:min(100%,640px); max-height:80dvh; overflow:hidden; border-radius:20px; background:#fff; }
 .care-map-page .mobile-popup-content { min-height:0; overflow-y:auto; overscroll-behavior:contain; }
 .care-map-page .mobile-popup-content .popup { width:100%; max-width:none; }
 .care-map-page .mobile-popup-content .popup-close { display:none; }
 .care-map-page .mobile-popup-content .popup-body { max-height:none; overflow:visible; }
 .care-map-page .mobile-popup-dismiss { position:absolute; z-index:6; right:12px; top:16px; background:#ffffff30; color:#fff; border:0; border-radius:50%; font-size:26px; padding:0; }
 .care-map-page.mobile-popup-open { overflow:hidden; }
}
@media(max-width:640px) {
 .care-map-page .wrap { padding:12px; }
 .care-map-page .filters { padding:18px 14px; }
 .care-search-heading { flex-direction:column; gap:4px; }
 .care-search-heading h2 { font-size:22px; }
 .care-search-heading p { font-size:14px; }
 .care-search-heading a { font-size:15px; }
 .care-map-page .stats { gap:5px 14px; padding-top:0; }
 .care-map-page .stats .stat { gap:5px; }
 .care-map-page .stats .stat span { font-size:12px; }
 .care-map-page .stats .stat b { font-size:14px!important; }
 .care-extra-filters > summary span { font-size:12px; margin-left:6px; }
 .care-map-page .detail-sheet { width:100%; max-height:80dvh; height:80dvh; }
 .care-map-page .detail-line { display:block; }
 .care-map-page .detail-line > strong { display:block; margin-bottom:5px; }
 .care-map-page .compare-table th:first-child,.care-map-page .compare-table td:first-child { min-width:160px; max-width:180px; }
 .care-map-page .legacy-link { display:inline-flex; font-size:14px; }
 .care-map-page .row .actions { display:flex; gap:7px; }
 .care-map-page .row .actions > * { flex:1 1 45%; }
 .care-map-page .popup-meta { grid-template-columns:1fr 1fr; }
 .care-map-page .popup-links { grid-template-columns:1fr 1fr; }
 .care-map-page .care-row-actions { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { .care-map-page *, .care-map-page *::before, .care-map-page *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }
/** SOFTM-MAP-EXPERIENCE END */

/** SOFTM-MAP-NAVIGATION START 날짜:20260911 : 지도 상단에서 현재 유형 안내와 서비스 소개를 찾고 모바일 검색조건에서도 같은 경로를 사용 */
.care-context-links,.care-mobile-context-links { display:none; }
@media(min-width:1001px) {
 .care-map-page .category-nav { box-sizing:border-box; padding-right:330px; overflow:hidden; }
 .care-map-page .category-inner { box-sizing:border-box; width:100%; min-width:0; overflow-x:auto; scrollbar-width:none; }
 .care-map-page .category-inner::-webkit-scrollbar { display:none; }
 .care-map-page .category-inner > a { flex:none; }
 .care-map-page .care-context-links { position:fixed; inset:0 0 auto auto; z-index:182; display:flex; align-items:center; gap:6px; width:330px; min-height:52px; padding:6px 12px; border-bottom:1px solid #d6e1ee; border-left:1px solid #d6e1ee; background:#fff; box-shadow:-8px 0 14px #ffffff; }
 .care-map-page .care-context-links a { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:7px 12px; border:1px solid #c6d6e6; border-radius:10px; background:#fff; color:#355674; font-size:13px; font-weight:750; text-decoration:none; }
 .care-map-page .care-context-links .care-context-guide { background:#edf5ff; border-color:#a9c7e7; color:#175cb5; }
 .care-map-page .care-context-links a:hover { border-color:#719aca; background:#f6faff; color:#175cb5; }
 .care-map-page .care-context-nav .category-inner { align-items:center; }
 .care-map-page .care-context-nav .care-context-brand { color:#172c43; font-size:18px; font-weight:850; letter-spacing:-.04em; }
 .care-map-page.care-type-enabled .care-type-header { padding-right:342px; }
}
@media(max-width:1000px) {
 .care-map-page.care-mobile-filters-open .care-mobile-context-links { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:10px 0 14px; }
 .care-map-page .care-mobile-context-links a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:8px 10px; border:1px solid #c6d6e6; border-radius:10px; background:#fff; color:#355674; font-size:14px; font-weight:750; text-align:center; text-decoration:none; }
 .care-map-page .care-mobile-context-links .care-context-guide { background:#edf5ff; border-color:#a9c7e7; color:#175cb5; }
}
/** SOFTM-MAP-NAVIGATION END */
/** SOFTM-WORKSPACE START 날짜:20260905 : 기관 목록을 중심으로 탐색하고 담은 기관·방문 계획의 작업 영역을 분리 */
.care-map-page [hidden] { display:none!important; }
.care-map-page .layout { display:grid; grid-template-columns:minmax(340px,400px) minmax(0,1fr); gap:20px; align-items:start; }
.care-map-page .results,.care-saved-panel { grid-column:1; grid-row:1; min-width:0; position:static; }
/** SOFTM-TAB-FEEDBACK START 날짜:20260905 : 탭 크기와 글자 확대에 맞춰 지도·목록의 가려지는 높이를 계산 */
.care-map-page .map-card { grid-column:2; grid-row:1; min-width:0; position:sticky; top:calc(var(--care-nav-height,0px) + var(--care-tabs-height,90px) + 10px); scroll-margin-top:calc(var(--care-nav-height,0px) + var(--care-tabs-height,90px) + 18px); }
.care-map-page .map-wrap { height:auto; min-height:0; }
.care-map-page #naverMap { height:clamp(400px,calc(100dvh - var(--care-nav-height,0px) - var(--care-tabs-height,90px) - 122px),720px); }
.care-map-page #list { height:min(760px,calc(100dvh - var(--care-nav-height,0px) - var(--care-tabs-height,90px) - 147px)); max-height:none; min-height:320px; overflow-y:auto; }
/** SOFTM-TAB-FEEDBACK END */
/** SOFTM-LIST-CONTROLS START 날짜:20260905 : 두 지도 목록의 번호·기관명·설명·행동이 같은 순서와 간격으로 읽히도록 통일 */
.care-map-page .row { display:block; border:0; border-bottom:1px solid #e2e8ef; border-radius:0; box-shadow:none; background:#fff; padding:18px 10px; }
.care-map-page .row:hover { background:#f8fafc; }
.care-result-heading { display:flex; align-items:flex-start; gap:9px; margin-bottom:10px; }
.care-map-page .care-result-heading h3 { min-width:0; margin:0; font-size:18px; line-height:1.5; overflow-wrap:anywhere; }
.care-result-rank { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; min-width:27px; height:27px; padding:0 6px; border-radius:8px; background:#edf2f8; color:#456481; font-size:12px; font-weight:750; font-variant-numeric:tabular-nums; }
.care-map-page .row p { margin:7px 0; }
.care-map-page .row .care-result-evaluation { color:#3e526b; font-size:14px; }
.care-map-page .row .care-result-summary { color:#687b91; font-size:14px; }
.care-map-page .row .care-row-actions { padding-top:3px; }
.care-map-page .select-tools label,.care-map-page .select-all-control { display:inline-flex; align-items:center; gap:8px; min-height:40px; margin:0; padding:4px 0; border:0; background:transparent; color:#46617d; font-size:14px; font-weight:650; cursor:pointer; }
.care-map-page .select-tools input,.care-map-page .select-all-control input { width:18px; height:18px; min-height:18px; margin:0; accent-color:#175cb5; }
/** SOFTM-LIST-CONTROLS END */
.care-map-page .row .meta { display:flex; flex-wrap:wrap; gap:4px; }
.care-map-page .list-head,.care-map-page .result-head { flex-wrap:wrap; gap:10px; }
.care-map-page .list-head select,.care-map-page .result-head select { max-width:100%; }
.care-map-page .select-tools,.care-map-page .route-actions { margin-top:12px; padding:8px 10px; background:#f5f7fa; border-radius:8px; }
.care-map-page .route-tools > p,.care-map-page .selected { display:none; }
/** SOFTM-TAB-FEEDBACK START 날짜:20260905 : 글자 링크처럼 보이던 작업 전환을 누를 수 있는 두 칸과 선택 표시로 구분 */
.care-workspace-tabs { display:grid; grid-template-columns:48px minmax(0,1fr) auto; align-items:stretch; gap:6px; position:sticky; top:var(--care-nav-height,0px); z-index:80; margin:0 0 20px; padding:6px; border:1px solid #cdd8e5; border-radius:15px; background:#eaf0f6; box-shadow:0 3px 10px #172c4308; } /* SOFTM-WORKSPACE-BACK-ICON 날짜:20260910 : 화살표 전용 복귀 칸과 작업 탭을 한 줄에 유지 */
.care-workspace-tab-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; min-width:0; } /* SOFTM-WORKSPACE-EXPAND 날짜:20260907 : 탭 의미를 유지하면서 확대 버튼과 시각적으로 한 줄에 배치 */
.care-workspace-tabs button { display:flex; align-items:center; justify-content:center; gap:12px; position:relative; min-width:0; min-height:76px; padding:12px 18px; border:1px solid #cdd8e5; border-radius:10px; background:#f4f7fa; color:#46617d; font-size:18px; font-weight:700; cursor:pointer; transition:background .18s,border-color .18s,box-shadow .18s; }
.care-workspace-tabs button::after { content:''; position:absolute; bottom:0; left:14px; right:14px; height:3px; border-radius:3px 3px 0 0; background:transparent; }
.care-workspace-tabs button[aria-selected="true"] { border-color:#8aafd9; background:#fff; color:#153b6a; box-shadow:0 2px 6px #244e7b14; font-weight:800; }
.care-workspace-tabs button[aria-selected="true"]::after { background:#175cb5; }
.care-workspace-tabs button:hover { background:#fff; border-color:#719aca; box-shadow:0 2px 8px #244e7b1a; }
.care-workspace-tabs button:focus-visible { outline:3px solid #175cb5; outline-offset:3px; }
.care-tab-icon { width:24px; height:24px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.care-tab-copy { min-width:0; display:flex; flex-direction:column; gap:3px; text-align:left; }
.care-tab-title { display:flex; align-items:center; flex-wrap:wrap; gap:6px; line-height:1.4; }
.care-tab-hint { color:#63788e; font-size:13px; font-weight:500; line-height:1.4; }
.care-count-wrap { position:relative; display:inline-flex; vertical-align:middle; }
.care-workspace-tabs [data-saved-count] { display:inline-flex; align-items:center; justify-content:center; min-width:28px; padding:2px 7px; border-radius:20px; background:#e2eaf4; color:#254e7b; font-size:15px; line-height:1.4; font-variant-numeric:tabular-nums; }
.care-count-feedback { position:absolute; right:-12px; top:-15px; padding:1px 5px; border-radius:12px; background:#175cb5; color:#fff; font-size:12px; font-weight:800; line-height:1.5; pointer-events:none; }
.care-workspace-tabs button.care-just-added { background:#e9f3ff; border-color:#4382cb; box-shadow:0 0 0 3px #a8cef84d; }
.care-workspace-tabs .care-just-added [data-saved-count] { background:#175cb5; color:#fff; }
.care-workspace-tabs .care-just-added .care-tab-hint { color:#175cb5; font-weight:700; }
/* SOFTM-WORKSPACE-BACK-ICON START 날짜:20260910 : 이전 글자 없이 충분한 터치 영역과 명확한 화살표를 제공 */
.care-map-page .care-workspace-tabs .care-workspace-back { flex:0 0 48px; width:48px; min-width:48px; min-height:44px; padding:8px; background:#fff; color:#214b78; border:1px solid #c6d6e6; border-radius:10px; }
.care-map-page .care-workspace-back svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
@media(min-width:1001px) {
 .care-map-page .care-workspace-tabs { grid-template-columns:minmax(0,1fr); }
 .care-map-page .care-workspace-tabs .care-workspace-back { position:fixed; top:4px; left:8px; width:52px; height:44px; z-index:181; }
 .care-map-page .category-nav { left:68px; }
 .care-map-page .care-workspace-tabs::before { content:""; position:fixed; top:0; left:0; width:68px; height:52px; box-sizing:border-box; background:#fff; border-bottom:1px solid #d6e1ee; z-index:180; }
}
/* SOFTM-WORKSPACE-BACK-ICON END */
/** SOFTM-WORKSPACE-EXPAND START 날짜:20260907 : 크게 보기와 원상복구 상태가 명확히 구분되는 화면 크기 토글 제공 */
.care-workspace-tabs .care-layout-toggle { flex-direction:column; gap:4px; width:112px; min-width:112px; padding:8px 10px; border-color:#175cb5; background:#175cb5; color:#fff; font-size:13px; line-height:1.25; }
.care-workspace-tabs .care-layout-toggle:hover { border-color:#114b94; background:#114b94; color:#fff; }
.care-workspace-tabs .care-layout-toggle::after { display:none; }
.care-layout-toggle-icon { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.care-layout-toggle[aria-pressed="true"] { border-color:#24445f; background:#fff; color:#24445f; }
.care-layout-toggle[aria-pressed="true"]:hover { border-color:#175cb5; background:#f6faff; color:#175cb5; }
.care-layout-toggle:not([aria-pressed="true"]) .care-layout-restore-path,.care-layout-toggle[aria-pressed="true"] .care-layout-toggle-icon > path:first-child { display:none; }
/** SOFTM-WORKSPACE-EXPAND END */
.care-saved-dock [data-saved-count] { display:inline-block; min-width:20px; margin:0 2px; font-weight:850; font-variant-numeric:tabular-nums; }
.care-saved-dock .care-count-feedback { background:#fff; color:#175cb5; }
.care-saved-dock.care-just-added { background:#11488d; box-shadow:0 0 0 4px #b2d4ff,0 6px 20px #173d7025; }
.care-basket-announcement { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.care-view-switch { display:none; scroll-margin-top:calc(var(--care-nav-height,0px) + var(--care-tabs-height,90px) + 16px); }
.care-map-page .layout { scroll-margin-top:calc(var(--care-nav-height,0px) + var(--care-tabs-height,90px) + 16px); }
.care-saved-panel { padding:20px; max-height:calc(100dvh - var(--care-nav-height,0px) - var(--care-tabs-height,90px) - 37px); overflow-y:auto; overscroll-behavior:contain; }
/** SOFTM-TAB-FEEDBACK END */
/** SOFTM-WORKSPACE-EXPAND START 날짜:20260907 : 데스크톱은 지도와 목록을 함께 화면 가득 표시하고 원상복구 전까지 바깥 문서 스크롤을 고정 */
.care-map-page.care-workspace-expanded { overflow:hidden; --care-expanded-tabs-height:94px; }
.care-workspace-expanded .care-workspace-tabs { position:fixed; inset:0 0 auto; z-index:151; height:var(--care-expanded-tabs-height); margin:0; padding:8px max(12px,calc((100vw - 1800px)/2)); border-width:0 0 1px; border-radius:0; box-shadow:0 4px 18px #172c4326; }
.care-workspace-expanded .care-workspace-tabs button { min-height:0; }
.care-workspace-expanded .layout { position:fixed!important; inset:var(--care-expanded-tabs-height) 0 0; z-index:150; display:grid!important; grid-template-columns:clamp(340px,34vw,520px) minmax(0,1fr)!important; gap:12px!important; align-items:stretch!important; box-sizing:border-box; padding:12px; background:var(--care-bg,#f7f8f5); }
.care-workspace-expanded .layout > .results,.care-workspace-expanded .layout > .care-saved-panel,.care-workspace-expanded .layout > .map-card { position:static!important; min-width:0; min-height:0; height:100%; max-height:none; margin:0; }
.care-workspace-expanded .layout > .results,.care-workspace-expanded .layout > .map-card { display:flex; flex-direction:column; overflow:hidden; }
.care-workspace-expanded .layout > .care-saved-panel { overflow-y:auto; overscroll-behavior:contain; }
.care-workspace-expanded .layout .map-wrap { flex:1 1 auto; min-height:0; height:auto!important; }
.care-workspace-expanded .layout #naverMap { min-height:0; height:100%!important; max-height:none; }
.care-workspace-expanded .layout #list { flex:1 1 auto; min-height:0; height:auto!important; max-height:none; overflow-y:auto!important; overscroll-behavior:contain; }
.care-workspace-expanded .care-saved-dock { display:none!important; }
/** SOFTM-WORKSPACE-EXPAND END */
.care-saved-heading { display:flex; align-items:flex-start; gap:12px; justify-content:space-between; }
.care-saved-heading h2,.care-route-editor h2 { margin:0; font-size:22px; line-height:1.4; }
.care-basket-count { display:inline; margin-left:5px; color:#175cb5; font-size:16px; }
.care-saved-heading p,.care-route-editor > p { color:#617185; margin:10px 0 16px; font-size:14px; }
.care-map-page .care-basket button,.care-map-page .care-basket-button,.care-saved-map-tools button { min-height:48px; padding:10px 14px; border:1px solid #c4d2e1; border-radius:9px; background:#fff; color:#254d77; font-size:15px; font-weight:650; cursor:pointer; }
.care-map-page .care-basket .care-primary { color:#fff; background:#175cb5; border-color:#175cb5; }
.care-map-page .care-basket button:disabled { background:#eef2f6; border-color:#e0e6ed; color:#8a95a3; cursor:default; }
.care-map-page .care-basket .care-text-button { padding:4px 0; border:0; font-size:14px; text-align:left; background:transparent; white-space:normal; }
.care-map-page .care-basket-button[aria-pressed="true"] { color:#175cb5; background:#edf5ff; border-color:#b3d0f4; }
/** SOFTM-POPUP-COMPOSITION START 날짜:20260911 : 비교 행동을 제목 헤더에 묶고 정보 탭과 본문 흐름을 끊는 큰 중간 띠를 제거 */
.care-popup-basket-action { display:flex; align-items:center; width:fit-content; margin-top:10px; padding:0; border:0; background:transparent; }
.care-map-page .care-popup-basket-action .care-basket-button { width:auto; min-height:40px; padding:7px 13px; border:1px solid #ffffffb8; background:#fff; color:#15599b; font-size:14px; font-weight:800; box-shadow:0 2px 7px #0b294826; }
.care-map-page .care-popup-basket-action .care-basket-button[aria-pressed="true"] { border-color:#fff; background:#e7f2ff; color:#134f94; }
@media(min-width:641px) {
 .care-map-page .basic-live-grid > .basic-live-item:not(.wide):last-child:nth-child(odd),
 .care-map-page .basic-live-grid > .basic-live-item:not(.wide):nth-child(odd):has(+ .basic-live-item.wide) { grid-column:1/-1; }
}
@media(max-width:640px) { .care-map-page .care-popup-basket-action .care-basket-button { min-height:44px; } }
/** SOFTM-POPUP-COMPOSITION END */
.care-saved-empty { text-align:center; padding:38px 8px; }
.care-saved-empty > span { display:block; color:#7e9abb; font-size:38px; }
.care-saved-empty h3 { font-size:18px; line-height:1.5; }
.care-saved-empty p { font-size:14px; color:#617185; }
.care-saved-empty:not([hidden]) ~ .care-order-help { display:none; }
.care-order-help { color:#617185; font-size:13px; margin:12px 0; }
.care-basket-items { display:flex; flex-direction:column; list-style:none; padding:0; margin:0; gap:10px; }
.care-basket-item { display:flex; align-items:flex-start; gap:8px; min-width:0; padding:12px 6px; border:1px solid #dce5ef; border-radius:12px; background:#fff; cursor:pointer; } /* SOFTM-SAVED-CARD 날짜:20260910 : 카드 본문에서도 기관 상세를 열 수 있음을 표시 */
.care-basket-name { flex:1; min-width:0; overflow-wrap:anywhere; }
.care-basket-name p { margin:6px 0; font-size:14px; color:#52657b; line-height:1.6; }
.care-basket-name small { display:block; font-size:13px; color:#617185; }
.care-map-page .care-basket .care-saved-title { padding:0; text-align:left; border:0; min-height:0; color:#17324d; font-size:17px; line-height:1.5; background:transparent; }
.care-saved-title b { color:#175cb5; }
.care-map-page .care-basket .care-saved-detail { min-height:40px; border:0; padding:8px 0 0; font-size:14px; background:transparent; }
.care-map-page .care-basket .care-saved-remove { flex:none; width:36px; min-width:36px; padding:6px; background:transparent; border:0; font-size:22px; color:#728398; }
.care-map-page .care-basket .care-drag-handle { flex:none; width:40px; min-width:40px; padding:8px 3px; background:#f2f6fb; color:#376caa; border:0; font-size:26px; cursor:grab; touch-action:none; user-select:none; }
.care-order-status { margin:10px 0; font-size:14px; color:#175cb5; }
.care-order-status:empty { display:none; }
.care-saved-footer { position:sticky; bottom:-20px; background:#fff; margin:16px -4px -4px; padding:14px 4px 4px; border-top:1px solid #e0e7ef; z-index:2; }
.care-saved-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.care-route-actions button { width:100%; }
.care-origin { padding:14px; border:1px solid #d6e1ee; border-radius:12px; margin:16px 0; min-width:0; }
.care-origin legend { padding:0 5px; font-size:16px; font-weight:750; }
.care-origin-form { margin-top:12px; }
.care-origin-form label { display:block; font-size:14px; margin:8px 0; color:#52657b; }
.care-origin-form > div { display:flex; flex-wrap:wrap; gap:6px; }
.care-origin-form input { width:100%; min-width:0; padding:12px; border:1px solid #c5d3e2; border-radius:8px; font-size:16px; }
.care-origin-form button { width:100%; }
.care-origin-selection { margin:12px 0 0; padding:10px; background:#edf5ff; border-radius:8px; color:#214b7b; font-size:14px; overflow-wrap:anywhere; }
.care-origin-status { font-size:14px; color:#9d3f20; }
.care-origin-status:empty { display:none; }
.care-origin-candidates { list-style:none; padding:0; margin:10px 0; }
.care-origin-candidates:empty { display:none; }
.care-map-page .care-origin-candidates button { width:100%; margin-bottom:6px; text-align:left; line-height:1.6; }
.care-origin-candidates span { display:block; color:#175cb5; font-size:13px; margin-top:4px; }
.care-route-output { padding:14px; margin-top:14px; border-radius:12px; border:1px solid #d6e1ee; background:#f4f8fd; }
.care-route-output [role="status"] { margin:0; font-size:14px; color:#52657b; }
.care-route-output[data-phase="error"] { border-color:#e4bdae; background:#fff8f4; }
.care-route-output[data-phase="error"] [role="status"] { color:#9d3f20; }
.care-route-summary { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px 18px; }
.care-route-summary:not(:empty) { margin-top:6px; }
.care-route-summary strong { font-size:24px; color:#173f70; }
.care-route-summary small { font-size:14px; font-weight:500; }
.care-route-summary > span { flex-basis:100%; color:#52657b; font-size:13px; }
.care-route-itinerary { font-size:14px; margin-top:8px; overflow-wrap:anywhere; }
.care-route-itinerary summary { cursor:pointer; min-height:40px; padding-top:8px; }
.care-route-itinerary p { margin:4px 0; }
.care-route-itinerary ol { padding-left:24px; }
.care-saved-map-tools { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:12px; }
.care-saved-map-tools strong { margin-right:auto; font-size:18px; }
.care-saved-map-tools [data-care-view] { display:none; }
.care-basket-map .map-head,.care-basket-map .map-toolbar,.care-basket-map .map-note,.care-basket-map .map-card > .route-note,.care-basket-map .map-scope-badge,.care-basket-map #mapStatus,.care-basket-map #locateBtn,.care-basket-map #currentLocationBtn,.care-basket-map .map-search,.care-basket-map .map-search-clear { display:none; }
.care-origin-marker { padding:7px 12px; background:#123c69; border:3px solid #fff; border-radius:30px; color:#fff; font-size:14px; font-weight:800; box-shadow:0 3px 10px #15354a40; white-space:nowrap; }
.care-saved-dock { display:none; }
@media(max-width:1000px) {
 .care-map-page .layout { display:block; position:relative; }
 .care-map-page .map-card { position:static; }
 .care-map-page #list { height:auto; min-height:0; overflow:visible; }
 /** SOFTM-TAB-FEEDBACK START 날짜:20260905 : 작은 화면에서도 두 작업의 이름·설명·개수를 함께 표시 */
	 .care-workspace-tabs { gap:6px; margin-bottom:16px; }
	 .care-workspace-tabs button { gap:8px; padding:10px 8px; font-size:16px; min-height:72px; }
	 .care-workspace-tabs .care-layout-toggle { width:64px; min-width:64px; gap:3px; padding:7px 4px; font-size:11px; }
 .care-tab-icon { width:20px; height:20px; }
 .care-tab-hint { font-size:12px; }
 .care-workspace-tabs [data-saved-count] { min-width:24px; padding:2px 5px; font-size:14px; }
 /** SOFTM-TAB-FEEDBACK END */
 .care-view-switch { display:flex; padding:4px; gap:4px; background:#eaf0f6; border-radius:10px; margin-bottom:12px; }
 .care-view-switch button { min-height:44px; flex:1; border:0; background:transparent; border-radius:7px; color:#52657b; font-size:16px; font-weight:700; }
 .care-view-switch button[aria-pressed="true"] { color:#1d4b80; background:#fff; }
 .care-map-page[data-care-view="list"] .layout > .map-card,.care-map-page[data-care-view="map"] .layout > .results,.care-map-page[data-care-view="map"] .layout > .care-saved-panel { position:absolute; left:-20000px; top:0; width:100%; visibility:hidden; pointer-events:none; }
 .care-saved-panel { max-height:none; overflow:visible; padding:18px; }
 .care-saved-footer { bottom:0; padding-bottom:calc(10px + env(safe-area-inset-bottom)); }
 /** SOFTM-TAB-FEEDBACK START 날짜:20260905 : 새 탭 높이만큼 지도 영역을 조정해 작은 화면의 결과를 가리지 않음 */
 .care-map-page #naverMap { height:clamp(300px,calc(100dvh - var(--care-nav-height,0px) - var(--care-tabs-height,86px) - 156px),650px); }
 .care-basket-map #naverMap { height:clamp(280px,calc(100dvh - var(--care-nav-height,0px) - var(--care-tabs-height,86px) - 166px),600px); }
 .care-map-page[data-care-panel="route"] #naverMap { height:clamp(280px,calc(100dvh - var(--care-nav-height,0px) - var(--care-tabs-height,86px) - 286px),560px); }
 /** SOFTM-TAB-FEEDBACK END */
 .map-card .care-route-output { padding:10px 12px; margin:0 0 12px; }
 .map-card .care-route-output[data-phase="success"] > [role="status"] { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .map-card .care-route-summary { gap:6px 12px; margin:0; }
 .map-card .care-route-summary > span { flex-basis:auto; font-size:12px; }
 .map-card .care-route-summary strong { font-size:22px; }
 .map-card .care-route-itinerary { margin-top:2px; }
 .map-card .care-route-itinerary summary { min-height:32px; padding-top:5px; }
 .map-card .care-route-output { margin-bottom:12px; }
 .care-saved-map-tools [data-care-view] { display:inline-block; }
 .care-map-page.has-care-dock { padding-bottom:80px; }
	 .care-saved-dock { display:block; position:fixed; bottom:calc(12px + env(safe-area-inset-bottom)); left:16px; width:calc(100% - 32px); min-height:52px; padding:12px 18px; border:0; border-radius:12px; background:#175cb5; box-shadow:0 6px 20px #173d7025; color:#fff; font-size:16px; font-weight:750; z-index:90; }
	 /** SOFTM-WORKSPACE-EXPAND START 날짜:20260907 : 모바일은 기존 목록·지도 전환을 고정 상단에 유지하며 선택한 화면을 가득 표시 */
	 .care-workspace-expanded .care-workspace-tabs { height:var(--care-expanded-tabs-height); margin:0; padding:7px 8px; }
	 .care-workspace-expanded .care-view-switch { position:fixed; z-index:151; top:var(--care-expanded-tabs-height); left:0; right:0; display:flex; height:56px; margin:0; padding:6px 10px; border-radius:0; border-bottom:1px solid #cdd8e5; box-shadow:0 3px 10px #172c4317; }
	 .care-workspace-expanded .layout { inset:calc(var(--care-expanded-tabs-height) + 56px) 0 0; display:block!important; padding:8px; }
	 .care-workspace-expanded .layout > .results,.care-workspace-expanded .layout > .care-saved-panel,.care-workspace-expanded .layout > .map-card { width:100%; height:100%; }
	 .care-workspace-expanded[data-care-view="list"] .layout > .map-card,.care-workspace-expanded[data-care-view="map"] .layout > .results,.care-workspace-expanded[data-care-view="map"] .layout > .care-saved-panel { position:absolute!important; left:-20000px; top:0; width:100%; visibility:hidden; pointer-events:none; }
	 /** SOFTM-WORKSPACE-EXPAND END */
}
/** SOFTM-WORKSPACE END */

/** SOFTM-DRAG-FEEDBACK START 날짜:20260904 : 잡은 카드와 놓일 자리를 구분해 실제로 이동하고 있음을 즉시 보여줌 */
.care-map-page .care-basket .care-basket-item .care-drag-handle { min-width:44px; background:#e9f1fc; border-color:transparent; color:#376caa; font-size:26px; line-height:1; }
.care-map-page .care-basket .care-basket-item .care-drag-handle:hover { background:#d9e8fc; color:#175cb5; }
.care-basket-dragging,.care-basket-dragging * { cursor:grabbing!important; user-select:none!important; }
.care-basket-item.care-drag-placeholder { position:relative; border:2px dashed #4384d0; padding:5px; background:#eaf3ff; }
.care-drag-placeholder > * { visibility:hidden; }
.care-drag-placeholder::after { content:attr(data-drop-label); position:absolute; inset:0; display:grid; place-items:center; color:#175cb5; font-size:15px; font-weight:750; }
.care-drag-preview { position:fixed; z-index:25000; top:0; left:0; display:flex; align-items:center; gap:12px; box-sizing:border-box; padding:10px 14px; border:2px solid #175cb5; border-radius:12px; background:#fff; color:#173654; box-shadow:0 18px 40px #143a6b40,0 4px 10px #143a6b26; pointer-events:none; will-change:transform; }
.care-drag-preview > span:last-child { min-width:0; }
.care-drag-preview strong { display:block; font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
.care-drag-grip { color:#175cb5; font-size:28px; }
.care-drag-position { display:block; margin-top:3px; color:#175cb5; font-size:13px; font-weight:650; }
.care-drag-help { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
/** SOFTM-DRAG-FEEDBACK END */
/** SOFTM-MOBILE-MAP START 날짜:20260909 : 첫 화면을 검색창·지도·스크롤 목록으로 고정해 조건 영역에 목적 화면이 밀리지 않도록 구성 */
.care-mobile-filter-toggle,.care-result-photo { display:none; }
.care-mobile-active-marker { filter:drop-shadow(0 0 4px #175cb5); transform:scale(1.25); transform-origin:bottom center; }
.care-mobile-active-marker .map-marker,.care-mobile-active-marker .marker-pin { outline:3px solid #fff; /* SOFTM-SELECTED-MARKER 날짜:20260914 : 선택해도 공단 등급의 원래 마커 색상을 보존 */ }
@media(max-width:1000px) {
 .care-map-page[data-care-workspace="search"] { overflow:hidden; }
 .care-map-page[data-care-workspace="search"] .page-head,.care-map-page[data-care-workspace="search"] .category-nav,.care-map-page[data-care-workspace="search"] .stats,.care-map-page[data-care-workspace="search"] .care-data-note,.care-map-page[data-care-workspace="search"] .ad-zone,.care-map-page[data-care-workspace="search"] .care-view-switch,.care-map-page[data-care-workspace="search"] .care-saved-dock { display:none!important; }
 .care-map-page[data-care-workspace="search"] main.wrap { padding:0; }
 .care-map-page[data-care-workspace="search"] .care-workspace-tabs { position:fixed; top:auto; bottom:0; left:0; right:0; height:58px; min-height:0; margin:0; padding:4px 8px env(safe-area-inset-bottom); z-index:160; border-radius:0; }
 .care-map-page[data-care-workspace="search"] .care-workspace-tabs button { min-height:44px; padding:5px 10px; }
 .care-map-page[data-care-workspace="search"] .care-tab-hint,.care-map-page[data-care-workspace="search"] .care-layout-toggle { display:none; }
 .care-map-page[data-care-workspace="search"] .filters { position:fixed; z-index:170; top:0; left:0; right:0; margin:0; padding:8px; border-radius:0; height:64px; background:#fff; }
 .care-map-page[data-care-workspace="search"] .care-search-heading { display:none; }
 .care-map-page[data-care-workspace="search"] .filter-grid { display:grid; grid-template-columns:minmax(0,1fr) 58px 86px; gap:6px; }
 .care-map-page[data-care-workspace="search"] .filter-grid #q,.care-map-page[data-care-workspace="search"] .filter-grid .search-btn { grid-column:auto; min-width:0; width:100%; }
 .care-map-page[data-care-workspace="search"] .care-mobile-filter-toggle { display:block; border:1px solid #c6d6e6; border-radius:9px; background:#edf5ff; color:#175cb5; font-size:14px; }
 .care-map-page[data-care-workspace="search"]:not(.care-mobile-filters-open) .filters .filter-grid select,.care-map-page[data-care-workspace="search"]:not(.care-mobile-filters-open) .filters > :not(.filter-grid) { display:none!important; }
 .care-map-page[data-care-workspace="search"].care-mobile-filters-open .filters { height:auto; max-height:75dvh; overflow:auto; box-shadow:0 10px 0 100vmax #132b4555; }
 .care-mobile-filters-open .filter-grid #province,.care-mobile-filters-open .filter-grid #city { grid-row:2; grid-column:span 1; }
 .care-map-page[data-care-workspace="search"] .layout { position:fixed; inset:64px 0 calc(58px + env(safe-area-inset-bottom)); display:grid; grid-template-rows:46% minmax(0,1fr); gap:0; height:auto; padding:0; }
 .care-map-page[data-care-workspace="search"] .layout > .map-card,.care-map-page[data-care-workspace="search"] .layout > .results { position:relative!important; left:auto!important; top:auto!important; visibility:visible!important; pointer-events:auto!important; width:100%; height:100%; min-height:0; margin:0; border:0; }
 .care-map-page[data-care-workspace="search"] .layout > .map-card { grid-row:1; border-radius:0; display:flex; flex-direction:column; overflow:hidden; }
 .care-map-page[data-care-workspace="search"] .map-head { padding:4px 10px; min-height:32px; flex-wrap:nowrap; }
 .care-map-page[data-care-workspace="search"] .map-head h2,.care-map-page[data-care-workspace="search"] .map-head .map-head-actions,.care-map-page[data-care-workspace="search"] .map-card > .route-note,.care-map-page[data-care-workspace="search"] .map-card > .map-note { display:none; }
 .care-map-page[data-care-workspace="search"] .area-badge { font-size:12px; display:block; max-width:calc(100vw - 24px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
 .care-map-page[data-care-workspace="search"] .map-wrap { flex:1; min-height:0; height:auto; }
 .care-map-page[data-care-workspace="search"] .map-shell,.care-map-page[data-care-workspace="search"] #naverMap { height:100%!important; min-height:0!important; }
 .care-map-page[data-care-workspace="search"] .map-status { max-width:65%; font-size:11px; max-height:44px; overflow:hidden; }
 .care-map-page[data-care-workspace="search"] .layout > .results { grid-row:2; display:flex; flex-direction:column; border-radius:18px 18px 0 0; box-shadow:0 -3px 12px #17324d20; overflow:hidden; }
 .care-map-page[data-care-workspace="search"] .list-head { padding:8px 12px; flex-wrap:nowrap; }
 .care-map-page[data-care-workspace="search"] .list-head h2 { font-size:16px; margin:0; }
 .care-map-page[data-care-workspace="search"] #sort { min-height:36px; height:36px; font-size:13px; width:145px; }
 .care-map-page[data-care-workspace="search"] .results > .select-tools,.care-map-page[data-care-workspace="search"] .results > .route-note { display:none; }
 .care-map-page[data-care-workspace="search"] #list { flex:1; height:auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; scroll-snap-type:y proximity; }
 .care-map-page[data-care-workspace="search"] .row { position:relative; padding:14px 12px; border-radius:0; scroll-snap-align:start; }
 .care-map-page[data-care-workspace="search"] .row.care-scroll-active { background:#edf5ff; box-shadow:inset 4px 0 #175cb5; }
 .care-map-page[data-care-workspace="search"] .row h3 { font-size:16px; }
 .care-map-page[data-care-workspace="search"] .row p { font-size:13px; margin:5px 0; }
 .care-map-page[data-care-workspace="search"] .care-result-photo { float:right; display:grid; place-items:center; width:82px; height:82px; margin:0 0 8px 10px; border-radius:12px; overflow:hidden; background:#e9eef2; color:#647487; font-size:11px; text-align:center; }
 .care-result-photo img { width:100%; height:100%; object-fit:cover; }
 .care-map-page[data-care-workspace="search"] .care-row-actions { clear:both; margin-top:8px; }
}
/** SOFTM-MOBILE-MAP END */
/** SOFTM-LOCATION-DIALOG START 날짜:20260914 : 위치 설정 안내를 화면 안에 압축해 모달 내부 세로 스크롤 없이 제공 */
dialog.care-location-notice { position:fixed; inset:0; margin:auto; width:min(440px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); overflow:hidden; box-sizing:border-box; padding:22px; border-radius:18px; }
dialog.care-location-notice[open] { display:flex; flex-direction:column; }
dialog.care-location-notice::backdrop { background:#132b4570; }
/** SOFTM-LOCATION-DIALOG END */
/** SOFTM-MOBILE-MAP START 날짜:20260909 : PC의 두 번째 그리드 열 지정과 버튼 여백이 모바일 지도를 밀어내지 않도록 초기화 */
@media(max-width:1000px) {
 .care-map-page[data-care-workspace="search"] .layout { grid-template-columns:minmax(0,1fr); }
 .care-map-page[data-care-workspace="search"] .layout > .map-card,.care-map-page[data-care-workspace="search"] .layout > .results { grid-column:1; padding:0; }
 .care-map-page[data-care-workspace="search"] #searchBtn { padding:0 8px; white-space:nowrap; }
 .care-map-page[data-care-workspace="search"] .care-workspace-tabs { display:flex; }
 .care-map-page[data-care-workspace="search"] .care-workspace-tab-list { width:100%; }
}
/** SOFTM-MOBILE-MAP END */
/** SOFTM-MOBILE-FILTER START 날짜:20260909 : 긴 시도·시군구 명칭이 좁은 버튼 열에 잘리지 않도록 지역 선택을 전폭으로 제공 */
@media(max-width:1000px) {
 .care-map-page[data-care-workspace="search"].care-mobile-filters-open .filter-grid #province { grid-column:1/-1; grid-row:2; width:100%; }
 .care-map-page[data-care-workspace="search"].care-mobile-filters-open .filter-grid #city { grid-column:1/-1; grid-row:3; width:100%; }
 .care-map-page[data-care-workspace="search"] .map-head h2 { display:block; font-size:12px; margin:0; line-height:1.3; }
}
/** SOFTM-MOBILE-FILTER END */
/** SOFTM-MOBILE-DAYCARE START 날짜:20260909 : 전국 주간의 별도 도구도 같은 높이로 줄여 기관 목록이 첫 화면에 보이도록 통일 */
.care-mobile-search { display:none; }
@media(max-width:1000px) {
 .care-map-page[data-care-workspace="search"] .care-mobile-search { display:block; }
 .care-map-page[data-care-workspace="search"] .results > .route-tools { display:none; }
 .care-map-page[data-care-workspace="search"] .result-head { padding:8px 12px; gap:8px; }
 .care-map-page[data-care-workspace="search"] .result-head h2 { font-size:16px; margin:0; }
 .care-map-page[data-care-workspace="search"] .map-toolbar { min-height:36px; padding:4px 10px; }
 .care-map-page[data-care-workspace="search"] .map-toolbar h2 { font-size:12px; margin:0; }
 .care-map-page[data-care-workspace="search"] .map-toolbar .map-share-icon { display:none; }
 .care-map-page[data-care-workspace="search"] .pager { margin:0; padding:4px; }
 .care-map-page[data-care-workspace="search"] .care-mobile-filter-toggle { white-space:nowrap; padding:0 6px; }
}
/** SOFTM-MOBILE-DAYCARE END */
/** SOFTM-MOBILE-HEADING START 날짜:20260909 : 작은 휴대폰에서도 지도 제목이 지도 높이를 과도하게 차지하지 않도록 한 줄로 제한 */
@media(max-width:1000px) {
 .care-map-page[data-care-workspace="search"] .map-head { height:40px; min-height:40px; box-sizing:border-box; }
 .care-map-page[data-care-workspace="search"] .map-title { display:flex; align-items:center; gap:8px; min-width:0; width:100%; }
 .care-map-page[data-care-workspace="search"] .map-title h2 { max-width:50%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
 .care-map-page[data-care-workspace="search"] .map-title .area-badge { flex:1; min-width:0; }
}
/** SOFTM-MOBILE-HEADING END */
/** SOFTM-RESEARCH-BOTTOM START 날짜:20260911 : 재검색 행동은 지도 하단 중앙에 두고 상태 안내는 글자가 잘리지 않도록 바로 위에 분리 */
.care-map-page .care-region-research { position:absolute; z-index:14; top:auto; left:50%; transform:translateX(-50%); right:auto; bottom:32px; min-height:38px; padding:8px 14px; border:1px solid #b7cde6; border-radius:22px; background:#fff; color:#175cb5; box-shadow:0 2px 8px #153f6926; font-size:13px; font-weight:750; white-space:nowrap; cursor:pointer; }
.care-map-page[data-care-workspace="saved"] .care-region-research { display:none; }
@media(min-width:1001px) {
 .care-map-page .map-wrap > .map-status,.care-map-page .map-scope-badge { max-width:calc(50% - 90px); }
}
@media(max-width:1000px) {
 .care-map-page .care-region-research { bottom:16px; }
 .care-map-page[data-care-workspace="search"] .map-wrap > .map-status,.care-map-page[data-care-workspace="search"] .map-scope-badge { bottom:64px; }
}
/** SOFTM-RESEARCH-BOTTOM END */

/** SOFTM-MOBILE-CATEGORY-FONT START 날짜:20260911 : 전국 주간 단독 지도의 모바일 카테고리도 통합 지도와 같은 읽기 크기로 표시 */
@media(max-width:1000px){.care-map-page .category-nav a{font-size:17px}}
/** SOFTM-MOBILE-CATEGORY-FONT END */
/** SOFTM-MARKER-SIZE START 날짜:20260914 : 기본 핀은 밀집도를 유지하고 선택 핀만 충분히 확대해 현재 기관을 바로 구분 */
.care-map-page .map-marker { width:32px; height:32px; border-width:2px; border-radius:11px 11px 11px 3px; box-shadow:0 2px 5px #14283e40; }
.care-map-page .map-marker span { font-size:10px; }
.care-map-page .map-marker .marker-rank { width:16px; height:16px; right:-6px; top:-7px; border-width:1px; font-size:8px; font-style:normal; }
.care-map-page .care-mobile-active-marker { transform:scale(1.5); filter:drop-shadow(0 4px 7px #0b315f8c) drop-shadow(0 0 8px #2679df); }
.care-map-page .care-mobile-active-marker .map-marker,.care-map-page .care-mobile-active-marker .marker-pin { outline:4px solid #fff; box-shadow:0 0 0 4px #175cb5,0 8px 18px #0b315f73!important; }
.care-map-page .care-mobile-active-marker .marker-rank { border-width:2px; box-shadow:0 2px 7px #0b315f73; }
/** SOFTM-MARKER-SIZE END */
/** SOFTM-MOBILE-SHEET START 날짜:20260909 : 핸들 위로는 전체 목록, 아래로는 큰 지도, 뒤로가기는 이전 단계로 복귀 */
.care-sheet-handle,.care-sheet-back,.care-sheet-map-button { display:none; }
@media(max-width:1000px) {
 .care-map-page[data-care-workspace="search"] .care-sheet-handle { display:flex; flex:0 0 32px; height:32px; min-height:32px; width:100%; align-items:center; justify-content:center; gap:10px; padding:0; border:0; background:#fff; color:#53667b; touch-action:none; cursor:ns-resize; }
 .care-sheet-handle > span { display:block; width:42px; height:5px; border-radius:4px; background:#a5adb5; }
 .care-sheet-handle small { display:none; font-size:12px; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="list"] .layout { grid-template-rows:0 minmax(0,1fr); }
 .care-map-page[data-care-workspace="search"][data-care-sheet="list"]:not(.care-sheet-dragging) .layout > .map-card { position:absolute!important; left:-20000px!important; visibility:hidden!important; pointer-events:none!important; height:var(--care-sheet-hidden-map-height,320px)!important; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="list"] .results { border-radius:0; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="list"] .filter-grid { grid-template-columns:34px minmax(0,1fr) 52px 80px; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="list"] .care-sheet-back { display:block; padding:0; border:0; background:#fff; font-size:38px; color:#17324d; line-height:1; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="list"] .care-sheet-map-button { display:block; position:fixed; z-index:165; bottom:calc(76px + env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); border:1px solid #d4deea; border-radius:28px; padding:12px 22px; min-height:46px; color:#17324d; background:#fff; font-weight:750; box-shadow:0 4px 16px #17324d30; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="list"] #list { padding-bottom:72px; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="map"] .layout { grid-template-rows:minmax(0,1fr) 38px; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="map"] .results > :not(.care-sheet-handle) { visibility:hidden; pointer-events:none; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="map"] .care-sheet-handle { flex-basis:38px; height:38px; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="map"] .care-sheet-handle small { display:block; }
 .care-map-page[data-care-workspace="search"].care-sheet-dragging .layout { grid-template-rows:var(--care-sheet-drag-height,46%) minmax(0,1fr); }
 .care-map-page[data-care-workspace="search"].care-sheet-dragging { user-select:none; cursor:ns-resize; }
}
/** SOFTM-MOBILE-SHEET END */

/** SOFTM-MAP-FIRST START 날짜:20260911 : 모바일 첫 진입에서 지도를 주 화면으로 보이면서 하단 목록과 전체 목록 접근을 함께 유지 */
@media(max-width:1000px) and (orientation:portrait) {
 .care-map-page[data-care-workspace="search"] .layout { grid-template-rows:65% minmax(0,1fr); }
 .care-map-page[data-care-workspace="search"][data-care-sheet="split"] .care-sheet-handle small,
 .care-map-page[data-care-workspace="search"][data-care-sheet="map"] .care-sheet-handle small { display:block; }
 .care-map-page[data-care-workspace="search"].care-sheet-dragging .layout { grid-template-rows:var(--care-sheet-drag-height,65%) minmax(0,1fr); }
}
/** SOFTM-MAP-FIRST END */

/** SOFTM-RESULT-SHEET START 날짜:20260911 : 검색 결과 수와 첫 기관 카드를 지도 아래에서 바로 인지하도록 시트 첫 화면을 재배치 */
@media(max-width:1000px) and (orientation:portrait) {
 .care-map-page[data-care-workspace="search"] .care-sheet-handle { display:grid; flex:0 0 56px; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:10px minmax(0,1fr); column-gap:10px; width:100%; height:56px; min-height:56px; padding:3px 14px 7px; box-sizing:border-box; border-bottom:1px solid #e0e8f1; text-align:left; }
 .care-map-page[data-care-workspace="search"] .care-sheet-handle > .care-sheet-grip { grid-column:1/-1; grid-row:1; justify-self:center; width:42px; height:5px; border-radius:4px; background:#9ca8b4; }
 .care-map-page[data-care-workspace="search"] .care-sheet-handle > .care-sheet-summary,.care-map-page[data-care-workspace="search"] .care-sheet-handle > .care-sheet-action { width:auto; height:auto; border-radius:0; background:transparent; }
 .care-map-page[data-care-workspace="search"] .care-sheet-summary { grid-column:1; grid-row:2; display:flex; align-items:center; gap:6px; min-width:0; color:#203a56; font-size:14px; font-weight:750; white-space:nowrap; }
 .care-map-page[data-care-workspace="search"] .care-sheet-count { display:inline-flex; align-items:center; min-height:25px; padding:2px 7px; border-radius:999px; background:#e8f2ff; color:#175cb5; font-size:15px; font-weight:850; font-variant-numeric:tabular-nums; }
 .care-map-page[data-care-workspace="search"] .care-sheet-action { grid-column:2; grid-row:2; display:flex; align-items:center; justify-self:end; gap:5px; color:#175cb5; font-size:13px; font-weight:800; white-space:nowrap; }
 .care-map-page[data-care-workspace="search"] .care-sheet-action::after { content:'↑'; font-size:17px; line-height:1; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="list"] .care-sheet-action::after { content:'↓'; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="map"] .layout { grid-template-rows:minmax(0,1fr) 56px; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="map"] .care-sheet-handle { flex-basis:56px; height:56px; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="split"] .results > .list-head,.care-map-page[data-care-workspace="search"][data-care-sheet="split"] .results > .result-head { display:none; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="split"] .care-search-tools { gap:4px; padding:4px 8px; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="split"] .care-search-tools .care-match-start,
 .care-map-page[data-care-workspace="search"][data-care-sheet="split"] .care-search-tools .care-photo-map-entry,
 .care-map-page[data-care-workspace="search"][data-care-sheet="split"] .care-search-tools .care-analysis-entry { min-height:44px; height:44px; padding:3px!important; gap:2px; box-shadow:none; font-size:11px; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="split"] .care-search-tools .care-match-start::before,
 .care-map-page[data-care-workspace="search"][data-care-sheet="split"] .care-search-tools .care-photo-map-entry::before,
 .care-map-page[data-care-workspace="search"][data-care-sheet="split"] .care-search-tools .care-analysis-entry::before { width:17px; height:17px; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="split"] .care-search-tools .care-match-start::after,
 .care-map-page[data-care-workspace="search"][data-care-sheet="split"] .care-search-tools .care-photo-map-entry::after,
 .care-map-page[data-care-workspace="search"][data-care-sheet="split"] .care-search-tools .care-analysis-entry::after,
 .care-map-page[data-care-workspace="search"][data-care-sheet="split"] .care-search-tools .care-match-summary,
 .care-map-page[data-care-workspace="search"][data-care-sheet="split"] .care-search-tools .care-photo-map-status { display:none; }
 .care-map-page[data-care-workspace="search"][data-care-sheet="split"] .care-search-tools .care-photo-entry-copy strong,
 .care-map-page[data-care-workspace="search"][data-care-sheet="split"] .care-search-tools .care-match-start-title { font-size:11px; }
}
/** SOFTM-RESULT-SHEET END */

/** SOFTM-MOBILE-SHEET START 날짜:20260909 : 전국 주간의 페이지 이동 버튼을 지도보기 버튼이 가리지 않도록 분리 */
@media(max-width:1000px) {
 .care-map-page[data-care-workspace="search"][data-care-sheet="list"]:has(#pager) .care-sheet-map-button { bottom:calc(116px + env(safe-area-inset-bottom)); }
}
/** SOFTM-MOBILE-SHEET END */

/** SOFTM-LOCATION-ROW START 날짜:20260909 : 알약 배경과 말줄임 대신 위치 표식·주소를 흰색 한 줄로 표시 */
.care-map-page #areaBadge { display:flex; align-items:center; gap:6px; max-width:100%; margin:0; padding:8px 0; border:0; border-radius:0; background:transparent; color:#171717; font-size:16px; font-weight:400; white-space:nowrap; overflow-x:auto; text-overflow:clip; scrollbar-width:none; }
.care-map-page #areaBadge::before { content:'⊕ 위치'; flex:none; color:#2878ff; font-weight:700; }
.care-map-page #areaBadge::-webkit-scrollbar { display:none; }
@media(max-width:1000px) {
 .care-map-page[data-care-workspace="search"] .map-head { background:#fff; padding:0 12px; border-bottom:1px solid #ededed; }
 .care-map-page[data-care-workspace="search"] #mapHeading { display:none !important; }
 .care-map-page[data-care-workspace="search"] .map-title #areaBadge { font-size:16px; display:flex; overflow-x:auto; text-overflow:clip; max-width:100%; }
}
/** SOFTM-LOCATION-ROW END */

/** SOFTM-DESKTOP-MAP START 날짜:20260909 : PC에서 왼쪽 탐색 패널과 나머지 전체 지도로 화면 공간을 사용 */
@media(min-width:1001px) {
 .care-map-page { overflow:hidden; --care-desktop-sidebar:400px; }
 .care-map-page .page-head,.care-map-page .stats,.care-map-page .source-note,.care-map-page .ad-zone,.care-map-page .care-view-switch { display:none; }
 .care-map-page .category-nav { position:fixed; inset:0 0 auto 68px; height:52px; z-index:180; } /* SOFTM-WORKSPACE-BACK-VISIBLE 날짜:20260911 : 뒤쪽 PC 규칙이 이전 버튼의 왼쪽 공간을 덮지 않도록 유지 */
 .care-map-page .category-inner { justify-content:flex-start; padding:4px 12px; }
 .care-map-page .category-nav a { padding:8px 12px; font-size:14px; }
 .care-map-page .wrap { max-width:none; margin:0; padding:0; }
 .care-map-page .care-workspace-tabs { position:fixed; top:52px; left:0; width:var(--care-desktop-sidebar); height:64px; z-index:170; margin:0; padding:6px; border-radius:0; border-width:0 1px 1px 0; }
 .care-map-page .care-workspace-tabs button { min-height:0; padding:6px; gap:6px; font-size:15px; }
 .care-map-page .care-tab-hint,.care-map-page .care-workspace-tabs .care-layout-toggle { display:none; }
 .care-map-page .care-workspace-tabs { grid-template-columns:1fr; }
 .care-map-page .filters { position:fixed; top:116px; left:0; width:var(--care-desktop-sidebar); height:68px; z-index:171; box-sizing:border-box; margin:0; padding:10px; border-radius:0; border-width:0 1px 1px 0; background:#fff; }
 .care-map-page .filter-grid { grid-template-columns:minmax(0,1fr) 54px 76px; gap:6px; }
 .care-map-page .filter-grid #q,.care-map-page .filter-grid .search-btn { grid-column:auto; min-width:0; width:100%; }
 .care-map-page .filter-grid .search-btn { padding:0 8px; }
 .care-map-page .care-mobile-search,.care-map-page .care-mobile-filter-toggle { display:block; }
 .care-map-page .care-mobile-filter-toggle { padding:0 6px; border:1px solid #bccde0; border-radius:10px; background:#f3f7fc; color:#21476e; font-size:12px; cursor:pointer; }
 .care-map-page:not(.care-mobile-filters-open) .filters > :not(.filter-grid),.care-map-page:not(.care-mobile-filters-open) .filter-grid select { display:none; }
 .care-map-page.care-mobile-filters-open .filters { height:auto; max-height:calc(100dvh - 130px); overflow:auto; box-shadow:0 12px 28px #172c4340; }
 .care-map-page .filters .care-search-heading { display:none; }
 .care-map-page.care-mobile-filters-open .filter-grid #province,.care-map-page.care-mobile-filters-open .filter-grid #city { grid-column:1/-1; }
 .care-map-page .layout { position:fixed!important; inset:52px 0 0!important; display:grid!important; grid-template-columns:var(--care-desktop-sidebar) minmax(0,1fr)!important; gap:0!important; padding:0!important; height:auto!important; align-items:stretch; }
 .care-map-page .layout > .results { grid-column:1; grid-row:1; position:relative!important; top:132px!important; height:calc(100% - 132px)!important; min-height:0; max-height:none; display:flex; flex-direction:column; border-radius:0; border-width:0 1px 0 0; padding:0; overflow:hidden; }
 .care-map-page .layout #list { flex:1; min-height:0; height:auto!important; max-height:none; overflow-y:auto; overscroll-behavior:contain; }
 /** SOFTM-DESKTOP-LIST-PHOTO START 날짜:20260910 : PC 기관 목록에서도 좁은 사이드바의 내용 공간을 유지하며 대표사진을 함께 확인 */
 .care-map-page[data-care-workspace="search"] .care-result-photo { float:right; display:grid; place-items:center; width:76px; height:76px; margin:0 0 8px 10px; border-radius:12px; overflow:hidden; background:#e9eef2; color:#647487; font-size:11px; text-align:center; }
 .care-map-page[data-care-workspace="search"] .care-result-photo img { width:100%; height:100%; object-fit:cover; }
 .care-map-page[data-care-workspace="search"] .care-row-actions { clear:both; margin-top:8px; }
 /** SOFTM-DESKTOP-LIST-PHOTO END */
 .care-map-page .list-head,.care-map-page .result-head { padding:10px 12px; }
 .care-map-page .list-head h2,.care-map-page .result-head h2 { font-size:16px; margin:0; }
 .care-map-page .select-tools { margin:0; padding:8px 12px; }
 .care-map-page .select-tools label { margin:0; padding:4px; }
 .care-map-page .layout > .map-card { grid-column:2; grid-row:1; position:relative!important; top:0!important; height:100%!important; min-height:0; display:flex; flex-direction:column; border:0; border-radius:0; padding:0; overflow:hidden; }
 .care-map-page .map-wrap { flex:1; min-height:0; height:auto!important; border:0; border-radius:0; }
 .care-map-page #naverMap { width:100%; height:100%!important; min-height:0; max-height:none; }
 .care-map-page .map-head,.care-map-page .map-toolbar { padding:6px 14px; margin:0; }
 .care-map-page .map-card > .map-note,.care-map-page .map-card > .route-note,.care-map-page .results > .route-note,.care-map-page .route-tools > p { display:none; }
 .care-map-page .layout > .care-saved-panel { grid-column:1; grid-row:1; position:relative!important; top:64px!important; height:calc(100% - 64px)!important; min-height:0; overflow-y:auto; border-radius:0; margin:0; }
 .care-map-page .care-saved-dock { display:none!important; }
 .care-map-page .row.care-scroll-active { background:#edf5ff; box-shadow:inset 4px 0 #2777df; }
 .care-map-page .row { padding:14px 12px; }
}
@media(min-width:1600px) { .care-map-page { --care-desktop-sidebar:440px; } }
/** SOFTM-DESKTOP-MAP END */

/** SOFTM-LANDSCAPE START 날짜:20260909 : 휴대폰 가로 화면의 낮은 높이를 지도·목록 좌우 배치로 활용 */
@media(max-width:1000px) and (orientation:landscape) {
 .care-map-page[data-care-workspace="search"] { --care-landscape-panel:44%; }
 .care-map-page[data-care-workspace="search"] .filters { width:var(--care-landscape-panel); left:0; right:auto; padding-left:max(8px,env(safe-area-inset-left)); }
 .care-map-page[data-care-workspace="search"] .filter-grid { grid-template-columns:minmax(0,1fr) 48px 70px; gap:4px; }
 .care-map-page[data-care-workspace="search"] .filter-grid .search-btn { padding:0 6px; }
 .care-map-page[data-care-workspace="search"].care-mobile-filters-open .filters { max-height:calc(100dvh - 52px); }
 .care-map-page[data-care-workspace="search"] .layout { inset:0!important; grid-template-columns:var(--care-landscape-panel) minmax(0,1fr)!important; grid-template-rows:minmax(0,1fr)!important; }
 .care-map-page[data-care-workspace="search"] .layout > .map-card { grid-column:2; grid-row:1; height:100%; padding-right:env(safe-area-inset-right); }
 .care-map-page[data-care-workspace="search"] .layout > .results { grid-column:1; grid-row:1; top:64px!important; height:calc(100% - 116px - env(safe-area-inset-bottom)); border-radius:0; border-right:1px solid #d7e1ec; padding-left:env(safe-area-inset-left); }
 .care-map-page[data-care-workspace="search"] .care-sheet-handle,.care-map-page[data-care-workspace="search"] .care-sheet-map-button,.care-map-page[data-care-workspace="search"] .care-sheet-back { display:none!important; }
 .care-map-page[data-care-workspace="search"] .care-workspace-tabs { width:var(--care-landscape-panel); left:0; right:auto; min-height:52px; height:calc(52px + env(safe-area-inset-bottom)); padding-left:max(6px,env(safe-area-inset-left)); }
 .care-map-page[data-care-workspace="search"] .care-workspace-tabs button { min-height:40px; padding:4px; font-size:13px; }
 .care-map-page[data-care-workspace="search"] .care-result-photo { width:64px; height:64px; }
 .care-map-page[data-care-workspace="search"] .list-head,.care-map-page[data-care-workspace="search"] .result-head { padding:6px 8px; gap:4px; }
 .care-map-page[data-care-workspace="search"] .list-head h2,.care-map-page[data-care-workspace="search"] .result-head h2 { font-size:14px; }
 .care-map-page[data-care-workspace="search"] .care-sort-trigger { font-size:12px; padding:6px 8px; }
 .care-map-page[data-care-workspace="search"] .map-head { padding:0 8px; }
}
/** SOFTM-LANDSCAPE END */

/** SOFTM-MOBILE-LIST-DENSITY START 날짜:20260926 : 휴대폰 목록에서 대표사진이 긴 기관명과 주소의 읽는 폭을 과도하게 줄이지 않도록 카드 안 여백과 사진 크기를 조정 */
@media(max-width:1000px) and (orientation:portrait) {
 .care-map-page[data-care-workspace="search"] .row { padding:12px 10px; }
 .care-map-page[data-care-workspace="search"] .care-result-photo { width:58px; height:58px; margin:0 0 6px 8px; border-radius:10px; }
 .care-map-page[data-care-workspace="search"] .care-row-actions { margin-top:6px; }
}
/** SOFTM-MOBILE-LIST-DENSITY END */

/* SOFTM-ROUTE-ERROR-ALERT START 날짜:20260909 : 가로·세로 및 PC 화면에서 오류가 목록 스크롤 밖으로 밀리지 않도록 고정 */
.care-route-error-alert { position:fixed; z-index:12000; top:max(16px, env(safe-area-inset-top)); left:50%; transform:translateX(-50%); width:min(560px, calc(100% - 32px)); box-sizing:border-box; display:flex; align-items:flex-start; gap:12px; padding:18px; border:1px solid #dbac96; border-radius:16px; background:#fff8f2; color:#893818; box-shadow:0 8px 32px #17324d40; max-height:calc(100dvh - 32px); overflow:auto; }
.care-route-error-alert[hidden] { display:none; }
.care-route-error-alert > div { flex:1; min-width:0; }
.care-route-error-alert strong { font-size:17px; line-height:1.5; }
.care-route-error-alert p { margin:8px 0 0; font-size:15px; line-height:1.6; overflow-wrap:anywhere; }
.care-route-error-alert button { flex:none; min-width:44px; min-height:44px; padding:4px; border:0; border-radius:8px; background:transparent; color:inherit; font-size:28px; cursor:pointer; }
/* SOFTM-ROUTE-ERROR-ALERT END */
/* SOFTM-FILTER-HIERARCHY START 날짜:20260910 : 기본 평가조건의 높이를 줄이고 상세조건을 별도 선택 단계로 분명하게 표시 */
.care-map-page .filters .filter-lines { margin-top:10px; padding:10px; border:1px solid #dce5ef; border-radius:12px; background:#f8fafc; display:grid; gap:8px; }
.care-map-page .filters .filter-line { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; margin:0; padding:0; border:0; }
.care-map-page .filters .filter-line + .filter-line { padding-top:8px; border-top:1px solid #e2e9f1; }
.care-map-page .filters .filter-line strong { grid-column:1/-1; min-width:0; margin:0; font-size:12px; line-height:1.35; color:#53647a; }
.care-map-page .filters .filter-line .seg { min-width:0; min-height:34px; padding:5px 3px; border-radius:8px; font-size:12px; line-height:1.3; font-weight:650; white-space:nowrap; }
.care-map-page .filters .confidence-line { grid-template-columns:repeat(4,minmax(0,1fr)); }
.care-map-page .care-extra-filters { margin:10px 0 2px; overflow:hidden; border:1px solid #b9d0e7; border-radius:12px; background:#fff; box-shadow:0 3px 12px #174a7812; }
.care-map-page .care-extra-filters > summary { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:10px; min-height:58px; padding:9px 12px; list-style:none; color:#173f6b; cursor:pointer; }
.care-map-page .care-extra-filters > summary::-webkit-details-marker { display:none; }
.care-extra-icon { display:grid; place-items:center; width:34px; height:34px; border-radius:10px; background:#e5f1ff; color:#1767bd; }
.care-extra-icon::before { content:'＋'; font-size:22px; font-weight:500; line-height:1; }
.care-extra-copy { display:block; min-width:0; }
.care-extra-copy strong { display:block; font-size:15px; line-height:1.35; }
.care-extra-copy small { display:block; margin-top:2px; color:#60758a; font-size:12px; font-weight:500; line-height:1.35; overflow-wrap:anywhere; }
.care-extra-action { color:#1767bd; font-size:12px; font-weight:750; white-space:nowrap; }
.care-extra-action::before { content:'펼쳐보기 ›'; }
.care-extra-filters[open] > summary { border-bottom:1px solid #dce6f0; background:#f4f8fd; }
.care-extra-filters[open] .care-extra-icon::before { content:'−'; }
.care-extra-filters[open] .care-extra-action::before { content:'접기 ∧'; }
@media(max-width:1000px) and (orientation:portrait) { .care-map-page[data-care-workspace="search"].care-mobile-filters-open .filters { max-height:calc(100dvh - 58px - env(safe-area-inset-bottom,0px)); } }
.care-map-page.care-mobile-filters-open .filters .filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.care-map-page.care-mobile-filters-open .filters .filter-grid .care-voice-input { grid-column:1/-1; grid-row:1; }
.care-map-page.care-mobile-filters-open .filters .filter-grid #province { grid-column:1; grid-row:2; }
.care-map-page.care-mobile-filters-open .filters .filter-grid #city { grid-column:2; grid-row:2; }
.care-map-page.care-mobile-filters-open .filters .filter-grid .search-btn { grid-column:1; grid-row:3; }
.care-map-page.care-mobile-filters-open .filters .filter-grid .care-mobile-filter-toggle { grid-column:2; grid-row:3; white-space:nowrap; }
.care-map-page.care-mobile-filters-open .filters .filter-grid select { width:100%; min-width:0; box-sizing:border-box; font-size:14px; padding:8px; }
.care-map-page.care-mobile-filters-open .filters .filter-grid input,.care-map-page.care-mobile-filters-open .filters .filter-grid button,.care-map-page.care-mobile-filters-open .filters .filter-grid select { min-height:44px; }
/* SOFTM-FILTER-HIERARCHY END */

/* SOFTM-FILTER-CLOSE START 날짜:20260910 : 펼친 조건은 상단 닫기와 바깥 영역으로 닫고 조회를 유일한 하단 실행으로 표시 */
.care-filter-panel-head,.care-filter-backdrop { display:none; }
.care-map-page.care-mobile-filters-open .filters { z-index:186; box-shadow:0 14px 34px #172c4340; }
.care-map-page.care-mobile-filters-open .care-filter-panel-head { position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:12px; margin:-2px -2px 10px; padding:2px 2px 10px; border-bottom:1px solid #dce6f0; background:#fff; }
.care-filter-panel-head strong { color:#172c43; font-size:18px; line-height:1.4; }
.care-filter-panel-close { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid #ccd9e7; border-radius:50%; background:#f4f7fb; color:#284966; font:400 30px/1 sans-serif; cursor:pointer; }
.care-filter-panel-close:hover { background:#e8f1fb; color:#175cb5; }
.care-filter-panel-close:focus-visible { outline:3px solid #78aef0; outline-offset:2px; }
.care-filter-backdrop:not([hidden]) { position:fixed; inset:0; z-index:185; display:block; width:100%; height:100%; margin:0; padding:0; border:0; border-radius:0; background:#132b4555; cursor:pointer; }
.care-map-page.care-mobile-filters-open .filters .filter-grid .care-mobile-filter-toggle { display:none; }
.care-map-page.care-mobile-filters-open .filters .filter-grid .search-btn { grid-column:1/-1; grid-row:3; }
/* SOFTM-FILTER-CLOSE END */

/* SOFTM-CARE-INSIGHTS START 날짜:20260910 : 좁은 목록 패널에서도 긴 기관명과 근거·상담 질문을 잘림 없이 읽도록 표시 */
.care-insights { margin:16px 0; border:1px solid #bed2e8; border-radius:14px; background:#f3f8ff; min-width:0; }
.care-insights[hidden] { display:none; }
.care-insights > summary { padding:16px; cursor:pointer; font-weight:750; color:#204f83; min-height:44px; box-sizing:border-box; }
.care-insights > summary span { display:block; margin:5px 0 0 18px; font-size:12px; font-weight:400; color:#52657a; }
.care-insight-content { padding:0 14px 14px; overflow-wrap:anywhere; font-size:14px; line-height:1.7; }
.care-insight-content h3 { font-size:16px; margin:4px 0 10px; }
.care-insight-content ul { margin:8px 0; padding-left:20px; }
.care-insight-content li + li { margin-top:8px; }
.care-insight-card { padding:14px; margin-top:12px; background:#fff; border:1px solid #dce5ef; border-radius:10px; min-width:0; }
.care-insight-card h4 { margin:0; font-size:15px; color:#203c5a; }
.care-insight-card details { border-top:1px solid #e5ebf2; margin-top:12px; padding-top:6px; }
.care-insight-card summary { cursor:pointer; padding:10px 0; color:#24558a; font-weight:650; }
.care-insight-card button { min-height:44px; margin-top:8px; }
.care-insight-source { font-size:12px; color:#53647a; margin:14px 0 0; }
.care-insights summary:focus-visible { outline:3px solid #246cd0; outline-offset:2px; border-radius:8px; }
/* SOFTM-CARE-INSIGHTS END */

/** SOFTM-SAVED-SCROLL START 날짜:20260910 : 담은 기관에서도 스크롤 선택과 마지막 카드 접근을 명확하게 표시 */
.care-basket-item.care-scroll-active { background:#edf5ff; border-color:#8bb7eb; box-shadow:inset 4px 0 #2777df; }
.care-saved-scroll-tail { flex:none; list-style:none; pointer-events:none; }
/** SOFTM-SAVED-SCROLL END */

/* SOFTM-BRIEF-READABILITY START 날짜:20260910 : 좁은 비교 패널에서도 항목명·값·질문을 구분하고 충분한 행간을 확보 */
.care-insights { background:#f6f8fb; border-color:#d6e1ee; }
.care-insights > summary { font-size:18px; line-height:1.5; padding:18px 16px; }
.care-insights > summary span { font-size:13px; line-height:1.6; }
.care-insight-content { padding:0 12px 16px; font-size:15px; line-height:1.75; word-break:normal; overflow-wrap:anywhere; }
.care-insight-intro { padding:16px; border-radius:12px; background:#eaf2ff; color:#254562; }
.care-insight-content .care-insight-intro h3 { font-size:16px; margin:0 0 12px; color:#173f70; }
.care-insight-intro ul { margin:0; padding-left:18px; }
.care-insight-content .care-insight-intro li + li { margin-top:12px; }
.care-insight-card { margin-top:16px; padding:16px; border-radius:12px; }
.care-insight-card h4 { display:flex; align-items:flex-start; gap:10px; font-size:17px; line-height:1.6; }
.care-insight-number { flex:none; display:grid; place-items:center; width:28px; height:28px; background:#eaf2ff; color:#245a93; border-radius:8px; font-size:14px; }
.care-insight-facts { margin:16px 0 0; }
.care-insight-facts > div { display:grid; grid-template-columns:72px minmax(0,1fr); gap:10px; padding:12px 0; border-top:1px solid #edf0f4; }
.care-insight-facts dt { font-size:13px; font-weight:650; color:#5c6e81; }
.care-insight-facts dd { margin:0; color:#20364d; min-width:0; }
.care-insight-facts .care-insight-fact-note { display:block; padding:12px; background:#f7f9fc; border-radius:8px; font-size:13px; }
.care-insight-fact-note dt { margin-bottom:4px; }
.care-insight-card details { margin-top:8px; padding-top:4px; }
.care-insight-card summary { font-size:14px; line-height:1.6; }
.care-insight-questions { padding-left:24px; margin:8px 0 16px; }
.care-insight-questions li { padding-left:4px; }
.care-insight-questions li::marker { color:#2462a4; font-weight:750; }
.care-insight-card .care-saved-detail { width:100%; border:1px solid #c9d9eb; border-radius:8px; background:#f4f8ff; text-align:center; padding:10px; }
.care-insight-source { padding:14px 4px 0; border-top:1px solid #dce4ee; margin-top:20px; line-height:1.8; color:#596b7d; }
/* SOFTM-BRIEF-READABILITY END */

/** SOFTM-ORIGIN-COMPACT START 날짜:20260911 : 출발지 입력의 세로 분리를 줄이면서 주소·검색·터치 영역을 유지 */
.care-map-page .care-origin{padding:10px 12px;margin:12px 0;border-radius:10px}
.care-map-page .care-origin-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.care-map-page .care-origin-head strong{font-size:15px;line-height:1.4}
.care-map-page .care-origin-head button{min-height:36px;padding:6px 10px;font-size:13px;white-space:nowrap}
.care-map-page .care-origin-form{margin:0}
.care-map-page .care-origin .care-origin-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.care-map-page .care-origin-form>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:stretch}
.care-map-page .care-origin-form input{width:100%;min-height:44px;padding:9px 10px;font-size:16px;box-sizing:border-box}
.care-map-page .care-origin-form button{width:auto;min-height:44px;padding:8px 10px;font-size:13px;white-space:nowrap}
.care-map-page .care-origin-selection{margin:8px 0 0;padding:7px 9px;font-size:12px;line-height:1.5;border-radius:6px}
.care-map-page .care-origin-status{margin:8px 0 0;font-size:13px;line-height:1.5}
.care-map-page .care-origin-candidates{margin:8px 0 0}
@media(pointer:coarse){.care-map-page .care-origin-head button{min-height:44px}}
/** SOFTM-ORIGIN-COMPACT END */

/** SOFTM-ROUTE-OPTIMIZE START 날짜:20260911 : 최적화 선택과 실제 순서 변경 결과를 작은 화면에서도 한 흐름으로 확인 */
.care-map-page .care-route-optimize{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;padding:11px 12px;border:1px solid #b9cee6;border-radius:10px;background:#f5f9ff;color:#17324d;cursor:pointer}
.care-map-page .care-route-optimize input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:#1765c1}
.care-map-page .care-route-optimize span{display:grid;gap:3px;min-width:0;line-height:1.45}
.care-map-page .care-route-optimize b{font-size:15px}
.care-map-page .care-route-optimize small{color:#52657b;font-size:12px;overflow-wrap:anywhere}
.care-map-page .care-route-optimize:has(input:checked){border-color:#4a8bd5;background:#eaf4ff;box-shadow:inset 3px 0 #1765c1}
.care-route-order-change{margin-top:12px;padding:12px;border:1px solid #8eb8e5;border-radius:10px;background:#fff;color:#17324d;overflow-wrap:anywhere}
.care-route-order-change strong{display:block;color:#175cb5;font-size:15px;line-height:1.5}
.care-route-order-change dl{display:grid;gap:8px;margin:10px 0}
.care-route-order-change dl>div{display:grid;grid-template-columns:58px minmax(0,1fr);gap:8px}
.care-route-order-change dt{font-size:12px;font-weight:800;color:#52657b}
.care-route-order-change dd,.care-route-order-change p{margin:0;font-size:13px;line-height:1.65}
.care-route-order-change small{display:block;color:#617185;font-size:11px;line-height:1.5}
@media(max-width:380px){.care-route-order-change dl>div{grid-template-columns:1fr;gap:2px}}
/** SOFTM-ROUTE-OPTIMIZE END */

/** SOFTM-LOCATION-FIT START 날짜:20260911 : 긴 위치명이 제목과 버튼을 밀거나 지도 헤더 높이를 늘리지 않도록 폭을 제한 */
.care-map-page[data-care-workspace="search"] .map-head{flex-wrap:nowrap;min-width:0}
.care-map-page[data-care-workspace="search"] .map-head .map-title{display:flex;align-items:center;flex:1 1 0;min-width:0;width:auto;overflow:hidden}
.care-map-page[data-care-workspace="search"] .map-title h2{flex:0 1 auto;min-width:0;max-width:48%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.care-map-page[data-care-workspace="search"] .map-title #areaBadge{flex:1 1 0;min-width:0;max-width:100%;white-space:nowrap;overflow-x:auto}
.care-map-page[data-care-workspace="search"] .map-head-actions{flex:none}
/** SOFTM-LOCATION-FIT END */

/** SOFTM-LOCATION-HELP START 날짜:20260914 : 기기 선택과 단일 설정 경로로 안내 높이를 줄여 모바일 내부 스크롤을 제거 */
dialog.care-location-notice > [role="status"] { padding-right:58px; }
.care-location-dismiss { position:absolute; top:14px; right:14px; min-width:48px; min-height:40px; border:1px solid #d9c8af; border-radius:999px; background:#fff; color:#654b2c; font-size:13px; font-weight:750; cursor:pointer; }
.care-location-help { display:grid; gap:8px; margin:9px 0; }
.care-location-help-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.care-location-help-options button { min-width:0; min-height:40px; padding:6px 4px; border:1px solid #d9c8af; border-radius:8px; background:#fff; color:#654b2c; font-size:13px; font-weight:750; line-height:1.25; cursor:pointer; }
.care-location-help-options button[aria-pressed="true"] { border-color:#9d7547; background:#f4e7d5; box-shadow:inset 0 0 0 1px #9d7547; }
.care-location-help section { padding:10px 12px; border:1px solid #eadfce; border-radius:10px; background:#fff; }
.care-location-help section[hidden] { display:none; }
.care-location-help h3 { margin:0 0 4px; font-size:14px; line-height:1.35; }
.care-location-help p { margin:2px 0 0; line-height:1.45; word-break:keep-all; overflow-wrap:break-word; }
.care-location-help p:last-child { color:#76644e; font-size:13px; }
dialog.care-location-notice .care-location-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:8px; }
dialog.care-location-notice .care-location-actions button { width:100%; }
@media(max-width:600px), (max-height:700px) {
 dialog.care-location-notice { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); padding:16px; border-radius:16px; }
 dialog.care-location-notice > [role="status"] { padding-right:52px; }
 dialog.care-location-notice strong { font-size:17px; line-height:1.4; }
 dialog.care-location-notice > [role="status"] p { margin:4px 0 7px; font-size:14px; line-height:1.45; }
 dialog.care-location-notice summary { padding:4px 0; font-size:14px; line-height:1.4; }
 dialog.care-location-notice details > p { margin:4px 0 7px; font-size:13px; line-height:1.45; }
 .care-location-dismiss { top:10px; right:10px; min-width:44px; min-height:36px; }
 .care-location-help { gap:6px; margin:7px 0; }
 .care-location-help-options { gap:4px; }
 .care-location-help-options button { min-height:36px; font-size:12px; }
 .care-location-help section { padding:8px 10px; }
 .care-location-help h3 { font-size:14px; }
 .care-location-help p { font-size:13px; line-height:1.4; }
 .care-location-help p:last-child { font-size:13px; }
 dialog.care-location-notice .care-location-actions button { min-height:44px; padding:6px; font-size:13px; line-height:1.3; }
}
/** SOFTM-LOCATION-HELP END */

/** SOFTM-MAP-STATUS-READABILITY START 날짜:20260914 : 위치 실패와 조회 상태를 PC·모바일 지도에서 작거나 잘린 문구로 놓치지 않도록 확대 */
.care-map-page .map-wrap > .map-status { padding:13px 16px; font-size:15px; line-height:1.55; }
.care-map-page .map-wrap > .map-status b { font-size:16px; line-height:1.45; }
.care-map-page .map-title .area-badge { font-size:14px; line-height:1.45; }
.care-map-page .map-toolbar .map-status { padding:8px 11px; font-size:14px; line-height:1.45; }
.care-map-page .map-scope-badge .scope-label { font-size:12px; }
.care-map-page .map-scope-badge strong { font-size:15px; line-height:1.45; }
.care-map-page .map-scope-badge .scope-meta,.care-map-page .progress-label { font-size:12px; line-height:1.45; }
.care-map-page .toast { font-size:15px; line-height:1.55; }
.care-location-notice strong { font-size:19px; }
.care-location-notice p,.care-location-notice summary { font-size:16px; }
.care-location-actions button { font-size:15px; }
.care-location-help h3 { font-size:16px; }
.care-location-help p:last-child { font-size:15px; }
@media(max-width:1000px) {
 .care-map-page[data-care-workspace="search"] .map-wrap > .map-status { max-width:min(78%,420px); max-height:none; overflow:visible; padding:13px 15px; font-size:15px; line-height:1.5; }
 .care-map-page[data-care-workspace="search"] .map-wrap > .map-status b { font-size:16px; }
 .care-map-page[data-care-workspace="search"] .map-title .area-badge { font-size:16px; }
}
/** SOFTM-MAP-STATUS-READABILITY END */

/** SOFTM-FILTER-BADGE START 날짜:20260914 : 적용된 조건을 검색조건 버튼 안의 짧은 상태 배지로 즉시 구분 */
.care-map-page .care-mobile-filter-toggle { align-items:center; justify-content:center; flex-direction:column; gap:3px; line-height:1.1; }
.care-map-page .care-mobile-filter-toggle .care-filter-toggle-label { display:block; white-space:nowrap; }
.care-map-page .care-filter-state-badge { display:inline-flex; align-items:center; justify-content:center; min-height:16px; padding:2px 5px; border-radius:999px; background:#1765c1; color:#fff; font-size:10px; font-weight:850; line-height:1; white-space:nowrap; }
.care-map-page .care-filter-state-badge[hidden] { display:none; }
.care-map-page .care-mobile-filter-toggle.has-active-filters { border-color:#4387d5; background:#e8f3ff; color:#174f91; box-shadow:inset 0 0 0 1px #8fb9e8; }
@media(max-width:1000px) {
 .care-map-page[data-care-workspace="search"] .care-mobile-filter-toggle { display:flex; }
}
/** SOFTM-FILTER-BADGE END */

/** SOFTM-MOBILE-LIST-GAPS START 날짜:20260926 : 좁은 화면의 검색 조건과 결과 제목 사이에 남는 장식 여백을 줄여 첫 기관 카드가 더 빨리 보이게 조정 */
@media(max-width:1000px) and (orientation:portrait) {
 .care-map-page.care-mobile-filters-open .filters { padding:6px 12px 8px; }
 .care-map-page.care-mobile-filters-open .filters .filter-grid { gap:6px; }
 .care-map-page.care-mobile-filters-open .care-filter-panel-head { margin-bottom:6px; padding-bottom:6px; }
 .care-map-page[data-care-workspace="search"] .list-head { padding:6px 12px 4px; }
 .care-map-page[data-care-workspace="search"] .select-tools { padding:4px 12px 6px; }
 .care-map-page[data-care-workspace="search"] .care-sheet-handle { flex-basis:50px; height:50px; min-height:50px; padding-bottom:5px; }
}
/** SOFTM-MOBILE-LIST-GAPS END */

/** SOFTM-SELECTED-PRESERVE START 날짜:20260914 : 마커의 원래 형태를 유지하고 확대와 외곽선만으로 선택 구분 */
.care-map-page .care-mobile-active-marker{transform:scale(1.5);filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 3px #175cb5)}
.care-map-page .care-mobile-active-marker .map-marker,.care-map-page .care-mobile-active-marker .marker-pin{outline:2px solid #fff;box-shadow:0 0 0 2px #175cb5!important}
/** SOFTM-SELECTED-PRESERVE END */

/** SOFTM-POPUP-SAVED START 날짜:20260917 : 좁은 팝업에서도 담기와 담은 목록 이동을 구분하고 충분한 터치 영역을 제공 */
.care-map-page .care-popup-basket-action { flex-wrap:wrap; }
.care-map-page .care-popup-basket-action .care-popup-saved { order:3; flex:0 0 100%; width:100%; min-height:44px; margin:0; padding:9px 12px; border:1px solid #b8dcd6; border-radius:10px; background:#e6f5f1; color:#004541; font:inherit; font-size:14px; font-weight:700; cursor:pointer; }
.care-map-page .care-popup-saved:focus-visible { outline:3px solid #268c80; outline-offset:2px; }
/** SOFTM-POPUP-SAVED END */

/** SOFTM-MARKER-NAME START 날짜:20260926 : 회전하는 핀과 이름을 분리해 긴 기관명도 수평으로 읽도록 표시 */
.care-map-page .care-named-marker { position:relative; width:32px; height:32px; }
.care-map-page .marker-name { position:absolute; left:50%; bottom:calc(100% + 7px); transform:translateX(-50%); width:max-content; max-width:180px; padding:4px 7px; border:1px solid #b8c9d9; border-radius:6px; background:#fff; color:#183550; font-size:12px; font-weight:700; line-height:1.35; text-align:center; white-space:normal; overflow-wrap:anywhere; box-shadow:0 2px 5px #14283e26; }
.care-map-page .care-mobile-active-marker .marker-name { border-color:#175cb5; color:#175cb5; }
/** SOFTM-MARKER-NAME END */

/** SOFTM-ROW-GROUP START 날짜:20261007 : 담기와 보기를 동일한 폭으로 묶어 카드 아래 탐색 없이 접근 */
body.stitch-desktop.care-map-page .row .care-row-actions > .care-row-save-group { grid-column:1; grid-row:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); min-width:0; border-radius:8px; background:#e6eeff; }
body.stitch-desktop.care-map-page .row .care-row-save-group > button { width:100%; min-width:0; min-height:44px; margin:0; padding:8px 3px; border:0; border-radius:0; background:#e6eeff; color:#004541; font-size:13px; font-weight:700; cursor:pointer; }
body.stitch-desktop.care-map-page .row .care-row-save-group > button:first-child { border-radius:8px 0 0 8px; }
body.stitch-desktop.care-map-page .row .care-row-save-group > button:last-child { border-left:1px solid #b8cfcf; border-radius:0 8px 8px 0; }
body.stitch-desktop.care-map-page .row .care-row-save-group > button[aria-pressed="true"] { background:#004541; color:#fff; }
body.stitch-desktop.care-map-page .row .care-row-save-group > button:focus-visible { outline:2px solid #176d60; outline-offset:-3px; }
/** SOFTM-ROW-GROUP END */

/** SOFTM-ROW-ICONS START 날짜:20261007 : 짧은 담기·보기 버튼을 모양으로 구분하고 상태 갱신에도 아이콘 유지 */
body.stitch-desktop.care-map-page .row .care-row-save-group > button { display:flex; align-items:center; justify-content:center; gap:4px; white-space:nowrap; }
body.stitch-desktop.care-map-page .row .care-row-save-group > button::before { content:""; width:15px; height:15px; flex:0 0 15px; background:currentColor; mask:center / contain no-repeat var(--care-row-icon); }
body.stitch-desktop.care-map-page .row .care-row-save-group > button:first-child { --care-row-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h12v18l-6-4-6 4Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); }
body.stitch-desktop.care-map-page .row .care-row-save-group > button[aria-pressed="true"] { --care-row-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 3h12v18l-6-4-6 4Z' fill='black'/%3E%3C/svg%3E"); }
body.stitch-desktop.care-map-page .row .care-row-save-group > button:last-child { --care-row-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6h12M9 12h12M9 18h12M3 6h1M3 12h1M3 18h1' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E"); }
/** SOFTM-ROW-ICONS END */
