/* ═══════════════════════════════════════════════════════════════
   토닥 — 색상·형태 레이어 (am.css)

   ★뼈대(안마킹)는 "골드 + 딥그린 + 네이비"였다. 여기서는 **색만** 바꾸지 않는다.
     팔레트(hue 15 버밀리언)와 함께 **라운드 반경·그림자·버튼 형태·아이콘 타일**까지
     갈랐다(사용자 상시 지시: 색만 바꾸면 지적된다).

       구분        안마킹(뼈대)              토닥
       주색        골드 #c2610f             버밀리언 #dd5a2c
       보조        딥그린 #1d6b5f           테라코타/살구 #c9743f · #e9b449
       메뉴바      딥그린 그라데이션         짙은 코코아 단색 + 살구 밑줄
       버튼        각진 그라데이션 알약      **완전 라운드(999px) 단색**
       카드 라운드 12px                      16px
       아이콘 타일 폰트어썸 글리프           **원형 SVG 픽토그램**(img/icon)

   골격(3층 헤더 · 좌측 사이드바 · 5열 푸터)은 kt.css 가 정한 그대로 쓴다.
   로드 순서: kt.css(골격+컴포넌트) → am.css(팔레트·형태). head.php 에서 10 → 11.
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. 팔레트 변수 재정의 ──────────────────────────────────────
   kt.css 는 var(--kt-primary) 를 57곳, --kt-ink 를 54곳에서 쓴다.
   여기서 값만 갈아끼우면 컴포넌트 대부분이 자동으로 안마킹 색이 된다. */
:root {
  --kt-primary:   #c24a1e;   /* 본문 위 링크·강조 — 버밀리언을 텍스트 대비에 맞춰 낮춘 값 */
  --kt-primary-d: #9b3915;
  --kt-accent:    #8a5a3c;   /* 보조 강조 — 웜 브라운 */
  --kt-ink:       #2a1d18;   /* ★잉크도 뉴트럴 네이비 → 웜 브라운으로 */
  --kt-ink2:      #4e3a32;
  --kt-mute:      #8b756c;
  --kt-line:      #ecdfd8;
  --kt-soft:      #fbf3ef;

  /* 토닥 브랜드 토큰 */
  --am-cocoa:     #3a231b;   /* 메뉴바 — 짙은 코코아 */
  --am-cocoa-2:   #2a1811;
  --am-cocoa-3:   #4d3126;
  --am-verm:      #dd5a2c;   /* 버밀리언(로고 원과 같은 값) */
  --am-verm-2:    #ef7a4a;
  --am-apricot:   #e9b449;   /* 포인트 살구 */
  --am-verm-soft: #fdeee7;
  --am-line:      #ecdfd8;   /* ★뼈대에 정의가 빠져 .am-doc-date 상단선이 안 그려지던 변수 */
  --am-r:         16px;      /* 카드 라운드 — 뼈대 12px 보다 크게 */
}

/* ── 2. kt.css 가 파란색을 하드코딩한 자리만 골드·네이비로 ────────
   변수를 안 쓰는 규칙들이다. 색 속성만 덮고 나머지 선언은 그대로 상속받는다. */

/* ── 메뉴바 ───────────────────────────────────────────────────
   원본(코리아테라피)은 네이비다. 안마킹 로고가 골드 왕관 + 초록 잎이라 **딥그린**으로 간다.
   ★어두운 배경 + 흰 글씨를 유지하는 이유: 골드 배경에 흰 글씨는 대비 2.6:1 로 읽히지 않고,
     골드 배경에 검은 글씨는 헤더가 너무 튀어 본문 집중을 뺏는다.
     #0f3527 위 #f3efe6 = 약 12:1 (WCAG AAA). */
