@charset "utf-8";
/* ============================================================================
   wuneprs.com UI 개선 2·3번 — 버튼 4종 통일(A) + 글자 대비·크기(B)  (2026-10-16)
   - 마크업 수정 없음. wune-ds.css(및 페이지 인라인) 뒤에 로드하는 「덮어쓰기 레이어」.
   - 토큰은 wune-ds.css 의 --wds-* 만 쓴다. 토큰에 없는 값 3개만 :root 에 --ui23-* 로 선언(아래 0절).
   - 선택자 특이도: 모든 규칙을 `html body.wds` 접두(0,1,2) + 클래스 2중(:is(X):is(X)) 로 (0,3,2) 이상.
     라이브 DS 가 같은 속성에 이미 !important 를 걸어 둔 곳(높이·radius·글자·배경·색·테두리 거의 전부)은
     !important 없이는 못 이긴다 → 그 속성에만 !important. 목록은 설계노트 §4.
   - 4종 규격(마이페이지 v2 와 동일)
       Primary   48h · px28 · r0 · 15/600 · bg primary / 글자 white / 테두리 1.5 primary · hover primary-dark
       Secondary 48h · px24 · r0 · 15/600 · 투명 / 글자 primary / 테두리 1.5 primary · hover primary 채움
       Text      박스 없음 · 15/600(보조 13.5/600) · primary · hover 밑줄 · 터치 44
       Chip      40h · px16 · r0(각진) · 13.5/600 · bg white / 글자 text / 테두리 1 border · hover primary · active primary 채움
       (어두운 면 위 = 같은 2종의 반전: Primary→흰 채움+primary 글자, Secondary→흰 테두리+흰 글자)
       focus-visible 1벌: outline 2px primary, offset 2 (어두운 면은 white)
   ========================================================================== */

/* ---- 0. 로컬 변수(토큰 외 값 — 배포 시 wune-ds.css 로 승격 권장) ------------- */
:root {
  --ui23-text-muted: #767676;        /* 메타(날짜·조회·작성자) — 흰 바탕 4.54:1 (현 --wds-text-muted #8A8A8A 3.45:1) */
  --ui23-text-muted-surface: #6B6B6B; /* 같은 메타가 --wds-surface(#F7F7F8) 위일 때 4.94:1 (#767676 는 4.2:1) */
  --ui23-day-off: #8A8A8A;           /* 예약 캘린더 비활성 날짜(브리프 지정값, 비활성 상태 표시용) */
}

/* =============================== A. 버튼 4종 =============================== */

/* ---- A-0. 공통 셸: 4종 모두 inline-flex · border-box · radius 0 · 줄바꿈 없음 ------- */
html body.wds :is(
  .head-cta-btn, .dn-btn, .dn-hero__cta-btn, .dn-kakao-cta__btn, .dn-guide-closing__btn, .breast-hub__cta-btn,
  .wune-ba-cta__btn, .wune-ba-cta__b, .wune-ba-cta__link, .minutes-bottom-cta__btn, .beforeafter-bottom-cta__btn,
  .guide-share-btn, .wune-consult__btn, .ev_apply_btn, .dn-view-more-btn, .about-hub__channel, .dn-loc-map-nav__btn,
  .dn-loc-cta__btn, .prac_cta_btn, .cert_cta_btn, .rr-cta-card__btn, .rr-consult-cta__btn, .bac-cta__btn,
  .wds-btn, .btn.btn1, .error-page__btn, .btn_signup, .form_submit_btn, .sns_btn_styled, .wune-kakao-fab
):is(
  .head-cta-btn, .dn-btn, .dn-hero__cta-btn, .dn-kakao-cta__btn, .dn-guide-closing__btn, .breast-hub__cta-btn,
  .wune-ba-cta__btn, .wune-ba-cta__b, .wune-ba-cta__link, .minutes-bottom-cta__btn, .beforeafter-bottom-cta__btn,
  .guide-share-btn, .wune-consult__btn, .ev_apply_btn, .dn-view-more-btn, .about-hub__channel, .dn-loc-map-nav__btn,
  .dn-loc-cta__btn, .prac_cta_btn, .cert_cta_btn, .rr-cta-card__btn, .rr-consult-cta__btn, .bac-cta__btn,
  .wds-btn, .btn.btn1, .error-page__btn, .btn_signup, .form_submit_btn, .sns_btn_styled, .wune-kakao-fab
) {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--wds-2);
  height: auto !important;
  min-height: 48px !important;
  padding: 0 28px !important;                 /* Primary 28, Secondary 는 A-2 에서 24 */
  margin-top: 0; margin-bottom: 0;
  font-family: inherit;
  font-size: var(--wds-fs-sm) !important;     /* 15 */
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: var(--wds-ls-body) !important;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: nowrap;
  border-width: 1.5px !important;
  border-style: solid !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background-color var(--wds-dur) var(--wds-ease), color var(--wds-dur) var(--wds-ease), border-color var(--wds-dur) var(--wds-ease);
}
/* 모바일: 폭 100% 는 DS 규칙 유지, 높이만 48 고정 */
@media (max-width: 767px) {
  html body.wds :is(.head-cta-btn, .dn-btn, .dn-kakao-cta__btn, .dn-guide-closing__btn, .breast-hub__cta-btn, .wune-ba-cta__b, .minutes-bottom-cta__btn, .beforeafter-bottom-cta__btn, .guide-share-btn, .wune-consult__btn, .wds-btn, .btn.btn1, .error-page__btn, .btn_signup, .form_submit_btn, .rr-cta-card__btn, .rr-consult-cta__btn, .bac-cta__btn):is(.head-cta-btn, .dn-btn, .dn-kakao-cta__btn, .dn-guide-closing__btn, .breast-hub__cta-btn, .wune-ba-cta__b, .minutes-bottom-cta__btn, .beforeafter-bottom-cta__btn, .guide-share-btn, .wune-consult__btn, .wds-btn, .btn.btn1, .error-page__btn, .btn_signup, .form_submit_btn, .rr-cta-card__btn, .rr-consult-cta__btn, .bac-cta__btn) {
    min-height: 48px !important;            /* 패딩은 PC 와 동일(Primary 28 / Secondary 24) — DS 의 모바일 px24 통일을 되돌림 */
  }
  /* 헤더 CTA 는 폭 100% 가 되면 헤더가 깨지므로 자동 폭 유지 */
  html body.wds .head-cta-btn.head-cta-btn { width: auto !important; }
}

