/* 공통 디자인 시스템 — 메인 style.css를 그대로 불러온 뒤 세 페이지에서 재사용합니다.
   색상/카드/아이콘/버튼 변경은 이 파일에서 한 번만 수정하세요. */
:root{--ui-navy:#102d4b;--ui-mint:#00879a;--ui-mint-dark:#006c80;--ui-mint-soft:#eaf8f7;--ui-blue-soft:#edf5ff;--ui-paper:#fff;--ui-page:#f5fbfb;--ui-muted:#647793;--ui-line:#e3edf1;--ui-shadow:0 7px 22px #153d4e08;--ui-shadow-hover:0 13px 30px #17475812;--ui-radius:22px;--ui-radius-small:14px;--ui-danger:#ce435c}
[hidden]{display:none!important}
:is(.results-page,.carehome-page,.error-page){color:var(--ui-navy);background:var(--ui-page);font-family:"Noto Sans KR",system-ui,sans-serif}
.ui-icon{display:inline-block;flex-shrink:0;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.ui-heading-icon{display:grid;place-items:center;flex-shrink:0;width:54px;height:54px;border:1px solid #dcefed;border-radius:17px;background:var(--ui-mint-soft);color:var(--ui-mint)}
.ui-heading-icon .ui-icon{width:28px;height:28px}
.ui-surface,.results-page .care-card,.carehome-page :is(.info-section,.location-section,.nearby-section),.error-page .error-card{border:1px solid var(--ui-line);border-radius:var(--ui-radius);background:var(--ui-paper);box-shadow:var(--ui-shadow)}
:is(.results-page,.carehome-page,.error-page) :is(.outline-button,.ui-button){display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dce6ef;background:white;color:var(--ui-mint-dark);border-radius:999px;padding:10px 17px;font-size:.82rem;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap;min-height:42px}
:is(.results-page,.carehome-page,.error-page) .outline-button:hover{background:var(--ui-mint-soft);border-color:#acdcd8}
:is(.results-page,.carehome-page,.error-page) :focus-visible{outline:3px solid #00a8c6;outline-offset:4px}
:is(.results-page,.carehome-page,.error-page) .skip-link{border-color:var(--ui-mint)}
:is(.results-page,.carehome-page) .search-inner{padding-top:25px;padding-bottom:24px}
:is(.results-page,.carehome-page) .search-section :is(h1,h2){font-size:1.7rem;line-height:1.3;margin-bottom:10px}
:is(.results-page,.carehome-page) .hero-accent{display:inline;font-size:1em;margin-left:8px}
:is(.results-page,.carehome-page) .hero-description{font-size:.88rem;margin-bottom:16px}
:is(.results-page,.carehome-page) .hero-description br{display:none}
:is(.results-page,.carehome-page) .service-shortcuts{margin-top:17px}
:is(.results-page,.carehome-page) .service-tile{min-height:78px}
.ui-status{padding:22px;text-align:center;color:var(--ui-muted);font-size:.9rem;border:1px solid var(--ui-line);border-radius:var(--ui-radius-small);background:white;overflow-wrap:anywhere}
.ui-status-error{background:#fff3f4;color:#9e3048;border-color:#f1d8df}
:is(.results-page,.carehome-page) :is(.grade,.tag){border-radius:999px;font-size:.74rem;font-weight:600;padding:5px 11px;line-height:1.3}
:is(.results-page,.carehome-page) .grade-a{background:#e2f6ee;color:#157556}
:is(.results-page,.carehome-page) .grade-b{background:#fff2df;color:#a75f0c}
:is(.results-page,.carehome-page) .grade-c{background:#f4eaff;color:#8551a7}
:is(.results-page,.carehome-page) .grade-d{background:#ffe9ec;color:#b13d54}
:is(.results-page,.carehome-page) .grade-e{background:#ebedff;color:#5b5a9b}
@media(max-width:700px){:root{--ui-radius:18px;--ui-radius-small:12px}.ui-heading-icon{width:44px;height:44px;border-radius:14px}.ui-heading-icon .ui-icon{width:23px;height:23px}:is(.results-page,.carehome-page) .search-section :is(h1,h2){font-size:1.35rem}:is(.results-page,.carehome-page) .hero-accent{margin-left:0;display:block}:is(.results-page,.carehome-page) .search-inner{padding-top:22px}:is(.results-page,.carehome-page) .hero-description{font-size:.79rem}:is(.results-page,.carehome-page) .service-tile{min-height:72px}.ui-status{padding:20px 14px;font-size:.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{transition:none!important;animation:none!important}}
/* 작은 휴대폰에서도 공통 시설 버튼의 문구가 이웃 버튼으로 넘치지 않게 합니다. */
@media(max-width:380px){:is(.results-page,.carehome-page) .service-tile{padding:9px 8px;gap:4px;min-height:80px}:is(.results-page,.carehome-page) .service-tile>span:last-child{min-width:0}:is(.results-page,.carehome-page) .service-tile .visual-icon{width:64px;transform:scale(.64);transform-origin:left center;margin:0 -22px 0 0}:is(.results-page,.carehome-page) .service-tile strong{font-size:.8rem}:is(.results-page,.carehome-page) .service-tile small{white-space:normal;font-size:.65rem;line-height:1.5}}
