/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* 전체 섹션 공통 스타일 */
.section1, .section2, .section3, .section4, .section5, .section6 {
  margin-bottom: 40px;
  padding: 20px;
  background-color: #f9f9f9;
  border-radius: 5px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

/* 이미지 스타일 */
.section1 img, .section2 img, .section3 img, .section4 img, .section5 img, .section6 img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-bottom: 20px;
  border-radius: 5px;
}

/* 제목 스타일 업그레이드 */
.chatgin-title {
  font-size: 24px;
  font-weight: bold;
  color: #333;
  margin-bottom: 20px;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
  background: linear-gradient(145deg, #ffffff, #f2f2f2);
  border: 1px solid #ddd;
  padding: 10px;
  border-radius: 5px;
}

/* 부제목 스타일 */
.chatgin-subtitle {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 10px;
  color: #000;
}

/* 문단 스타일 */
.section1 p, .section2 p, .section3 p, .section4 p, .section5 p, .section6 p {
  font-size: 15.5px; /* 시인성 강화를 위해 미세하게 폰트 키움 */
  line-height: 1.75;
  margin-bottom: 16px;
  color: #2c2c2c; /* 글자 명도 높여 가독성/SEO 향상 */
}

/* 강조 스타일 */
.section1 strong, .section2 strong, .section3 strong, .section4 strong, .section5 strong, .section6 strong {
  font-weight: bold;
  color: #333;
  background: linear-gradient(transparent 60%, #ffdd57 60%);
}

.section1 i, .section2 i, .section3 i, .section4 i, .section5 i, .section6 i {
  font-style: italic;
  color: #666;
}

.section1 u, .section2 u, .section3 u, .section4 u, .section5 u, .section6 u {
  text-decoration: underline;
  color: #444;
}

/* 기본 형광펜 밑줄 효과 */
.section1 u, .section1 b, .section1 span, .section2 u, .section2 b, .section2 span, .section3 u, .section3 b, .section3 span, .section4 u, .section4 b, .section4 span, .section5 u, .section5 b, .section5 span, .section6 u, .section6 b, .section6 span {
  text-decoration: none;
  display: inline;
  box-shadow: inset 0 -4px 0 #F5B7B1; /* 핑크색 (u), 밑줄 두께 조정 */
  color: #000;
}

.section1 b, .section2 b, .section3 b, .section4 b, .section5 b, .section6 b {
  box-shadow: inset 0 -4px 0 #AED6F1; /* 파스텔 하늘색 (b), 밑줄 두께 조정 */
}

.section1 span u, .section1 span b, .section2 span u, .section2 span b, .section3 span u, .section3 span b, .section4 span u, .section4 span b, .section5 span u, .section5 span b, .section6 span u, .section6 span b {
  box-shadow: inset 0 -4px 0 #FFDD57; /* 노란색, 밑줄 두께 조정 */
}

/* 목록 스타일 */
.section1 ul, .section2 ul, .section3 ul, .section4 ul, .section5 ul, .section6 ul {
  margin-bottom: 15px;
  padding-left: 20px;
}

.section1 li, .section2 li, .section3 li, .section4 li, .section5 li, .section6 li {
  font-size: 15px;
  line-height: 1.7;
  margin-bottom: 5px;
  color: #555;
}

/* 표 스타일 */
.chatgin-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 25px 0 !important;
  font-size: 14.5px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02) !important;
  border: 1px solid #e9ecef !important;
}

.chatgin-table th, .chatgin-table td {
  padding: 12px 16px !important;
  text-align: left !important;
  border-bottom: 1px solid #e9ecef !important;
}

.chatgin-table th {
  background-color: #3b2830 !important; /* 헤더의 시그니처 버건디 컬러 */
  font-weight: 700 !important;
  color: #ffffff !important;
}

.chatgin-table tr:last-child td {
  border-bottom: none !important;
}

.chatgin-table tr:hover {
  background-color: #fcf9f8 !important; /* 마우스 호버 시 은은한 피드백 */
}

/* 인용구 카드 스타일 */
blockquote {
  margin: 20px auto;
  padding: 20px;
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  max-width: 600px;
  border-left: 4px solid #4CAF50; /* 왼쪽 테두리에 초록색 추가 */
}

blockquote p {
  margin-bottom: 5px;
  font-style: italic; /* 기울임꼴 추가 */
  color: #555;
}

blockquote footer {
  font-size: 14px;
  color: #999;
  text-align: right; /* 오른쪽 정렬 */
}

