/*
Theme Name: GeneratePress Child – BTMR Law
Theme URI: https://btmrlaw.com
Description: 법무사김재성 사무소 — GeneratePress 자식 테마. 메인 페이지 전용 템플릿 (btmr-home) 제공. 시안 v2 풀-와이드 구조 + 800px 본문 폭 제약 회피.
Author: 법무사김재성 사무소
Author URI: https://btmrlaw.com
Template: generatepress
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: generatepress-child-btmr
*/

/* 자식 테마 전역 CSS는 비워둔다.
 * - 메인(/) 디자인은 page-templates/btmr-home.php 안에서 인라인 <style>로 처리
 * - 다른 페이지(글·카테고리·소개·정책)는 부모 GP 테마 그대로 둠 (세션 3·4에서 점진 적용)
 *
 * 향후 글로벌 CSS 추가 시 이 아래에 작성한다.
 */


/* ============================================================
   BTMR 자식 테마 컴포넌트 스타일 (세션 3 — 2026-05-04)
   누락된 .btmr-cat-nav / 헤더 우측 / 모바일 컴포넌트 정리
   ============================================================ */

/* ---- GP 메인 메뉴 숨김 (BTMR 카테고리 네비를 정식으로) ---- */
#site-navigation,
.main-navigation:not(.mobile-menu-control-wrapper),
.mobile-menu-control-wrapper {
  display: none !important;
}

