.display-switch{display:flex;gap:8px;margin-bottom:12px}.display-switch button{padding:11px 20px;border:1px solid var(--line);border-radius:999px;background:white;color:var(--navy);font-weight:700}.display-switch button[aria-pressed=true]{background:var(--navy);color:white}.demo-notice{font-size:12px;color:#805d23;background:#fff7e9;padding:12px 16px;border-radius:10px;margin-bottom:18px}.clinic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.clinic-grid .clinic-card{display:flex;flex-direction:column}.clinic-grid .clinic-content{flex:1;display:flex;flex-direction:column}.clinic-grid .card-bottom{margin-top:auto;padding-top:18px}.clinic-visual{position:relative}.clinic-visual .clinic-photo{aspect-ratio:4/3}.clinic-cover{aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:linear-gradient(135deg,var(--sky),#fff3df);color:var(--navy);text-align:center}.clinic-cover .cover-sign{font-size:36px;font-weight:900;border-bottom:3px solid #c99a3b;padding-bottom:10px}.clinic-cover small{font-size:12px;color:var(--muted)}.clinic-cover p{font-size:20px;font-weight:800}.mini-doctor{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;min-width:0}.mini-doctor small{margin:0}.face{display:block;width:68px;height:68px;border-radius:50%;flex:none;overflow:hidden;background:#eaf2fb;border:2px solid white;box-shadow:0 2px 7px #1f386414}.face.photo{background-image:url('demo-doctors.png');background-size:300% 300%;background-position:var(--face-x) var(--face-y)}.face.missing{display:grid;place-items:center;background:linear-gradient(145deg,#fff4e6,#eaf2fb);color:var(--navy);font-size:20px;font-weight:700}.face-label{font-size:10px!important;color:var(--muted)}.portrait{height:auto;min-height:0;padding:18px;background:var(--soft)}.portrait .face{width:170px;height:170px;border-radius:14px}.portrait small{margin-top:8px}.doctor-card .portrait{padding:20px}.doctor-card .portrait .face{width:min(100%,200px);height:auto;aspect-ratio:1}.doctor-strip{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.demo-badge{display:inline-block;color:#805d23;background:#fff3d9;border-radius:6px;padding:2px 7px;font-size:11px}.detail-doctors button{align-items:center;text-align:left}.detail-doctors .person-meta{flex:1}.person-meta small{display:block;font-size:12px;color:var(--muted)}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px}#mapPanel{margin-bottom:22px}#clinicMap{height:540px;border:1px solid var(--line);border-radius:16px;background:#eaf2fb;z-index:0}#mapSelection{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:white}.map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;color:var(--muted)}.map-card{padding:20px}.map-card h3{font-size:21px;color:var(--navy);margin:8px 0}.map-card .doctor-strip{margin:12px 0}.map-card .face{width:56px;height:56px}.map-card .mini-doctor{padding:8px 4px}.map-card .doctor-strip{grid-template-columns:repeat(auto-fit,minmax(72px,1fr))}.map-card .outline{width:100%;margin-top:12px}.map-card .mini-doctor strong{font-size:13px}.map-pin{display:grid;place-items:center;background:var(--navy);color:#fff;border:3px solid white;border-radius:50%;width:36px;height:36px;box-shadow:0 2px 7px #1f386450;font-weight:800;font-size:13px}.map-pin.demo{background:#2e75b6}.map-pin.active{background:#9a7328;transform:scale(1.18)}.leaflet-div-icon{background:none;border:0}.leaflet-tooltip{font-family:inherit;font-size:12px}.leaflet-popup-content{font-family:inherit;font-size:13px}.leaflet-popup-content button{background:var(--navy);color:white;border:0;padding:9px 12px;border-radius:999px;margin-top:8px}.map-result-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.map-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px;text-align:left;color:var(--navy)}.map-row[aria-pressed=true]{border-color:var(--blue);background:var(--sky)}.map-row .num{border-radius:50%;background:var(--sky);width:32px;height:32px;display:grid;place-items:center;flex:none}.map-row small{display:block;color:var(--muted);font-size:12px}.map-row .face{margin-left:auto;width:46px;height:46px}#mapStatus{font-size:11px;margin-top:10px}.map-list-note{margin:18px 0 10px;color:var(--muted);font-size:13px}@media(max-width:850px){.map-layout{grid-template-columns:minmax(0,1fr) 280px}.clinic-content{padding:19px}}@media(max-width:600px){.clinic-grid{grid-template-columns:1fr}.map-layout{display:flex;flex-direction:column}#clinicMap{height:360px}.map-card .doctor-strip{grid-template-columns:repeat(3,1fr)}.map-toolbar{align-items:start;font-size:12px}.map-result-list{grid-template-columns:1fr}.doctor-card .portrait{padding:10px}.doctor-card .portrait .face{width:90px;height:90px}.doctor-card .portrait small{font-size:10px}.clinic-grid .doctor-strip{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}.face{width:70px;height:70px}.mini-doctor strong{font-size:14px}.map-card .mini-doctor strong{font-size:14px}.demo-notice{font-size:11px}.portrait .face{width:150px;height:150px}}

.directory-categories{margin:18px 0}.category-label{display:block;margin-bottom:8px;font-size:13px;font-weight:700;color:var(--navy)}.directory-categories .specialties{margin:0}.clinic-name-label{font-family:inherit;font-weight:700;color:var(--navy);border:1px solid #c9d8e7;border-radius:7px;padding:5px 8px;box-shadow:0 2px 6px #1f38641a;cursor:pointer}.map-row>span:nth-child(2){min-width:0;overflow-wrap:anywhere}

.naver-clinic-label{position:absolute;bottom:43px;left:18px;transform:translateX(-50%);white-space:nowrap;background:#fff;border:1px solid #c9d8e7;border-radius:7px;padding:5px 8px;color:var(--navy);font-size:12px;font-weight:700;box-shadow:0 2px 6px #1f38641a}

/* All clinic and doctor information stays in one detail view. */
#detail{width:min(960px,calc(100% - 32px));max-width:960px}
.clinic-detail-overview{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.detail-cover{min-width:0;border-radius:14px;overflow:hidden}
.detail-cover .clinic-photo,.detail-cover .clinic-cover{width:100%;aspect-ratio:16/10;object-fit:cover;max-height:260px}
.clinic-team{margin-top:30px}.clinic-team>h3,.clinic-visit>h3{font-size:22px;color:var(--navy)}
.doctor-profiles{display:grid;gap:18px;margin-top:20px}
.doctor-profile{border:1px solid var(--line);border-radius:16px;padding:24px;background:#fff}
.profile-heading{display:flex;align-items:center;gap:18px}
.profile-heading .face{width:86px;height:86px}
.profile-heading h4{margin:5px 0;font-size:22px;color:var(--navy)}
.profile-heading .badge{margin:0}.profile-heading small{font-size:12px}
.profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:20px 0 0}
.profile-facts>div{padding:16px 0;border-top:1px solid var(--line);min-width:0}
.profile-facts dt{font-size:13px;color:var(--muted);margin-bottom:7px}
.profile-facts dd{margin:0;font-size:15px;line-height:1.8;overflow-wrap:anywhere}
.clinic-visit{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.clinic-visit p{line-height:1.8;color:var(--muted)}
@media(max-width:600px){#detail{width:calc(100% - 20px)}.clinic-detail-overview{grid-template-columns:1fr;gap:16px}.doctor-profile{padding:18px}.profile-facts{grid-template-columns:1fr}.profile-heading{gap:12px}.profile-heading .face{width:68px;height:68px}.profile-heading h4{font-size:20px}}

.face.real-photo{object-fit:cover;object-position:center 20%;background:#f2f4f7}
.profile-heading .face.real-photo{width:120px;height:144px;border-radius:12px}
@media(max-width:600px){.profile-heading .face.real-photo{width:92px;height:112px}}

/* The primary detail button covers the card; nested actions stay independent. */
.clinic-grid .clinic-card{position:relative;cursor:pointer;transition:box-shadow .18s,border-color .18s}
.clinic-grid .clinic-card:hover{box-shadow:0 8px 24px #1f38641a}
.clinic-detail-link::after{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit}
.clinic-detail-link:focus-visible::after{outline:3px solid var(--blue);outline-offset:3px;border-radius:16px}
.clinic-grid .mini-doctor,.clinic-grid [data-locate]{position:relative;z-index:2}

/* Large portraits appear only inside the clinic detail view. */
.profile-heading{gap:28px;align-items:center}
.profile-heading .face,.profile-heading .face.real-photo{width:240px;height:300px;border-radius:16px;box-shadow:none;border:0}
.profile-heading .face.photo{height:240px}
.profile-heading h4{font-size:28px}
.clinic-detail-overview{grid-template-columns:1fr 240px}
.detail-cover .clinic-photo,.detail-cover .clinic-cover{max-height:150px}
@media(max-width:600px){
 .profile-heading{flex-direction:column;align-items:flex-start;gap:18px}
 .profile-heading .face,.profile-heading .face.real-photo{width:min(100%,260px);height:auto;aspect-ratio:4/5}
 .profile-heading .face.photo{aspect-ratio:1}
 .profile-heading h4{font-size:24px}
 .clinic-detail-overview{grid-template-columns:1fr}
}

.clinic-detail-overview{align-items:start}
.clinic-basics{margin:20px 0 0}
.clinic-basics>div{display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.clinic-basics dt{color:var(--muted);font-size:13px;line-height:1.8}
.clinic-basics dd{margin:0;font-size:14px;line-height:1.8;overflow-wrap:anywhere;min-width:0}
.clinic-phones,.clinic-channels{display:flex;flex-direction:column;align-items:flex-start;gap:7px}
.clinic-phones a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.contact-channel{display:inline-block;padding:7px 12px;border-radius:9px;font-size:13px;font-weight:600;text-decoration:none}
.contact-channel.kakao{background:#fee500;color:#302821}
.contact-channel.pending{background:#f1f4f7;color:#6b7280}
.clinic-basics .tags{margin:0}
@media(max-width:600px){.clinic-basics>div{grid-template-columns:1fr;gap:4px}.contact-channel{max-width:100%;box-sizing:border-box}}

.profile-facts .schedule-field{grid-column:1/-1}
.weekly-schedule{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:4px;font-size:13px;text-align:center}
.weekly-schedule caption{text-align:left;font-size:12px;color:var(--muted);padding:0 4px 10px}
.weekly-schedule th{font-weight:600;color:var(--navy);padding:6px 0}
.weekly-schedule th:first-child{width:42px}
.weekly-schedule td{padding:0}
.schedule-status{display:block;border-radius:7px;padding:9px 0}
.schedule-status.on{background:#e6eff9;color:#1f4f80;font-weight:700}
.schedule-status.off{background:#f3f4f6;color:#737b85}
.profile-facts .schedule-hours{margin:10px 4px 0;font-size:14px;color:var(--navy);line-height:1.8}
.profile-facts .schedule-note{margin:6px 4px 0;font-size:12px;color:var(--muted)}
@media(max-width:600px){.weekly-schedule{font-size:11px;border-spacing:2px}.weekly-schedule th:first-child{width:30px}.schedule-status{padding:8px 0;border-radius:5px}.profile-facts .schedule-hours{font-size:13px}}

/* Compact profile: large portrait beside identity and weekly schedule. */
.doctor-profiles{gap:14px;margin-top:12px}
.doctor-profile{padding:18px}
.profile-heading{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start}
.profile-heading .face,.profile-heading .face.real-photo{width:220px;height:275px}
.profile-heading .face.photo{height:220px}
.profile-summary{min-width:0}
.profile-heading h4{font-size:24px;margin:4px 0}
.profile-schedule{margin-top:12px}
.profile-schedule .weekly-schedule{font-size:12px;border-spacing:3px}
.profile-schedule .weekly-schedule caption{padding-bottom:4px;font-size:11px}
.profile-schedule .weekly-schedule th{padding:3px 0}
.profile-schedule .schedule-status{padding:5px 0}
.profile-schedule .schedule-hours{font-size:12px;line-height:1.6;margin:5px 3px 0;color:var(--navy)}
.profile-schedule .schedule-note{font-size:11px;line-height:1.5;margin:4px 3px 0;color:var(--muted)}
.profile-facts{margin-top:14px;gap:0 20px}
.profile-facts>div{padding:12px 0 0}
.profile-facts dt{margin-bottom:5px;font-weight:600;color:var(--navy)}
.profile-facts dd{font-size:14px;line-height:1.65}
.doctor-profile>p.muted{font-size:11px;line-height:1.5;margin:12px 0 0}
.clinic-team{margin-top:22px}
@media(max-width:600px){
 .doctor-profile{padding:14px}
 .profile-heading{grid-template-columns:minmax(0,1fr);gap:12px}
 .profile-heading .face,.profile-heading .face.real-photo{width:min(100%,240px);height:auto;aspect-ratio:4/5}
 .profile-heading .face.photo{aspect-ratio:1}
 .profile-summary{width:100%}
 .profile-heading h4{font-size:22px}
 .profile-facts{gap:12px;margin-top:12px}
 .profile-schedule .weekly-schedule{font-size:11px;border-spacing:2px}
}


/* Approved compact two-column medical profile. Listing cards stay unchanged. */
.profile-heading{grid-template-columns:240px minmax(0,1fr);gap:24px}
.profile-heading .face,.profile-heading .face.real-photo,.profile-heading .face.photo{width:240px;height:245px;object-fit:cover;object-position:center top;border-radius:12px}
.profile-career{margin-top:10px;color:var(--muted);font-size:11px;line-height:1.55}
.profile-career p{margin:2px 0}.doctor-profile h5{font-size:12px;color:var(--navy);margin:0 0 5px}
.profile-heading h4{margin:0 0 5px}.profile-services{margin-top:14px}
.profile-services p{font-size:13px;line-height:1.65;word-break:keep-all;margin:0}
.profile-schedule{margin-top:14px}
@media(max-width:650px){.profile-heading{grid-template-columns:minmax(0,1fr);gap:18px}.profile-heading .face,.profile-heading .face.real-photo,.profile-heading .face.photo{width:min(100%,240px);height:245px;aspect-ratio:auto}}

/* Read the clinician's face, name and specialty together. */
.clinic-grid .doctor-strip,.map-card .doctor-strip{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}
.clinic-grid .mini-doctor,.map-card .mini-doctor{padding:16px 10px;gap:12px;min-width:0}
.clinic-grid .mini-doctor .face,.map-card .mini-doctor .face{width:80px;height:80px;object-fit:cover}
.mini-doctor-copy{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;overflow-wrap:anywhere}
.clinic-grid .mini-doctor strong,.map-card .mini-doctor strong{font-size:18px;line-height:1.5}
.mini-doctor strong span{font-size:13px;color:#52637a}
.clinic-grid .mini-doctor .mini-specialty,.map-card .mini-doctor .mini-specialty{display:inline-block;padding:4px 9px;border-radius:999px;background:#e8f1fa;color:#234b73;font-size:13px;font-weight:600;line-height:1.5;margin:0}
.mini-doctor-link{font-size:12px;color:#315b83;line-height:1.5}
@media(max-width:600px){
 .clinic-grid .doctor-strip,.map-card .doctor-strip{grid-template-columns:minmax(0,1fr)}
 .clinic-grid .mini-doctor,.map-card .mini-doctor{flex-direction:row;text-align:left;justify-content:flex-start;padding:14px;gap:16px}
 .mini-doctor-copy{align-items:flex-start}
}

.naver-clinic-label{max-width:240px;overflow:hidden;text-overflow:ellipsis}.clinic-name-label{max-width:240px;white-space:normal;overflow-wrap:anywhere}.map-row>span:not(.num){min-width:0;overflow-wrap:anywhere}.map-card h3,.clinic-content h3{overflow-wrap:anywhere}