/* 질문과 답변 카드 스타일 */
.faq-item, 
[class*="faq-item"], 
[class*="faq-card"],
[class*="chatgin-faq"],
.wp-block-group[style*="border-left"],
.wp-block-column[style*="border-left"],
div[style*="border-left"],
div:has(.chatgin-question):not(:has(div:has(.chatgin-question))) {
  background-color: #ffffff !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
  margin-bottom: 20px !important;
  padding: 20px !important;
}

.chatgin-question {
  font-weight: bold;
  color: #000;
  margin-bottom: 10px;
  background-color: #E8F5E9; /* 배경색 연한 초록색으로 변경 */
  padding: 10px;
  border-radius: 4px;
}

.chatgin-answer {
  font-size: 15px;
  color: #444;
  line-height: 1.6;
  text-shadow: 1px 1px 1px rgba(0,0,0,0.05);
}

/* ==========================================
   Header (헤더) 영역 디자인 개선
   ========================================== */
.site-header {
  background-color: #3b2830 !important; /* 세련되고 깊이감 있는 버건디 브라운 */
  border-bottom: 3px solid #ffd8a8 !important; /* 따뜻한 느낌의 포인트 라인 */
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08) !important;
  padding: 12px 0 !important;
  transition: all 0.3s ease;
}

/* 사이트 제목 (Site Title) */
.main-title a {
  font-family: 'Outfit', 'Noto Sans KR', sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 24px !important;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2) !important;
  transition: color 0.3s ease !important;
}

.main-title a:hover {
  color: #ffd8a8 !important; /* 호버 시 포인트 색상으로 변경 */
}

/* 네비게이션 메뉴 스타일 */
.main-navigation {
  background-color: transparent !important;
}

.main-navigation .main-nav ul li a {
  font-family: 'Noto Sans KR', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  color: #ffffff !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
  transition: all 0.3s ease !important;
}

/* 메뉴 호버 및 활성화 상태 */
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item a {
  background-color: rgba(255, 255, 255, 0.1) !important;
  color: #ffd8a8 !important;
}

/* ==========================================
   Sidebar Widgets (사이드바 위젯) 카드형 레이아웃
   ========================================== */
.sidebar .widget {
  background-color: #ffffff !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.03) !important;
  border: 1px solid rgba(0, 0, 0, 0.04) !important;
  padding: 24px 20px !important;
  margin-bottom: 24px !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.sidebar .widget:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06) !important;
}

/* 위젯 타이틀 */
.sidebar .widget .widget-title {
  font-family: 'Noto Sans KR', sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  border-bottom: 2px solid #f1f3f5 !important;
  padding-bottom: 10px !important;
  margin-bottom: 18px !important;
  position: relative !important;
  letter-spacing: -0.3px !important;
}

/* 위젯 타이틀 하단 포인트 라인 */
.sidebar .widget .widget-title::before {
  content: '' !important;
  position: absolute !important;
  bottom: -2px !important;
  left: 0 !important;
  width: 35px !important;
  height: 2px !important;
  background-color: #3b2830 !important; /* 헤더 톤과 일치시켜 통일감 부여 */
}

/* 위젯 리스트 아이템 */
.sidebar .widget ul {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}

.sidebar .widget ul li {
  padding: 10px 0 !important;
  border-bottom: 1px solid #f8f9fa !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  transition: all 0.2s ease !important;
}

.sidebar .widget ul li:last-child {
  border-bottom: none !important;
}

/* 위젯 링크 텍스트 */
.sidebar .widget ul li a {
  color: #495057 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  display: block !important;
}

/* 리스트 아이템 호버 효과 (독자 시선 유도 및 클릭 유도) */
.sidebar .widget ul li:hover {
  padding-left: 6px !important; /* 살짝 우측으로 이동하여 피드백 제공 */
}

.sidebar .widget ul li:hover a {
  color: #3b2830 !important; /* 헤더 톤으로 링크 강조 */
  font-weight: 600 !important;
}

/* 위젯 내 텍스트 및 메타 데이터 (날짜 등) */
.sidebar .widget .post-date,
.sidebar .widget ul li span {
  display: block !important;
  font-size: 12px !important;
  color: #868e96 !important;
  margin-top: 4px !important;
}

/* ==========================================
   Search Widget (검색창 위젯) 최적화
   ========================================== */
.widget_search .search-form {
  display: flex !important;
  align-items: stretch !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 1.5px solid #e9ecef !important;
  background-color: #ffffff !important;
  transition: border-color 0.3s ease, box-shadow 0.3s ease !important;
}

