/*
 * widocs-internal.css — 진료과 카테고리 허브 리디자인 스킨 (2026-08-24)
 *
 * 디자인 기준: widocs-internal-hub-php 디자인 패키지의 assets/css/widocs-internal.css.
 * 마크업은 기존 운영 허브(archive.php + inc/seo/department-hub.php 렌더러)를 그대로
 * 유지하고, 이 파일은 .widocs-page 스코프(archive.php 의 게이트 통과 카테고리 허브
 * 분기에서만 부여)로 시각 언어만 이식한다.
 *  - 헤더·푸터·다른 페이지: .widocs-page 부재 + is_category 한정 로드라 무영향.
 *  - 태그/날짜/작성자 아카이브·게이트 카테고리(미분류·0건): .widocs-page 미부여.
 *  - 디자인 패키지의 헤더·푸터·모바일 메뉴 규칙은 독립 실행 예시라 이식 제외.
 *  - 브레이크포인트는 기존 프로젝트 기준(1024 / 768 / 640)으로 통합.
 */

.widocs-page {
  --widocs-blue: #1a5fb4;
  --widocs-blue-dark: #164f97;
  --widocs-navy: #173b64;
  --widocs-text: #29465f;
  --widocs-muted: #708198;
  --widocs-border: #e3edf4;
  --widocs-border-hover: #c2dced;
  --widocs-green: #2e966f;
  --widocs-radius-lg: 18px;
  --widocs-shadow-soft: 0 7px 18px rgba(26, 73, 112, .05);
  --widocs-shadow-hover: 0 16px 28px rgba(34, 78, 111, .12);
  word-break: keep-all;
}

/* 포커스 — outline 대신 링 (터치·키보드 공통) */
.widocs-page a:focus-visible,
.widocs-page summary:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(26, 95, 180, .28);
  border-radius: 8px;
}

/* ── 허브 히어로 ─────────────────────────────────────────────── */
.widocs-page .widocs-hub-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(116deg, #f8fbff 0%, #f0f7ff 48%, #f8fcff 100%);
  border-bottom: 1px solid var(--widocs-border);
  /* 헬스 허브: health-extension.css 의 .page-hero--health 가 color:#fff 를 깔아
     밝은 스킨 배경 위 흰 글자가 되던 충돌 교정(2026-08-24 운영 발견) */
  color: var(--widocs-text);
}
/* 제목·리드 — .page-hero--health .page-hero__title(#fff, 0,2,0)과 동일 특이도 타이를
   로드 순서에 안 맡기고 0,3,0 으로 확정 승리시킨다(의료 허브에도 동일 값이라 무해) */
