/**
 * rb2026 — UI 컴포넌트 형태: shadcn/ui(2026) 식. 2026-10-01 사용자 「https://ui.shadcn.com/ 전체적으로 반영」
 *   범위 = 사이트 전체(메인·서브), 강도 = 컴포넌트 형태만 — 색·서체는 디바 그대로(올리브·크림·Playfair/Pretendard).
 *   shadcn 실측(ui.shadcn.com, 2026-10-01): 버튼 = 알약 h35·14px·500·그림자 없음 / 카드 = 둥글기 24·1px 선·그림자 없음 /
 *   입력 = 옅은 면(테두리 없음)·둥글게 / 배지 = 알약 12px·500 / 탭 = 옅은 트랙 안 흰 알약 / 포커스 = 3px 링.
 * 이 파일은 inc/header.php 가 dv_ui() 일 때 모든 CSS 맨 뒤에 싣는다. 미리보기 ?dvui=1 · 전환 touch ko/rb2026/UI · 롤백 rm.
 * 원본 규칙을 이기려고 선택자 앞에 :root(0,1,0)를 붙인다. #bo_v_con(게시판 본문 래퍼) 안은 필요한 곳만 같은 ID 로 맞춘다.
 */
:root{
  --ui-r-card:24px;                       /* 카드·판 */
  --ui-r-media:20px;                      /* 사진·영상·그림틀 */
  --ui-r-inner:14px;                      /* 카드 안의 작은 판·썸네일 */
  --ui-line:rgba(47,43,40,.10);           /* 카드 테두리(1px) */
  --ui-line-2:rgba(47,43,40,.18);         /* 아웃라인 버튼·입력 hover */
  --ui-muted:rgba(47,43,40,.055);         /* 옅은 면(입력·탭 트랙·보조 버튼 hover) */
  --ui-ring:0 0 0 3px rgba(166,181,93,.5);
  --ui-shadow-xs:0 1px 2px rgba(47,43,40,.06);
}

/* ---- 1. 버튼: 알약 h40(폰 42)·14px·500, 그림자·들림 없음, hover 는 면 색만 ---- */
:root .dv-btn{height:40px;padding:0 18px;gap:7px;font-size:14px;font-weight:500;letter-spacing:-.005em;box-shadow:none;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,filter .2s}
:root .dv-btn:hover{transform:none}
:root .dv-btn svg{width:16px;height:16px}
:root .dv-btn.dv-btn--sm{height:34px;padding:0 14px;font-size:13px}
:root .dv-btn.dv-btn--lg{height:44px;padding:0 22px;font-size:15px}
:root .dv-btn.dv-btn--primary,:root .dv-btn.dv-btn--primary:hover,:root .dv-btn.dv-btn--primary:focus-visible{box-shadow:none}
:root .dv-btn.dv-btn--primary:hover,:root .dv-btn.dv-btn--dark:hover,:root .dv-btn.dv-btn--white:hover{filter:brightness(.94);box-shadow:none}
/* 아웃라인: 글자색 테두리 1.4px → 글자색 28% 의 1px(어느 바탕에서도 같은 농도), hover 는 옅은 면 */
:root .dv-btn.dv-btn--ring{border:1px solid color-mix(in srgb,currentColor 28%,transparent);background:transparent}
:root .dv-btn.dv-btn--ring:hover{background:color-mix(in srgb,currentColor 7%,transparent);border-color:color-mix(in srgb,currentColor 40%,transparent)}
:root .dv-btn:focus-visible{outline:none;box-shadow:var(--ui-ring)}
@media (max-width:767px){
  :root .dv-btn{height:42px;padding:0 16px;font-size:14px}
  :root .dv-btn.dv-btn--lg{height:44px}
}