.widget_search .search-form:focus-within {
  border-color: #3b2830 !important;
  box-shadow: 0 0 0 3px rgba(59, 40, 48, 0.1) !important;
}

.widget_search .search-form label {
  flex-grow: 1 !important;
  margin: 0 !important;
  display: flex !important;
}

.widget_search .search-field {
  width: 100% !important;
  border: none !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  color: #495057 !important;
  outline: none !important;
  background-color: transparent !important;
  margin: 0 !important;
}

.widget_search .search-submit {
  background-color: #ffd8a8 !important; /* 헤더 포인트 컬러 */
  color: #3b2830 !important;
  border: none !important;
  padding: 0 18px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
  margin: 0 !important;
}

.widget_search .search-submit:hover {
  background-color: #3b2830 !important;
  color: #ffffff !important;
}

/* ==========================================
   Footer (푸터) 영역 디자인 개선
   ========================================== */
.site-footer {
  background-color: #212529 !important; /* 깊고 신뢰감을 주는 다크 브라운/차콜 */
  color: #999999 !important;
  padding: 30px 0 !important;
  border-top: 4px solid #3b2830 !important; /* 상단 헤더와의 통일감 레이어 */
  font-family: 'Noto Sans KR', sans-serif !important;
  font-size: 13px !important;
  line-height: 1.8 !important;
  text-align: center !important;
}

.site-footer a {
  color: #ffd8a8 !important; /* 푸터 내 링크는 밝은 포인트 컬러 */
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

.site-footer a:hover {
  color: #ffffff !important;
  text-decoration: underline !important;
}

.site-info {
  text-align: center !important;
  padding: 0 !important;
}

/* ==========================================
   Headings (본문 제목 H1, H2, H3) 시각적 구분 및 계층화
   ========================================== */
/* H1: 포스트 제목 */
h1.entry-title {
  font-family: 'Outfit', 'Noto Sans KR', sans-serif !important;
  font-size: 30px !important;
  font-weight: 800 !important;
  color: #1a1a1a !important;
  line-height: 1.35 !important;
  margin-bottom: 24px !important;
  letter-spacing: -0.8px !important;
}

/* H2: 주요 소제목 (디자인적 액센트 부여) */
.entry-content h2 {
  font-family: 'Noto Sans KR', sans-serif !important;
  font-size: 21px !important;
  font-weight: 700 !important;
  color: #3b2830 !important; /* 헤더 톤 매칭 */
  border-left: 5px solid #ffd8a8 !important; /* 왼쪽 살구색 포인트 라인 */
  padding-left: 14px !important;
  margin-top: 45px !important;
  margin-bottom: 20px !important;
  line-height: 1.4 !important;
  letter-spacing: -0.5px !important;
  display: block !important;
  clear: both !important;
}

/* H3: 세부 소제목 */
.entry-content h3 {
  font-family: 'Noto Sans KR', sans-serif !important;
  font-size: 17.5px !important;
  font-weight: 700 !important;
  color: #495057 !important;
  margin-top: 35px !important;
  margin-bottom: 16px !important;
  line-height: 1.4 !important;
  letter-spacing: -0.4px !important;
  border-bottom: 1px solid #e9ecef !important;
  padding-bottom: 8px !important;
}

/* ==========================================
   Breadcrumbs & TOC (브레드크럼 및 목차) 스타일
   ========================================== */
/* 브레드크럼 (SEO 경로 탐색) */
.breadcrumbs, .breadcrumb, .nova-seo-breadcrumb, #breadcrumbs {
  font-size: 13.5px !important;
  color: #868e96 !important;
  margin-top: 10px !important;
  margin-bottom: 25px !important;
  font-family: 'Noto Sans KR', sans-serif !important;
}

.breadcrumbs a, .breadcrumb a, .nova-seo-breadcrumb a, #breadcrumbs a {
  color: #495057 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}

.breadcrumbs a:hover, .breadcrumb a:hover, .nova-seo-breadcrumb a:hover, #breadcrumbs a:hover {
  color: #3b2830 !important;
  text-decoration: underline !important;
}

/* 목차 (Table of Contents) */
.toc_container, #toc_container, .ez-toc-v2, .wp-block-table-of-contents {
  background-color: #fafbfc !important;
  border: 1.5px solid #f1f3f5 !important;
  border-radius: 10px !important;
  padding: 18px 22px !important;
  margin-top: 25px !important;
  margin-bottom: 35px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.01) !important;
}