.widocs-page .widocs-hub-hero .page-hero__title { color: var(--widocs-navy); }
.widocs-page .widocs-hub-hero .page-hero__sub { color: #34628f; }
.widocs-page .widocs-hub-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .62;
  background-image: radial-gradient(#bdd3e7 .8px, transparent .8px);
  background-size: 20px 20px;
  -webkit-mask-image: linear-gradient(90deg, #000 15%, transparent 58%);
  mask-image: linear-gradient(90deg, #000 15%, transparent 58%);
  pointer-events: none;
}
.widocs-page .widocs-hub-hero .wiki-archive__container {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  align-items: center;
  gap: 42px;
}
.widocs-page .widocs-hub-hero .wikitalk-hero {
  max-width: none;
  gap: 13px;
}

/* 브레드크럼 */
.widocs-page .wiki-archive__breadcrumb { color: #66809b; }
.widocs-page .wiki-archive__breadcrumb a { color: #66809b; }
.widocs-page .wiki-archive__breadcrumb a:hover { color: var(--widocs-blue); }
.widocs-page .wiki-archive__breadcrumb [aria-current="page"] { color: var(--widocs-navy); }

/* 배지 → 디자인 eyebrow */
.widocs-page .wikitalk-hero__badge {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
  color: #2a78c5;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .75px;
  gap: 7px;
}
.widocs-page .wikitalk-hero__badge svg { color: #2a78c5; }

/* H1 · 리드 */
.widocs-page .wikitalk-hero__title {
  margin: 0;
  color: var(--widocs-navy);
  font-size: clamp(34px, 4vw, 50px);
  font-weight: 800;
  letter-spacing: -2.2px;
  line-height: 1.16;
}
.widocs-page .wikitalk-hero__sub {
  color: #34628f;
  font-size: 17px;
  font-weight: 600;
  letter-spacing: -.4px;
  line-height: 1.6;
}

/* 설명·면책 카드 (허브 전용 신설 요소) */
.widocs-page .widocs-definition-card {
  display: flex;
  gap: 12px;
  max-width: 620px;
  margin: 4px 0 0;
  padding: 15px 18px;
  border: 1px solid #dceaf6;
  border-radius: 14px;
  color: #5e7186;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 10px 28px rgba(34, 92, 149, .05);
  font-size: 13px;
  line-height: 1.72;
}
.widocs-page .widocs-definition-card svg {
  flex: 0 0 auto;
  margin-top: 2px;
  color: #2f7ac3;
}
.widocs-page .widocs-definition-card p { margin: 0; }

/* 히어로 메타(전체 글 수) — 목록 섹션 앵커 링크 (2026-08-24, 내부링크 강화) */
.widocs-page .wiki-archive__meta { color: #66809b; }
.widocs-page .wiki-archive__meta-item strong { color: var(--widocs-navy); }
.widocs-page .wiki-archive__meta-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color .15s ease;
}
.widocs-page .wiki-archive__meta-link:hover,
.widocs-page .wiki-archive__meta-link:hover strong {
  color: var(--widocs-blue);
}

/* 히어로 비주얼(장식 전용 — 시안 사진 대신 CSS 모티프 + 실데이터 카드) */
.widocs-page .widocs-hub-hero__visual {
  position: relative;
  min-height: 330px;
}
.widocs-page .widocs-hub-hero__halo {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.widocs-page .widocs-hub-hero__halo--one {
  top: 2%;
  right: 6%;
  width: 300px;
  height: 300px;
  /* 카테고리 색조 (2026-08-25) — 심볼이 --widocs-hero-halo 를 인라인으로 주면 그 값,
     아니면 기본 블루. 심볼과 halo 가 같은 스택 안이라 변수 상속이 닿지 않으므로
     비주얼 컨테이너에서 내려받는다(아래 __visual 규칙). */
  background: var(--widocs-hero-halo, rgba(177, 215, 244, .45));
}
.widocs-page .widocs-hub-hero__halo--two {
  bottom: -2%;
  left: 8%;
  width: 210px;
  height: 210px;
  border: 1px solid rgba(109, 163, 210, .25);
}
.widocs-page .widocs-hub-hero__mark {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 128px;
  height: 128px;
  transform: translate(-50%, -54%) rotate(-8deg);
  border-radius: 40px 40px 40px 14px;
  /* 카테고리 색조 (2026-08-25) — __visual 이 인라인으로 내려주는 토큰, 없으면 기본 블루 */
  background: linear-gradient(150deg,
    var(--widocs-hero-grad-a, #2373cf),
    var(--widocs-hero-grad-b, var(--widocs-blue-dark)));
  box-shadow: 0 22px 46px rgba(37, 91, 139, .22);
}
/* 아이콘 모드 규칙은 기본 십자(::before/::after) 정의 **뒤**에 둔다 — 같은 특이도라
   순서로 이기기 때문(2026-08-25: 앞에 뒀다가 십자가 그대로 보이는 회귀 발생). */
.widocs-page .widocs-hub-hero__mark::before,
.widocs-page .widocs-hub-hero__mark::after {
  content: "";
  position: absolute;
  border-radius: 8px;
  background: #fff;
}
.widocs-page .widocs-hub-hero__mark::before {
  top: 26px;
  left: 55px;
  width: 18px;
  height: 76px;
}
.widocs-page .widocs-hub-hero__mark::after {
  top: 55px;
  left: 26px;
  width: 76px;
  height: 18px;
}
.widocs-page .widocs-hub-hero__mark span::before {
  content: "";
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 12px;
  height: 12px;
  border-radius: 4px;
  background: rgba(255, 255, 255, .5);
}

/* ── 아이콘 모드 — 카테고리 심볼 SVG 를 품을 때(기본 십자 정의 뒤에 위치해야 승리) ── */
.widocs-page .widocs-hub-hero__mark--icon {
  display: grid;
  place-items: center;
}
.widocs-page .widocs-hub-hero__mark--icon::before,
.widocs-page .widocs-hub-hero__mark--icon::after,
.widocs-page .widocs-hub-hero__mark--icon span::before {
  content: none;
}
.widocs-page .widocs-hub-hero__mark--icon > svg {
  width: 62px;
  height: 62px;
  color: #fff;
  transform: rotate(8deg); /* 마크 회전(-8deg) 상쇄 — 아이콘은 수평 유지 */
}
/* 내장 아이콘은 stroke 계열(currentColor). 관리자 등록 SVG 가 fill 도형이면 흰색으로 통일. */
.widocs-page .widocs-hub-hero__mark--icon > svg[fill]:not([fill="none"]),
.widocs-page .widocs-hub-hero__mark--icon > svg [fill]:not([fill="none"]) {
  fill: #fff;
}

.widocs-page .widocs-hub-hero__float-card {
  position: absolute;
  z-index: 2;
  bottom: 30px;
  left: 4%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 15px 12px 11px;
  border: 1px solid rgba(219, 234, 246, .9);
  border-radius: 14px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 12px 28px rgba(48, 100, 147, .16);
}
.widocs-page .widocs-hub-hero__float-icon {
  display: grid;
  place-items: center;
  width: 35px;
  height: 35px;
  border-radius: 11px;
  color: #2c9369;
  background: #e9f7ef;
}
.widocs-page .widocs-hub-hero__float-card strong {
  display: block;
  color: #284d70;
  font-size: 13px;
  letter-spacing: -.3px;
}
.widocs-page .widocs-hub-hero__float-card small {
  display: block;
  margin-top: 2px;
  color: #718499;
  font-size: 10.5px;
  letter-spacing: -.3px;
}
.widocs-page .widocs-hub-hero__float-stat {
  position: absolute;
  z-index: 2;
  top: 14%;
  right: 5%;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #2d699f;
  transition: transform .18s ease;
}
.widocs-page .widocs-hub-hero__float-stat:hover {
  transform: translateY(-2px);
}
.widocs-page .widocs-hub-hero__float-stat span {
  font-size: 34px;
  font-weight: 750;
  letter-spacing: -1.5px;
}
.widocs-page .widocs-hub-hero__float-stat small {
  color: #66829e;
  font-size: 11px;
  line-height: 1.45;
}

/* ── 정의 블록 (DEF-L2 — 클래스는 스키마 speakable 셀렉터라 마크업 불변) ── */
.widocs-page .route-seo-block--definition {
  margin: 0 0 20px;
  padding: 24px 26px;
  background: #fff;
  border: 1px solid var(--widocs-border);
  border-radius: var(--widocs-radius-lg);
  box-shadow: var(--widocs-shadow-soft);
}
.widocs-page .route-seo-block--definition .route-seo-block__title {
  margin: 0 0 10px;
  color: var(--widocs-navy);
  font-size: clamp(19px, 2.2vw, 23px);
  font-weight: 800;
  letter-spacing: -.9px;
}
.widocs-page .route-seo-block--definition .route-seo-block__lead {
  margin: 0 0 10px;
  color: #52677d;
  font-size: 14px;
  letter-spacing: -.3px;
  line-height: 1.78;
}
.widocs-page .route-seo-block--definition .route-seo-block__lead:last-child { margin-bottom: 0; }
.widocs-page .route-seo-block--definition .route-seo-block__lead a {
  color: var(--widocs-blue);
  font-weight: 650;
}

/* ── 섹션 목차(앵커 칩 바) ── */
.widocs-page .dept-hub-toc {
  gap: 8px;
  margin: 0 0 22px;
}
.widocs-page .dept-hub-toc__link {
  min-height: 38px;
  padding: 8px 15px;
  border-color: var(--widocs-border);
  color: #33475f;
  font-size: 13px;
  font-weight: 650;
  transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
.widocs-page .dept-hub-toc__link:hover {
  border-color: var(--widocs-border-hover);
  background: #f2f7fd;
  color: var(--widocs-blue);
  transform: translateY(-1px);
}

/* ── 허브 공통 섹션 카드 셸 ── */
.widocs-page .dept-hub-sec {
  border-color: var(--widocs-border);
  border-radius: var(--widocs-radius-lg);
  padding: 26px 26px 24px;
  margin: 0 0 22px;
  box-shadow: var(--widocs-shadow-soft);
}
.widocs-page .dept-hub-sec__head {
  gap: 14px;
  margin-bottom: 18px;
}
.widocs-page .dept-hub-sec__icon {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: #e8f2fb;
  color: var(--widocs-blue);
}
.widocs-page .dept-hub-sec__icon svg {
  width: 20px;
  height: 20px;
}
.widocs-page .dept-hub-sec__title {
  margin-bottom: 4px;
  color: var(--widocs-navy);
  font-size: clamp(18px, 2vw, 21px);
  letter-spacing: -.8px;
}
.widocs-page .dept-hub-sec__sub {
  color: var(--widocs-muted);
  font-size: 13px;
}
/* 섹션별 아이콘 톤 (디자인 tone 팔레트 순환) */
.widocs-page .dept-hub-sec--popular .dept-hub-sec__icon { color: #b47b22; background: #fff5df; }
.widocs-page .dept-hub-sec--finder  .dept-hub-sec__icon { color: var(--widocs-green); background: #e8f7ef; }
.widocs-page .dept-hub-sec--talks   .dept-hub-sec__icon { color: #2b87a9; background: #e5f5fa; }
.widocs-page .dept-hub-sec--faq     .dept-hub-sec__icon { color: #477ca5; background: #edf6fb; }

/* ── 주제 정의 카드(질환 위키 스니펫 승격분) — 톤 순환 코너 서클 ── */
.widocs-page .dept-topic-cards { gap: 14px; }
.widocs-page .dept-topic-card {
  position: relative;
  overflow: hidden;
  min-height: 124px;
  padding: 20px;
  border-color: var(--widocs-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--widocs-shadow-soft);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.widocs-page .dept-topic-card::after {
  content: "";
  position: absolute;
  right: -35px;
  bottom: -46px;
  width: 94px;
  height: 94px;
  border-radius: 50%;
  opacity: .4;
  background: #d6eafb;
}
.widocs-page .dept-topic-card:nth-child(6n+2)::after { background: #d5f0e1; }
.widocs-page .dept-topic-card:nth-child(6n+3)::after { background: #d4eff7; }
.widocs-page .dept-topic-card:nth-child(6n+4)::after { background: #fde9bd; }
.widocs-page .dept-topic-card:nth-child(6n+5)::after { background: #dde4fb; }
.widocs-page .dept-topic-card:nth-child(6n)::after   { background: #d5f0ea; }
.widocs-page .dept-topic-card:hover {
  border-color: var(--widocs-border-hover);
  box-shadow: 0 18px 30px rgba(26, 73, 112, .1);
  transform: translateY(-4px);
}
.widocs-page .dept-topic-card__name {
  position: relative;
  z-index: 1;
  color: var(--widocs-text);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.6px;
}
.widocs-page .dept-topic-card__desc {
  position: relative;
  z-index: 1;
  color: #63788e;
}
.widocs-page .dept-topic-card__more {
  position: relative;
  z-index: 1;
  color: var(--widocs-blue);
  font-weight: 750;
}

/* ── 칩(pill) 공통 — 질환·형제 카테고리·병원 찾기·시리즈 탭 ── */
.widocs-page .wiki-archive__cat-pill {
  min-height: 38px;
  padding: 8px 15px;
  border-color: var(--widocs-border);
  color: #4e6478;
  font-weight: 650;
}
.widocs-page .wiki-archive__cat-pill:hover {
  border-color: var(--widocs-border-hover);
  color: var(--widocs-blue);
  background: #f2f7fd;
}
.widocs-page .wiki-archive__cat-pill.is-current {
  background: var(--widocs-blue);
  border-color: var(--widocs-blue);
  color: #fff;
  box-shadow: 0 8px 18px rgba(26, 95, 180, .24);
}
.widocs-page .wiki-archive__cat-pill-count { background: rgba(23, 59, 100, .07); }
.widocs-page .wiki-archive__cat-pill--place {
  border-color: #bfe0cf;
  background: #e9f7ef;
  color: #22664b;
}
.widocs-page .wiki-archive__cat-pill--place:hover {
  border-color: #9fd1b6;
  background: #ddf2e6;
  color: #1a5a40;
}

/* 형제 카테고리 섹션 — 카드 셸로 통일 */
.widocs-page .wiki-archive__cat-hub {
  margin: 0 0 22px;
  padding: 22px 26px;
  background: #fff;
  border: 1px solid var(--widocs-border);
  border-radius: var(--widocs-radius-lg);
  box-shadow: var(--widocs-shadow-soft);
}
.widocs-page .wiki-archive__cat-hub-head { margin: 0 0 14px; }
.widocs-page .wiki-archive__cat-hub-title {
  color: var(--widocs-navy);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.6px;
}
.widocs-page .wiki-archive__cat-hub .wiki-archive__cat-list {
  padding: 0;
  border: 0;
  background: transparent;
}

/* 시리즈 탭 */
.widocs-page .widocs-series-tabs {
  border-color: var(--widocs-border);
  border-radius: 14px;
  background: #f6f9fc;
}
.widocs-page .widocs-series-tabs__label { color: var(--widocs-blue); }

/* ── 목록 헤더 + 정렬 토글 ── */
.widocs-page .wiki-archive__result-head {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin: 4px 0 16px;
}
.widocs-page .wiki-archive__result-title {
  color: var(--widocs-navy);
  font-size: clamp(18px, 2vw, 21px);
  font-weight: 800;
  letter-spacing: -.8px;
}
.widocs-page .wiki-archive__result-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
}
.widocs-page .widocs-sort-control {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border-radius: 11px;
  background: #eef3f7;
}
.widocs-page .widocs-sort-control__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 8px;
  color: #728397;
  font-size: 12.5px;
  font-weight: 700;
  text-decoration: none;
  transition: color .15s ease, background .15s ease;
}
.widocs-page .widocs-sort-control__btn:hover { color: var(--widocs-blue); }
.widocs-page .widocs-sort-control__btn.is-active {
  color: var(--widocs-blue);
  background: #fff;
  box-shadow: 0 2px 6px rgba(37, 72, 104, .12);
}

/* ── 칼럼 카드 그리드(최신 글·많이 본 칼럼 공용 col-card 스킨) ── */
.widocs-page .card-grid--dept { gap: 18px; }
.widocs-page .col-card {
  border-color: var(--widocs-border);
  border-radius: var(--widocs-radius-lg);
  box-shadow: var(--widocs-shadow-soft);
}
.widocs-page .col-card:hover {
  border-color: var(--widocs-border-hover);
  box-shadow: var(--widocs-shadow-hover);
  transform: translateY(-4px);
}

/* ── 페이지네이션 ── */
.widocs-page .wiki-archive__pagination .page-numbers {
  border-radius: 11px;
  border-color: var(--widocs-border);
  color: #56697d;
  font-weight: 650;
}
.widocs-page .wiki-archive__pagination .page-numbers:hover {
  border-color: var(--widocs-border-hover);
  color: var(--widocs-blue);
  background: #f2f7fd;
}
.widocs-page .wiki-archive__pagination .page-numbers.current {
  background: var(--widocs-blue);
  border-color: var(--widocs-blue);
  color: #fff;
  box-shadow: 0 8px 18px rgba(26, 95, 180, .24);
}

/* ── 빈 상태 ── */
.widocs-page .wiki-archive__empty {
  border-radius: var(--widocs-radius-lg);
  border-color: #cfdeea;
}

/* ── 리더 카드 ── */
.widocs-page .dept-leaders { gap: 14px; }
.widocs-page .dept-leaders__item {
  padding: 18px;
  gap: 12px;
  border-color: var(--widocs-border);
  border-radius: 16px;
  background: #fff;
}
.widocs-page .dept-leaders__item:hover {
  border-color: var(--widocs-border-hover);
  box-shadow: var(--widocs-shadow-hover);
  transform: translateY(-4px);
}
.widocs-page .dept-leaders__name {
  color: #234563;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.8px;
}
.widocs-page .dept-leaders__role {
  color: #4d7ba6;
  background: #e8f2fb;
}
.widocs-page .dept-leaders__link {
  min-height: 32px;
  border-color: var(--widocs-border);
  background: #f7fafd;
}
.widocs-page .dept-leaders__link:hover {
  border-color: var(--widocs-border-hover);
  background: #eef5fc;
  color: var(--widocs-blue);
}
.widocs-page .dept-leaders__link--plain {
  border-color: #eceff3;
  background: transparent;
}

/* ── 위닥스톡 질문 행 ── */
.widocs-page .dept-talks { gap: 10px; }
.widocs-page .dept-talks__link {
  min-height: 52px;
  border-color: var(--widocs-border);
  border-radius: 14px;
  background: #fff;
}
.widocs-page .dept-talks__link:hover {
  border-color: var(--widocs-border-hover);
  box-shadow: 0 10px 20px rgba(26, 95, 180, .08);
}
.widocs-page .dept-talks__q {
  background: #e8f2fb;
  color: var(--widocs-blue);
}

/* ── FAQ (details/summary 유지 — Q. 프리픽스 + 회전 셰브런) ── */
.widocs-page .dept-hub-sec--faq .wiki-archive__faq-item {
  border-bottom: 1px solid #e6edf4;
}
.widocs-page .dept-hub-sec--faq .wiki-archive__faq-item summary {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 60px;
  padding: 10px 0;
  color: #314d66;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -.5px;
  line-height: 1.5;
}
.widocs-page .dept-hub-sec--faq .wiki-archive__faq-item summary::before {
  content: "Q.";
  color: #2a79bc;
  font-size: 13px;
  font-weight: 800;
}
.widocs-page .dept-hub-sec--faq .wiki-archive__faq-item summary::after {
  content: "";
  position: static;
  justify-self: end;
  width: 9px;
  height: 9px;
  margin-left: 12px;
  border-right: 2px solid #8295a7;
  border-bottom: 2px solid #8295a7;
  transform: rotate(45deg);
  transition: transform .24s ease, border-color .24s ease;
}
.widocs-page .dept-hub-sec--faq .wiki-archive__faq-item[open] summary::after {
  border-color: var(--widocs-blue);
  transform: rotate(225deg);
}
.widocs-page .dept-hub-sec--faq .wiki-archive__faq-item p {
  padding: 0 0 16px 26px;
  color: #6e7f91;
  font-size: 13.5px;
  line-height: 1.75;
}
/* FAQ 답변 내 브랜드 키워드 링크 (내부링크 강화, 2026-08-24) — 색만으로 구분되지 않게
   밑줄 병행(WCAG 1.4.1). 전역 a{color:inherit} 리셋을 여기서만 재정의. */
.widocs-page .dept-hub-sec--faq .wiki-archive__faq-item p a {
  color: var(--widocs-blue);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.widocs-page .dept-hub-sec--faq .wiki-archive__faq-item p a:hover {
  color: var(--widocs-blue-dark);
}

/* ── 여정 CTA (닥스맵·용어위키·칼럼·위닥스톡) — 그린 포인트 섹션 ── */
.widocs-page .col-cta.hub-cta {
  margin-top: 34px;
  padding: 34px 28px 30px;
  border: 1px solid rgba(211, 228, 216, .9);
  border-radius: 20px;
  background: #eff7f1;
}
.widocs-page .col-cta.hub-cta h3 {
  margin-bottom: 8px;
  color: #28495e;
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: 800;
  letter-spacing: -1.2px;
}
.widocs-page .col-cta.hub-cta p {
  margin-bottom: 20px;
  color: #6c8578;
  font-size: 13.5px;
}
.widocs-page .col-cta.hub-cta .btn {
  min-height: 48px;
  margin: 4px;
  padding: 0 20px;
  border-radius: 13px;
  font-weight: 750;
}
.widocs-page .col-cta.hub-cta .btn--primary {
  background: var(--widocs-blue);
  box-shadow: 0 11px 24px rgba(26, 95, 180, .22);
}
.widocs-page .col-cta.hub-cta .btn--primary:hover {
  background: var(--widocs-blue-dark);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(26, 95, 180, .29);
}
.widocs-page .col-cta.hub-cta .btn--outline {
  border: 1px solid rgba(197, 220, 205, .95);
  background: #fff;
  color: #2c4d5c;
}
.widocs-page .col-cta.hub-cta .btn--outline:hover {
  background: #f7fbf8;
  transform: translateY(-2px);
  box-shadow: 0 10px 20px rgba(39, 93, 69, .08);
}

/* ── 헬스 분야 허브 전용 (taxonomy-health_column_category.php, 2026-08-24) ──
   진료과 허브와 다른 클래스 체계(unified-section·pill-group·list-toolbar 등)를
   그대로 두고 .widocs-page 스코프로만 디자인 토큰을 입힌다. */
.widocs-page .container.unified-page-shell { max-width: 1080px; }

.widocs-page .unified-toolbar {
  border-color: var(--widocs-border);
  border-radius: 14px;
  background: #f6f9fc;
}

.widocs-page .unified-section {
  border-color: var(--widocs-border);
  border-radius: var(--widocs-radius-lg);
  padding: 22px 24px 20px;
  box-shadow: var(--widocs-shadow-soft);
}
.widocs-page .unified-section__title {
  color: var(--widocs-navy);
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -.6px;
}
.widocs-page .unified-section__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 14px;
  margin: 0 0 14px;
}
.widocs-page .unified-section__head .unified-section__title { margin: 0; }

.widocs-page .pill-group .pill,
.widocs-page .widocs-series-tabs .pill {
  min-height: 38px;
  padding: 8px 15px;
  border-color: var(--widocs-border);
  background: #fff;
  color: #4e6478;
  font-weight: 650;
}
.widocs-page .pill-group .pill:hover,
.widocs-page .widocs-series-tabs .pill:hover {
  border-color: var(--widocs-border-hover);
  color: var(--widocs-blue);
  background: #f2f7fd;
  transform: translateY(-1px);
}
/* 활성 pill — 위 기본 규칙(0,3,0)의 어두운 글자색이 main.css .pill.active 의
   흰 글자(0,2,0)를 눌러 파란 배경 위 텍스트가 안 보이던 결함 수정(2026-08-24):
   color:#fff 를 같은 특이도로 명시. hover 시에도 활성 상태가 이긴다(후행 선언). */
.widocs-page .pill-group .pill.active,
.widocs-page .widocs-series-tabs .pill.active {
  background: var(--widocs-blue);
  border-color: var(--widocs-blue);
  color: #fff;
  box-shadow: 0 8px 18px rgba(26, 95, 180, .24);
}

.widocs-page .result-count {
  color: var(--widocs-muted);
  font-size: 13px;
  font-weight: 500;
}

.widocs-page .card-grid { gap: 18px; }

.widocs-page .empty-state {
  padding: 48px 24px;
  background: #fff;
  border: 1px dashed #cfdeea;
  border-radius: var(--widocs-radius-lg);
}

/* ── 병원 방문 후기 (2026-08-26) ──────────────────────────────
   신규 클래스라 오버라이드가 아닌 전체 정의. 카드 톤은 위닥스톡 후기 카드와
   같은 계열로 맞추되, 허브 섹션 그리드(3열 → 2열 → 1열)에 얹는다. */
.widocs-page .dept-reviews {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.widocs-page .dept-reviews__item { display: flex; }
.widocs-page .dept-reviews__card {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 8px;
  padding: 16px 16px 14px;
  border: 1px solid var(--widocs-border);
  border-radius: 14px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.widocs-page a.dept-reviews__card:hover {
  border-color: var(--widocs-border-hover);
  box-shadow: 0 10px 20px rgba(26, 95, 180, .08);
  transform: translateY(-2px);
}
.widocs-page .dept-reviews__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.widocs-page .dept-reviews__clinic {
  overflow: hidden;
  color: var(--widocs-navy);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: -.4px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.widocs-page .dept-reviews__badge {
  flex: none;
  padding: 3px 8px;
  border-radius: 999px;
  background: #e9f6f1;
  color: var(--widocs-green);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: -.2px;
}
.widocs-page .dept-reviews__region {
  color: var(--widocs-muted);
  font-size: 12px;
  letter-spacing: -.2px;
}
.widocs-page .dept-reviews__comment {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: var(--widocs-text);
  font-size: 13.5px;
  line-height: 1.65;
  letter-spacing: -.3px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.widocs-page .dept-reviews__meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  padding-top: 4px;
  color: var(--widocs-muted);
  font-size: 12px;
}
.widocs-page .dept-reviews__dot {
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #c3cede;
}
.widocs-page .dept-reviews__more {
  margin-left: auto;
  color: var(--widocs-blue);
  font-weight: 700;
}
.widocs-page .dept-reviews__all {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  margin-top: 14px;
  padding: 0 14px;
  border: 1px solid var(--widocs-border);
  border-radius: 999px;
  background: #f7fafd;
  color: var(--widocs-text);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -.3px;
  text-decoration: none;
  transition: border-color .18s ease, background .18s ease, color .18s ease;
}
.widocs-page .dept-reviews__all:hover {
  border-color: var(--widocs-border-hover);
  background: #eef5fc;
  color: var(--widocs-blue);
}

/* ── 반응형 (기존 기준 1024 / 768 / 640) ─────────────────────── */
@media (max-width: 1024px) {
  .widocs-page .widocs-hub-hero .wiki-archive__container {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
    gap: 24px;
  }
  .widocs-page .widocs-hub-hero__mark {
    width: 108px;
    height: 108px;
    border-radius: 34px 34px 34px 12px;
  }
  .widocs-page .widocs-hub-hero__mark::before { top: 22px; left: 46px; width: 16px; height: 64px; }
  .widocs-page .widocs-hub-hero__mark::after  { top: 46px; left: 22px; width: 64px; height: 16px; }
}

@media (max-width: 768px) {
  /* 터치 타겟 (2026-08-24) — 터치 입력 구간에서만 44px(애플 HIG·Material 권장선).
     데스크톱은 마우스 정밀도라 32px 유지(디자인 시안 높이). */
  .widocs-page .widocs-sort-control__btn { min-height: 44px; }

  .widocs-page .widocs-hub-hero .wiki-archive__container {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .widocs-page .widocs-hub-hero__visual { display: none; }
  .widocs-page .wikitalk-hero__title {
    font-size: clamp(30px, 8vw, 38px);
    letter-spacing: -1.6px;
  }
  .widocs-page .wikitalk-hero__sub { font-size: 15px; }
  .widocs-page .dept-hub-sec,
  .widocs-page .wiki-archive__cat-hub { padding: 20px 18px; }
  .widocs-page .route-seo-block--definition { padding: 20px 18px; }

  /* 후기 카드 3열 → 2열. "모두 보기"는 터치 타겟 44px(위 정렬 규칙과 동일 기준). */
  .widocs-page .dept-reviews { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .widocs-page .dept-reviews__all { min-height: 44px; }
}

@media (max-width: 640px) {
  .widocs-page .widocs-definition-card {
    padding: 13px 14px;
    font-size: 12.5px;
  }
  .widocs-page .wiki-archive__result-tools {
    width: 100%;
    justify-content: space-between;
  }
  .widocs-page .dept-hub-sec--faq .wiki-archive__faq-item summary {
    grid-template-columns: 22px minmax(0, 1fr) auto;
    min-height: 54px;
    font-size: 14px;
  }
  .widocs-page .dept-hub-sec--faq .wiki-archive__faq-item p { padding-left: 22px; }
  .widocs-page .col-cta.hub-cta { padding: 26px 18px 22px; }
  .widocs-page .col-cta.hub-cta .btn {
    width: 100%;
    margin: 4px 0;
  }
  /* 후기 카드 2열 → 1열 (좁은 폭에서 본문 4줄 클램프가 과하게 잘리는 것 방지). */
  .widocs-page .dept-reviews { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .widocs-page *,
  .widocs-page *::before,
  .widocs-page *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
  .widocs-page .dept-topic-card:hover,
  .widocs-page .col-card:hover,
  .widocs-page .dept-leaders__item:hover,
  .widocs-page .dept-hub-toc__link:hover,
  .widocs-page a.dept-reviews__card:hover,
  .widocs-page .col-cta.hub-cta .btn:hover {
    transform: none;
  }
}
