/** SOFTM-PHOTO-UI START 날짜:20260910 : 사진 탐색과 비교를 기존 돌봄한눈 테마에 맞추고 작은 화면의 가로 넘침을 방지 */
.care-photo-page{margin:0;background:var(--care-bg,#f7f8f5);color:var(--care-ink,#172c43);font:16px/1.65 var(--care-font,sans-serif)}
.care-photo-page *,.care-photo-dialog *{box-sizing:border-box}
.care-photo-page button,.care-photo-page select,.care-photo-page input,.care-photo-dialog button{font:inherit}
.care-photo-page a,.care-photo-dialog a{color:var(--care-blue,#175cb5)}
/** SOFTM-PHOTO-HEADER START 날짜:20260911 : 유형 안내 화면과 같은 브랜드 표식·높이·정렬을 사용해 서로 다른 서비스처럼 보이지 않도록 통일 */
.care-photo-top{border-bottom:1px solid #dce3e3;background:#fff}
.care-photo-top-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(1120px,calc(100% - 48px));min-height:76px;margin:auto}
.care-photo-brand{display:inline-flex;align-items:center;gap:10px;min-height:48px;color:#172c43!important;font-size:24px;font-weight:750;letter-spacing:-.05em;text-decoration:none}
.care-photo-brand-symbol{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:13px;background:#175cb5;color:#fff}
.care-photo-brand-symbol .care-icon{width:28px;height:28px}
.care-photo-top nav{display:flex;align-items:center;gap:18px;font-size:16px}
.care-photo-top nav a{display:inline-flex;align-items:center;gap:10px;min-height:48px;color:#53667b;text-decoration:none;white-space:nowrap}
.care-photo-top nav a::after{content:'→';color:#175cb5;font-weight:800}
.care-photo-top nav a:hover{color:#175cb5;text-decoration:underline}
/** SOFTM-PHOTO-HEADER END */
.care-photo-main{max-width:1280px;margin:auto;padding:30px 28px 60px}
.care-photo-intro h1{font-size:clamp(28px,4vw,38px);line-height:1.25;margin:5px 0 12px;letter-spacing:-1px}
.care-photo-intro p{margin:0;color:#53667b}.care-photo-intro .care-photo-eyebrow{color:#175cb5;font-size:14px;font-weight:700}
.care-photo-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px;background:white;border:1px solid #dce3e3;border-radius:16px;padding:20px;margin:26px 0}
.care-photo-filters label{display:grid;gap:5px;font-size:14px;font-weight:700;flex:1;min-width:140px}
.care-photo-filters .care-photo-query{flex:1.5}
.care-photo-page select,.care-photo-page input{width:100%;min-height:46px;border:1px solid #bac9d5;border-radius:8px;padding:8px;background:#fff;color:#172c43}
.care-photo-page button,.care-photo-dialog button,.care-photo-card-actions a{border:1px solid #c6d5e3;background:#fff;color:#175cb5;padding:9px 13px;border-radius:9px;min-height:44px;cursor:pointer;font-weight:700;font-size:14px;text-decoration:none}
.care-photo-page button:disabled{opacity:.5;cursor:default}
.care-photo-page .care-photo-primary{background:#175cb5;color:#fff;border-color:#175cb5;padding-inline:24px}
.care-photo-page :focus-visible,.care-photo-dialog :focus-visible{outline:3px solid #1e78d9;outline-offset:3px}
.care-photo-result-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.care-photo-result-head h2{font-size:22px;margin:0}.care-photo-result-head p{margin:4px 0;color:#53667b;font-size:14px}
.care-photo-note{font-size:14px;color:#53667b;margin:12px 0 22px}
.care-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.care-photo-card{background:white;border:1px solid #dce3e3;border-radius:16px;overflow:hidden;min-width:0}
.care-photo-card-body{padding:18px}.care-photo-card h3{font-size:19px;line-height:1.4;margin:0 0 8px;overflow-wrap:anywhere}.care-photo-card p{font-size:14px;color:#53667b;margin:6px 0}.care-photo-count{font-weight:700;color:#175cb5!important}
.care-photo-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.care-photo-card-actions button[aria-pressed="true"]{background:#175cb5;color:white}
.care-photo-figure{margin:0;min-width:0}.care-photo-figure figcaption{padding:10px 14px;font-size:13px;line-height:1.5;color:#53667b;overflow-wrap:anywhere;background:#fff}
.care-photo-page button.care-photo-image,.care-photo-dialog button.care-photo-image{display:block;width:100%;padding:0;border:0;border-radius:0;background:#edf3f9;cursor:zoom-in;overflow:hidden;min-height:0}
.care-photo-image img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#edf3f9}
.care-photo-image-error{display:grid;gap:14px;place-content:center;text-align:center;min-height:180px;padding:16px;background:#edf3f9;font-size:14px;color:#53667b}
.care-photo-image-error[hidden],.care-photo-image[hidden],.care-photo-page [hidden]{display:none!important}
.care-photo-more{text-align:center;margin-top:30px}.care-photo-more button{min-width:200px}
.care-photo-footer{border-top:1px solid #dce3e3;padding:24px;text-align:center;font-size:14px;color:#53667b}
.care-photo-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.care-photo-comparing{overflow:hidden}
.care-photo-dialog{width:min(1200px,calc(100vw - 32px));max-width:none;height:min(850px,calc(100dvh - 40px));max-height:none;border:1px solid #c6d5e3;border-radius:18px;padding:0;color:#172c43;background:#f7f8f5;font:16px/1.6 var(--care-font,sans-serif)}
.care-photo-dialog[open]{display:flex;flex-direction:column}.care-photo-dialog::backdrop{background:rgba(16,35,55,.55)}
.care-photo-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 24px 12px;background:#fff;flex-shrink:0}.care-photo-dialog-head h2{margin:0;font-size:22px}.care-photo-dialog-head p{margin:6px 0 0;font-size:14px;color:#53667b}.care-photo-dialog-head button{flex-shrink:0}
.care-photo-categories{display:flex;gap:8px;overflow:auto;padding:12px 24px;background:#fff;border-bottom:1px solid #dce3e3;flex-shrink:0}.care-photo-categories button{white-space:nowrap}.care-photo-categories button[aria-pressed="true"]{color:white;background:#175cb5}
.care-photo-columns{display:flex;align-items:flex-start;gap:18px;overflow:auto;min-height:0;padding:24px;overscroll-behavior:contain;flex:1}
.care-photo-column{flex:0 0 320px;min-width:0;background:#fff;border:1px solid #dce3e3;border-radius:12px;padding:16px}.care-photo-column:only-child{flex-basis:min(100%,660px);margin-inline:auto}.care-photo-column h3{margin:0;font-size:19px;overflow-wrap:anywhere}.care-photo-column>p{font-size:14px;color:#53667b;margin:6px 0}.care-photo-column>a{font-size:14px}.care-photo-gallery{margin-top:16px}.care-photo-gallery .care-photo-figure{margin-bottom:18px}.care-photo-gallery .care-photo-image img{object-fit:contain}
/** SOFTM-PHOTO-ENTRY-COMPACT START 날짜:20260911 : 사진 탐색 진입이 기관 목록을 과하게 밀어내지 않도록 일반 실행 버튼 높이에 맞춤 */
.care-map-page .care-photo-map-entry{box-sizing:border-box;display:flex;align-items:center;gap:8px;flex:none;min-height:48px;margin:4px 12px 8px;padding:7px 10px;border:1px solid #144d96;border-radius:10px;background:linear-gradient(110deg,#175cb5,#19477e);color:#fff;text-decoration:none;box-shadow:0 2px 6px #174e8926;transition:background .15s,box-shadow .15s}
.care-photo-entry-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid #ffffff38;border-radius:8px;background:#ffffff16}
.care-photo-entry-icon svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.care-photo-entry-copy{display:grid;gap:0;min-width:0;flex:1}
.care-photo-entry-copy strong{font-size:14px;font-weight:800;line-height:1.3;word-break:keep-all}
.care-photo-entry-copy>span{font-size:11px;font-weight:500;line-height:1.3;color:#e2efff;word-break:keep-all}
.care-photo-entry-arrow{display:grid;place-items:center;flex:0 0 22px;height:22px;border-radius:50%;background:#ffffff1c}
.care-photo-entry-arrow svg{width:15px;height:15px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.care-map-page .care-photo-map-entry:focus-visible{outline:3px solid #f2b84b;outline-offset:3px;box-shadow:0 0 0 5px #fff}
.care-map-page .care-photo-map-entry:active{background:#123b70;box-shadow:0 1px 3px #174e8920}
@media(hover:hover){.care-map-page .care-photo-map-entry:hover{background:linear-gradient(110deg,#124e9d,#103a6c);box-shadow:0 5px 14px #174e8940}}
@media(max-width:520px){.care-map-page .care-photo-map-entry{min-height:44px;margin:3px 10px 6px;padding:6px 9px}.care-photo-entry-icon{flex-basis:28px;width:28px;height:28px}.care-photo-entry-arrow{flex-basis:20px;height:20px}}
@media(prefers-reduced-motion:reduce){.care-map-page .care-photo-map-entry{transition:none}}
/** SOFTM-PHOTO-ENTRY-COMPACT END */
@media(min-width:1300px){.care-photo-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){.care-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.care-photo-filters label{min-width:calc(50% - 12px)}.care-photo-filters button{width:100%}}
@media(max-width:700px){.care-photo-top-inner{width:calc(100% - 32px);min-height:72px;gap:14px}.care-photo-brand{gap:8px;font-size:22px}.care-photo-brand-symbol{flex-basis:36px;width:36px;height:36px}.care-photo-top nav{gap:8px;font-size:14px}.care-photo-top nav a:last-child{display:none}}
@media(max-width:520px){.care-photo-main{padding:24px 16px 40px}.care-photo-grid{grid-template-columns:1fr;gap:18px}.care-photo-filters{padding:14px;gap:10px}.care-photo-result-head{align-items:flex-start;flex-direction:column}.care-photo-result-head>button{width:100%}.care-photo-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:12px}.care-photo-dialog-head{padding:16px 14px 8px}.care-photo-dialog-head h2{font-size:20px}.care-photo-categories{padding:10px 14px}.care-photo-columns{padding:14px;gap:12px}.care-photo-column{flex-basis:calc(100vw - 72px)}.care-photo-column:only-child{flex-basis:100%}}
.care-saved-actions [data-photo-compare]{grid-column:1/-1}
/** SOFTM-PHOTO-UI END */

/** SOFTM-PHOTO-MAP-SCOPE START 날짜:20260910 : 지도 범위와 전체 탐색 전환을 검색 결과 위에서 명확히 구분 */
.care-photo-scope{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;margin-top:20px;border:1px solid #c6d5e3;border-radius:12px;background:#edf3f9}
.care-photo-scope p{margin:0;font-size:14px;color:#27445f}.care-photo-scope button{flex-shrink:0}.care-photo-map-status{display:block;padding:0 12px;color:#9c3927;font-size:13px}.care-photo-map-status:empty{display:none}
@media(max-width:520px){.care-photo-scope{align-items:stretch;flex-direction:column}}
/** SOFTM-PHOTO-MAP-SCOPE END */

/** SOFTM-PHOTO-GALLERY START 날짜:20260911 : 같은 사진을 목적에 맞는 밀도로 보고 모바일에서도 담기와 기관명을 유지 */
.care-photo-viewbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px;flex-wrap:wrap}
.care-photo-modes{display:flex;gap:4px;padding:5px;border:1px solid #c6d5e3;border-radius:12px;background:#eaf0f6}
.care-photo-modes button{background:transparent;border-color:transparent;white-space:nowrap;padding:8px 13px;color:#405772}
.care-photo-modes button[aria-pressed="true"]{background:#175cb5;color:white;box-shadow:0 2px 5px #173c7526}
.care-photo-modes span{font-size:18px;margin-right:4px}.care-photo-viewbar p{font-size:13px;color:#53667b;margin:0;flex:1;min-width:220px}
.care-photo-grid[data-mode="gallery"]{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.care-photo-grid[data-mode="dense"]{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.care-photo-grid[data-mode="large"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.care-photo-tile .care-photo-card-body{padding:12px}.care-photo-tile h3{font-size:15px;margin:0}.care-photo-tile .care-photo-card-actions{margin-top:10px;gap:6px}
.care-photo-tile .care-photo-card-actions>*{font-size:12px;padding:7px 9px;flex:1;text-align:center;white-space:nowrap}
.care-photo-tile figcaption{padding:10px 12px}.care-photo-tile .care-photo-image img{aspect-ratio:1;object-fit:cover}
[data-mode="dense"] .care-photo-card{border-radius:10px}[data-mode="dense"] .care-photo-card-body{padding:9px}[data-mode="dense"] .care-photo-card-actions{flex-direction:column}
[data-mode="dense"] figcaption{padding:8px 9px;font-size:12px}[data-mode="dense"] h3{font-size:13px}
[data-mode="large"] .care-photo-image img{aspect-ratio:auto;min-height:180px;max-height:680px;object-fit:contain}
[data-mode="large"] .care-photo-card-body{padding:18px}[data-mode="large"] h3{font-size:19px}
.care-photo-gallery-errors{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:20px;padding:14px;border:1px solid #d8b782;background:#fff7e8;border-radius:10px;font-size:14px}.care-photo-gallery-errors p{margin:0}
@media(max-width:1000px){.care-photo-grid[data-mode="gallery"]{grid-template-columns:repeat(3,minmax(0,1fr))}.care-photo-grid[data-mode="dense"]{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.care-photo-grid[data-mode="gallery"],.care-photo-grid[data-mode="dense"]{grid-template-columns:repeat(2,minmax(0,1fr))}.care-photo-grid[data-mode="gallery"]{gap:12px}.care-photo-grid[data-mode="dense"]{gap:6px}.care-photo-grid[data-mode="large"]{grid-template-columns:1fr}.care-photo-modes{width:100%;gap:2px}.care-photo-modes button{padding:7px 4px;font-size:12px;flex:1}.care-photo-modes span{margin-right:2px;font-size:16px}.care-photo-tile .care-photo-card-actions{flex-direction:column}.care-photo-gallery-errors{align-items:stretch;flex-direction:column}}
/** SOFTM-PHOTO-GALLERY END */

/** SOFTM-PHOTO-WALL START 날짜:20260911 : 사진 아래 반복 설명을 줄이고 원본 비율의 사진과 필요한 행동에 집중 */
.care-photo-page{background:#fff}.care-photo-main{max-width:1120px}
.care-photo-main{padding-top:34px}.care-photo-intro .care-photo-eyebrow{display:none}.care-photo-intro h1{font-size:30px;margin:0 0 8px}.care-photo-intro>p:last-child{font-size:15px}
.care-photo-filters{margin:16px 0;padding:14px;border-radius:10px}.care-photo-scope{margin-top:16px;padding:8px 12px}.care-photo-note{font-size:12px;margin:8px 0 14px}.care-photo-viewbar{margin-bottom:20px}
.care-photo-grid:is([data-mode="gallery"],[data-mode="dense"]){display:block;position:relative}
.care-photo-grid:is([data-mode="gallery"],[data-mode="dense"])>.care-photo-tile{position:absolute}
.care-photo-grid .care-photo-tile{border:0;border-radius:4px;background:#edf3f9;position:relative;overflow:hidden}
.care-photo-grid .care-photo-tile .care-photo-image img{aspect-ratio:auto;height:auto;max-height:none;min-height:0;object-fit:contain}
.care-photo-tile .care-photo-image img:not([src]){aspect-ratio:4/3}
@media(max-width:600px){.care-photo-main{padding:16px 12px 32px}.care-photo-intro h1{font-size:24px}.care-photo-intro>p:last-child{display:none}.care-photo-result-head h2{font-size:20px}.care-photo-scope{margin-top:12px}.care-photo-viewbar p{display:none}}

/** SOFTM-PHOTO-WALL END */

/** SOFTM-PHOTO-EMPTY-SCOPE START 날짜:20260926 : 지도 범위가 없는 사진 탐색은 빈 갤러리 대신 다음 단계가 보이는 안내 화면으로 제공 */
.care-photo-empty-state{display:flex;align-items:flex-start;gap:20px;max-width:780px;margin:30px auto 0;padding:30px;border:1px solid #d5e1ec;border-radius:16px;background:#f3f8fd}
.care-photo-empty-icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:16px;background:#dcecff;color:#175cb5;font-size:30px;font-weight:800}
.care-photo-empty-state h2{margin:2px 0 8px;font-size:23px;line-height:1.35}.care-photo-empty-state p{max-width:610px;margin:0;color:#53667b;font-size:15px}.care-photo-empty-state .care-photo-empty-eyebrow{margin-bottom:4px;color:#175cb5;font-size:13px;font-weight:750}.care-photo-empty-state .care-photo-primary{display:inline-flex;align-items:center;gap:12px;margin-top:20px;text-decoration:none}
.care-photo-main[data-photo-empty-scope="true"] .care-photo-filters,.care-photo-main[data-photo-empty-scope="true"] .care-photo-result-head,.care-photo-main[data-photo-empty-scope="true"] .care-photo-save-help,.care-photo-main[data-photo-empty-scope="true"] .care-photo-note,.care-photo-main[data-photo-empty-scope="true"] .care-photo-viewbar,.care-photo-main[data-photo-empty-scope="true"] .care-photo-gallery-errors,.care-photo-main[data-photo-empty-scope="true"] .care-photo-grid,.care-photo-main[data-photo-empty-scope="true"] #photoRetry,.care-photo-main[data-photo-empty-scope="true"] .care-photo-more,.care-photo-main[data-photo-empty-scope="true"] .care-photo-save-feedback{display:none!important}
@media(max-width:600px){.care-photo-empty-state{gap:14px;margin-top:20px;padding:22px 18px}.care-photo-empty-icon{flex-basis:42px;width:42px;height:42px;border-radius:13px;font-size:25px}.care-photo-empty-state h2{font-size:20px}.care-photo-empty-state p{font-size:14px}}
/** SOFTM-PHOTO-EMPTY-SCOPE END */

/** SOFTM-PHOTO-SAVE-UNIT START 날짜:20260911 : 기관 저장 상태를 사진 선택 강조와 분리하고 실제 추가 수를 눈에 보이게 안내 */
.care-photo-save-help{font-size:13px;color:#405772;margin:10px 0 4px}
.care-photo-grid .care-photo-tile [data-photo-save]:disabled{background:#fff;color:#405772;border-color:#ccd6df;opacity:1;cursor:default;font-weight:500}
.care-photo-save-feedback{position:sticky;bottom:14px;z-index:5;max-width:680px;margin:16px auto 0;padding:12px 16px;border:1px solid #b8cde0;border-radius:10px;background:#edf5ff;color:#203c58;box-shadow:0 3px 12px #173c7520;font-size:14px}
.care-photo-save-feedback:empty{display:none}
/** SOFTM-PHOTO-SAVE-UNIT END */

/** SOFTM-PHOTO-OVERLAY START 날짜:20260911 : 원본 비율의 사진벽에 작은 도구와 하단 제목만 얹어 사진의 연속성과 가독성을 유지 */
.care-photo-grid .care-photo-tile{border:0;border-radius:8px;background:#eaf0f6}
.care-photo-grid .care-photo-tile .care-photo-card-body{position:absolute;inset:0;padding:0;background:none;pointer-events:none}
.care-photo-grid .care-photo-tile h3{position:absolute;inset:auto 0 0;margin:0;padding:28px 12px 10px;color:#fff;font-size:13px;line-height:1.4;font-weight:650;background:linear-gradient(transparent,rgba(10,18,28,.75));text-shadow:0 1px 3px #0006;pointer-events:none}
.care-photo-grid .care-photo-tile .care-photo-card-actions{position:absolute;top:6px;right:6px;display:flex;flex-direction:row;flex-wrap:nowrap;gap:2px;margin:0;pointer-events:auto}
.care-photo-grid .care-photo-tile .care-photo-card-actions>*{display:grid;place-items:center;flex:none;width:40px;height:40px;min-height:40px;padding:10px;margin:0;border:0;border-radius:50%;background:radial-gradient(circle,#fffffff0 16px,transparent 17px);color:#263e51;box-shadow:none;transition:background .15s,transform .15s}
.care-photo-grid .care-photo-tile .care-photo-card-actions svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.care-photo-grid .care-photo-tile .care-photo-card-actions>*:hover{background:radial-gradient(circle,#fff 16px,transparent 17px);transform:translateY(-1px)}
.care-photo-grid .care-photo-tile [data-photo-save]:disabled{background:radial-gradient(circle,#e9f1f9ed 16px,transparent 17px);color:#345976;border-color:transparent;opacity:1}
.care-photo-caption-hidden{position:absolute!important;width:1px;height:1px;padding:0!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.care-photo-tile .care-photo-image:focus-visible{outline-offset:-4px}
.care-photo-grid[data-mode="dense"] h3{font-size:11px;padding:22px 8px 8px}
@media(hover:hover) and (pointer:fine){.care-photo-tile .care-photo-card-actions{opacity:0}.care-photo-tile:hover .care-photo-card-actions,.care-photo-tile:focus-within .care-photo-card-actions{opacity:1}}
@media(max-width:600px){.care-photo-grid .care-photo-tile h3{font-size:11px;padding:24px 8px 8px}.care-photo-grid[data-mode="dense"] h3{display:none}.care-photo-grid[data-mode="dense"] .care-photo-card-actions{top:2px;right:2px;gap:0}.care-photo-grid[data-mode="dense"] .care-photo-card-actions>*{width:40px;height:40px}.care-photo-grid .care-photo-tile .care-photo-card-actions{opacity:1}}
@media(prefers-reduced-motion:reduce){.care-photo-grid .care-photo-tile .care-photo-card-actions>*{transition:none}}
/** SOFTM-PHOTO-OVERLAY END */
