/* Approved 2026-10-20: progressive teal tiers, visit information, original service artwork. */
body :is([data-wb-compare-col="standard"], #program-standard) {
    --tier-surface:#e2efef; --tier-ink:#183e48; --tier-accent:#8fb9be;
}
body :is([data-wb-compare-col="classic"], #program-classic) {
    --tier-surface:#b7d5d7; --tier-ink:#183e48; --tier-accent:#5d969e;
}
body :is([data-wb-compare-col="noblesse"], #program-noblesse) {
    --tier-surface:#79a5af; --tier-ink:#102d35; --tier-accent:#397585;
}
body :is([data-wb-compare-col="presidential"], #program-presidential) {
    --tier-surface:#276575; --tier-ink:#fff; --tier-accent:#276575;
}
body :is([data-wb-compare-col="signature"], #program-signature) {
    --tier-surface:#164854; --tier-ink:#fff; --tier-accent:#164854;
}
body .wb-comparison thead th[data-wb-compare-col] {
    background:var(--tier-surface); color:var(--tier-ink);
    border-top:4px solid var(--tier-accent);
}
body .wb-comparison thead th[data-wb-compare-col] :is(strong,span,a) { color:inherit; }
body .wb-comparison thead th[data-wb-compare-col] strong { font-weight:700; }
body .wb-comparison thead th[data-wb-compare-col] a:hover { text-decoration-thickness:2px; }
body .wb-comparison .is-excluded { color:#5b6b70; background:#fafbfb; }
body .wb-comparison .is-excluded strong { font-weight:500; }
body .wb-comparison tfoot td[data-wb-compare-col] a {
    border:1px solid var(--tier-accent); background:var(--tier-surface); color:var(--tier-ink);
}
body .wb-comparison tfoot td[data-wb-compare-col] a:hover { outline:2px solid var(--tier-accent); outline-offset:2px; }
body .wb-program-detail[id^="program-"] { margin-bottom:14px; border:1px solid #d4e1e2; border-radius:4px; }
body .wb-program-detail[id^="program-"] > summary {
    padding:24px 28px; background:var(--tier-surface); color:var(--tier-ink);
    border-left:5px solid var(--tier-accent); border-radius:3px;
}
body .wb-program-detail[id^="program-"] > summary :is(h3,.wb-program-detail__state,.wb-program-detail__price) { color:inherit; }
body .wb-program-detail[id^="program-"][open] > summary { margin-bottom:28px; border-bottom:0; }
body .wb-program-detail[id^="program-"] :is(.wb-program-detail__body,.wb-program-detail__foot) { padding-left:28px; padding-right:28px; }
body .wb-program-detail[id^="program-"] > summary:focus-visible { outline-offset:4px; }

/* Keep the official image proportions and colors; no filters, redrawing or recoloring. */
body img.wb-service-image { display:block; width:32px; height:32px; object-fit:contain; flex-shrink:0; }
body img.wb-service-image--kakao { width:104px; height:auto; max-height:44px; }
body img.wb-inquiry-brand { display:block; width:145px; height:auto; object-fit:contain; }
body:has(.wb-screening-nav) .wb-contact-entry { scroll-margin-top:calc(var(--wb-nav-height) + 90px); }
body .wb-contact-entry__actions .wb-review-link { gap:14px; flex-wrap:wrap; }
body .wb-contact-channels { gap:12px; border:0; align-content:start; }
body .wb-contact-channels a,
body .wb-contact-channels a:nth-child(odd) {
    padding:22px; gap:12px; min-height:136px; border:1px solid #cadcde;
    border-radius:4px; background:#fff; color:#173f48; font-weight:650;
    transition:background .18s ease,border-color .18s ease;
}
body .wb-contact-channels a:hover { background:#f0f7f6; border-color:#91b8bd; }
body .wb-contact-channels small { color:#3d5b63; font-weight:500; }
body .wb-consultation__button { gap:12px; }
body .wb-consultation__button--naver,
body .wb-consultation__button--kakao { background:#fff; border-color:#c4d5d8; color:#173f48; }
body .wb-consultation__button--naver:hover,
body .wb-consultation__button--kakao:hover { background:#f1f7f6; color:#173f48; }
body .wb-navigation__mobile-shortcuts a { display:flex; align-items:center; justify-content:center; gap:8px; }
body .wb-navigation__mobile-shortcuts img { width:28px; height:28px; }
body .wb-inquiry-actions .is-kakao > span { width:auto; background:transparent; }
body .wb-footer__bottom > div { align-items:center; flex-wrap:wrap; }
body .wb-footer-service { display:inline-flex; align-items:center; gap:8px; min-height:44px; }

/* Shared location: one heading, aligned map and address, then a separate hours row. */
body .wb-location--refined {
    padding:88px 0 80px; color:#193d46; background:#f3f7f6;
    border-top:1px solid #d8e4e3; scroll-margin-top:calc(var(--wb-nav-height) + 20px);
}
body .wb-location--refined .wb-location__heading {
    display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:32px;
}
body .wb-location--refined .wb-location__heading h2 {
    margin:0; font-size:clamp(32px,3.5vw,46px); line-height:1.3; letter-spacing:-.04em; font-weight:650;
}
body .wb-location__map-link {
    display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:9px 18px;
    border:1px solid #99b6b9; border-radius:3px; background:#fff; color:#214c58;
    font-size:18px; font-weight:650; white-space:nowrap;
}
body .wb-location__map-link:hover { background:#e6f0ef; border-color:#397585; }
body .wb-location--refined .wb-location__grid { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:48px; align-items:start; }
body .wb-location--refined .wb-daum-map { min-width:0; overflow:hidden; border:1px solid #cadcda; border-radius:4px; background:#e7efec; color:#193d46; }
body .wb-location--refined .root_daum_roughmap { width:100%!important; border:0!important; padding:0!important; box-sizing:border-box; }
body .wb-location--refined .root_daum_roughmap .wrap_map { width:100%!important; }
body .wb-location--refined .wb-location__info { max-width:none; min-width:0; padding-top:8px; }
body .wb-location--refined .wb-location__label { font-size:18px; color:#4f6b70; margin:0 0 14px; font-weight:600; }
body .wb-location--refined .wb-location__info address { margin:0; font-size:24px; line-height:1.6; font-style:normal; font-weight:650; letter-spacing:-.025em; word-break:keep-all; }
body .wb-location--refined .wb-location__info > ul { margin:26px 0 0; border-top:1px solid #c8d8d6; }
body .wb-location--refined .wb-location__info > ul li { grid-template-columns:66px minmax(0,1fr); gap:18px; padding:20px 0; border-bottom:1px solid #c8d8d6; font-size:20px; line-height:1.7; }
body .wb-location--refined .wb-location__info > ul b { color:#365d66; font-weight:600; }
body .wb-location--refined .wb-location__info > ul a { font-weight:650; font-variant-numeric:tabular-nums; }
body .wb-location--refined .wb-hours {
    display:grid; grid-template-columns:150px minmax(0,1fr); gap:16px 32px;
    padding:30px 0 0; margin:36px 0 0; border-top:1px solid #9ebcbd; border-radius:0;
}
body .wb-location--refined .wb-hours h3 { margin:0; font-size:25px; line-height:1.5; font-weight:650; }
body .wb-location--refined .wb-hours dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:0; }
body .wb-location--refined .wb-hours dl > div { display:block; padding:0 0 0 24px; border-left:1px solid #c8d8d6; }
body .wb-location--refined .wb-hours dt { font-size:18px; color:#4f6b70; margin-bottom:8px; }
body .wb-location--refined .wb-hours dd { margin:0; font-size:22px; line-height:1.5; color:#193d46; font-weight:650; font-variant-numeric:tabular-nums; white-space:normal; }
body .wb-location--refined .wb-hours p { grid-column:2; margin:0; padding-left:24px; font-size:17px; line-height:1.7; color:#4f6b70; }
body .wb-location--refined a:focus-visible { outline:3px solid #397585; outline-offset:4px; }
@media(max-width:1100px) {
    body .wb-location--refined .wb-location__grid { gap:28px; }
    body .wb-location--refined .wb-hours { grid-template-columns:1fr; }
    body .wb-location--refined .wb-hours p { grid-column:1; }
    body .wb-location--refined .wb-location__info address { font-size:22px; }
    body .wb-location--refined .wb-location__info > ul li { font-size:18px; gap:12px; padding:16px 0; }
}
@media(max-width:800px) {
    body .wb-location--refined { padding:58px 0; }
    body .wb-location--refined .wb-location__grid { grid-template-columns:1fr; gap:28px; }
    body .wb-location--refined .wb-location__heading { margin-bottom:24px; }
    body .wb-location--refined .wb-hours dl { gap:16px; }
    body .wb-location--refined .wb-hours dl > div { padding-left:16px; }
    body .wb-location--refined .wb-hours dd { font-size:20px; }
    body .wb-location--refined .wb-hours p { padding-left:0; font-size:16px; }
}
@media(max-width:600px) {
    body .wb-program-detail[id^="program-"] > summary { padding:20px 16px; }
    body .wb-program-detail[id^="program-"] :is(.wb-program-detail__body,.wb-program-detail__foot) { padding-left:18px; padding-right:18px; }
    body .wb-contact-channels a,body .wb-contact-channels a:nth-child(odd) { padding:18px 14px; min-height:132px; }
    body .wb-contact-channels { gap:10px; }
    body .wb-contact-channels small { font-size:16px; overflow-wrap:anywhere; }
    body .wb-location--refined .wb-location__heading { gap:16px; }
    body .wb-location__map-link { font-size:16px; padding:9px 12px; }
    body .wb-location--refined .wb-location__info address { font-size:21px; }
    body .wb-location--refined .wb-hours { margin-top:28px; padding-top:24px; gap:18px; }
    body .wb-location--refined .wb-hours dl { grid-template-columns:1fr; gap:0; }
    body .wb-location--refined .wb-hours dl > div { display:grid; grid-template-columns:76px 1fr; gap:16px; padding:13px 0; border-left:0; border-bottom:1px solid #d1dedc; }
    body .wb-location--refined .wb-hours dt { margin:0; line-height:1.7; }
    body .wb-location--refined .wb-hours dd { font-size:20px; text-align:right; }
}