/* ---- 2. 카드·판: 둥글기 24, 1px 선, 그림자 없음 ---- */
:root .dv-pb-type,:root .dv-pb-card,:root .dv-pb-ba-item,:root .dv-rpost,:root .dv-pb-cmp-col,
:root .dv-pb-info-list li,:root .dv-pb-feat-list li,
:root .dv-pb--sub33 .dv-pb-way-need,:root .dv-pb--sub33 .dv-pb-callout,
:root .dv-pb--sub33.is-l2 .dv-cl-q,:root .dv-pb--sub33.is-l2 .dv-pb-cl-res{border-radius:var(--ui-r-card)}
:root .dv-pb-type,:root .dv-pb-ba-item,:root .dv-rpost,:root .dv-pb-cmp-col{border:1px solid var(--ui-line);box-shadow:none}
:root .dv-pb-card{border-width:1px;box-shadow:none}
:root .dv-pb--sub33.is-l2 .dv-cl-q{box-shadow:0 0 0 1px var(--ui-line)}
:root .dv-pb--sub33.is-l2 .dv-cl-q:hover{box-shadow:0 0 0 1px var(--ui-line-2)}
:root .dv-pb--sub33.is-l2 .dv-cl-q[aria-pressed="true"]{box-shadow:0 0 0 2px var(--dv-olive-dp)}
:root .dv-pb--sub33.is-l2 .dv-pb-cl-res{box-shadow:0 0 0 1px var(--ui-line)}
:root .dv-pb--sub33 .dv-pb-way-need,:root .dv-pb--sub33 .dv-pb-callout{box-shadow:none}
:root .dv-media-card{border-radius:var(--ui-r-media);border-color:var(--ui-line)}
/* 카드 FAQ(헤어라인 아닌 기본형): 둥글기 16 */
:root .dv-pb-faq:not(.dv-pb-faq--hair) .dv-pb-faq-item{border-radius:16px;border-color:var(--ui-line);box-shadow:none}
/* 카드 안 작은 판: 14 */
:root .dv-pb-faq-a,:root .dv-pb--sub33 .dv-pb-way-need-list li,:root .dv-insight-th{border-radius:var(--ui-r-inner)}

/* ---- 3. 사진·영상·그림틀: 둥글기 20, 떠 있는 그림자 → 1px 선 ---- */
:root .dv-pb-intro-img,:root .dv-pb-lp-img,:root .dv-pb-way-step-img,:root .dv-pb-step-img,:root .dv-pb-map-fig,:root .dv-pb-zone-fig,
:root .dv-pb--sub33.is-l2 .dv-pb-zone-fig,:root .dv-pb--sub33 .dv-pb-lp-img,:root .dv-pb--sub33 .dv-pb-way-step-img,
:root .dv-rcard-thumb,:root .dv-relb .dv-relb-main,:root .dv-lite.dv-lite--v,:root .dv-lite.dv-insight-player,:root .root_daum_roughmap{border-radius:var(--ui-r-media)}
:root .dv-lite.dv-lite--v,:root .dv-lite.dv-insight-player,:root .dv-lite.dv-lite--sm{box-shadow:0 0 0 1px var(--ui-line)}
:root .dv-doctor-photo{box-shadow:none;border-radius:var(--ui-r-media)}
/* 메인 사진 카드(시그니처 트랙·이벤트): 각진 사진 → 둥글기 20 (shadcn 카드 안 미디어처럼) */
:root .dv-sig2-img,:root .dv-events2-img{border-radius:var(--ui-r-media)}
:root .dv-lite.dv-lite--sm{border-radius:var(--ui-r-inner)}
:root .dv-pb--sub33.is-l2 .dv-pb-faq-feat--multi .dv-relb-img,:root .dv-pb--sub33.is-l2 .dv-pb-faq-feat--multi .dv-relb-shade{border-radius:12px}

/* ---- 4. 탭: 옅은 트랙(알약) 안에서 선택 탭만 흰 알약 ---- */
:root .dv-pb--sub33 .dv-pb-tabs{display:inline-flex;gap:2px;padding:4px;border-radius:999px;background:var(--ui-muted)}
:root .dv-pb--sub33 .dv-pb-way--a .dv-pb-tabs{justify-self:center}
:root .dv-pb--sub33 .dv-pb-tab{height:36px;padding:0 16px;border:0;border-radius:999px;background:transparent;color:var(--dv-ink-2);font-size:14px;font-weight:500;box-shadow:none}
:root .dv-pb--sub33 .dv-pb-tab:hover{color:var(--dv-ink);background:transparent}
:root .dv-pb--sub33 .dv-pb-tab[aria-selected="true"]{background:#fff;color:var(--dv-ink);font-weight:600;box-shadow:var(--ui-shadow-xs),0 0 0 1px var(--ui-line)}
:root .dv-pb--sub33 .dv-pb-tab:focus-visible{outline:none;box-shadow:var(--ui-ring)}
@media (max-width:767px){
  :root .dv-pb--sub33 .dv-pb-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;border-radius:22px}
  :root .dv-pb--sub33 .dv-pb-tab{height:40px;flex:none}
}