/* ---- A-1. Primary (버건디 채움) ------------------------------------------- */
html body.wds :is(
  .head-cta-btn, .dn-btn--filled, .dn-kakao-cta__btn--kakao, .dn-guide-closing__btn--primary, .breast-hub__cta-btn--primary,
  .wune-ba-cta__b, .wune-ba-cta__btn--primary, .minutes-bottom-cta__btn--primary, .beforeafter-bottom-cta__btn--primary,
  .guide-share-btn, .wune-consult__btn, .ev_apply_btn, .rr-cta-card__btn, .rr-consult-cta__btn--primary, .bac-cta__btn--primary,
  .wds-btn--primary, .error-page__btn--primary, .btn_signup, .form_submit_btn
):is(
  .head-cta-btn, .dn-btn--filled, .dn-kakao-cta__btn--kakao, .dn-guide-closing__btn--primary, .breast-hub__cta-btn--primary,
  .wune-ba-cta__b, .wune-ba-cta__btn--primary, .minutes-bottom-cta__btn--primary, .beforeafter-bottom-cta__btn--primary,
  .guide-share-btn, .wune-consult__btn, .ev_apply_btn, .rr-cta-card__btn, .rr-consult-cta__btn--primary, .bac-cta__btn--primary,
  .wds-btn--primary, .error-page__btn--primary, .btn_signup, .form_submit_btn
) {
  background: var(--wds-primary) !important;
  border-color: var(--wds-primary) !important;
  color: var(--wds-text-invert) !important;
}
html body.wds :is(
  .head-cta-btn, .dn-btn--filled, .dn-kakao-cta__btn--kakao, .dn-guide-closing__btn--primary, .breast-hub__cta-btn--primary,
  .wune-ba-cta__b, .wune-ba-cta__btn--primary, .minutes-bottom-cta__btn--primary, .beforeafter-bottom-cta__btn--primary,
  .guide-share-btn, .wune-consult__btn, .ev_apply_btn, .rr-cta-card__btn, .rr-consult-cta__btn--primary, .bac-cta__btn--primary,
  .wds-btn--primary, .error-page__btn--primary, .btn_signup, .form_submit_btn
):is(
  .head-cta-btn, .dn-btn--filled, .dn-kakao-cta__btn--kakao, .dn-guide-closing__btn--primary, .breast-hub__cta-btn--primary,
  .wune-ba-cta__b, .wune-ba-cta__btn--primary, .minutes-bottom-cta__btn--primary, .beforeafter-bottom-cta__btn--primary,
  .guide-share-btn, .wune-consult__btn, .ev_apply_btn, .rr-cta-card__btn, .rr-consult-cta__btn--primary, .bac-cta__btn--primary,
  .wds-btn--primary, .error-page__btn--primary, .btn_signup, .form_submit_btn
):hover {
  background: var(--wds-primary-dark) !important;
  border-color: var(--wds-primary-dark) !important;
  color: var(--wds-text-invert) !important;
}
/* 카카오 FAB: 기하는 Primary(48·r0·px24·15/600), 색만 카카오 브랜드(#FEE500/#3C1E1E) 유지 — 예외 1 */
html body.wds .wune-kakao-fab.wune-kakao-fab { padding: 0 24px !important; background: #FEE500 !important; border-color: #FEE500 !important; color: #3C1E1E !important; }

/* ---- A-2. Secondary (버건디 테두리) ---------------------------------------- */
html body.wds :is(
  .dn-btn--outline, .dn-kakao-cta__btn--reserve, .dn-guide-closing__btn--outline, .dn-view-more-btn, .about-hub__channel,
  .dn-loc-map-nav__btn, .wune-ba-cta__link, .dn-loc-cta__btn, .prac_cta_btn, .cert_cta_btn, .btn.btn1, .wds-btn--secondary,
  .error-page__btn--outline, .sns_btn_styled,
  .breast-hub__cta-btn:not(.breast-hub__cta-btn--primary), .minutes-bottom-cta__btn:not(.minutes-bottom-cta__btn--primary),
  .beforeafter-bottom-cta__btn:not(.beforeafter-bottom-cta__btn--primary), .rr-consult-cta__btn:not(.rr-consult-cta__btn--primary),
  .wune-ba-cta__btn:not(.wune-ba-cta__btn--primary)
):is(
  .dn-btn--outline, .dn-kakao-cta__btn--reserve, .dn-guide-closing__btn--outline, .dn-view-more-btn, .about-hub__channel,
  .dn-loc-map-nav__btn, .wune-ba-cta__link, .dn-loc-cta__btn, .prac_cta_btn, .cert_cta_btn, .btn.btn1, .wds-btn--secondary,
  .error-page__btn--outline, .sns_btn_styled,
  .breast-hub__cta-btn, .minutes-bottom-cta__btn, .beforeafter-bottom-cta__btn, .rr-consult-cta__btn, .wune-ba-cta__btn
) {
  padding: 0 24px !important;
  background: transparent !important;
  border-color: var(--wds-primary) !important;
  color: var(--wds-primary) !important;
}
html body.wds :is(
  .dn-btn--outline, .dn-kakao-cta__btn--reserve, .dn-guide-closing__btn--outline, .dn-view-more-btn, .about-hub__channel,
  .dn-loc-map-nav__btn, .wune-ba-cta__link, .dn-loc-cta__btn, .prac_cta_btn, .cert_cta_btn, .btn.btn1, .wds-btn--secondary,
  .error-page__btn--outline, .sns_btn_styled,
  .breast-hub__cta-btn:not(.breast-hub__cta-btn--primary), .minutes-bottom-cta__btn:not(.minutes-bottom-cta__btn--primary),
  .beforeafter-bottom-cta__btn:not(.beforeafter-bottom-cta__btn--primary), .rr-consult-cta__btn:not(.rr-consult-cta__btn--primary),
  .wune-ba-cta__btn:not(.wune-ba-cta__btn--primary)
):is(
  .dn-btn--outline, .dn-kakao-cta__btn--reserve, .dn-guide-closing__btn--outline, .dn-view-more-btn, .about-hub__channel,
  .dn-loc-map-nav__btn, .wune-ba-cta__link, .dn-loc-cta__btn, .prac_cta_btn, .cert_cta_btn, .btn.btn1, .wds-btn--secondary,
  .error-page__btn--outline, .sns_btn_styled,
  .breast-hub__cta-btn, .minutes-bottom-cta__btn, .beforeafter-bottom-cta__btn, .rr-consult-cta__btn, .wune-ba-cta__btn
):hover {
  background: var(--wds-primary) !important;
  border-color: var(--wds-primary) !important;
  color: var(--wds-text-invert) !important;
}
/* 로그인·가입 SNS 3버튼: a > div.sns_btn_styled — a 가 블록이라 div 폭 100% 유지 */
html body.wds .sns_btn_wrap .sns_btn_styled.sns_btn_styled { width: 100%; }

/* ---- A-3. 어두운 면 위 반전(홈 히어로 2개 · 케이스 상세 하단 띠) — 종류는 Primary/Secondary 그대로 -------- */
html body.wds .dn-hero .dn-hero__cta-wrap a.dn-hero__cta-btn,
html body.wds .dn-hero .dn-hero__text .dn-hero__cta-wrap a.dn-hero__cta-btn,
html body.wds .content_wrap .dn-hero .dn-hero__cta-wrap a.dn-hero__cta-btn {
  box-sizing: border-box !important;
  height: auto !important; min-height: 48px !important;
  width: auto !important;
  padding: 0 24px !important;
  font-size: var(--wds-fs-sm) !important; font-weight: 600 !important; line-height: 1.2 !important; letter-spacing: var(--wds-ls-body) !important;
  border-width: 1.5px !important; border-style: solid !important; border-radius: 0 !important;
}
html body.wds .dn-hero .dn-hero__cta-wrap a.dn-hero__cta-btn--primary,
html body.wds .dn-hero .dn-hero__text .dn-hero__cta-wrap a.dn-hero__cta-btn--primary {
  padding: 0 28px !important;
  background: var(--wds-text-invert) !important;
  border-color: var(--wds-text-invert) !important;
  color: var(--wds-primary) !important;
}
html body.wds .dn-hero .dn-hero__cta-wrap a.dn-hero__cta-btn--primary:hover,
html body.wds .dn-hero .dn-hero__text .dn-hero__cta-wrap a.dn-hero__cta-btn--primary:hover {
  background: var(--wds-primary-soft) !important; border-color: var(--wds-primary-soft) !important; color: var(--wds-primary-dark) !important;
}
html body.wds .dn-hero .dn-hero__cta-wrap a.dn-hero__cta-btn--outline,
html body.wds .dn-hero .dn-hero__text .dn-hero__cta-wrap a.dn-hero__cta-btn--outline,
html body.wds .bac-cta__btn--line.bac-cta__btn--line {
  background: transparent !important;
  border-color: var(--wds-text-invert) !important;
  color: var(--wds-text-invert) !important;
}
html body.wds .dn-hero .dn-hero__cta-wrap a.dn-hero__cta-btn--outline:hover,
html body.wds .dn-hero .dn-hero__text .dn-hero__cta-wrap a.dn-hero__cta-btn--outline:hover,
html body.wds .bac-cta__btn--line.bac-cta__btn--line:hover {
  background: var(--wds-text-invert) !important; color: var(--wds-primary) !important; border-color: var(--wds-text-invert) !important;
}
@media (max-width: 768px) {
  html body.wds .dn-hero .dn-hero__cta-wrap a.dn-hero__cta-btn,
  html body.wds .dn-hero .dn-hero__text .dn-hero__cta-wrap a.dn-hero__cta-btn,
  html body.wds .content_wrap .dn-hero .dn-hero__cta-wrap a.dn-hero__cta-btn {
    min-height: 48px !important; font-size: var(--wds-fs-sm) !important; letter-spacing: var(--wds-ls-body) !important;   /* 패딩 28/24 유지: 375 에서 50% 폭(167) 안에 「수술 전후사진」 15px + 24×2 가 들어간다 */
  }
}

/* ---- A-4. Text (글자만) ----------------------------------------------------- */
/* 더보기류(이미 글자형) · 푸터/로그인/예약/가입 정책 링크(a.modal_open · button.form_policy_btn · button.btn_policy) · 가입 「내용보기」 */
html body.wds :is(
  .cm-hub__more, .ev_viewmore, .dn-mobile-viewall a, .casebook-card__more, .card-en, .dn-related-blog__more, .wds-link,
  .modal_open, .form_policy_btn, .btn_policy
):is(
  .cm-hub__more, .ev_viewmore, .dn-mobile-viewall a, .casebook-card__more, .card-en, .dn-related-blog__more, .wds-link,
  .modal_open, .form_policy_btn, .btn_policy
) {
  box-sizing: border-box !important;
  display: inline-flex !important; align-items: center !important; gap: var(--wds-1);
  height: auto !important; min-height: 44px !important;
  width: auto !important;
  padding: 0 var(--wds-1) !important;
  margin: 0;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: inherit;
  font-size: var(--wds-fs-label) !important;      /* 13.5 (정책·보조 링크) */
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: var(--wds-ls-body) !important;
  color: var(--wds-primary) !important;
  text-decoration: none !important;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  text-transform: none !important;
  white-space: nowrap;
  cursor: pointer;
}
html body.wds :is(.cm-hub__more, .ev_viewmore, .dn-mobile-viewall a, .casebook-card__more, .card-en, .dn-related-blog__more, .wds-link):is(.cm-hub__more, .ev_viewmore, .dn-mobile-viewall a, .casebook-card__more, .card-en, .dn-related-blog__more, .wds-link) {
  font-size: var(--wds-fs-sm) !important;          /* 본문 안 더보기 15 */
}
html body.wds :is(.modal_open, .form_policy_btn, .btn_policy):is(.modal_open, .form_policy_btn, .btn_policy):hover,
html body.wds :is(.cm-hub__more, .ev_viewmore, .dn-mobile-viewall a, .casebook-card__more, .card-en, .dn-related-blog__more, .wds-link):is(.cm-hub__more, .ev_viewmore, .dn-mobile-viewall a, .casebook-card__more, .card-en, .dn-related-blog__more, .wds-link):hover {
  color: var(--wds-primary-dark) !important;
  text-decoration: underline !important;
}
/* 푸터 정책 링크는 조용한 Text(회색 500) — 푸터 다른 글자와 같은 무게 */
html body.wds :is(footer, .foot_wrap, .dn-footer) .modal_open.modal_open { color: var(--wds-text-sub) !important; font-weight: 500 !important; }
html body.wds :is(footer, .foot_wrap, .dn-footer) .modal_open.modal_open:hover { color: var(--wds-text) !important; }
/* a.modal_open 안에 button 이 또 있는 곳(예약 「약관보기」·가입 「내용보기」): 바깥 a 는 상자 없이, 안쪽만 글자 */
html body.wds .modal_open.modal_open > :is(.form_policy_btn, .btn_policy) { min-height: 0 !important; padding: 0 !important; }

/* 상세 관련글·교차링크·케이스 관련링크 — 「버튼도 카드도 아닌 제3 스타일」 → Text(목록형 링크: 상자·배경 없음, 구분선만) */
html body.wds :is(.blog-read__crosslink-list, .blog-read__related-service-list, .bac-related__list, .bac-related) li > a:not(#\#),
html body.wds a.bac-related__link:not(#\#) {
  display: flex !important; align-items: center !important; gap: var(--wds-3);
  min-height: 48px !important; height: auto !important;
  padding: var(--wds-3) 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--wds-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: var(--wds-fs-sm) !important; font-weight: 600 !important; line-height: 1.5 !important;
  color: var(--wds-text) !important;
  text-decoration: none !important;
  transition: color var(--wds-dur) var(--wds-ease);
}
html body.wds :is(.blog-read__crosslink-list, .blog-read__related-service-list, .bac-related__list, .bac-related) li > a:not(#\#):hover,
html body.wds a.bac-related__link:not(#\#):hover { color: var(--wds-primary) !important; background: transparent !important; }
html body.wds :is(.blog-read__crosslink-list, .blog-read__related-service-list, .bac-related__list, .bac-related) li > a *:not(#\#),
html body.wds a.bac-related__link *:not(#\#) { color: inherit !important; }
html body.wds :is(.blog-read__crosslink-list, .blog-read__related-service-list, .bac-related__list, .bac-related) li > a :is(small, span[class*="desc"], span[class*="sub"], [class*="__desc"], [class*="__sub"]):not(#\#),
html body.wds a.bac-related__link :is(small, [class*="__desc"], [class*="__sub"], [class*="__meta"]):not(#\#) { color: var(--wds-text-sub) !important; font-weight: 400 !important; font-size: var(--wds-fs-label) !important; }

/* 블로그 상세 이전/다음(a.blog-read__nav-item 88h r14 크림 bg · 구 브라운 테두리) → 같은 목록형 링크 언어(흰 바탕 · 1px border · r0) */
html body.wds .blog-read__nav-item:not(#\#) { background: var(--wds-bg) !important; border: 1px solid var(--wds-border) !important; border-radius: 0 !important; color: var(--wds-text) !important; box-shadow: none !important; }
html body.wds .blog-read__nav-item:not(#\#):hover { border-color: var(--wds-primary) !important; color: var(--wds-primary) !important; }
html body.wds .blog-read__nav-item .blog-read__nav-title:not(#\#) { color: inherit !important; font-weight: 600 !important; }
html body.wds .blog-read__nav-item .blog-read__nav-label:not(#\#) { color: var(--ui23-text-muted) !important; font-size: var(--wds-fs-label) !important; }

/* ---- A-5. Chip (필터·탭·페이지네이션·라디오 칩·언어 버튼·아이콘 버튼) — 40h · r0 ------------------
   DS 에 `html body.wds .content_wrap .dn-implant-tabs .dn-implant-tab`(0,4,2) · `… .blog-pillar-btn.blog-pillar-btn`(0,4,2) 같은
   !important 규칙이 있어 클래스 2중(0,3,2)으로는 부족 → :not(#\#) 로 (1,x,x) 확보(인라인 style 보다는 낮음). */
html body.wds :is(
  .wds-chip, .blog-pillar-btn, .blog-search-tag, .dn-implant-tab, .bac-angle-tab, .wunetv-cat-btn, .casebook-cat-btn,
  .dn-langswitch__btn, .dn-langswitch__chip, .form_radio_label, .board_page_link, .rr-share-btn, .page-share-btn,
  .casebook-finder__group > a, .casebook-finder__group > button, .medi_menu_list > li > a, .bna_category > li > a,
  .bna-angle-btns > a, .bna-angle-btns > button, .bna_cate > a, .bna_cate > button, .number_box ul li > a, .rr-pagination > a,
  .error-page__popular-list > a, .dn-testimonials__arrow, .rv-nav
):not(.wds-btn):not(#\#),
html body.wds :is(.casebook-filter, .casebook-finder, [class*="filter"]) > :is(a, button):not([class*="btn-"]):not(.wds-btn):not(#\#) {
  box-sizing: border-box !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  height: auto !important; min-height: 40px !important;
  padding: 0 16px !important;
  margin-top: 0; margin-bottom: 0;
  font-family: inherit;
  font-size: var(--wds-fs-label) !important;      /* 13.5 */
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: var(--wds-ls-body) !important;
  text-transform: none !important;
  text-decoration: none !important;
  white-space: nowrap;
  color: var(--wds-text) !important;
  background: var(--wds-bg) !important;
  border: 1px solid var(--wds-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background-color var(--wds-dur) var(--wds-ease), color var(--wds-dur) var(--wds-ease), border-color var(--wds-dur) var(--wds-ease);
}
html body.wds :is(
  .wds-chip, .blog-pillar-btn, .blog-search-tag, .dn-implant-tab, .bac-angle-tab, .wunetv-cat-btn, .casebook-cat-btn,
  .dn-langswitch__btn, .dn-langswitch__chip, .form_radio_label, .board_page_link, .rr-share-btn, .page-share-btn,
  .casebook-finder__group > a, .casebook-finder__group > button, .medi_menu_list > li > a, .bna_category > li > a,
  .bna-angle-btns > a, .bna-angle-btns > button, .bna_cate > a, .bna_cate > button, .number_box ul li > a, .rr-pagination > a,
  .error-page__popular-list > a, .dn-testimonials__arrow, .rv-nav
):not(.wds-btn):not(#\#):hover,
html body.wds :is(.casebook-filter, .casebook-finder, [class*="filter"]) > :is(a, button):not([class*="btn-"]):not(.wds-btn):not(#\#):hover {
  border-color: var(--wds-primary) !important;
  color: var(--wds-primary) !important;
  background: var(--wds-bg) !important;
}
/* 활성(.active/.is-active/.selected/.on/aria-*) + 페이지네이션 현재 페이지(클래스 없는 a) + 전후 카테고리 li.check
   — 기본 Chip 규칙의 :is() 안 `.number_box ul li > a`(0,1,3) 때문에 특이도가 (1,3,5) 라 활성 규칙은 :not(#\#) 2개로 (2,x,x) */
html body.wds :is(
  .wds-chip, .blog-pillar-btn, .blog-search-tag, .dn-implant-tab, .bac-angle-tab, .wunetv-cat-btn, .casebook-cat-btn,
  .dn-langswitch__chip, .form_radio_label, .board_page_link,
  .casebook-finder__group > a, .casebook-finder__group > button, .medi_menu_list > li > a, .bna_category > li > a,
  .bna-angle-btns > a, .bna-angle-btns > button, .bna_cate > a, .bna_cate > button, .rr-pagination > a
):is(.active, .is-active, .selected, .on, [aria-selected="true"], [aria-pressed="true"], [aria-current]):not(#\#):not(#\#),
html body.wds :is(.casebook-filter, .casebook-finder, [class*="filter"]) > :is(a, button):is(.active, .is-active, .on, [aria-selected="true"], [aria-current]):not(#\#):not(#\#),
html body.wds :is(.medi_menu_list, .bna_category) > li.check > a:not(#\#):not(#\#),
html body.wds .number_box ul li > a:not(.board_page_link):not(#\#):not(#\#),
html body.wds .number_box ul li > a:is(.active, .on, [aria-current]):not(#\#):not(#\#) {
  background: var(--wds-primary) !important;
  border-color: var(--wds-primary) !important;
  color: var(--wds-text-invert) !important;
  opacity: 1 !important;               /* 페이지네이션 현재 페이지의 반투명 처리 되돌림 */
}
/* 칩 안의 보조 글자(Motiva/모티바 2줄 탭 등) */
html body.wds :is(.wds-chip, .dn-implant-tab, .bac-angle-tab, .form_radio_label, .medi_menu_list > li > a) :is(small, span, em, b):not(#\#) { color: inherit !important; font-size: var(--wds-fs-label) !important; font-weight: inherit !important; }
html body.wds .dn-implant-tab:not(#\#) { gap: 6px; }
/* 아이콘형 Chip(후기 캐러셀 화살표·캘린더 이전/다음): 40×40 · 패딩 0 · 글자 20 */
html body.wds :is(.dn-testimonials__arrow, .rv-nav):not(#\#) { width: 40px !important; height: 40px !important; padding: 0 !important; font-size: 20px !important; font-weight: 400 !important; }
/* 모바일: Chip 40 유지(DS 는 필터 38·44 로 흔듦) */
@media (max-width: 767px) {
  html body.wds :is(
    .wds-chip, .blog-pillar-btn, .blog-search-tag, .dn-implant-tab, .bac-angle-tab, .wunetv-cat-btn, .casebook-cat-btn,
    .dn-langswitch__chip, .form_radio_label, .board_page_link,
    .casebook-finder__group > a, .casebook-finder__group > button, .medi_menu_list > li > a, .bna_category > li > a,
    .bna-angle-btns > a, .bna-angle-btns > button, .bna_cate > a, .bna_cate > button, .number_box ul li > a, .rr-pagination > a,
    .error-page__popular-list > a
  ):not(.wds-btn):not(#\#),
  html body.wds :is(.casebook-filter, .casebook-finder, [class*="filter"]) > :is(a, button):not([class*="btn-"]):not(.wds-btn):not(#\#) { min-height: 40px !important; width: auto !important; }
}

/* ---- A-6. focus-visible 1벌 ---------------------------------------------- */
html body.wds :is(a, button, input[type="submit"], input[type="button"], label.form_radio_label):focus-visible {
  outline: 2px solid var(--wds-primary) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
}
html body.wds :is(.dn-hero__cta-btn, .bac-cta__btn):focus-visible { outline-color: var(--wds-text-invert) !important; }

/* =============================== B. 글자 대비·크기 =============================== */

/* ---- B-1. 예약 폼 ----------------------------------------------------------- */
/* 라벨 #AAA 14/700 → text-sub 13.5/600, 자간 .02em (필수 * 는 primary) */
html body.wds .form_card .form_row > label:not(.form_radio_label),
html body.wds .form_card .form_row > label:not(.form_radio_label) {
  color: var(--wds-text-sub) !important;
  font-size: var(--wds-fs-label) !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
}
html body.wds .form_card .form_row > label:not(.form_radio_label) :is(.req, em, i, b, span[class*="req"]) { color: var(--wds-primary) !important; }
/* 비활성 날짜 #B5B5B5 → #8A8A8A(의도된 비활성), 힌트 #8A8A8A → #767676 */
html body.wds .rv-grid button.rv-day.off, html body.wds .rv-grid button.rv-day.off { color: var(--ui23-day-off) !important; }
html body.wds .rv-grid button.rv-day:disabled:not(.off) { color: var(--ui23-day-off) !important; }
html body.wds :is(.rv-hint, .form_hint, .form_row .hint):is(.rv-hint, .form_hint, .hint) { color: var(--ui23-text-muted) !important; font-size: var(--wds-fs-label) !important; }

/* ---- B-2. 로그인·가입 ------------------------------------------------------- */
html body.wds .signup_card .form_group > label, html body.wds .signup_card .form_group > label {
  color: var(--wds-text-sub) !important;
  font-size: var(--wds-fs-label) !important;      /* 12 → 13.5 */
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
}
html body.wds .signup_card .form_group label > span, html body.wds .signup_card .radio_group label { color: var(--wds-text) !important; font-size: var(--wds-fs-sm) !important; }
/* 「SNS LOGIN / 간편 가입」 11px #BBB → 13.5 자간 .10em. 브리프값 #8A8A8A 는 3.45:1 → 4.5 확보 위해 #767676 */
html body.wds .sns_divider span, html body.wds .sns_divider span {
  color: var(--ui23-text-muted) !important;
  font-size: var(--wds-fs-label) !important;
  font-weight: 600 !important;
  letter-spacing: var(--wds-ls-label) !important;
}
html body.wds .sns_divider::before, html body.wds .sns_divider::after { background: var(--wds-border) !important; }
/* 카드 머리 영문 로고 텍스트 11px Cairo 금색 → 13.5 Pretendard gold-ink */
html body.wds .signup_header .logo_text, html body.wds .signup_header .logo_text {
  font-family: 'Pretendard', 'pretendard', 'Noto Sans KR', sans-serif !important;
  font-size: var(--wds-fs-label) !important;
  color: var(--wds-gold-ink) !important;
  letter-spacing: var(--wds-ls-label) !important;
}
html body.wds .signup_header .divider { background: var(--wds-border-strong) !important; }
html body.wds .signup_card .agree_label span, html body.wds .signup_card .agree_label span { color: var(--wds-text) !important; font-size: var(--wds-fs-sm) !important; }
html body.wds .signup_card .agree_label span em { color: var(--wds-primary) !important; }
html body.wds .signup_card .form_group input::placeholder { color: var(--wds-text-muted) !important; }
/* 로그인 카드 하단 「회원가입 · 비밀번호 찾기」(클래스 없는 a, 모바일 12.3px) → Text 13.5/600 · 터치 44 */
html body.wds .signup_card > div > a:not([class]):not(#\#) { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--wds-fs-label) !important; font-weight: 600 !important; color: var(--wds-text-sub) !important; text-decoration: none !important; }
html body.wds .signup_card > div > a:not([class]):not(#\#):hover { color: var(--wds-primary) !important; text-decoration: underline !important; }

/* ---- B-3. 메타(날짜·조회·작성자) #8A8A8A/#999/#AAA/#BBB/#777 → #767676(흰) / #6B6B6B(surface) ------- */
html body.wds :is(
  .blog-card__meta span, .blog-card__meta, .blog-read__meta span, .blog-read__meta, time.rr-card__date, .rr-card__date, .rr-card__meta,
  .doctor-media__date, .casebook-card__date, .wds-card__meta, .wds-author, .wds-breadcrumb,
  .blog-read__author-meta, .blog-read__related-summary, .blog-read__crosslink-label, .blog-read__nav-label,
  .bac-volume__before, .rr-prevnext__label, .rr-prevnext__item--disabled .rr-prevnext__title,
  .rr-title-row .cont_text ul > li, .rr-title-row .cont_text ul > li .comma, .read_title .cont_text.cont_flex ul > li
):not(#\#) {
  color: var(--ui23-text-muted) !important;
}
/* 표면(#F7F7F8) 위 메타 */
html body.wds :is(.wds-reviewer__meta, .wds-reviewer__date, .doctor-media__date, .blog-read__aio-q-mark, .blog-read__aio-a-mark):not(#\#) {
  color: var(--ui23-text-muted-surface) !important;
}
html body.wds .rr-prevnext__item:not(.rr-prevnext__item--disabled) .rr-prevnext__title:not(#\#) { color: var(--wds-text) !important; }   /* 활성 이전/다음 제목은 본문색 */
/* 리얼리뷰 상세 본문 #333 → text, 이전/다음 비활성 「최신 글입니다」 #BBB → #767676 (위 B-3 에 포함) */
html body.wds .read_box .cont_text:not(#\#), html body.wds .read_box .cont_text :is(p, span, div, li):not(#\#) { color: var(--wds-text) !important; }

/* ---- B-4. 14px 미만 글자 → 13.5 이상 -------------------------------------------- */
html body.wds .head_right_wrap .head_menu .down_menu li > a,
html body.wds .head_menu .down_menu li > a:not(#\#) { font-size: var(--wds-fs-label) !important; }                     /* GNB 2차 12.87 → 13.5 */
html body.wds .dn-topbar__phone.dn-topbar__phone { font-size: var(--wds-fs-label) !important; }                           /* 전화 12.24 → 13.5 */
html body.wds .content_wrap small:not(#\#), html body.wds .casebook-card small:not(#\#) { font-size: var(--wds-fs-label) !important; }   /* 전후목록 small 11.9 → 13.5 */
html body.wds :is(.bac-timeline__desc, .bac-doctor__sig, .bac-photo__locked-title, .error-page__popular-title, .min-doc__eyebrow, .cont_text_info.color_g, .cont_text_info_mg):not(#\#) { font-size: var(--wds-fs-label) !important; }
html body.wds .minutes_wrap .cont_sub_title > span:not(#\#) { font-size: var(--wds-fs-label) !important; }           /* 27분 모바일 소제목 보조 span 13 → 13.5 */
html body.wds .bac-photo__locked-title:not(#\#) { font-size: var(--wds-fs-sm) !important; }                               /* 블러 오버레이 제목 13 → 15 */
html body.wds .error-page__popular-title:not(#\#) { color: var(--wds-text-sub) !important; font-weight: 600 !important; letter-spacing: var(--wds-ls-label) !important; }
@media (max-width: 767px) {
  html body.wds :is(.bac-timeline__desc, .bac-doctor__sig, .error-page__popular-title):not(#\#) { font-size: var(--wds-fs-label) !important; }
}

/* ---- B-5. 금색 #C9A96E 숫자·라벨 → --wds-gold-ink (사진 위 제외) --------------------------- */
html body.wds .minutes_wrap .minutes08_cont .table100 > span,
html body.wds .minutes_wrap .minutes08_cont .table100 > span { color: var(--wds-gold-ink) !important; -webkit-text-fill-color: var(--wds-gold-ink) !important; }
html body.wds :is(.minutes_wrap, .content_wrap) [style*="#C9A96E" i]:not([class*="hero"] *):not([class*="hero"]):not(#\#),
html body.wds :is(.minutes_wrap, .content_wrap) [style*="#c9a96e"]:not([class*="hero"] *):not([class*="hero"]):not(#\#) { color: var(--wds-gold-ink) !important; }
html body.wds .dn-page-hero:not(.dn-page-hero--photo) .dn-page-hero__label:not(#\#),
html body.wds :is(.cont_title_info, .min-doc__eyebrow, .wds-reviewer__eyebrow, .about-hub__hero-eyebrow, .blog-read__cat):not([class*="hero--photo"] *):not(#\#) { color: var(--wds-gold-ink) !important; }