.kt-menubar {
  background: var(--am-cocoa);          /* ★그라데이션이 아니라 단색 — 뼈대와 질감부터 다르게 */
  border-bottom: 3px solid var(--am-apricot);
}
.kt-menubar a { color: #eddcd3; }
.kt-menubar a:after { background: var(--am-verm-2); }
.kt-menubar a:hover { color: #ffd9c6; }
.kt-menubar a.on   { color: #fff; }

/* 헤더 전화·CTA */
.kt-hdtel-ico { background: var(--am-verm); border-radius: 50%; }   /* ★사각 → 원형 */
.kt-hdbtn     { background: var(--am-cocoa-3); border-radius: 999px; }  /* ★알약 버튼 */

/* ── 사이드 위젯 헤더 ─────────────────────────────────────────
   ★kt.css 는 헤더 색을 --w1(밝은쪽)/--w2(어두운쪽)로, 그림자를 --wsh(rgb 3값)로 받는다.
     예전 판은 --wsh 에 gradient 를 넣어 두어 색이 하나도 안 바뀌고 그림자만 깨졌다.
     세 변수를 규격대로 덮어야 한다.
   대비: 흰 글씨 기준 아래 조합 모두 4.5:1 이상(WCAG AA). */
.kt-widget         { --w1: #c24a1e; --w2: #9b3915; --wsh: 155, 57, 21; }  /* 지역별 = 버밀리언 (4.8:1) */
.kt-widget.w-theme { --w1: #a8623c; --w2: #8a4c2b; --wsh: 138, 76, 43; }  /* 케어 메뉴 = 테라코타 */
.kt-widget.w-talk  { --w1: #4d3126; --w2: #2a1811; --wsh: 42, 24, 17; }   /* 소식 = 코코아 */

/* 홈 히어로 */
.kt-hero-main   { background: linear-gradient(160deg, var(--am-cocoa) 0%, #6b2f18 62%, var(--am-verm) 100%);
                  border-radius: var(--am-r); }
.kt-hero-main p { color: #f2d9cc; }
.kt-hero-main p b { color: #fff; }
.kt-hero-chips a { border-radius: 999px; }

/* 버튼·칩의 활성 상태 */
.kt-btn-primary,
.kt-chip input:checked + span,
.kt-regchips a.on,
#bo_gall #bo_cate_ul a.bo_cate_on,
#bo_v .bo_v_cate { background: var(--am-verm); border-radius: 999px; }
#bo_gall .bo_cate_link { color: var(--kt-primary); }

/* 호버 시 드러나는 테두리 — 파란 계열 → 골드 계열 */
.kt-shop:hover,
.kt-course:hover,
.kt-faq details[open],
.kt-relcard:hover,
.kt-btn-ghost:hover,
.kt-chip span:hover,
.kt-regchips a:hover,
.kt-chiprow label:hover { border-color: #f0b79c; }

/* ── 매거진 카드 ──────────────────────────────────────────────
   원본은 카테고리 칩이 브랜드 블루, 새글 뱃지가 빨강이었다. 둘 다 안마킹 팔레트 밖이라
   카드 하단 메타와 함께 "분위기를 깬다"는 지적을 받은 자리다. */
#bo_gall .bo_cate_link {
  color: #9b3915; background: rgba(221,90,44,.10); font-weight: 700;
}
#bo_gall .gall_box:hover .bo_cate_link { background: rgba(221,90,44,.16); }

/* 새글 표시 — 빨간 알약은 매거진 톤에 과하다. 제목 옆 작은 골드 점으로 낮춘다. */
#bo_gall .new_icon {
  margin-left: 6px; padding: 0; width: 6px; height: 6px; border-radius: 50%;
  background: var(--am-verm); color: transparent; font-size: 0; vertical-align: middle;
  box-shadow: 0 0 0 3px rgba(221,90,44,.16);
}

/* 카테고리 필터 활성 칩 */
#bo_gall #bo_cate_ul a.bo_cate_on {
  background: linear-gradient(135deg, #c24a1e, #9b3915);
  box-shadow: 0 6px 14px -6px rgba(155,57,21,.6);
}
#bo_gall #bo_cate_ul a:hover { border-color: #f0b79c; background: #fdf4f0; }

/* ── 매거진 하단 '함께 보면 좋은 매장' — 칩 → 사진 카드 ──────── */
.kt-relshopg {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 10px 0 18px;
}
.kt-relshopcard {
  display: block; border: 1px solid var(--kt-line); border-radius: var(--am-r); overflow: hidden;
  background: #fff; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.kt-relshopcard:hover {
  transform: translateY(-2px); border-color: #f0b79c;
  box-shadow: 0 14px 26px -18px rgba(155, 57, 21, .55);
}
.kt-relshopthumb { position: relative; display: block; aspect-ratio: 1/1; overflow: hidden; background: var(--kt-soft); }
.kt-relshopthumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kt-relshopthumb .kt-noimg { position: absolute; inset: 0; display: flex; align-items: center;
  justify-content: center; font-style: normal; font-size: 22px; font-weight: 800; color: #fff; }
.kt-relshopb { display: block; padding: 10px 11px 12px; }
.kt-relshopb b { display: block; font-size: 14px; font-weight: 700; letter-spacing: -.02em;
  color: var(--kt-ink); line-height: 1.35;
  display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.kt-relshopb em { display: block; margin-top: 3px; font-style: normal; font-size: 12px; color: var(--kt-mute); }
@media (max-width: 640px) {
  .kt-relshopg { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .kt-relshopb { padding: 8px 8px 10px; }
  .kt-relshopb b { font-size: 12.5px; }
  .kt-relshopb em { font-size: 11px; }
}

/* 본문 인용 */
#bo_v_con blockquote { border-left-color: var(--am-verm-2); }

/* 관련글 섹션 제목 밑줄 */
.kt-postrel h3 { border-bottom-color: #f0e2da; }

/* 가격 요약 패널 */
.kt-sum-price       { background: var(--am-cocoa); }
.kt-sum-price > span { color: var(--am-verm-2); }
/* ── 정보 문서(약관·소개·정책) 타이포 ──
   ★한 줄 길이를 46rem 으로 묶는다. 전폭으로 뽑으면 한 줄에 한글 70자가 넘어가 읽히지 않는다. */
.kt-main .ctt_txt, .kt-main #bo_v_con, .am-doc { max-width: 46rem; }
.kt-main .ctt_txt p, .kt-main #bo_v_con p { line-height: 1.9; }

.am-doc { font-size: 15px; line-height: 1.9; color: var(--kt-ink2); padding-bottom: 8px; }
.am-doc h2 {
  margin: 0 0 18px; padding-bottom: 12px; border-bottom: 2px solid var(--am-cocoa);
  font-size: 23px; font-weight: 800; letter-spacing: -.04em; color: var(--kt-ink);
}
.am-doc h3 {
  margin: 30px 0 10px; padding-left: 11px; border-left: 3px solid var(--am-verm);
  font-size: 16.5px; font-weight: 800; letter-spacing: -.03em; color: var(--kt-ink);
}
.am-doc p { margin: 0 0 12px; }
.am-doc ul, .am-doc ol { margin: 0 0 14px; padding-left: 2px; list-style: none; }
.am-doc ol { counter-reset: amdoc; }
.am-doc li { position: relative; padding-left: 17px; margin-bottom: 7px; }
.am-doc ul > li:before {
  content: ''; position: absolute; left: 2px; top: 12px;
  width: 5px; height: 5px; border-radius: 50%; background: var(--am-verm);
}
.am-doc ol > li { counter-increment: amdoc; padding-left: 24px; }
.am-doc ol > li:before {
  content: counter(amdoc); position: absolute; left: 0; top: 3px;
  width: 18px; height: 18px; border-radius: 2px; background: var(--am-cocoa); color: #fff;
  font-size: 11px; font-weight: 800; text-align: center; line-height: 18px;
}
.am-doc b { color: var(--kt-ink); font-weight: 700; }
.am-doc a { color: var(--kt-primary); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.am-doc-date {
  margin-top: 26px; padding-top: 14px; border-top: 1px solid var(--am-line);
  font-size: 13px; color: var(--kt-mute);
}
@media (max-width: 640px) {
  .am-doc { font-size: 14.5px; }
  .am-doc h2 { font-size: 20px; }
  .am-doc h3 { font-size: 15.5px; }
}


/* ── 상세 히어로: 사진 1장일 때 잘림 방지 ─────────────────────────
   .kt-gal 은 사진 여러 장 전제(2fr 1fr)라, 1장이면 메인이 2/3 칸에 갇힌다.
   높이 고정(320px)까지 겹치면 박스가 1.5:1 이 되어 1.875:1 이미지의 좌우가 잘린다.
   1장일 때만 한 칸으로 펴고 이미지와 같은 종횡비를 준다 → 어떤 폭에서도 잘림 0. */
.kt-gal.one { grid-template-columns: 1fr; }
.kt-gal.one .kt-gal-main img { height: auto; aspect-ratio: 1200 / 640; }

/* ── 정보 미확인(제휴종료) 매장 고지 ─────────────────────────────
   ★수천 페이지에 동일하게 들어가는 문구라 본문이 아니라 이 고정 영역에서 렌더한다.
   본문(sh_intro)에는 업소마다 유일한 값(도로명·지번·층·역명)만 남긴다. */
.kt-unverified{
  max-width:46rem;            /* ★본문 가로폭 규칙(한 줄 40~45자) */
  margin:18px 0 4px; padding:14px 16px;
  border:1px solid #f0ddd3; border-left:3px solid var(--am-verm); border-radius:8px;
  background:#fdf5f1; color:#5b3a2c; font-size:.94rem; line-height:1.75;
}
.kt-unverified b{ color:#9b3915; font-weight:700 }
.kt-unverified a{ color:#c24a1e; text-decoration:underline }
@media (max-width:640px){ .kt-unverified{ margin:14px 0 2px; font-size:.9rem } }


/* ── 홈 케어 메뉴 타일 ────────────────────────────────────────────
   ★원형 SVG 픽토그램(img/icon/cat-*.svg) + 롱테일 문구 한 줄.
     아이콘 라벨에 지역명을 넣지 않는다 — 착지는 전 지역 종목 페이지다.
   ★svg 는 nginx 가 180일 캐시한다. 아이콘을 다시 그리면 참조 URL 의
     `?v=` 를 반드시 올릴 것(index.php 의 v=td1). */
.kt-tilegrid {
  display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px;
}
.kt-tile {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 14px 8px 12px; border: 1px solid var(--kt-line); border-radius: var(--am-r);
  background: #fff; text-align: center;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.kt-tile:hover {
  transform: translateY(-2px); border-color: #f0b79c;
  box-shadow: 0 14px 26px -18px rgba(155, 57, 21, .55);
}
.kt-tile-ico { display: block; line-height: 0; }
.kt-tile-ico img { width: 40px; height: 40px; display: block; }
.kt-tile b {
  font-size: 13px; font-weight: 700; letter-spacing: -.03em; color: var(--kt-ink);
  line-height: 1.35; word-break: keep-all;
}
@media (max-width: 900px) { .kt-tilegrid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .kt-tilegrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .kt-tile { padding: 12px 6px 10px; }
  .kt-tile-ico img { width: 34px; height: 34px; }
  .kt-tile b { font-size: 12px; }
}

/* 카드·버튼 라운드 통일 — 뼈대(12px/각진 알약)와 형태부터 가른다 */
.kt-shop, .kt-relcard, .kt-magcard, .kt-panel, .kt-widget, .kt-hubnote { border-radius: var(--am-r); }
.kt-btn-primary, .kt-btn-ghost, .kt-morelink, .kt-hubgrid a { border-radius: 999px; }
.kt-sisban { border-radius: var(--am-r); background: var(--am-verm-soft); border: 1px solid #f3ddd2; }
.kt-sisban-badge { background: var(--am-verm); color: #fff; border-radius: 999px; }
.kt-callban { border-radius: var(--am-r); background: var(--am-cocoa); }

/* ── 롱테일 내부링크 블록 ── 지역명 단독 앵커 대신 검색어 형태로 길게 적는다.
     칩이 길어지므로 균등 폭 그리드가 아니라 흐르는 배치를 쓴다. */
.kt-hubgrid.kt-longtail { display: flex; flex-wrap: wrap; gap: 8px; }
.kt-hubgrid.kt-longtail a {
  width: auto; padding: 8px 13px; font-size: 13.5px; letter-spacing: -.02em;
  background: var(--am-verm-soft); border: 1px solid #f4e0d6;
}
.kt-hubgrid.kt-longtail a:hover { background: #fbe3d9; border-color: #eeb69c; }
.kt-hubgrid.kt-longtail a em {
  margin-left: 6px; font-style: normal; font-size: 11.5px; color: var(--kt-primary); font-weight: 700;
}
/* 테마 칩 안의 SVG 픽토그램 */
.kt-themegrid .td-tico { width: 22px; height: 22px; vertical-align: -5px; margin-right: 5px; }