/* ---- 5. 배지: 알약 12px·500 ---- */
:root .dv-events-tag,:root .dv-insight-topic,:root .dv-relb .dv-relb-tag,:root .dv-rcard-badge,:root .dv-pb--sub33.is-l2 .dv-pb-cl-tags span{border-radius:999px;font-size:12px;font-weight:500;letter-spacing:0}
:root .dv-pb--sub33 .dv-pb-lp-tag{box-shadow:0 0 0 1px var(--ui-line);font-weight:600}

/* ---- 6. 원형 아이콘 버튼: 1px 선, 그림자 없음(shadcn outline icon) ---- */
:root .dv-shorts2-arw{box-shadow:none}   /* 색(올리브 면)은 그대로, 떠 있는 그림자만 없앤다 */
:root .dv-pb--sub33 .dv-pb-zone-go,:root .dv-pb--sub33.is-l2 .dv-pb-zone-go{border-color:var(--ui-line-2)}
:root .dv-pb--sub33.is-l2 .dv-map-reset{box-shadow:0 0 0 1px var(--ui-line)}

/* ---- 7. 떠 있는 퀵바·헤더 언어 버튼: 1px 선 + 옅은 그림자 하나 ---- */
:root .dv-quick{border-color:var(--ui-line);box-shadow:0 8px 24px -14px rgba(47,43,40,.28)}
:root .dv-lang-btn:focus-visible,:root .dv-quick-i:focus-visible{outline:none;box-shadow:var(--ui-ring)}

/* ---- 8. 폼(게시판·로그인): 입력 = 옅은 면·테두리 없음·둥글기 12 / 제출 = 알약 ---- */
:root .dv-page-body input.frm_input,:root .dv-page-body select,:root .dv-page-body textarea,
:root input.ms-box-inp,:root .dv-page-body input[type="text"],:root .dv-page-body input[type="password"],:root .dv-page-body input[type="email"],:root .dv-page-body input[type="tel"]{
  min-height:40px;padding:8px 14px;border:1px solid transparent;border-radius:12px;background:var(--ui-muted);box-shadow:none;font-size:14px;transition:background-color .2s,border-color .2s,box-shadow .2s}
:root .dv-page-body textarea{min-height:120px}
/* 게시판·로그인 래퍼(.dv-page-body--wrap) 규칙이 테두리·둥글기·면을 !important 로 고정해 같은 방식으로 덮는다(page.css 82행) */
:root .dv-page-body--wrap input[type=text],:root .dv-page-body--wrap input[type=password],:root .dv-page-body--wrap input[type=tel],:root .dv-page-body--wrap input[type=email],:root .dv-page-body--wrap select,:root .dv-page-body--wrap textarea{
  border:1px solid transparent!important;border-radius:12px!important;background:var(--ui-muted)!important}
:root .dv-page-body--wrap input[type=text]:focus,:root .dv-page-body--wrap input[type=password]:focus,:root .dv-page-body--wrap input[type=tel]:focus,:root .dv-page-body--wrap input[type=email]:focus,:root .dv-page-body--wrap select:focus,:root .dv-page-body--wrap textarea:focus{
  border-color:var(--ui-line-2)!important;background:#fff!important;outline:none;box-shadow:var(--ui-ring)}
:root .dv-page-body input.frm_input:focus,:root .dv-page-body select:focus,:root .dv-page-body textarea:focus,:root input.ms-box-inp:focus,
:root .dv-page-body input[type="text"]:focus,:root .dv-page-body input[type="password"]:focus{outline:none;border-color:var(--ui-line-2);background:#fff;box-shadow:var(--ui-ring)}
:root .dv-page-body input.btn_submit,:root .dv-page-body button.btn_submit,:root input.ms-confirm-submit{
  height:40px;padding:0 18px;border:0;border-radius:999px;font-size:14px;font-weight:500;box-shadow:none}
:root a.log_btnss{border-radius:999px;border-color:var(--ui-line-2)}   /* 로그인 아래 버튼 3개: 크기는 스킨 그대로(바꾸면 한 줄에 안 들어가 두 줄로 꺾였다), 모서리만 */
:root input.ms-confirm-submit{height:44px}
:root .dv-page-body input.btn_submit:focus-visible,:root input.ms-confirm-submit:focus-visible,:root a.log_btnss:focus-visible{outline:none;box-shadow:var(--ui-ring)}