/* ---- 헤더 우측 (검색바 + 구독 + 문의) ---- */
.inside-header {
  align-items: center !important;
  gap: 18px;
}
.btmr-header-right {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 1 auto;
}
.btmr-header-search-bar {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: 320px;
  height: 40px;
  padding: 0 14px;
  background: var(--bg-page, #f0f2f6);
  border: 1px solid var(--rule, #e2e5ea);
  border-radius: 999px;
  cursor: text;
  transition: border-color 0.15s, background 0.15s;
}
.btmr-header-search-bar:hover {
  border-color: #cdd2d9;
  background: #ebeef2;
}
.btmr-header-search-ph {
  font-size: 14px;
  color: var(--text-3, #7c8798);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.btmr-hdr-btn {
  display: inline-flex;
  align-items: center;
  height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 14.5px;
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  border: 1px solid transparent;
  cursor: pointer;
  font-family: inherit;
}
.btmr-hdr-sub {
  background: var(--green, #3eb676);
  color: #fff;
}
.btmr-hdr-sub:hover {
  background: var(--green-deep, #2d9d5e);
  color: #fff;
}
.btmr-hdr-contact {
  background: transparent;
  color: var(--text-2, #3d4a5c);
  border-color: var(--rule, #e2e5ea);
}
.btmr-hdr-contact:hover {
  background: var(--bg-page, #f0f2f6);
  color: var(--ink, #101820);
}

/* ---- BTMR 카테고리 네비 ---- */
.btmr-cat-nav {
  background: var(--bg-subtle, #fafbfc);
  border-top: 1px solid var(--rule, #e2e5ea);
  border-bottom: 1px solid var(--rule, #e2e5ea);
  margin: 0 0 28px;
  padding: 12px 0;
  position: relative;
  z-index: 30;
}
.btmr-cat-nav-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: stretch;
}
.btmr-cat-item {
  position: relative;
  display: inline-flex;
}
.btmr-cat-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 9px 14px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-2, #3d4a5c);
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.18s, color 0.18s;
}
.btmr-cat-link:hover,
.btmr-cat-item:focus-within > .btmr-cat-link {
  background: var(--bg-page, #f0f2f6);
  color: var(--ink, #101820);
}
body.category-civil .btmr-cat-item:nth-child(1) > .btmr-cat-link,
body.category-commercial .btmr-cat-item:nth-child(2) > .btmr-cat-link,
body.category-criminal .btmr-cat-item:nth-child(3) > .btmr-cat-link {
  background: rgba(62, 182, 118, 0.10);
  color: var(--green-deep, #2d9d5e);
}
.btmr-chevron {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  opacity: 0.55;
  transition: transform 0.2s;
}
.btmr-cat-item:hover .btmr-chevron,
.btmr-cat-item:focus-within .btmr-chevron {
  transform: rotate(180deg);
  opacity: 0.9;
}
.btmr-cat-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 200px;
  background: #fff;
  border: 1px solid var(--rule, #e2e5ea);
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(16, 24, 32, 0.10);
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: opacity 0.18s, transform 0.18s, visibility 0s linear 0.18s;
  z-index: 40;
}
.btmr-cat-item:hover .btmr-cat-dropdown,
.btmr-cat-item:focus-within .btmr-cat-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity 0.18s, transform 0.18s, visibility 0s;
}
.btmr-cat-sub-link {
  display: block;
  padding: 8px 12px;
  border-radius: 8px;
  font-size: 14.5px;
  color: var(--text-2, #3d4a5c);
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}
.btmr-cat-sub-link:hover {
  background: var(--bg-page, #f0f2f6);
  color: var(--ink, #101820);
}

/* ---- 모바일 전용 컴포넌트 — 데스크톱 숨김 ---- */
@media (min-width: 769px) {
  .btmr-mobile-menu,
  .btmr-cat-mobile-toggle {
    display: none !important;
  }
}

/* ---- 모바일 ---- */
@media (max-width: 768px) {
  .inside-header {
    flex-wrap: nowrap !important;
    gap: 8px;
    padding: 0 16px !important;
  }
  .btmr-header-right { gap: 6px; }
  .btmr-header-search-bar { width: 100%; max-width: 200px; height: 36px; }
  .btmr-hdr-btn { height: 34px; padding: 0 12px; font-size: 13.5px; }

  .btmr-cat-nav { padding: 8px 0; margin-bottom: 18px; }
  .btmr-cat-nav-inner {
    padding: 0 16px;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .btmr-cat-nav-inner::-webkit-scrollbar { display: none; }
  .btmr-cat-link { font-size: 14px; padding: 7px 12px; }
  .btmr-cat-item:hover .btmr-cat-dropdown {
    opacity: 0; visibility: hidden; transform: translateY(-6px);
  }
  .btmr-cat-item.is-open .btmr-cat-dropdown {
    opacity: 1; visibility: visible; transform: translateY(0);
  }
}


/* ============================================================
   세션 4 — 7-A·7-B·8 (2026-05-04): 본문 폭 확장 + 글 목록 카드형 + 포스트 시안
   원인: WPCode 스니펫 #3517 "BTMR Mobile Layout Override"가
   archive/single/page에 옛 미니멀 디자인(800px·title-only·작은 폰트)을
   inline <style>로 강제. 명시도 동률이라 우회 필요.
   해결: `html body.X main.site-main ...` 으로 명시도 한 단계 올림
   (#3517 본체는 보존 — 까망님 직접 작성 코드).
   ============================================================ */

/* ---- 7-A·8: 본문 폭 800 → 1180 (archive·single·blog 인덱스) ---- */
@media (min-width: 1100px) {
  html body.archive main.site-main,
  html body.blog main.site-main,
  html body.single main.site-main {
    max-width: 1180px !important;
    padding: 0 32px !important;
  }
}

/* ---- 7-B: 카테고리 글 목록 카드형 시안 (데스크톱) ---- */
@media (min-width: 769px) {
  /* article 자체를 카드로 */
  html body.archive main.site-main > article {
    background: #fff !important;
    border: 1px solid #e2e5ea !important;
    border-radius: 12px !important;
    padding: 14px 18px !important;
    margin-bottom: 10px !important;
    border-bottom: 1px solid #e2e5ea !important;
    transition: border-color .18s, box-shadow .18s, transform .18s;
  }
  html body.archive main.site-main > article:hover {
    border-color: #3eb676 !important;
    box-shadow: 0 6px 18px rgba(15,23,42,.06) !important;
    transform: translateY(-1px);
  }
  html body.archive main.site-main > article:last-of-type { margin-bottom: 0 !important; }

  /* inside-article을 flex 컨테이너 (썸네일 좌측 + 텍스트 우측) */
  html body.archive .inside-article {
    display: flex !important;
    gap: 16px !important;
    align-items: center !important;
  }

  /* 썸네일 다시 살리기 (#3517이 display:none 강제했음) */
  html body.archive .inside-article .post-image {
    display: block !important;
    flex-shrink: 0;
    width: 120px;
    height: 76px;
    border-radius: 8px;
    overflow: hidden;
    margin: 0;
    background: #f0f2f6;
  }
  html body.archive .inside-article .post-image a,
  html body.archive .inside-article .post-image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }

  /* 헤더(타이틀 + 요약 + 날짜) flex 1, align-items center 대신 center 유지 */
  html body.archive .inside-article .entry-header {
    flex: 1; min-width: 0;
    display: flex; flex-direction: column; justify-content: center;
    gap: 6px;
  }

  /* 타이틀: 16.5px 700 — #3517의 15px 500을 명시도로 우회 */
  html body.archive .inside-article .entry-title {
    font-size: 16.5px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  html body.archive .inside-article .entry-title a { color: #18202c !important; }
  html body.archive .inside-article .entry-title a:hover { color: #2d9d5e !important; }

  /* 5-F 보완: 글 요약 2줄 표시 (#3517의 display:none 우회) — 카드 정보량 늘림 */
  html body.archive .inside-article .entry-summary {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    font-size: 13.5px !important;
    color: #7c8798 !important;
    line-height: 1.55 !important;
    margin: 0 !important;
    padding: 0 !important;
    max-height: 42px;  /* 2줄 fallback (line-clamp 미지원 브라우저) */
  }
  html body.archive .inside-article .entry-summary p {
    margin: 0 !important;
    padding: 0 !important;
  }
  html body.archive .inside-article .entry-summary .read-more {
    display: none !important;
  }
  /* footer entry-meta(작성자·댓글) 숨김 — 카테고리·조회수는 우측 박스에 있음 */
  html body.archive .inside-article > footer.entry-meta {
    display: none !important;
  }
  /* 헤더 안의 entry-meta(작성일·작성자) 숨김 — H2의 .btmr-post-date·우측 박스 사용 */
  html body.archive .inside-article .entry-header > .entry-meta {
    display: none !important;
  }

  /* page-header (카테고리 타이틀 영역) 살짝 강조 */
  html body.archive main.site-main .page-header {
    margin-bottom: 18px !important;
    padding: 0 4px !important;
  }
}

/* ---- 7-B 모바일: 카드 압축 ---- */
@media (max-width: 768px) {
  html body.archive main.site-main > article {
    background: #fff !important;
    border: 1px solid #eef0f3 !important;
    border-radius: 10px !important;
    padding: 10px 12px !important;
    margin-bottom: 8px !important;
    border-bottom: 1px solid #eef0f3 !important;
  }
  html body.archive .inside-article {
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
  }
  html body.archive .inside-article .post-image {
    display: block !important;
    flex-shrink: 0;
    width: 64px; height: 56px;
    border-radius: 6px; overflow: hidden;
    background: #f0f2f6;
  }
  html body.archive .inside-article .post-image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }
  html body.archive .inside-article .entry-header {
    flex: 1; min-width: 0;
  }
}

/* ---- 8: 단일 포스트 본문 시안 (데스크톱) ---- */
/* #3517은 single에 모바일 폰트만 강제 — 데스크톱은 GP 기본. 시안 톤으로 다듬기. */
@media (min-width: 769px) {
  html body.single main.site-main > article {
    background: #fff;
    border: 1px solid #eef0f3;
    border-radius: 16px;
    padding: 32px 36px;
    margin-bottom: 24px;
  }
  html body.single .inside-article .entry-header {
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid #eef0f3;
  }
  html body.single .inside-article .entry-title {
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
    color: #101820;
    letter-spacing: -0.01em;
    margin-bottom: 10px !important;
  }
  html body.single .inside-article .entry-meta {
    font-size: 13.5px;
    color: #7c8798;
  }
  html body.single .inside-article .post-image {
    margin: 0 0 24px;
    border-radius: 12px;
    overflow: hidden;
  }
  html body.single .inside-article .post-image img { display: block; width: 100%; }

  /* 본문 타이포 */
  html body.single .inside-article .entry-content {
    font-size: 16.5px;
    line-height: 1.85;
    color: #2a2f38;
  }
  html body.single .inside-article .entry-content p {
    margin: 0 0 16px;
  }
  html body.single .inside-article .entry-content h2 {
    font-size: 22px;
    font-weight: 800;
    color: #101820;
    margin: 36px 0 14px;
    padding-left: 12px;
    border-left: 4px solid #16a34a;
    line-height: 1.4;
    letter-spacing: -0.01em;
  }
  html body.single .inside-article .entry-content h3 {
    font-size: 18px;
    font-weight: 700;
    color: #101820;
    margin: 26px 0 10px;
  }
  html body.single .inside-article .entry-content a {
    color: #2d9d5e;
    text-decoration: underline;
    text-underline-offset: 3px;
  }
  html body.single .inside-article .entry-content blockquote {
    border-left: 3px solid #d4dae1;
    padding: 4px 0 4px 16px;
    margin: 18px 0;
    color: #475569;
    font-style: normal;
  }

  /* 단일 포스트 브레드크럼 (#3494 출력) */
  html body.single .btmr-single-breadcrumb {
    margin-bottom: 12px;
    font-size: 13.5px;
    color: #7c8798;
  }
  html body.single .btmr-single-breadcrumb a {
    color: #7c8798;
    text-decoration: none;
  }
  html body.single .btmr-single-breadcrumb a:hover { color: #2d9d5e; }

/* ============================================================
   세션 5 — 5-A 헤더 통일 (홈 정답, 카테고리/포스트 끌어올림)
   2026-05-04
   - GP `.site-header` 높이 76px (홈 .header-inner와 동일)
   - GP 기본 `.main-title`을 시안 `.logo`로 변형 (가상 요소 ::before로 그라디언트 박스)
   - 검색바 width 280px (홈과 동일, 320 → 280)
   - #3494 본체는 손대지 않음 — CSS 한 겹으로 시각 통일
   ============================================================ */

/* 헤더 wrapper */
html body .site-header {
  background: #fff;
  border-bottom: 1px solid #f0f0f0;
}
html body .site-header .inside-header {
  min-height: 76px !important;
  max-width: 1180px !important;
  padding: 12px 32px !important;
  margin: 0 auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 18px;
}

/* 카테고리 네비 컨테이너 폭도 본문과 정렬 (사각형 라인) */
html body .btmr-cat-nav-inner {
  max-width: 1180px !important;
  padding-left: 32px !important;
  padding-right: 32px !important;
}

/* 로고 영역 — `<p class="main-title"><a>법무사김재성</a></p>` 시안 톤으로 */
html body .site-header .site-branding {
  display: flex;
  align-items: center;
}
html body .site-header .main-title {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}
html body .site-header .main-title::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  border-radius: 4px;
  background: linear-gradient(135deg, #4ADE80 0%, #22C55E 100%);
  flex-shrink: 0;
}
html body .site-header .main-title a {
  color: #1a1a1a !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  line-height: 1 !important;
}
html body .site-header .main-title a:hover {
  color: #1a1a1a !important;
}

/* 검색바 width 시안 통일 (320 → 280) */
html body .site-header .btmr-header-search-bar {
  width: 280px;
}

/* 모바일 */
@media (max-width: 768px) {
  html body .site-header .inside-header {
    min-height: 60px !important;
    padding: 10px 20px !important;
  }
  html body .site-header .main-title { font-size: 16px !important; }
  html body .site-header .main-title a { font-size: 16px !important; }
  html body .site-header .main-title::before {
    width: 16px;
    height: 16px;
  }
  html body .btmr-cat-nav-inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* ============================================================
   세션 5 — 5-B 보완: /blog/(page-id-2673) inside-article 박스 제거
   원인: GP `.inside-article`의 흰 배경 + 1px border + radius가
        페이지 전체를 큰 wrapper 박스로 둘러쳐서, 카테고리 페이지
        (분리된 카드)와 톤 차이 + 1px misalignment 발생.
   해결: page-id-2673 한정으로 inside-article 박스 제거.
        내부 컴포넌트(callout, 6개 카드, 최근 글 목록, CTA)는
        각자 자체 박스 톤이라 시각 깔끔.
   ============================================================ */
body.page-id-2673 .inside-article {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 32px !important;  /* H1(entry-header)와 entry-content 모두 같은 padding 안에서 정렬 */
  border-radius: 0 !important;
}
body.page-id-2673 .entry-content {
  padding: 0 !important;  /* inside-article가 padding 들고 있음 — 중복 방지 */
}

/* ============================================================
   세션 5 — 5-F 카테고리 archive 우측 메타 박스
   까망님 모든 글이 카테고리별 동일 OG image → 시각 노이즈 제거.
   functions.php의 wp_footer JS가 .post-image를 .btmr-archive-meta-box로 변환.
   #3517의 `body.archive .post-image { display: none !important }` 룰 우회.
   ============================================================ */
/* 5-F selector specificity 4 levels — 7-B의 .inside-article .post-image (specificity 4)와 같은 단계, cascade 순서로 우선 */
html body.archive .inside-article .post-image,
html body.category .inside-article .post-image,
html body.tag .inside-article .post-image,
html body.archive .inside-article .btmr-archive-meta-box,
html body.category .inside-article .btmr-archive-meta-box,
html body.tag .inside-article .btmr-archive-meta-box {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: stretch !important;
  width: 110px !important;
  height: auto !important;
  min-height: 76px !important;
  padding: 10px 12px !important;
  margin: 0 !important;
  background: linear-gradient(135deg, #f6fbf7 0%, #f0fdf4 100%) !important;
  border: 1px solid #d1fae5 !important;
  border-radius: 10px !important;
  gap: 6px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
}

html body .btmr-archive-cat {
  display: inline-block;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  color: #3eb676 !important;
  background: #fff;
  border: 1px solid #bbf7d0;
  border-radius: 6px;
  padding: 5px 10px;
  text-decoration: none !important;
  letter-spacing: -.005em;
  white-space: nowrap;
  transition: all .15s ease;
  line-height: 1.3;
}
html body .btmr-archive-cat:hover {
  background: #3eb676;
  color: #fff !important;
  border-color: #3eb676;
}

html body .btmr-archive-views {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 4px;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.01em;
}
html body .btmr-archive-views-num {
  font-size: 20px;
  font-weight: 800;
  color: #101820;
  line-height: 1;
}
html body .btmr-archive-views-label {
  font-size: 11px;
  font-weight: 600;
  color: #7c8798;
  letter-spacing: .02em;
}

html body .btmr-archive-date {
  text-align: center;
  font-size: 12px;
  color: #7c8798;
  font-variant-numeric: tabular-nums;
}

/* 카테고리별 칩 색상 (5개 메인 카테고리) */
html body .btmr-cat-civil { color: #3eb676 !important; border-color: #bbf7d0 !important; }
html body .btmr-cat-civil:hover { background: #3eb676 !important; color: #fff !important; }
html body .btmr-cat-commercial { color: #1e6fd9 !important; border-color: #bfdbfe !important; }
html body .btmr-cat-commercial:hover { background: #1e6fd9 !important; color: #fff !important; }
html body .btmr-cat-criminal { color: #b91c1c !important; border-color: #fecaca !important; }
html body .btmr-cat-criminal:hover { background: #b91c1c !important; color: #fff !important; }
html body .btmr-cat-non-litigation { color: #7c3aed !important; border-color: #ddd6fe !important; }
html body .btmr-cat-non-litigation:hover { background: #7c3aed !important; color: #fff !important; }
html body .btmr-cat-insolvency { color: #c2410c !important; border-color: #fed7aa !important; }
html body .btmr-cat-insolvency:hover { background: #c2410c !important; color: #fff !important; }

/* 모바일 — 박스 좀 작게 */
@media (max-width: 768px) {
  html body.archive .inside-article .post-image,
  html body.category .inside-article .post-image,
  html body.tag .inside-article .post-image,
  html body.archive .inside-article .btmr-archive-meta-box,
  html body.category .inside-article .btmr-archive-meta-box,
  html body.tag .inside-article .btmr-archive-meta-box {
    width: 110px !important;
    min-height: 80px !important;
    padding: 10px 12px !important;
  }
  html body .btmr-archive-cat { font-size: 12px; padding: 4px 8px; }
  html body .btmr-archive-views-num { font-size: 16px; }
}
}

/* ============================================================
 * 세션 6 5-C: WPCode #3517·#3514 정리 + 카테고리 네비 톤 통일
 * - 카테고리 네비 글로벌 룰을 홈(.btmr-home-template) 톤과 일치 강제 (스크린샷 차이 해소)
 * - #3517·#3514의 살릴 룰을 자식 테마로 이관: archive entry-title flex/날짜·NEW 배지, 페이지네이션, 단일 포스트·일반 페이지 모바일 톤, 모바일 padding
 * - 옛 디자인 강제 룰(800px max-width, archive 썸네일/메타 숨김, archive 14px H2)은 폐기 — 5-F 카드 디자인이 단일 source
 * - #3517·#3514는 어드민에서 비활성화
 * ============================================================ */

/* --- 5-C-1. 카테고리 네비 글로벌 강제 통일 (홈 톤 = .btmr-home-template와 동일 값) --- */
html body .btmr-cat-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 9px 14px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 600;
  color: #3d4a5c;
  text-decoration: none;
  white-space: nowrap;
  transition: background .18s, color .18s;
}
html body .btmr-cat-link:hover,
html body .btmr-cat-item:focus-within > .btmr-cat-link {
  background: #f0f2f6;
  color: #101820;
}
html body .btmr-chevron {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  opacity: .55;
  transition: transform .2s;
}
html body .btmr-cat-item:hover .btmr-chevron,
html body .btmr-cat-item:focus-within .btmr-chevron {
  transform: rotate(180deg);
  opacity: .9;
}
html body .btmr-cat-nav {
  background: #fafbfc;
  border-top: 1px solid #eef0f3;
  border-bottom: 1px solid #eef0f3;
  margin: 0 0 28px;
  padding: 12px 0;
}

/* --- 5-D. 카테고리 활성 강조 (5개 메인 카테고리 명시도 통일) --- */
html body.category-civil .btmr-cat-item:nth-child(1) > .btmr-cat-link,
html body.category-commercial .btmr-cat-item:nth-child(2) > .btmr-cat-link,
html body.category-criminal .btmr-cat-item:nth-child(3) > .btmr-cat-link,
html body.category-non-litigation .btmr-cat-item:nth-child(4) > .btmr-cat-link,
html body.category-insolvency .btmr-cat-item:nth-child(5) > .btmr-cat-link {
  background: rgba(62, 182, 118, 0.10);
  color: #2d9d5e;
}

/* --- 5-C-2. archive .entry-title flex + .btmr-post-date (#3517에서 이관) --- */
html body.archive .entry-title,
html body.category .entry-title,
html body.tag .entry-title {
  display: flex;
  align-items: center;
  gap: 8px;
}
html body.archive .entry-title > a,
html body.category .entry-title > a,
html body.tag .entry-title > a {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html body .btmr-post-date {
  font-size: 12px;
  font-weight: 400;
  color: #999;
  white-space: nowrap;
  flex-shrink: 0;
  letter-spacing: .3px;
  margin-left: auto;
  order: 3;
}
html body.archive .entry-title .btmr-new-badge,
html body.category .entry-title .btmr-new-badge,
html body.tag .entry-title .btmr-new-badge {
  order: 1;
  flex-shrink: 0;
}

/* --- 5-C-3. 페이지네이션 시안 (#3517에서 이관, 데스크톱) --- */
html body.archive .nav-links,
html body.category .nav-links,
html body.tag .nav-links {
  display: flex;
  justify-content: center;
  gap: 6px;
  padding: 24px 0 8px;
  border-top: 1px solid rgba(62, 182, 118, 0.20);
  margin-top: 16px;
}
html body.archive .nav-links .page-numbers,
html body.category .nav-links .page-numbers,
html body.tag .nav-links .page-numbers {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  color: #94a3b8;
  border-radius: 6px;
  text-decoration: none;
  transition: all .15s;
}
html body.archive .nav-links .page-numbers:hover,
html body.category .nav-links .page-numbers:hover,
html body.tag .nav-links .page-numbers:hover {
  color: #3eb676;
  background: rgba(62, 182, 118, 0.08);
}
html body.archive .nav-links .page-numbers.current,
html body.category .nav-links .page-numbers.current,
html body.tag .nav-links .page-numbers.current {
  color: #fff;
  background: #3eb676;
  font-weight: 700;
}

/* --- 5-C-4. 모바일 padding + 본문 시안 (#3514·#3517에서 이관) --- */
@media (max-width: 768px) {
  /* 모바일 padding (#3514에서 이관) */
  html body .site-main {
    padding-left: 20px;
    padding-right: 20px;
  }
  html body .inside-article {
    padding-left: 0;
    padding-right: 0;
  }
  html body .page-header,
  html body .inside-page-header {
    padding-left: 0;
    padding-right: 0;
  }
  html body .entry-content {
    padding-left: 0;
    padding-right: 0;
  }
  html body .comments-area {
    padding-left: 0;
    padding-right: 0;
  }

  /* 단일 포스트 모바일 톤 (#3517에서 이관) */
  html body.single .featured-image {
    width: 85%;
    margin: 16px auto 0;
    border-radius: 10px;
    overflow: hidden;
  }
  html body.single .featured-image img {
    border-radius: 10px;
  }
  html body.single .entry-title {
    font-size: 19px;
    font-weight: 800;
    color: #101820;
    line-height: 1.4;
    letter-spacing: -0.5px;
    word-break: keep-all;
  }
  html body.single .entry-meta {
    font-size: 11.5px;
    color: #94a3b8;
  }
  html body.single .entry-content p {
    font-size: 15px;
    line-height: 1.75;
    color: #2a2f38;
    text-align: justify;
    word-break: keep-all;
  }
  html body.single .entry-content h2 {
    font-size: 17px;
    font-weight: 800;
    color: #101820;
    margin: 28px 0 12px;
    padding-left: 10px;
    border-left: 3px solid #3eb676;
    line-height: 1.4;
  }
  html body.single .entry-content h3 {
    font-size: 15px;
    font-weight: 700;
    color: #101820;
    margin: 22px 0 8px;
  }

  /* 일반 페이지 모바일 톤 (#3517에서 이관, 홈 제외) */
  html body.page:not(.home) .entry-title {
    font-size: 17px;
    font-weight: 800;
    color: #101820;
    padding: 22px 0 10px;
    border-bottom: 1px solid rgba(62, 182, 118, 0.15);
    margin-bottom: 16px;
  }
  html body.page:not(.home) .entry-content p {
    font-size: 14.5px;
    line-height: 1.75;
    color: #2a2f38;
    text-align: justify;
    word-break: keep-all;
  }
  html body.page:not(.home) .entry-content h3 {
    font-size: 15px;
    font-weight: 700;
    color: #101820;
    margin: 24px 0 8px;
    padding-left: 10px;
    border-left: 2.5px solid #3eb676;
  }
  html body.page:not(.home) .entry-content ul {
    margin: 0 0 16px 18px;
    font-size: 14px;
    line-height: 1.7;
    color: #374151;
  }

  /* archive 페이지네이션 모바일 */
  html body.archive .nav-links .page-numbers,
  html body.category .nav-links .page-numbers,
  html body.tag .nav-links .page-numbers {
    width: 30px;
    height: 30px;
    font-size: 12px;
  }
}

/* ============================================================
 * 세션 7 5-E: 페이지별 디자인 고급화 (2026-05-04)
 * 까망님 결정: 진입 방식 A (전체 한 번에) + H1 부제 ③ 안 함
 * - 5-E-1. 카드 layered shadow + hover inset 글로우 (archive·/blog/·single)
 * - 5-E-2. 구분선·H2·blockquote 보더 그라디언트
 * - 5-E-3. 카테고리 배지 hover lift + 5종 색상 shadow 톤
 * - 5-E-4. read-more 화살표 애니메이션
 * - 5-E-5. 페이지네이션 hover cubic-bezier 강화
 * - 5-E-6. 헤더 로고 박스 hover 회전·글로우
 * - 5-E-7. 검색 input focus 그라디언트 보더
 * - 5-E-8. 카테고리 네비 active 미세 글로우 (5-D 위에)
 * - 5-E-9. 모바일 GPU 부담 완화 (hover transform 비활성)
 * - 5-E-10. single 본문 링크 underline 미세 다듬기
 * ============================================================ */

/* --- 5-E-1. 카드 layered shadow + hover inset 글로우 --- */
@media (min-width: 769px) {
  /* archive 카드 — 7-B 룰 위에 layered shadow + cubic-bezier 덮어쓰기 */
  html body.archive main.site-main > article,
  html body.category main.site-main > article,
  html body.tag main.site-main > article {
    box-shadow:
      0 1px 2px rgba(16, 24, 32, .04),
      0 4px 12px rgba(16, 24, 32, .04),
      0 16px 32px -16px rgba(16, 24, 32, .06) !important;
    transition:
      border-color .35s cubic-bezier(.2,.8,.2,1),
      box-shadow .35s cubic-bezier(.2,.8,.2,1),
      transform .35s cubic-bezier(.2,.8,.2,1) !important;
  }
  html body.archive main.site-main > article:hover,
  html body.category main.site-main > article:hover,
  html body.tag main.site-main > article:hover {
    border-color: rgba(62, 182, 118, .35) !important;
    box-shadow:
      inset 0 0 0 1px rgba(62, 182, 118, .12),
      0 2px 4px rgba(16, 24, 32, .04),
      0 12px 24px rgba(16, 24, 32, .06),
      0 24px 48px -16px rgba(62, 182, 118, .12) !important;
    transform: translateY(-3px) !important;
  }

  /* /blog/ 페이지 (page-id-2673) 6개 카테고리 카드 */
  html body.page-id-2673 .btmr-cat-card {
    box-shadow:
      0 1px 2px rgba(16, 24, 32, .04),
      0 4px 12px rgba(16, 24, 32, .04),
      0 16px 32px -16px rgba(16, 24, 32, .05);
    transition:
      box-shadow .35s cubic-bezier(.2,.8,.2,1),
      transform .35s cubic-bezier(.2,.8,.2,1),
      border-color .35s cubic-bezier(.2,.8,.2,1);
  }
  html body.page-id-2673 .btmr-cat-card:hover {
    box-shadow:
      inset 0 0 0 1px rgba(62, 182, 118, .14),
      0 2px 4px rgba(16, 24, 32, .04),
      0 14px 28px rgba(16, 24, 32, .07),
      0 28px 56px -20px rgba(62, 182, 118, .14);
    transform: translateY(-4px);
    border-color: rgba(62, 182, 118, .4);
  }

  /* 단일 포스트 article 다층 그림자 */
  html body.single main.site-main > article {
    box-shadow:
      0 1px 2px rgba(16, 24, 32, .03),
      0 6px 16px rgba(16, 24, 32, .04),
      0 24px 48px -20px rgba(16, 24, 32, .06);
    transition: box-shadow .4s cubic-bezier(.2,.8,.2,1);
  }
}

/* --- 5-E-2. 구분선·H2·blockquote 보더 그라디언트 (데스크톱) --- */
@media (min-width: 769px) {
  /* single .entry-header 하단 그라디언트 */
  html body.single .inside-article .entry-header {
    border-bottom: none;
    position: relative;
  }
  html body.single .inside-article .entry-header::after {
    content: "";
    position: absolute;
    left: 0; right: 0; bottom: 0;
    height: 1px;
    background: linear-gradient(
      to right,
      rgba(62, 182, 118, .35) 0%,
      rgba(226, 229, 234, .9) 30%,
      rgba(226, 229, 234, .4) 100%
    );
  }

  /* single H2 좌측 보더 그라디언트 (8 섹션 4px solid → 그라디언트) */
  html body.single .inside-article .entry-content h2 {
    border-left: none;
    padding-left: 16px;
    position: relative;
  }
  html body.single .inside-article .entry-content h2::before {
    content: "";
    position: absolute;
    left: 0; top: .15em; bottom: .15em;
    width: 4px;
    border-radius: 2px;
    background: linear-gradient(180deg, #4ADE80 0%, #3eb676 50%, #2d9d5e 100%);
  }

  /* single blockquote 좌측 보더 그라디언트 */
  html body.single .inside-article .entry-content blockquote {
    border-left: none;
    padding-left: 18px;
    position: relative;
  }
  html body.single .inside-article .entry-content blockquote::before {
    content: "";
    position: absolute;
    left: 0; top: 4px; bottom: 4px;
    width: 3px;
    border-radius: 2px;
    background: linear-gradient(
      180deg,
      rgba(62, 182, 118, .55) 0%,
      rgba(212, 218, 225, .8) 100%
    );
  }
}

/* archive page-header 하단 그라디언트 구분선 */
html body.archive main.site-main .page-header,
html body.category main.site-main .page-header,
html body.tag main.site-main .page-header {
  position: relative;
}
html body.archive main.site-main .page-header::after,
html body.category main.site-main .page-header::after,
html body.tag main.site-main .page-header::after {
  content: "";
  position: absolute;
  left: 4px; right: 4px; bottom: -10px;
  height: 1px;
  background: linear-gradient(
    to right,
    rgba(62, 182, 118, .4) 0%,
    rgba(226, 229, 234, .8) 35%,
    transparent 100%
  );
}

/* 페이지네이션 상단 border-top → 그라디언트 (5-C-3 덮어쓰기) */
html body.archive .nav-links,
html body.category .nav-links,
html body.tag .nav-links {
  border-top: none;
  position: relative;
}
html body.archive .nav-links::before,
html body.category .nav-links::before,
html body.tag .nav-links::before {
  content: "";
  position: absolute;
  left: 20%; right: 20%; top: 0;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent 0%,
    rgba(62, 182, 118, .35) 50%,
    transparent 100%
  );
}

/* --- 5-E-3. 카테고리 배지 hover lift + 5종 shadow 톤 --- */
html body .btmr-archive-cat {
  transition:
    transform .25s cubic-bezier(.2,.8,.2,1),
    box-shadow .25s cubic-bezier(.2,.8,.2,1),
    background-color .2s,
    color .2s,
    border-color .2s;
  box-shadow: 0 1px 2px rgba(16, 24, 32, .04);
}
html body .btmr-archive-cat:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(62, 182, 118, .18);
}
html body .btmr-cat-commercial:hover {
  box-shadow: 0 6px 14px rgba(30, 111, 217, .18) !important;
}
html body .btmr-cat-criminal:hover {
  box-shadow: 0 6px 14px rgba(185, 28, 28, .18) !important;
}
html body .btmr-cat-non-litigation:hover {
  box-shadow: 0 6px 14px rgba(124, 58, 237, .18) !important;
}
html body .btmr-cat-insolvency:hover {
  box-shadow: 0 6px 14px rgba(194, 65, 12, .18) !important;
}

/* --- 5-E-4. read-more 화살표 애니메이션 (/blog/ 최근글 + single 관련글) --- */
html body:not(.archive):not(.category):not(.tag) .read-more,
html body:not(.archive):not(.category):not(.tag) a.read-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  position: relative;
  transition: color .2s, gap .25s cubic-bezier(.2,.8,.2,1);
}
html body:not(.archive):not(.category):not(.tag) .read-more::after,
html body:not(.archive):not(.category):not(.tag) a.read-more::after {
  content: "→";
  display: inline-block;
  font-weight: 600;
  transition: transform .25s cubic-bezier(.2,.8,.2,1);
}
html body:not(.archive):not(.category):not(.tag) .read-more:hover::after,
html body:not(.archive):not(.category):not(.tag) a.read-more:hover::after {
  transform: translateX(4px);
}

/* --- 5-E-5. 페이지네이션 hover cubic-bezier 강화 (5-C-3 .15s 덮어쓰기) --- */
html body.archive .nav-links .page-numbers,
html body.category .nav-links .page-numbers,
html body.tag .nav-links .page-numbers {
  transition:
    color .25s cubic-bezier(.2,.8,.2,1),
    background-color .25s cubic-bezier(.2,.8,.2,1),
    box-shadow .25s cubic-bezier(.2,.8,.2,1),
    transform .25s cubic-bezier(.2,.8,.2,1);
}
html body.archive .nav-links .page-numbers:hover,
html body.category .nav-links .page-numbers:hover,
html body.tag .nav-links .page-numbers:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(62, 182, 118, .16);
}
html body.archive .nav-links .page-numbers.current,
html body.category .nav-links .page-numbers.current,
html body.tag .nav-links .page-numbers.current {
  box-shadow: 0 4px 12px rgba(62, 182, 118, .28);
}

/* --- 5-E-6. 헤더 로고 박스 hover 회전·글로우 --- */
html body .site-header .main-title::before {
  transition:
    transform .4s cubic-bezier(.2,.8,.2,1),
    box-shadow .4s cubic-bezier(.2,.8,.2,1);
}
html body .site-header .main-title:hover::before {
  transform: rotate(-8deg) scale(1.08);
  box-shadow: 0 4px 12px rgba(62, 182, 118, .35);
}

/* --- 5-E-7. 검색 input focus 그라디언트 보더 --- */
html body .btmr-header-search-bar {
  position: relative;
  transition: box-shadow .25s cubic-bezier(.2,.8,.2,1);
}
html body .btmr-header-search-bar:focus-within {
  box-shadow:
    0 0 0 1px rgba(62, 182, 118, .35),
    0 6px 18px rgba(62, 182, 118, .12);
}

/* --- 5-E-8. 카테고리 네비 active 미세 글로우 (5-D 위에) --- */
html body.category-civil .btmr-cat-item:nth-child(1) > .btmr-cat-link,
html body.category-commercial .btmr-cat-item:nth-child(2) > .btmr-cat-link,
html body.category-criminal .btmr-cat-item:nth-child(3) > .btmr-cat-link,
html body.category-non-litigation .btmr-cat-item:nth-child(4) > .btmr-cat-link,
html body.category-insolvency .btmr-cat-item:nth-child(5) > .btmr-cat-link {
  box-shadow: 0 2px 8px rgba(62, 182, 118, .14);
  font-weight: 700;
}

/* --- 5-E-9. 모바일 — hover transform 비활성 (터치 환경 GPU 부담 완화) --- */
@media (max-width: 768px) {
  html body.archive main.site-main > article,
  html body.category main.site-main > article,
  html body.tag main.site-main > article {
    box-shadow:
      0 1px 2px rgba(16, 24, 32, .04),
      0 4px 8px rgba(16, 24, 32, .03) !important;
  }
  html body.archive main.site-main > article:hover,
  html body.category main.site-main > article:hover,
  html body.tag main.site-main > article:hover {
    transform: none !important;
  }
  html body.archive .nav-links .page-numbers:hover,
  html body.category .nav-links .page-numbers:hover,
  html body.tag .nav-links .page-numbers:hover {
    transform: none;
    box-shadow: none;
  }
  html body .btmr-archive-cat:hover {
    transform: none;
  }
  html body.page-id-2673 .btmr-cat-card:hover {
    transform: none;
  }
  /* 모바일에서는 page-header::after 위치 조정 */
  html body.archive main.site-main .page-header::after,
  html body.category main.site-main .page-header::after,
  html body.tag main.site-main .page-header::after {
    bottom: -6px;
  }
}

/* --- 5-E-10. single 본문 링크 underline 미세 다듬기 --- */
html body.single .inside-article .entry-content a {
  text-decoration-color: rgba(62, 182, 118, .4);
  transition: text-decoration-color .2s, color .2s;
}
html body.single .inside-article .entry-content a:hover {
  text-decoration-color: rgba(62, 182, 118, .9);
}

/* === 세션 8 — NEW 배지 톤 다운 (#3494 inline override) === */
html body .btmr-new-badge { background: #3eb676; }

/* ===========================================================
   세션 9 5-G v2 — 일반 페이지 데스크톱 디자인 (재시안)
   v1 폐기: 폭 800·좌측 4px 라인 강조·:first-child hero
   v2 변경: 폭 1180·좌측 라인 폐기·hero hand-craft 마크업·ez-toc 톤 다듬기
   =========================================================== */

/* --- 5-G 글로벌. 일반 페이지(홈·블로그 페이지 제외) --- */

/* 본문 폭 1180 (블로그 페이지와 통일) */
@media (min-width: 1100px) {
  html body.page:not(.home):not(.page-id-2673) main.site-main {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 32px;
  }
}

/* article 카드 X */
html body.page:not(.home):not(.page-id-2673) main.site-main > article {
  background: transparent;
  box-shadow: none;
  padding: 0;
  border: none;
  margin: 32px auto;
  max-width: 880px;
}

/* 페이지 자동 출력 H1 — 큰 폰트 + 가운데 정렬 + 아래 짧은 underline */
html body.page:not(.home):not(.page-id-2673) .entry-header {
  text-align: center;
  margin: 32px 0 40px;
}
html body.page:not(.home):not(.page-id-2673) .entry-header .entry-title {
  font-size: 32px;
  font-weight: 800;
  color: var(--ink);
  border-left: none;
  padding: 0;
  margin: 0;
  line-height: 1.3;
  display: inline-block;
  position: relative;
}
html body.page:not(.home):not(.page-id-2673) .entry-header .entry-title::after {
  content: "";
  display: block;
  width: 56px;
  height: 4px;
  background: var(--green);
  border-radius: 2px;
  margin: 16px auto 0;
}

/* --- 자동 목차 (Easy TOC) 톤 다듬기 --- */
html body.page:not(.home):not(.page-id-2673) #ez-toc-container {
  background: var(--bg-subtle, #fafbfc) !important;
  border: 1px solid var(--rule, #e2e5ea) !important;
  border-radius: 12px !important;
  padding: 18px 24px !important;
  margin: 0 auto 32px !important;
  max-width: 720px !important;
  box-shadow: none !important;
}
html body.page:not(.home):not(.page-id-2673) #ez-toc-container .ez-toc-title-container {
  margin-bottom: 8px !important;
  border: none !important;
  padding: 0 !important;
}
html body.page:not(.home):not(.page-id-2673) #ez-toc-container .ez-toc-title {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: var(--text-2) !important;
  letter-spacing: 1px !important;
  text-transform: uppercase;
}
html body.page:not(.home):not(.page-id-2673) #ez-toc-container ul.ez-toc-list a {
  color: var(--text-2) !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}
html body.page:not(.home):not(.page-id-2673) #ez-toc-container ul.ez-toc-list a:hover {
  color: var(--green-deep) !important;
}

/* --- hero 박스 (.btmr-page-hero) — hand-craft HTML 블록 전용 --- */
html body.page:not(.home):not(.page-id-2673) .btmr-page-hero {
  background: linear-gradient(135deg, #ecf7f0 0%, #f5f9f6 50%, #fafbfc 100%);
  border: 1px solid rgba(62, 182, 118, .25);
  border-radius: 16px;
  padding: 48px 40px;
  margin: 0 0 40px;
  box-shadow:
    0 1px 2px rgba(16, 24, 32, .04),
    0 8px 24px rgba(62, 182, 118, .08);
  text-align: center;
}
html body.page:not(.home):not(.page-id-2673) .btmr-page-hero-label {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: var(--green-deep);
  background: rgba(62, 182, 118, .14);
  padding: 5px 14px;
  border-radius: 999px;
  letter-spacing: 1.5px;
  margin-bottom: 20px;
  text-transform: uppercase;
}
html body.page:not(.home):not(.page-id-2673) .btmr-page-hero-title,
html body.page:not(.home):not(.page-id-2673) h2.btmr-page-hero-title {
  font-size: 28px !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
  margin: 0 0 18px !important;
  line-height: 1.3 !important;
  border-left: none !important;
  padding-left: 0 !important;
  display: block !important;
}
html body.page:not(.home):not(.page-id-2673) .btmr-page-hero-title::before {
  display: none !important;
}
html body.page:not(.home):not(.page-id-2673) .btmr-page-hero-lead {
  font-size: 17px;
  line-height: 1.85;
  color: var(--text-2);
  max-width: 820px;
  margin: 0 auto 22px;
  word-break: keep-all;
  overflow-wrap: break-word;
}
html body.page:not(.home):not(.page-id-2673) .btmr-page-hero-meta {
  margin-bottom: 22px;
}
html body.page:not(.home):not(.page-id-2673) .btmr-page-hero-badge {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  color: var(--green-deep);
  background: #fff;
  padding: 7px 18px;
  border-radius: 999px;
  border: 1px solid rgba(62, 182, 118, .35);
  box-shadow: 0 1px 2px rgba(16, 24, 32, .04);
}
html body.page:not(.home):not(.page-id-2673) .btmr-page-hero-chips {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}
html body.page:not(.home):not(.page-id-2673) .btmr-page-hero-chip {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  background: #fff;
  padding: 7px 14px;
  border-radius: 8px;
  border: 1px solid var(--rule);
}

/* --- 본문 톤 --- */
html body.page:not(.home):not(.page-id-2673) .entry-content p {
  font-size: 17px;
  line-height: 1.85;
  color: var(--text);
  margin: 0 0 18px;
}
html body.page:not(.home):not(.page-id-2673) .entry-content p strong {
  color: var(--ink);
  font-weight: 700;
}

/* 본문 H2 — 좌측 라인 X, 앞에 ● dot */
html body.page:not(.home):not(.page-id-2673) .entry-content h2.wp-block-heading {
  font-size: 22px;
  font-weight: 800;
  color: var(--ink);
  border-left: none;
  padding-left: 0;
  margin: 48px 0 18px;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 12px;
}
html body.page:not(.home):not(.page-id-2673) .entry-content h2.wp-block-heading::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  background: var(--green);
  border-radius: 50%;
  flex-shrink: 0;
}

/* 본문 H3 */
html body.page:not(.home):not(.page-id-2673) .entry-content h3 {
  font-size: 18px;
  font-weight: 700;
  color: var(--ink);
  margin: 32px 0 12px;
  line-height: 1.4;
}

/* separator 톤 */
html body.page:not(.home):not(.page-id-2673) .entry-content hr {
  border: 0;
  border-top: 1px solid var(--rule);
  margin: 40px 0;
  background: transparent;
  height: 1px;
}

/* 리스트 */
html body.page:not(.home):not(.page-id-2673) .entry-content ul,
html body.page:not(.home):not(.page-id-2673) .entry-content ol {
  padding-left: 24px;
  margin: 0 0 18px;
}
html body.page:not(.home):not(.page-id-2673) .entry-content ul li,
html body.page:not(.home):not(.page-id-2673) .entry-content ol li {
  font-size: 17px;
  line-height: 1.85;
  color: var(--text);
  margin: 6px 0;
}

/* 링크 (hero chip 제외) */
html body.page:not(.home):not(.page-id-2673) .entry-content a:not(.btmr-page-hero-chip):not(.btmr-page-hero-badge) {
  color: var(--green-deep);
  text-decoration: underline;
  text-decoration-color: rgba(62, 182, 118, .4);
  text-underline-offset: 3px;
  transition: text-decoration-color .2s, color .2s;
}
html body.page:not(.home):not(.page-id-2673) .entry-content a:not(.btmr-page-hero-chip):not(.btmr-page-hero-badge):hover {
  text-decoration-color: rgba(62, 182, 118, .9);
  color: var(--green);
}

/* callout-info 박스 — 좌측 라인 X, 라운드 + bg만 */
html body.page:not(.home):not(.page-id-2673) .entry-content .btmr-callout-info {
  background: #f5f9f6;
  border: 1px solid rgba(62, 182, 118, .2);
  border-radius: 12px;
  padding: 20px 24px;
  margin: 24px 0;
}
html body.page:not(.home):not(.page-id-2673) .entry-content .btmr-callout-info p {
  margin: 0 0 12px;
  color: var(--ink);
}
html body.page:not(.home):not(.page-id-2673) .entry-content .btmr-callout-info p:last-child,
html body.page:not(.home):not(.page-id-2673) .entry-content .btmr-callout-info ul:last-child,
html body.page:not(.home):not(.page-id-2673) .entry-content .btmr-callout-info ol:last-child {
  margin-bottom: 0;
}
html body.page:not(.home):not(.page-id-2673) .entry-content .btmr-callout-info ul {
  margin: 8px 0 0;
  padding-left: 20px;
}
html body.page:not(.home):not(.page-id-2673) .entry-content .btmr-callout-info ul li {
  font-size: 16px;
  margin: 6px 0;
}

/* --- 모바일 글로벌 page --- */
@media (max-width: 768px) {
  html body.page:not(.home):not(.page-id-2673) main.site-main {
    padding: 0 20px;
  }
  html body.page:not(.home):not(.page-id-2673) main.site-main > article {
    padding: 0;
    margin: 20px auto;
  }
  html body.page:not(.home):not(.page-id-2673) .entry-header {
    margin: 24px 0 32px;
  }
  html body.page:not(.home):not(.page-id-2673) .entry-header .entry-title {
    font-size: 24px;
  }
  html body.page:not(.home):not(.page-id-2673) .entry-header .entry-title::after {
    width: 44px;
    height: 3px;
    margin-top: 12px;
  }
  html body.page:not(.home):not(.page-id-2673) .entry-content p,
  html body.page:not(.home):not(.page-id-2673) .entry-content ul li,
  html body.page:not(.home):not(.page-id-2673) .entry-content ol li {
    font-size: 16px;
    line-height: 1.8;
  }
  html body.page:not(.home):not(.page-id-2673) .entry-content h2.wp-block-heading {
    font-size: 19px;
    margin: 36px 0 14px;
    gap: 10px;
  }
  html body.page:not(.home):not(.page-id-2673) .entry-content h2.wp-block-heading::before {
    width: 8px;
    height: 8px;
  }
  html body.page:not(.home):not(.page-id-2673) .btmr-page-hero {
    padding: 32px 24px;
    margin-bottom: 32px;
  }
  html body.page:not(.home):not(.page-id-2673) .btmr-page-hero-title,
  html body.page:not(.home):not(.page-id-2673) h2.btmr-page-hero-title {
    font-size: 22px !important;
  }
  html body.page:not(.home):not(.page-id-2673) .btmr-page-hero-lead {
    font-size: 16px;
  }
  html body.page:not(.home):not(.page-id-2673) #ez-toc-container {
    padding: 14px 18px !important;
    margin-bottom: 24px !important;
  }
  html body.page:not(.home):not(.page-id-2673) .entry-content .btmr-callout-info {
    padding: 16px 18px;
  }
}

/* === 5-G v2 패치 — inside-article 흰 카드 박스 제거 === */
/* 까망님 피드백: "글 내용을 둘르고 있는 네모박스가 거슬림" */
html body.page:not(.home):not(.page-id-2673) .inside-article {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}
html body.page:not(.home):not(.page-id-2673) .inside-article .entry-header,
html body.page:not(.home):not(.page-id-2673) .inside-article .entry-content,
html body.page:not(.home):not(.page-id-2673) .inside-article .entry-footer {
  padding: 0 !important;
}

/* ===== H2 AUTHOR BOX (5-G v2 글로벌, 2026-05-05 세션 10) ===== */
/* 사용 위치: 메인 ABOUT (사진 X), ABOUT 페이지·hub·블로그 글 하단 (사진 O) */
.btmr-author-box {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  background: #f8faf9;
  border: 1px solid #e4eae7;
  border-radius: 16px;
  padding: 22px;
  margin: 24px 0;
  font-family: Pretendard, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', sans-serif;
}
.btmr-author-box .btmr-author-photo {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px #e4eae7, 0 4px 12px rgba(0,0,0,0.05);
}
.btmr-author-box .btmr-author-body {
  flex: 1;
  min-width: 0;
}
.btmr-author-box .btmr-author-name {
  font-size: 16px;
  font-weight: 700;
  color: #0F172A;
  margin: 0 0 4px;
  line-height: 1.3;
}
.btmr-author-box .btmr-author-reg {
  font-size: 13px;
  color: #64748B;
  margin: 0 0 12px;
  line-height: 1.55;
  word-break: keep-all;
}
.btmr-author-box .btmr-author-cv {
  list-style: none;
  padding: 12px 0;
  margin: 0 0 12px;
  border-top: 1px dashed #d4dbd7;
  border-bottom: 1px dashed #d4dbd7;
}
.btmr-author-box .btmr-author-cv li {
  font-size: 13.5px;
  color: #334155;
  line-height: 1.85;
  padding-left: 16px;
  position: relative;
  word-break: keep-all;
}
.btmr-author-box .btmr-author-cv li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 11px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #3eb676;
}
.btmr-author-box .btmr-author-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.btmr-author-box .btmr-author-chip {
  font-size: 12px;
  color: #2d9d5e;
  background: #fff;
  border: 1px solid #c5e6d4;
  border-radius: 999px;
  padding: 4px 10px;
  font-weight: 500;
  white-space: nowrap;
}

/* 모바일 */
@media (max-width: 768px) {
  .btmr-author-box {
    flex-direction: column;
    padding: 18px;
    gap: 14px;
  }
  .btmr-author-box .btmr-author-photo {
    width: 56px;
    height: 56px;
  }
}

/* ===== 옵션 2 — 노란 카카오 CTA 박스 light 톤 리스킨 (2026-05-05 세션 10) ===== */
/* 옛 노란 그라디언트 → 작성자 박스와 같은 light 녹색 톤으로 통일 */
.btmr-kakao-cta {
  background: linear-gradient(135deg, #F0FDF4 0%, #DCFCE7 100%) !important;
  border: 1px solid #BBF7D0 !important;
  box-shadow: 0 4px 12px -2px rgba(74, 222, 128, 0.18) !important;
}
.btmr-kakao-cta-title { color: #0F172A !important; }
.btmr-kakao-cta-desc { color: #475569 !important; }
.btmr-kakao-cta-btn {
  background: #4ADE80 !important;
  color: #fff !important;
  box-shadow: 0 2px 6px rgba(74, 222, 128, 0.32) !important;
}
.btmr-kakao-cta-btn:hover {
  background: #22C55E !important;
  color: #fff !important;
}

/* ===== 카카오 중복 해소 — 글 페이지에서 떠다니는 알약 hide ===== */
/* 글 본문 끝에 노란 박스(통일 톤) + 작성자 박스 있으니 떠다니는 알약은 중복 */
body.single-post #btmr-kakao-float {
  display: none !important;
}

/* ===== 페이지네이션 "다음/이전" 버튼 깨짐 수정 ===== */
/* 32x32 정사각형 안에 "다음 →" 두 줄로 깨짐 → nowrap + 폭 확보 */
a.page-numbers.next,
a.page-numbers.prev {
  width: auto !important;
  min-width: 64px;
  padding: 0 14px !important;
  white-space: nowrap;
}

/* ===== H3 contact 페이지 — 지도 보기 버튼 (2026-05-05 세션 10, 명시도 패치) ===== */
/* p 안에 들어가도 entry-content p 글로벌 룰을 이기도록 명시도 강화 */
html body.page .btmr-map-buttons {
  display: flex !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  margin: 16px 0 24px !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
}
html body.page .btmr-map-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 10px 18px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  background: #fff !important;
  border: 1px solid !important;
  line-height: 1.4 !important;
  transition: all .2s;
}
html body.page .btmr-map-btn.naver { color: #03C75A !important; border-color: #BFE9CE !important; }
html body.page .btmr-map-btn.naver:hover { background: #03C75A !important; color: #fff !important; border-color: #03C75A !important; }
html body.page .btmr-map-btn.kakao { color: #b8910b !important; border-color: #F4D700 !important; }
html body.page .btmr-map-btn.kakao:hover { background: #FEE500 !important; color: #181600 !important; border-color: #FEE500 !important; }


/* ============================================================
   세션 11 모바일 패치 (2026-05-05)
   ============================================================ */
/* ============================================================
   세션 11 — 모바일 수정 패치 (라이브 적용 X)
   까망님 검토 후 자식 테마 style.css 끝에 append
   2026-05-05 묵 단독 진행
   ============================================================ */

/* ------------------------------------------------------------
   M1. 블로그 글 모바일 폰트 가독성
   - 본문 14px+ / 메타 13px+ / 관련 글 13.5px+
   ------------------------------------------------------------ */
@media (max-width: 768px) {
  /* 블로그 글 본문 a (인라인 링크) */
  body.single-post .entry-content p a,
  body.single-post .entry-content li a {
    font-size: inherit; /* 본문 폰트 따라가도록 */
  }

  /* 작성자 박스 영역 */
  .btmr-author-box .btmr-author-name {
    font-size: 14px;
  }
  .btmr-author-box .btmr-author-reg,
  .btmr-author-box .btmr-author-cv {
    font-size: 13px;
    line-height: 1.5;
  }

  /* 관련 글 / 메타 / 카테고리 링크 */
  body.single-post .entry-content .related-posts a,
  body.single-post .entry-content .post-meta,
  body.single-post .entry-content .post-meta a {
    font-size: 13.5px;
    line-height: 1.55;
  }

  /* 본문 모든 a 최소 폰트 가드 */
  body.single-post .entry-content a {
    font-size: max(13.5px, 1em);
  }
}

/* ------------------------------------------------------------
   M2. 메인 페이지 CTA 박스 padding
   - 박스 내부 여백 확보
   ------------------------------------------------------------ */
@media (max-width: 768px) {
  body.home .btmr-cta,
  body.home [class*="cta"] {
    padding: 24px 20px !important;
  }
}

/* ------------------------------------------------------------
   M3. 터치 타겟 44px 보장
   - 헤더 버튼·페이지네이션 최소 높이
   ------------------------------------------------------------ */
@media (max-width: 768px) {
  .btmr-hdr-btn,
  .btmr-hdr-sub,
  .btmr-hdr-contact {
    min-height: 40px !important;
    padding: 8px 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* 페이지네이션 버튼 */
  a.page-numbers,
  span.page-numbers {
    min-height: 36px !important;
    min-width: 36px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  /* "다음 →" "이전 ←" 는 가로 늘리되 최소 높이 보장 */
  a.page-numbers.next,
  a.page-numbers.prev {
    min-height: 36px !important;
    padding: 0 14px !important;
  }
}

/* ------------------------------------------------------------
   L1. TRUST BAR 모바일 2x2 그리드
   - 데스크톱 4 카드 가로 → 모바일 2x2
   - 까망님 검토 후 적용 (현재 4 카드 1줄 유지 의견이면 이 블록 X)
   ------------------------------------------------------------ */
@media (max-width: 600px) {
  body.home .btmr-trust-bar,
  body.home [class*="trust-bar"] {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  body.home .btmr-trust-bar > *,
  body.home [class*="trust-bar"] > * {
    width: auto !important;
    margin: 0 !important;
  }
}

/* ------------------------------------------------------------
   L2. POPULAR GUIDES 모바일 — 현재 1줄 유지가 디폴트.
   까망님이 2 컬럼 원하시면 이 블록 활성화.
   ------------------------------------------------------------ */
/*
@media (min-width: 480px) and (max-width: 768px) {
  body.home .btmr-guides,
  body.home [class*="guides"] {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 16px !important;
  }
}
*/

/* ------------------------------------------------------------
   추가 안전망 — 모바일 가로 스크롤 발생 시 차단
   ------------------------------------------------------------ */
@media (max-width: 768px) {
  html, body {
    overflow-x: hidden !important;
  }
  img, video, iframe, table {
    max-width: 100% !important;
    height: auto !important;
  }
}


/* ============================================================
   세션 11 TRUST BAR fix (2026-05-05)
   - 처음 패치가 .btmr-trust-bar > *로 매칭 실패
   - 실제 구조: .trust-bar > .container > .trust-grid > .trust-item × 4
   ============================================================ */
@media (max-width: 600px) {
  /* 잘못된 .trust-bar grid 룰 unset */
  body.home .trust-bar,
  body.home [class*="trust-bar"] {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
  }
  /* 실제 카드 컨테이너 .trust-grid에 2x2 */
  body.home .trust-bar .trust-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }
  body.home .trust-bar .trust-item {
    width: auto !important;
    margin: 0 !important;
  }
}
