/*
Theme Name: CashUp24 Child
Theme URI: https://cashup24.com
Author: CashUp24
Description: CashUp24 테마 차일드 테마 - 커스텀 수정용
Template: cashup24-theme
Version: 1.0.1
License: GNU General Public License v2 or later
Text Domain: cashup24-child
*/

/* =============================================
   카테고리 색상 변수
   ============================================= */
:root {
  --cat-red:    #e53935;
  --cat-orange: #ff9800;
  --cat-purple: #b339c8;
  --cat-green:  #1ba258;
  --cat-blue:   #1075ee;
}

/* =============================================
   Pretendard 로컬 폰트
   ============================================= */
@font-face{font-family:"Pretendard";font-weight:100;font-style:normal;font-display:swap;src:url("/wp-content/themes/cashup24-child/assets/fonts/Pretendard-Thin.woff") format("woff");}
@font-face{font-family:"Pretendard";font-weight:200;font-style:normal;font-display:swap;src:url("/wp-content/themes/cashup24-child/assets/fonts/Pretendard-ExtraLight.woff") format("woff");}
@font-face{font-family:"Pretendard";font-weight:300;font-style:normal;font-display:swap;src:url("/wp-content/themes/cashup24-child/assets/fonts/Pretendard-Light.woff") format("woff");}
@font-face{font-family:"Pretendard";font-weight:400;font-style:normal;font-display:swap;src:url("/wp-content/themes/cashup24-child/assets/fonts/Pretendard-Regular.woff") format("woff");}
@font-face{font-family:"Pretendard";font-weight:500;font-style:normal;font-display:swap;src:url("/wp-content/themes/cashup24-child/assets/fonts/Pretendard-Medium.woff") format("woff");}
@font-face{font-family:"Pretendard";font-weight:600;font-style:normal;font-display:swap;src:url("/wp-content/themes/cashup24-child/assets/fonts/Pretendard-SemiBold.woff") format("woff");}
@font-face{font-family:"Pretendard";font-weight:700;font-style:normal;font-display:swap;src:url("/wp-content/themes/cashup24-child/assets/fonts/Pretendard-Bold.woff") format("woff");}
@font-face{font-family:"Pretendard";font-weight:800;font-style:normal;font-display:swap;src:url("/wp-content/themes/cashup24-child/assets/fonts/Pretendard-ExtraBold.woff") format("woff");}
@font-face{font-family:"Pretendard";font-weight:900;font-style:normal;font-display:swap;src:url("/wp-content/themes/cashup24-child/assets/fonts/Pretendard-Black.woff2") format("woff2"),url("/wp-content/themes/cashup24-child/assets/fonts/Pretendard-Black.woff") format("woff");}

/* =============================================
   cu24 글쓰기 프레임워크
   ============================================= */

