/* 청담언니 — 리스트/상세 새 디자인(큰 사진 카드). 기존 셸·테마 변수(--blue 등) 사용.
   app.js 뒤에 로드되는 cdu-ui.js 와 한 쌍. 되돌리기: index.html 에서 두 파일 링크 제거. */
#clinic-results{display:flex;flex-direction:column;gap:16px;margin-top:4px}
.cdu-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:transform .08s ease,box-shadow .2s ease;box-shadow:0 1px 2px rgba(36,27,33,.04)}
.cdu-card:hover{box-shadow:0 12px 30px rgba(36,27,33,.10)}
.cdu-card:active{transform:scale(.992)}
.cdu-ph{position:relative;aspect-ratio:16/10;background:var(--soft)}
.cdu-ph>img{width:100%;height:100%;object-fit:cover;display:block}
.cdu-heart{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:999px;background:rgba(255,255,255,.85);display:grid;place-items:center;color:var(--muted);box-shadow:0 2px 8px rgba(0,0,0,.12);backdrop-filter:blur(6px)}
.cdu-heart .icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.cdu-heart.on{color:var(--blue)} .cdu-heart.on .icon{fill:var(--blue)}
.cdu-pc{position:absolute;right:12px;bottom:12px;background:rgba(36,27,33,.56);color:#fff;font-size:12px;border-radius:999px;padding:5px 11px;backdrop-filter:blur(6px)}
.cdu-badge{position:absolute;left:12px;top:12px;background:#fff;color:var(--ink);font-weight:700;font-size:13px;border-radius:999px;padding:5px 12px;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.cdu-badge .cdu-g{color:var(--blue)}
.cdu-ci{padding:15px 17px 18px}
.cdu-ci h3{margin:0;font-size:19px;font-weight:650;letter-spacing:-.4px;line-height:1.3;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.cdu-area{font-size:12px;font-weight:600;color:var(--blue);background:var(--soft);border-radius:6px;padding:2px 8px;letter-spacing:0}
.cdu-rv{margin-top:8px;font-size:13px;color:var(--muted)} .cdu-rv b{color:var(--ink);font-weight:600}
.cdu-ad{margin:8px 0 0;font-size:13px;color:var(--muted);line-height:1.5}
.cdu-tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.cdu-tag{font-size:12px;color:var(--muted);background:#faf7f8;border:1px solid var(--line);border-radius:8px;padding:5px 10px}
.cdu-tag.hot{color:var(--blue);background:var(--soft);border-color:#f3d7e0;font-weight:600}
.cdu-cta{margin-top:15px;width:100%;height:46px;border-radius:14px;background:var(--blue);color:#fff;font-weight:650;font-size:14px}
.cdu-cta:hover{filter:brightness(.96)}
/* 상세(모달 안) */
.cdu-d-hero{border-radius:16px;overflow:hidden;aspect-ratio:16/10;background:var(--soft);margin-bottom:14px}
.cdu-d-hero img{width:100%;height:100%;object-fit:cover;display:block}
.cdu-d-sub{color:var(--muted);font-size:13.5px;margin:4px 0 0}
.cdu-d-score{display:flex;align-items:center;gap:12px;margin:16px 0 6px}
.cdu-d-pill{background:var(--blue);color:#fff;border-radius:13px;padding:9px 15px;text-align:center;line-height:1.05;flex:none}
.cdu-d-pill b{font-size:22px;font-weight:700} .cdu-d-pill span{font-size:10px;opacity:.9;display:block}
.cdu-d-sm{min-width:0} .cdu-d-sm .h{font-weight:600;font-size:14px} .cdu-d-sm .s{color:var(--muted);font-size:12px;margin-top:2px}

/* ===== 상세 풀버전(목업) 컴포넌트 ===== */
.cdu-d-names{font-size:13px;color:var(--muted);margin-top:3px}
.cdu-asub{color:var(--muted);font-style:normal;font-size:12px}
.cdu-bd{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 0}
.cdu-bd span{font-size:11.5px;color:var(--muted);background:#faf7f8;border:1px solid var(--line);border-radius:7px;padding:3px 9px}
.cdu-rank{display:flex;align-items:center;gap:10px;margin:14px 0 4px;padding:11px 13px;background:linear-gradient(120deg,var(--soft),#fff);border:1px solid #f3d7e0;border-radius:14px}
.cdu-rank .md{flex:none;width:24px;height:24px;display:grid;place-items:center}
.cdu-rank .tx{font-size:12.5px;font-weight:600;color:var(--ink);min-width:0}.cdu-rank .tx b{color:var(--blue)}
.cdu-grade{display:inline-block;font-size:11px;font-weight:700;color:var(--blue);border:1px solid var(--blue);border-radius:6px;padding:1px 7px;margin-left:6px}
.cdu-sec{padding:15px 0;border-top:1px solid var(--line)}
.cdu-t{font-size:12px;font-weight:700;color:#aba1a6;letter-spacing:.06em;text-transform:uppercase;margin:0 0 11px;display:flex;justify-content:space-between;align-items:baseline}
.cdu-t .r{font-weight:400;letter-spacing:0;text-transform:none;font-size:11px}
.evr{display:grid;grid-template-columns:1fr auto;gap:3px 10px;align-items:baseline;margin-bottom:10px}
.evr .lab{font-size:13px}.evr .lab small{color:#aba1a6;font-size:11px;margin-left:5px}
.evr .val{font-size:13px;font-weight:700;text-align:right}
.evr .bar{grid-column:1/3;height:5px;border-radius:999px;background:var(--soft);overflow:hidden}.evr .bar i{display:block;height:100%;border-radius:999px;background:var(--blue)}
.evr.weak .val{color:#b4661a}.evr.weak .bar i{background:#d98a4a}
.enote{margin-top:4px;font-size:11.5px;color:#aba1a6;background:#faf7f8;border-radius:9px;padding:9px 11px}
.nrow{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.nrow:first-child{border-top:none}
.nrow .em{flex:none;width:34px;height:34px;border-radius:9px;background:var(--soft);display:grid;place-items:center;font-size:17px}
.nrow .nm{min-width:0;flex:1}.nrow .nm .t{font-size:13.5px;font-weight:600}
.nrow .km{flex:none;font-size:11.5px;color:var(--muted)}
.awrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:3px}
.aw{display:inline-flex;align-items:center}.aw svg{height:13px;width:13px;display:block}.aw em{font-style:normal;font-size:10.5px;margin-left:3px;font-weight:600}
.aw.mich svg{color:#c8102e}.aw.mich em{color:#c8102e}
.aw.blue svg{color:#2558b0}.aw.blue em{color:#2558b0}
.aw.bib em,.aw.gw em,.aw.dr em{color:var(--muted);background:var(--soft);border-radius:5px;padding:1px 6px;font-weight:500}
.cdu-emp{display:flex;gap:10px;align-items:flex-start;background:#faf7f8;border:1px dashed var(--line);border-radius:11px;padding:11px 12px;font-size:12.5px;color:var(--muted)}.cdu-emp b{color:var(--ink)}.cdu-emp .mk{color:#b4661a;font-weight:700}
.cdu-hours{display:flex;align-items:center;gap:9px;font-size:13.5px;margin-top:11px;flex-wrap:wrap}
.cdu-lv{display:inline-flex;align-items:center;gap:6px;color:#1f8a54;font-weight:600}.cdu-lv.off{color:var(--muted)}.cdu-lv .p{width:7px;height:7px;border-radius:999px;background:currentColor}
.cdu-cta2{display:flex;align-items:center;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.cdu-cta2 .pz{min-width:0}.cdu-cta2 .pz .b{font-size:15px;font-weight:700}.cdu-cta2 .pz .s{font-size:10.5px;color:var(--muted)}
.cdu-cta2 .bt{margin-left:auto;display:flex;gap:9px}
.cdu-cta2 .gh{border:1px solid var(--line);background:#fff;border-radius:12px;padding:0 13px;height:46px;font-weight:600;font-size:13px;display:flex;align-items:center;gap:6px;color:var(--ink)}
.cdu-cta2 .pr{border:none;background:var(--blue);color:#fff;border-radius:12px;padding:0 18px;height:46px;font-weight:700;font-size:14px}

.nrow .nm .t .nsub{font-weight:400;font-size:11.5px;color:var(--muted);margin-left:5px}

/* 피드(미식·뷰티) + 제품 contain */
.cdu-feed{display:flex;flex-direction:column;gap:14px;margin-top:4px}
.cdu-ph.prod{background:linear-gradient(160deg,var(--soft),#efd3db)}
.cdu-ph.prod>img{object-fit:contain;padding:16px}

/* 뷰티 풀카드 상세 */
.cdu-d-hero.contain{background:linear-gradient(160deg,var(--soft),#efd3db)}
.cdu-d-hero.contain img{object-fit:contain;padding:18px}
.chan{display:flex;flex-direction:column;gap:9px}
.crow{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:#faf7f8}
.crow .cl{min-width:0;flex:1} .crow .cl .cn{font-size:13.5px;font-weight:600} .crow .cl .off{font-size:11px;color:var(--muted);margin-top:2px}
.crow .cp{text-align:right;white-space:nowrap} .crow .cp b{font-size:16px;font-weight:700} .crow .cp b s{font-size:12px;font-weight:400;color:var(--muted);margin-right:4px} .crow .cp small{display:block;color:var(--muted);font-size:11px}

/* 홈 상단 빠른 접근 아이콘 그리드 */
.cdu-quick{display:grid;grid-template-columns:repeat(5,1fr);gap:12px 2px;margin:8px 0 24px}
.cdu-quick a{display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--ink);font-size:11.5px;font-weight:600;text-align:center;cursor:pointer}
.cdu-quick .qi{width:42px;height:42px;border-radius:14px;background:var(--soft);display:grid;place-items:center;transition:transform .08s ease}
.cdu-quick a:active .qi{transform:scale(.93)}
.cdu-quick .qi .icon{width:21px;height:21px;stroke:var(--blue);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* 일정 날짜 캘린더 */
#cdu-cal{user-select:none}
.cdu-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.cdu-cal-head h3{font-size:16px;font-weight:700;margin:0}
.cdu-cal-nav{display:flex;gap:8px}
.cdu-cal-nav button{width:34px;height:34px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:18px;line-height:1;display:grid;place-items:center;cursor:pointer}
.cdu-cal-nav button:disabled{opacity:.3;cursor:default}
.cdu-wd{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:12px;color:var(--muted);margin:10px 0 4px}
.cdu-wd .sun{color:#c8102e} .cdu-wd .sat{color:#2558b0}
.cdu-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cdu-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:14.5px;border-radius:12px;position:relative;color:var(--ink)}
.cdu-day[data-cal-day]{cursor:pointer}
.cdu-day.sun{color:#c8102e} .cdu-day.sat{color:#2558b0}
.cdu-day.muted{color:var(--faint)}
.cdu-day.inrange{background:var(--soft)}
.cdu-day.sel{background:var(--blue);color:#fff;font-weight:700}
.cdu-day .hol{position:absolute;top:7px;width:5px;height:5px;border-radius:999px;background:#c8102e}
.cdu-day.today::after{content:'';position:absolute;bottom:7px;width:4px;height:4px;border-radius:999px;background:var(--blue)}
.cdu-day.sel.today::after{background:#fff}
.cdu-cal-legend{font-size:11.5px;color:var(--muted);margin-top:12px;display:flex;align-items:center;gap:7px}
.cdu-cal-legend i{width:14px;height:14px;border-radius:4px;background:var(--soft);display:inline-block}
.cdu-cal-foot{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.cdu-cal-foot .sel-txt{font-weight:700;font-size:15px;color:var(--blue)} .cdu-cal-foot .sel-txt small{color:var(--muted);font-weight:400}
.cdu-cal-add{margin-left:auto;background:var(--blue);color:#fff;border-radius:12px;height:46px;padding:0 20px;font-weight:700;border:none;cursor:pointer;flex:none}
.cdu-cal-add:disabled{opacity:.4;cursor:default}

/* 청담언니 추천 한 줄 */
.cdu-why{margin-top:10px;font-size:12.5px;line-height:1.45;color:var(--blue);background:var(--soft);border-radius:9px;padding:7px 11px;display:flex;align-items:flex-start;gap:6px;font-weight:500}
.cdu-why::before{content:"\2726";flex:none;opacity:.85}

/* 시술가 행 */
.prow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:13.5px}
.prow:first-child{border-top:none}
.prow .pl small{color:var(--faint);font-size:11px;margin-left:4px}
.prow .pr{text-align:right;white-space:nowrap} .prow .pr b{font-weight:700;color:var(--accent)} .prow .pr small{display:block;color:var(--muted);font-size:11px;font-weight:400}

/* 처방약 안내 */
.cdu-rxq{width:100%;box-sizing:border-box;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font-size:15px;background:var(--soft);color:var(--ink);outline:none;-webkit-appearance:none}
.cdu-rxq:focus{border-color:var(--blue)}
.cdu-rxout{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.cdu-rxempty{color:var(--muted);font-size:13.5px;line-height:2}
.cdu-rxchip{display:inline-block;padding:3px 11px;margin:2px 2px 2px 0;border:1px solid var(--line);border-radius:20px;color:var(--blue);font-size:12.5px;cursor:pointer}
.cdu-rxcard{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}
.cdu-rxn{font-weight:700;font-size:15px;color:var(--ink);display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.cdu-rxtier{font-size:11px;font-weight:600;color:var(--blue);background:var(--soft);border-radius:6px;padding:2px 7px}
.cdu-rxrow{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;padding:4px 0;border-top:1px dashed var(--line)}
.cdu-rxrow span{color:var(--muted);flex:none}
.cdu-rxrow b{color:var(--ink);text-align:right;font-weight:600}
.cdu-rxcam{width:100%;padding:15px;border:none;border-radius:12px;background:var(--blue);color:#fff;font-size:15px;font-weight:600;cursor:pointer}
.cdu-rxcam:active{opacity:.9}
.cdu-rxlink{display:inline-block;margin-top:12px;color:var(--blue);font-size:13px;cursor:pointer;text-decoration:underline}
.cdu-rxbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:2px 0 10px}
.cdu-rxbar b{font-size:14px;color:var(--ink)}
.cdu-rxplay{border:1px solid var(--blue);background:var(--soft);color:var(--blue);border-radius:20px;padding:6px 13px;font-size:13px;font-weight:600;cursor:pointer;flex:none}
.cdu-rxsub{font-size:12.5px;color:var(--muted);margin-bottom:4px}
.cdu-rxefcy{font-size:13px;line-height:1.65;color:var(--ink);padding-top:7px;margin-top:5px;border-top:1px dashed var(--line)}
.cdu-rxefcy b{color:var(--blue);font-weight:600;margin-right:5px}