/* 기본 래퍼 */
.cu24-wrap{max-width:860px;margin:0 auto;padding:2rem 1rem;font-family:"Pretendard",sans-serif;line-height:1.8;color:#111;font-weight:400;}

/* 페이지 헤더 */
.cu24-header{background:#E6F1FB;padding:50px 40px;text-align:center;border-radius:12px;border-bottom:3px solid #378ADD;margin-bottom:2rem;}
.cu24-header h1{font-size:32px;font-weight:700;color:#0C447C;margin:0 0 10px;}
.cu24-header p{font-size:17px;color:#185FA5;margin:0;}
.cu24-badge{display:inline-block;font-size:13px;font-weight:500;color:#185FA5;background:#fff;padding:4px 16px;border-radius:20px;border:1px solid #B5D4F4;margin-bottom:1rem;}

/* =============================================
   섹션 제목 (cu24-section-title-*)
   카테고리별 색상 + entry-content 충돌 방지 통합
   ============================================= */
.cu24-section-title-red,
.entry-content .cu24-section-title-red       { font-size:27px;font-weight:800;letter-spacing:-1.3px;color:#111;display:flex;flex-direction:row;align-items:center;gap:10px;padding-left:0;margin:40px 0 14px;background:none; }

.cu24-section-title-orange,
.entry-content .cu24-section-title-orange    { font-size:27px;font-weight:800;letter-spacing:-1.3px;color:#111;display:flex;flex-direction:row;align-items:center;gap:10px;padding-left:0;margin:40px 0 14px;background:none; }

.cu24-section-title-deeporange,
.entry-content .cu24-section-title-deeporange{ font-size:27px;font-weight:800;letter-spacing:-1.3px;color:#111;display:flex;flex-direction:row;align-items:center;gap:10px;padding-left:0;margin:40px 0 14px;background:none; }

.cu24-section-title-blue,
.entry-content .cu24-section-title-blue      { font-size:27px;font-weight:800;letter-spacing:-1.3px;color:#111;display:flex;flex-direction:row;align-items:center;gap:10px;padding-left:0;margin:40px 0 14px;background:none; }

.cu24-section-title-number,
.entry-content .cu24-section-title-number     { font-size:27px;font-weight:800;letter-spacing:-1.3px;color:#111;display:flex;flex-direction:row;align-items:center;gap:10px;padding-left:0;margin:40px 0 14px;background:none; }

.cu24-section-title-indigo,
.entry-content .cu24-section-title-indigo    { font-size:27px;font-weight:800;letter-spacing:-1.3px;color:#111;display:flex;flex-direction:row;align-items:center;gap:10px;padding-left:0;margin:40px 0 14px;background:none; }

.cu24-section-title-purple,
.entry-content .cu24-section-title-purple    { font-size:27px;font-weight:800;letter-spacing:-1.3px;color:#111;display:flex;flex-direction:row;align-items:center;gap:10px;padding-left:0;margin:40px 0 14px;background:none; }

.cu24-section-title-green,
.entry-content .cu24-section-title-green     { font-size:27px;font-weight:800;letter-spacing:-1.3px;color:#111;display:flex;flex-direction:row;align-items:center;gap:10px;padding-left:0;margin:40px 0 14px;background:none; }

.cu24-section-title-bluegray,
.entry-content .cu24-section-title-bluegray  { font-size:27px;font-weight:800;letter-spacing:-1.3px;color:#111;display:flex;flex-direction:row;align-items:center;gap:10px;padding-left:0;margin:40px 0 14px;background:none; }

/* cu24-section-title-blue (CashUp24 헤더용 - 번호 배지 스타일) */
.cu24-section-title-blue-badge{font-size:22px;font-weight:700;color:#0C447C;padding-bottom:10px;border-bottom:2px solid #E6F1FB;margin:40px 0 14px;position:relative;}
.cu24-section-title-blue-badge::before{content:attr(data-number);background:#378ADD;color:#fff;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-right:12px;font-size:14px;font-weight:600;}

/* =============================================
   박스류
   ============================================= */
.cu24-box-tip{background:#fffbd8;border:2px solid #d4900a;border-radius:16px;box-shadow:0 2px 6px rgba(0,0,0,0.22);padding:16px 20px;margin:20px 0;font-size:17px;color:#333;font-weight:500;}
.cu24-box-tip strong{color:#856404;font-weight:700;}
.cu24-box-warn{background:#fce4ec;border:2px solid #b71c5a;border-radius:16px;box-shadow:0 2px 6px rgba(0,0,0,0.22);padding:14px 18px;margin:16px 0;font-size:17px;color:#333;font-weight:500;}
.cu24-box-warn strong{color:#880e4f;font-weight:700;}
.cu24-box-ok{background:#e8f5e9;border:2px solid #388e3c;border-radius:16px;box-shadow:0 2px 6px rgba(0,0,0,0.22);padding:14px 18px;margin:16px 0;font-size:17px;color:#333;font-weight:500;}
.cu24-box-ok strong{color:#1b5e20;font-weight:700;}
.cu24-box-blue{background:#e2fcff;border:2px solid #1565c0;border-radius:16px;box-shadow:0 2px 6px rgba(0,0,0,0.22);padding:16px 20px;margin:20px 0;font-size:17px;color:#185FA5;font-weight:500;}
.cu24-box-blue strong{color:#0C447C;font-weight:700;}
.cu24-box-gray{background:#f8f8f8;border:2px solid #888;border-radius:16px;box-shadow:0 2px 6px rgba(0,0,0,0.22);padding:14px 18px;margin:16px 0;font-size:17px;color:#333;font-weight:500;line-height:2;}
.single-category-tag{border-radius:4px;margin-bottom:22px;}
.single-title{margin-bottom:16px;}
.cu24-box-cream{background:#fff1e8;border:2px solid #c39a7e;border-radius:16px;box-shadow:0 2px 6px rgba(0,0,0,0.22);padding:14px 18px;margin:16px 0;font-size:17px;color:#343434;font-weight:500;line-height:2;}
.cu24-box-cream strong{color:#7a4f35;font-weight:700;}

/* =============================================
   카드 그리드
   ============================================= */
.cu24-grid{display:flex;flex-wrap:wrap;margin:1.5rem 0;}
.cu24-card{background:#fff;border:1px solid #e0e0e0;border-top:3px solid #e53935;border-radius:12px;padding:1.5rem;flex:1;min-width:260px;margin:7px;}
.cu24-card-blue{background:#fff;border:1px solid #e0e0e0;border-top:3px solid #378ADD;border-radius:12px;padding:1.5rem;flex:1;min-width:260px;margin:7px;}
.cu24-card h3,.cu24-card-blue h3{font-size:17px;font-weight:700;color:#111;margin:0 0 .6rem;}
.cu24-card p,.cu24-card-blue p{font-size:15px;color:#333;line-height:1.8;margin:0;font-weight:400;}
.cu24-card-num{font-size:13px;color:#e53935;font-weight:500;margin-bottom:.5rem;}
.cu24-card-num-blue{font-size:13px;color:#185FA5;font-weight:500;margin-bottom:.5rem;}

/* entry-content 안 카드 h3 충돌 방지 */
.entry-content .cu24-card h3,
.entry-content .cu24-card-blue h3 { font-size:17px;font-weight:700;color:#111;margin:0 0 .6rem;border:none;padding:0;background:none; }

/* =============================================
   리스트
   ============================================= */
.cu24-list{list-style:none;margin:15px 0;padding-left:0;}
.cu24-list li{padding:4px 0 4px 35px;position:relative;color:#333;font-weight:500;font-size:17px;line-height:1.8;}
.cu24-list li::before{content:"✓";position:absolute;left:0;color:#378ADD;font-weight:700;font-size:18px;}
.cu24-list-red li::before{color:#e53935;}

/* =============================================
   표 (cu24-table)
   ============================================= */
.cu24-table{width:100%;border-collapse:collapse;margin:20px 0;font-size:16px;}
.cu24-table thead tr{background:#4f1c4d;color:#fff;}
.cu24-table thead tr.red{background:#e53935;}
.cu24-table thead tr.blue{background:#378ADD;}
.cu24-table th{padding:12px 14px;text-align:center !important;color:#fff;font-weight:700;}
.cu24-table td{padding:12px 14px;border-bottom:1px solid #eee;color:#333;font-weight:400;}
.cu24-table tr:nth-child(even){background:#f9f9f9;}

/* =============================================
   코드블록
   ============================================= */
.cu24-code{background:#1e1e1e;color:#d4d4d4;font-family:monospace;font-size:15px;line-height:1.9;border-radius:4px;padding:14px 18px;margin:16px 0;overflow-x:auto;}
.cu24-code-comment{color:#6a9955;}

/* =============================================
   결론 박스
   ============================================= */
.cu24-result-ok{background:#e8f5e9;border:2px solid #388e3c;border-radius:16px;box-shadow:0 2px 6px rgba(0,0,0,0.22);padding:18px 22px;margin:20px 0;}
.cu24-result-ok h3{font-size:17px;font-weight:700;color:#2e7d32;margin:0 0 12px;}
.cu24-result-ok p,.cu24-result-ok li{font-size:17px;color:#333;line-height:2;font-weight:500;}
.cu24-result-warn{background:#fce4ec;border:2px solid #c62828;border-radius:16px;box-shadow:0 2px 6px rgba(0,0,0,0.22);padding:18px 22px;margin:20px 0;}
.cu24-result-warn h3{font-size:17px;font-weight:700;color:#b71c1c;margin:0 0 12px;}
.cu24-result-warn p,.cu24-result-warn li{font-size:17px;color:#333;line-height:2;font-weight:500;}

/* entry-content 안 결론 h3 충돌 방지 */
.entry-content .cu24-result-ok h3  { font-size:17px;font-weight:700;color:#2e7d32;margin:0 0 12px;border:none;padding:0;background:none; }
.entry-content .cu24-result-warn h3{ font-size:17px;font-weight:700;color:#b71c1c;margin:0 0 12px;border:none;padding:0;background:none; }

/* =============================================
   기타 컴포넌트
   ============================================= */
.cu24-hr{border:none;border-top:1px solid #ddd;margin:30px 0;}
.cu24-footer-note{margin:20px 0;padding:16px 18px;background:#f5f5f5;border-radius:4px;font-size:14px;color:#666;line-height:1.7;}
.cu24-disclaimer{margin:20px 0 0;font-size:15px;color:var(--text-secondary) !important;border-top:1px solid #eee;padding-top:14px;}
.cu24-coupang-btn{display:inline-block;background:#e8420a;color:#fff;padding:14px 28px;border-radius:8px;text-decoration:none;font-weight:700;font-size:1.05em;margin:16px 0;}
.cu24-coupang-btn:hover{background:#c73a09;color:#fff;}

/* =============================================
   툴 계산기
   ============================================= */
.cu24-tool-tabs{display:flex;gap:8px;margin-bottom:24px;}
.cu24-tool-tab{flex:1;padding:12px;border:2px solid #ddd;border-radius:16px;background:#fff;font-size:17px;font-weight:700;cursor:pointer;color:#888;font-family:"Pretendard",sans-serif;}
.cu24-tool-tab.on{background:#e53935;border-color:#e53935;color:#fff;}
.cu24-tool-panel{display:none;}
.cu24-tool-panel.on{display:block;}
.cu24-tool-field{margin-bottom:16px;}
.cu24-tool-field label{display:block;font-size:16px;font-weight:700;color:#555;margin-bottom:6px;}
.cu24-tool-field input,.cu24-tool-field select{width:100%;padding:11px 14px;border:1.5px solid #e0e0e0;border-radius:8px;font-size:17px;font-family:"Pretendard",sans-serif;box-sizing:border-box;color:#222;}
.cu24-tool-field input:focus,.cu24-tool-field select:focus{outline:none;border-color:#e53935;}
.cu24-tool-hint{font-size:14px;color:#aaa;margin-top:4px;}
.cu24-tool-btn{width:100%;padding:14px;background:#e53935;color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:700;cursor:pointer;margin-top:4px;font-family:"Pretendard",sans-serif;}
.cu24-tool-btn:hover{background:#c62828;}
.cu24-tool-body{background:#f4f4f4;border:1px solid #eee;border-radius:0 0 12px 12px;padding:24px;box-shadow:0 4px 16px rgba(0,0,0,.07);margin-top:0;margin-bottom:40px;}

/* =============================================
   entry-content 본문 표 스타일 (부모에서 이관)
   ============================================= */
.entry-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-size: 18px;
}
.entry-content th {
  background: #4f1c4d;
  color: #fff;
  font-weight: 700;
  padding: 10px 14px;
  text-align: left;
  border: 1px solid #555;
}
.entry-content td {
  padding: 10px 14px;
  border: 1px solid #e5e7eb;
  color: #000;
}
.entry-content tr:hover td { background: #f9fafb; }

/* =============================================
   Table 반응형 (.table-wrap)
   ============================================= */
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; width: 100%; }
.table-wrap table { border-collapse: collapse; min-width: 100%; table-layout: fixed; word-break: keep-all; word-wrap: break-word; }
.table-wrap thead tr { background: #333 !important; }
.table-wrap th { background: #333 !important; color: #fff !important; border-color: #555 !important; }
.table-wrap td { color: #000; }
.table-wrap th:first-child,
.table-wrap td:first-child { position: sticky; left: 0; background: #fff; z-index: 1; }
.table-wrap thead th:first-child { background: #333; }
.table-wrap th,
.table-wrap td { word-break: keep-all; word-wrap: break-word; white-space: normal; }
@media (max-width: 768px) {
  .table-wrap th:first-child,
  .table-wrap td:first-child { position: static; }
}

/* =============================================
   반응형 — 태블릿 (601px ~ 1024px)
   ============================================= */
@media (min-width: 601px) and (max-width: 1024px) {
  /* 부모 테마 768px 룰에서 줄어든 패딩을 태블릿용으로 복원 */
  .section-wrap, .popular-section, .post-list-section,
  .category-header, .single-content-wrap,
  .related-section, .site-footer { padding-left: 32px !important; padding-right: 32px !important; }
  /* 인기글 2열, 3번째 항목 숨김 */
  .top3-section .post-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .top3-section .post-grid .post-card:nth-child(n+3) { display: none !important; }
  /* 최신글 2열 3행 */
  .recent-grid { grid-template-columns: repeat(2, 1fr) !important; }
  /* 카테고리 순위 3열 고정 */
  .top5-section .post-grid { grid-template-columns: repeat(3, 1fr) !important; }
  .top5-section .post-grid .post-card:nth-child(n+4) { display: none !important; }
}

/* =============================================
   반응형 — 폰 (max-width: 600px)
   ============================================= */
@media(max-width:600px){
  .cu24-header{padding:30px 20px;}
  .cu24-header h1{font-size:24px;}
  .cu24-card,.cu24-card-blue{min-width:100%;margin:7px 0;}
  .cu24-section-title-red,.cu24-section-title-orange,.cu24-section-title-deeporange,
  .cu24-section-title-blue,.cu24-section-title-number,.cu24-section-title-indigo,
  .cu24-section-title-purple,.cu24-section-title-green,.cu24-section-title-bluegray{font-size:18px;}
}

/* h3 명시적 오버라이드 */
.entry-content h3 { font-size: 20px !important; font-weight: 700; color: #111; margin: 24px 0 10px; }
/* 모바일 메뉴 배경 흰색으로 변경 */
.mobile-header { background: #fff; border-bottom: 1px solid #e0e0e0; }
.mobile-menu { background: #fff; border-bottom: 1px solid #e0e0e0; }

/* 제목-본문 사이 여백 축소 */
.single-content-wrap { margin-top: 80px; }
@media (max-width: 1024px) {
  .single-content-wrap { margin-top: 32px; }
}
@media (max-width: 600px) {
  .single-content-wrap { margin-top: 20px; }
  .top3-section .post-grid .post-card:nth-child(n+2) { display: none !important; }
}

/* 폰 heading 크기 조정 */
@media (max-width: 600px) {
  h1 { font-size: 26px; letter-spacing: -2px; }
  h2 { font-size: 22px; letter-spacing: -1px; }
  h3 { font-size: 18px; letter-spacing: 0; }
  h4 { font-size: 16px; letter-spacing: 0; }
  h5 { font-size: 14px; letter-spacing: 0; }
  h6 { font-size: 12px; letter-spacing: 0; }
  .entry-content h2 { font-size: 22px; letter-spacing: -1px; }
  .entry-content h3 { font-size: 18px; letter-spacing: 0; }
}


/* 개인정보·이용약관·문의하기 페이지 본문 ul 점 제거 */
body.page-id-3 .entry-content ul,
body.page-id-5475 .entry-content ul,
body.page-id-19875 .entry-content ul { list-style: none; }

/* 개인정보·이용약관·문의하기 체크리스트 간격 조정 */
body.page-id-3 .entry-content .cu24-list li,
body.page-id-5475 .entry-content .cu24-list li,
body.page-id-19875 .entry-content .cu24-list li { padding-left: 24px; }

/* 배터리 계산기 결과 표 폭 제한 */
body.page-id-19908 .cu24-table { width: auto !important; min-width: 320px !important; max-width: 480px !important; }

/* 페이지 상단 여백 축소 */
.page-section { padding-top: 50px; }

/* 페이지 상단 여백 모바일 축소 */
@media (max-width: 1024px) {
  .page-section { padding-top: 24px; }
}

/* 페이지 제목 배경색 변경 */
.category-header { background: #efefef; }

/* 페이지 제목 높이 폰 축소 */
@media (max-width: 600px) {
  .category-header { height: 80px; }
}

/* 사이드바 메뉴 컬러 바 추가 — 회색 */
.sidebar-nav .menu-item-19500 > a::before,
.sidebar-nav .menu-item-19916 > a::before { content:""; display:inline-block; width:4px; height:16px; background:#757575; margin-right:8px; vertical-align:middle; border-radius:2px; }

/* sidebar-recent 링크 폰트 크기 */
.sidebar-recent li a { font-size: 16px; }

/* 포스트 조회수 색상 */
.post-views { color: var(--text-secondary); }

/* entry-content 안 cu24-list 점 제거 */
.entry-content .cu24-list { list-style: none; }

/* features-header-title 폰 크기 */
@media (max-width: 600px) {
  .features-header-title { font-size: 26px; }
}

/* 로그인 페이지 */
.cu24-login-wrap{max-width:420px;margin:0 auto;}
.cu24-login-wrap .login-username,.cu24-login-wrap .login-password{margin-bottom:16px;}
.cu24-login-wrap label{display:block;font-size:14px;font-weight:700;color:#444;margin-bottom:6px;}
.cu24-login-wrap input[type=text],.cu24-login-wrap input[type=password]{width:100%;padding:12px 14px;border:1px solid #ccc;border-radius:8px;font-size:16px;box-sizing:border-box;}
.cu24-login-wrap input[type=submit]{width:100%;padding:13px;background:#e53935;color:#fff;border:none;border-radius:8px;font-size:17px;font-weight:700;cursor:pointer;margin-top:8px;}
.cu24-login-wrap input[type=submit]:hover{background:#c62828;}
.cu24-login-wrap .login-remember{margin:12px 0;font-size:14px;color:#555;}
.cu24-login-lost{text-align:center;margin-top:16px;font-size:14px;}
.cu24-login-lost a{color:#e53935;}

/* 검색 오버레이 */
.search-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.7);
    z-index: 99999;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.search-overlay.active {
    display: flex !important;
}
.search-overlay-form {
    display: flex;
    align-items: center;
    background: #fff;
    border-radius: 50px;
    padding: 8px 8px 8px 24px;
    width: min(560px, 90vw);
    box-shadow: 0 8px 32px rgba(0,0,0,0.25);
}
.search-overlay-form input[type=text] {
    flex: 1;
    border: none;
    outline: none;
    font-size: 18px;
    background: transparent;
    color: #222;
    padding: 0;
}
.search-overlay-form button[type=submit] {
    background: #e53935;
    border: none;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
}
.search-overlay-form button[type=submit] svg {
    width: 20px;
    height: 20px;
    stroke: #fff;
}
.search-overlay-close {
    background: none;
    border: none;
    color: #fff;
    font-size: 28px;
    cursor: pointer;
    margin-top: 20px;
    line-height: 1;
    opacity: 0.8;
}
.search-overlay-close:hover { opacity: 1; }

/* 검색 결과 페이지 */
.search-result-count {
    font-size: 14px;
    color: var(--text-muted);
    margin-top: 6px;
}
.search-no-results {
    text-align: center;
    padding: 80px 20px;
    color: var(--text-secondary);
}
.search-no-results p { margin-top: 16px; font-size: 16px; }
.search-again-form {
    display: flex;
    gap: 8px;
    max-width: 400px;
    margin: 24px auto 0;
}
.search-again-form input[type=text] {
    flex: 1;
    padding: 10px 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 15px;
}
.search-again-form button {
    padding: 10px 20px;
    background: #e53935;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 15px;
    cursor: pointer;
}

/* 사이드바 하단 아이콘 정렬 통일 */
.sidebar-bottom-icons a,
.sidebar-bottom-icons button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
    color: #000;
    transition: color var(--transition);
}
.sidebar-bottom-icons a:hover,
.sidebar-bottom-icons button:hover { color: var(--primary); }

/* 사이드바 하단 아이콘 간격 줄이기 */
.sidebar-bottom-icons { gap: 4px; }


/* 모바일 레이아웃에서 어드민 바 이중 계산 방지 */
@media (max-width: 1024px) {
    .site-main { padding-top: 60px !important; }
}

/* 첫 번째 섹션 타이틀 상단 마진 제거 */
.entry-content > [class*="cu24-section-title-"]:first-child {
    margin-top: 0;
}

.hero-badge {
    font-size: 11px;
    border-radius: 4px;
    margin-bottom: 4px;
}

/* 이미지 캡션 */
.wp-caption-text,
.entry-content figcaption {
    font-size: 16px;
    font-weight: 400;
    color: #888;
    text-align: center;
    margin-top: -1px;
}

/* =============================================
   nb-guide 포스트 디자인 프레임워크
   ============================================= */
.nb-guide * { box-sizing: border-box; }
.nb-guide { font-family: Pretendard, sans-serif; color: #1a1a2e; line-height: 1.85; max-width: 780px; margin: 0 auto; }
.nb-intro { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: #fff; border-radius: 12px; padding: 32px 36px; margin-bottom: 40px; }
.nb-intro p { font-size: 17px; line-height: 1.9; margin: 0; opacity: 0.95; color: #fff !important; }
.nb-section { margin-bottom: 48px; }
.nb-section-header { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; padding-bottom: 12px; border-bottom: 2px solid #667eea; }
.nb-num { background: #667eea; color: #fff; font-size: 14px; font-weight: 700; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.nb-section-header h2 { font-size: 25px; font-weight: 700; color: #1a1a2e; margin: 0; }
.nb-card { background: #f8f9ff; border-left: 4px solid #667eea; border-radius: 0 8px 8px 0; padding: 20px 24px; margin-bottom: 16px; }
.nb-card h3 { font-size: 16px; font-weight: 700; color: #667eea; margin: 0 0 10px; }
.nb-card p { font-size: 17px; color: #444; margin: 0; line-height: 1.9; }
.nb-tip { background: #fff8e1; border: 1px solid #ffd54f; border-radius: 8px; padding: 16px 20px; margin: 16px 0; font-size: 17px; color: #5d4037; line-height: 1.85; }
.nb-tip strong { color: #e65100; }
.nb-warn { background: #fff3f3; border: 1px solid #ff8a80; border-radius: 8px; padding: 16px 20px; margin: 16px 0; font-size: 17px; color: #b71c1c; line-height: 1.85; }
.nb-check-list { list-style: none !important; padding: 0; margin: 12px 0; }
.nb-check-list li { list-style: none !important; padding: 12px 0 12px 28px; position: relative; font-size: 17px; color: #333; border-bottom: 1px solid #eee; line-height: 1.85; }
.nb-check-list li:last-child { border-bottom: none; }
.nb-check-list li::before { content: '✓'; position: absolute; left: 0; color: #667eea; font-weight: 700; }
.nb-code { background: #1a1a2e; color: #a8d8ff; border-radius: 6px; padding: 12px 16px; font-family: monospace; font-size: 14px; margin: 10px 0; }
.nb-summary { background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); color: #fff; border-radius: 12px; padding: 32px 36px; margin-top: 48px; }
.nb-summary h3 { font-size: 16px; font-weight: 700; margin: 0 0 20px; color: #a8d8ff; }
.nb-summary ul { list-style: none; padding: 0; margin: 0; }
.nb-summary ul li { padding: 10px 0 10px 24px; position: relative; font-size: 17px; color: #ccc; border-bottom: 1px solid rgba(255,255,255,0.08); line-height: 1.85; }
.nb-summary ul li:last-child { border-bottom: none; }
.nb-summary ul li::before { content: '→'; position: absolute; left: 0; color: #667eea; }

.cu24-faq-answer {
    font-size: 17px;
    font-weight: 500;
    line-height: 1.8em;
    letter-spacing: -1.2px;
    color: #626262;
}

/* 이미지 반응형 — 고정 width 속성 및 wp-caption 오버플로 방지 */
.entry-content img { max-width: 100% !important; height: auto !important; }
.entry-content figure.wp-caption { max-width: 100% !important; width: auto !important; }

/* 포스트 이미지 반응형 */
.single-content-wrap img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

}



/* 소셜 공유 버튼 */
.cu24-social-share {
    margin-top: 70px;
    padding: 24px;
    background: #f8f9fa;
    border-radius: 12px;
    text-align: center;
}
.cu24-share-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
}
.cu24-share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    text-decoration: none;
    transition: transform 0.15s, opacity 0.15s;
    flex-shrink: 0;
}
.cu24-share-btn:hover { transform: scale(1.12); opacity: 0.88; }
.cu24-kakao   { background: #FEE500; }
.cu24-facebook { background: #1877F2; }
.cu24-twitter  { background: #000; }
.cu24-naver    { background: #03C75A; }
.cu24-line     { background: #00B900; }


/* 댓글 섹션 */
.cu24-comments-wrap {
    max-width: 780px;
    margin: 48px auto 0;
    padding: 0 16px;
}
.cu24-comments-wrap .comments-title {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 24px;
    padding-left: 12px;
    border-left: 4px solid #757575;
}
.cu24-comments-wrap .comment-list {
    list-style: none;
    padding-left: 0;
    margin: 0 0 32px;
    counter-reset: cu24-comments;
}
.cu24-comments-wrap .comment-list .children {
    list-style: none;
    padding: 0;
    margin: 0;
}
.cu24-comments-wrap .comment-list > .comment {
    counter-increment: cu24-comments;
    position: relative;
    padding: 14px 16px 14px 36px;
    border-radius: 8px;
    margin-bottom: 8px;
    border-bottom: none;
}
.cu24-comments-wrap .comment-list > .comment::before {
    content: counter(cu24-comments);
    position: absolute;
    top: 14px;
    left: 12px;
    font-size: 13px;
    font-weight: 700;
    color: #2dbf80;
}
.cu24-comments-wrap .comment {
    padding: 14px 16px;
    border-radius: 8px;
    margin-bottom: 8px;
    border-bottom: none;
}
.cu24-comments-wrap .comment-author .fn {
    font-weight: 600;
    font-size: 14px;
    color: #1a1a2e;
}
.cu24-comments-wrap .comment-meta {
    font-size: 12px;
    color: #aaa;
    margin-bottom: 8px;
}
.cu24-comments-wrap .comment-content p {
    font-size: 15px;
    color: #444;
    line-height: 1.7;
    margin: 0;
}
.cu24-comments-wrap .comment-reply-link {
    font-size: 12px;
    color: #2dbf80;
    text-decoration: none;
}
.cu24-comments-wrap #respond {
    margin-top: 32px;
}
.cu24-comments-wrap #reply-title {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 16px;
    padding-left: 12px;
    border-left: 4px solid #757575;
}
.cu24-comments-wrap .comment-form input[type="text"],
.cu24-comments-wrap .comment-form input[type="email"],
.cu24-comments-wrap .comment-form textarea {
    width: 100%;
    padding: 10px 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 14px;
    margin-bottom: 12px;
    box-sizing: border-box;
}
.cu24-comments-wrap .comment-form textarea {
    height: 80px;
    resize: vertical;
}
.cu24-comments-wrap .comment-form input[type="submit"] {
    background: #2dbf80;
    color: #fff;
    border: none;
    padding: 7px 17px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: opacity 0.2s;
    display: block;
    margin: 0 auto;
}
.cu24-comments-wrap .comment-form input[type="submit"]:hover {
    opacity: 0.85;
}

/* 댓글 폼 부가 텍스트 */
.cu24-comments-wrap .logged-in-as,
.cu24-comments-wrap .comment-notes {
    font-size: 13px;
    color: #aaa;
    margin-bottom: 12px;
}
.cu24-comments-wrap .logged-in-as a,
.cu24-comments-wrap .comment-notes a {
    color: #aaa;
}
/* 댓글 라벨 */
.cu24-comments-wrap .comment-form label {
    font-size: 16px;
    color: #999;
    display: block;
    margin-bottom: 6px;
}

/* 댓글 아바타 */
.cu24-comments-wrap .comment-author img,
.cu24-comments-wrap .avatar {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50%;
    float: left;
    margin-right: 12px;
}

/* 댓글 아이템 레이아웃 */
.cu24-comment-item {
    display: flex;
    gap: 14px;
    align-items: flex-start;
}
.cu24-comment-avatar img {
    width: 44px !important;
    height: 44px !important;
    border-radius: 50%;
    flex-shrink: 0;
}
.cu24-comment-right {
    flex: 1;
}
.cu24-comment-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}
.cu24-comment-author {
    font-weight: 600;
    font-size: 14px;
    color: #1a1a2e;
}
.cu24-comment-author a {
    color: #1a1a2e;
    text-decoration: none;
}
.cu24-comment-date {
    font-size: 12px;
    color: #aaa;
}
.cu24-comment-text {
    font-size: 15px;
    color: #444;
    line-height: 1.7;
    padding-left: 20px;
    position: relative;
}
.cu24-comment-text::before {
    content: "ㄴ";
    position: absolute;
    left: 0;
    top: 0;
    color: #ccc;
    font-size: 14px;
}
.cu24-comment-reply {
    margin-top: 6px;
}
.cu24-comment-reply a {
    font-size: 12px;
    color: #2dbf80;
    text-decoration: none;
}

/* 답글 들여쓰기 */
.cu24-comments-wrap .comment.depth-2 {
    margin-left: 40px;
    border-left: 2px solid #2dbf80;
    padding-left: 16px;
    border-radius: 0 8px 8px 0;
}
.cu24-comments-wrap .comment.depth-3 {
    margin-left: 60px;
    border-left: 2px solid #2dbf80;
    padding-left: 16px;
    border-radius: 0 8px 8px 0;
}
/* 교대 배경색 */
.cu24-comments-wrap .comment.odd {
    background: #f0fdf8;
}
.cu24-comments-wrap .comment.even {
    background: #f5f5f5;
}

/* 관리자 댓글 삭제 버튼 */
.cu24-comment-delete {
    font-size: 11px;
    color: #666;
    text-decoration: none;
    margin-left: auto;
    padding: 2px 8px;
    border: 1px solid #999;
    border-radius: 4px;
    transition: all 0.2s;
}
.cu24-comment-delete:hover {
    background: #555;
    color: #fff;
    border-color: #555;
}

.post-list-title {
    font-size: 21px;
}
.post-list-excerpt {
    font-size: 15px;
    color: #000;
    line-height: 1.7;
    letter-spacing: -1.4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 300;
}

@media (max-width: 767px) {
    .top5-section { display: none; }
}

/* 라이트박스 */
#cu24-lightbox {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.88);
    z-index: 99999;
    align-items: center;
    justify-content: center;
    cursor: zoom-out;
}
#cu24-lightbox.open { display: flex; }
#cu24-lightbox img {
    max-width: 92vw;
    max-height: 92vh;
    object-fit: contain;
    border-radius: 6px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.6);
}
#cu24-lightbox-close {
    position: fixed;
    top: 18px;
    right: 24px;
    color: #fff;
    font-size: 36px;
    cursor: pointer;
    line-height: 1;
    opacity: 0.8;
}
#cu24-lightbox-close:hover { opacity: 1; }
.entry-content img { cursor: zoom-in; }

/* 카테고리별 배지 색상 (메뉴 색상과 통일) */
.single-category-tag.cat-317 { background: var(--cat-red); }
.single-category-tag.cat-318 { background: var(--cat-orange); }
.single-category-tag.cat-320 { background: var(--cat-purple); }
.single-category-tag.cat-321 { background: var(--cat-green); }
.single-category-tag.cat-454 { background: var(--cat-blue); }

/* 카테고리 페이지 section-title::before 색상 */
body.category-317 .section-title::before { background: var(--cat-red); }
body.category-318 .section-title::before { background: var(--cat-orange); }
body.category-320 .section-title::before { background: var(--cat-purple); }
body.category-321 .section-title::before { background: var(--cat-green); }
body.category-454 .section-title::before { background: var(--cat-blue); }

/* H2 섹션 제목 앞 사각형 블록 */
.cu24-section-title-red::before,
.entry-content .cu24-section-title-red::before { content:''; display:block; width:14px; height:14px; flex-shrink:0; background:#e53935; transform:rotate(45deg); box-shadow:0 0 0 5px rgba(229,57,53,.16), 0 3px 10px rgba(229,57,53,.30); }
.cu24-section-title-orange::before,
.entry-content .cu24-section-title-orange::before { content:''; display:block; width:14px; height:14px; flex-shrink:0; background:#ff9800; transform:rotate(45deg); box-shadow:0 0 0 5px rgba(255,152,0,.16), 0 3px 10px rgba(255,152,0,.30); }
.cu24-section-title-deeporange::before,
.entry-content .cu24-section-title-deeporange::before { content:''; display:block; width:14px; height:14px; flex-shrink:0; background:#ff5722; transform:rotate(45deg); box-shadow:0 0 0 5px rgba(255,87,34,.16), 0 3px 10px rgba(255,87,34,.30); }
.cu24-section-title-blue::before,
.entry-content .cu24-section-title-blue::before { content:''; display:block; width:14px; height:14px; flex-shrink:0; background:#2196f3; transform:rotate(45deg); box-shadow:0 0 0 5px rgba(33,150,243,.16), 0 3px 10px rgba(33,150,243,.30); }
.cu24-section-title-number::before,
.entry-content .cu24-section-title-number::before { content:''; display:block; width:14px; height:14px; flex-shrink:0; background:#2069E5; transform:rotate(45deg); box-shadow:0 0 0 5px rgba(32,105,229,.16), 0 3px 10px rgba(32,105,229,.30); }
.cu24-section-title-indigo::before,
.entry-content .cu24-section-title-indigo::before { content:''; display:block; width:14px; height:14px; flex-shrink:0; background:#3f51b5; transform:rotate(45deg); box-shadow:0 0 0 5px rgba(63,81,181,.16), 0 3px 10px rgba(63,81,181,.30); }
.cu24-section-title-purple::before,
.entry-content .cu24-section-title-purple::before { content:''; display:block; width:14px; height:14px; flex-shrink:0; background:#9c27b0; transform:rotate(45deg); box-shadow:0 0 0 5px rgba(156,39,176,.16), 0 3px 10px rgba(156,39,176,.30); }
.cu24-section-title-green::before,
.entry-content .cu24-section-title-green::before { content:''; display:block; width:14px; height:14px; flex-shrink:0; background:#2E7D32; transform:rotate(45deg); box-shadow:0 0 0 5px rgba(46,125,50,.16), 0 3px 10px rgba(46,125,50,.30); }
.cu24-section-title-bluegray::before,
.entry-content .cu24-section-title-bluegray::before { content:''; display:block; width:14px; height:14px; flex-shrink:0; background:#607d8b; transform:rotate(45deg); box-shadow:0 0 0 5px rgba(96,125,139,.16), 0 3px 10px rgba(96,125,139,.30); }

/* .cu24-section-title-bluegray::before,
.entry-content .cu24-section-title-bluegray::before { content:''; display:block; width:24px; height:5px; flex-shrink:0; background:#607d8b; } */

.entry-content img { border-radius: 32px !important; }
