/*
Theme Name: generatepress-cafe24
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://tomusborne.com
Description: GeneratePress is a lightweight WordPress theme built with a focus on speed and usability. Performance is important to us, which is why a fresh GeneratePress install adds less than 10kb (gzipped) to your page size. We take full advantage of the block editor (Gutenberg), which gives you more control over creating your content. If you use page builders, GeneratePress is the right theme for you. It is completely compatible with all major page builders, including Beaver Builder and Elementor. Thanks to our emphasis on WordPress coding standards, we can boast full compatibility with all well-coded plugins, including WooCommerce. GeneratePress is fully responsive, uses valid HTML/CSS, and is translated into over 25 languages by our amazing community of users. A few of our many features include 60+ color controls, powerful dynamic typography, 5 navigation locations, 5 sidebar layouts, dropdown menus (click or hover), and 9 widget areas. Learn more and check out our powerful premium version at https://generatepress.com
*/

/* ==========================================================================
   사이드바 최신 뉴스 위젯 커스텀 스타일
   ========================================================================== */

/* 1. 사이드바 위젯 타이틀 스타일 (최신 뉴스) */
.sidebar .widget .widget-title,
.sidebar .widget h2 {
	font-size: 20px !important;
	color: #111111 !important;
	font-weight: 800 !important;
	padding-bottom: 12px !important;
	margin-bottom: 18px !important;
	border-bottom: 2px solid #000000 !important; /* 타이틀 밑 굵은 검은색 선 */
}

/* 2. 최신 글 목록 레이아웃 정리 */
.sidebar .wp-block-latest-posts {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* 3. 각 뉴스 항목 배치 및 구분선 */
.sidebar .wp-block-latest-posts li {
	display: flex !important;
	align-items: flex-start; /* 이미지와 텍스트 세로 중앙 정렬 */
	gap: 0 !important; /* 이미지와 텍스트 사이 간격 */
	padding: 15px 0 !important;
	margin: 0 !important;
	border-bottom: 1px solid #ededed !important; /* 항목 간 얇은 회색 구분선 */
}

/* 마지막 항목은 구분선 제거 */
.sidebar .wp-block-latest-posts li:last-child {
	border-bottom: none !important;
}

/* 4. 썸네일 이미지 스타일 (둥근 모서리) */
.sidebar .wp-block-latest-posts li a img,
.sidebar .wp-block-latest-posts .wp-block-latest-posts__featured-image img {
	width: 90px !important;  /* 이미지 가로 크기 지정 */
	height: 60px !important; /* 이미지 세로 크기 지정 */
	object-fit: cover !important;
	margin: 0 !important;
}

/* 5. 뉴스 제목 텍스트 스타일 (에스코어 드림 800 적용) */
.sidebar .wp-block-latest-posts li a:not(img) {
	font-family: 'S-CoreDream-8Heavy', sans-serif !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.4 !important;
	color: #1a1a1a !important;
	text-decoration: none !important;
	display: -webkit-box;
	-webkit-line-clamp: 2; /* 두 줄 초과 시 말줄임표(...) 표시 */
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.sidebar .wp-block-latest-posts li a:not(img):hover {
	color: #2b8f44 !important; /* 마우스 올렸을 때 초록색 포인트 효과 */
}

.widget-area .widget{padding:0 10px;}

.inside-header{border-bottom:1px solid #ddd;padding:10px 0px;}

.separate-containers .comments-area, .separate-containers .inside-article, .separate-containers .page-header, .separate-containers .paging-navigation{padding:20px 0;}

* {
	font-family: 'Noto Sans KR', sans-serif;
}

a {
	text-decoration: none;
}

.separate-containers .inside-article>.featured-image {
	text-align: center;
}

blockquote {
	border-left: 4px solid rgb(217, 48, 37);
	background: #fce8e6;
	border-radius: 0px 8px 8px 0;
	color: #3c4043;
	font-size: 16px;
	font-style: normal;
}

blockquote p {
	margin: 0 0 10px 0 !important;
}

blockquote ul {
	background: none !important;
	padding: 10px 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

blockquote ul li {
	padding: 2px 0 !important;
}

blockquote ol {
	background: none !important;
	padding: 10px 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

blockquote ol li {
	padding: 2px 0 !important;
}

.wp-block-table {
	font-size: 16px;
}

.wp-block-table table thead td {
	background: #e8f4fd;
	color: #000;
	border: 1px solid #4a5157;
}

p {
	margin: 1em 0;
}

/* --- 글 보기 페이지 제목 (h1.entry-title) 스타일 변경 --- */
h1.entry-title {
	font-size: 28px !important;
	padding: 10px 0 15px 0 !important;
	border-bottom: none !important; /* 기존 제목 밑에 들어가던 굵은 회색선 제거 */
	font-weight: 800 !important;
	line-height: 1.4 !important;
	color: #111111 !important;
}

h2.entry-title {
	font-size: 22px;
	padding: 10px 0 0 0;
	font-weight: bold;
}

h2.wp-block-heading {
	font-size: 26px;
	font-weight: bold;
	padding: 10px 0;
	color: #000;
	font-weight: 700;
	border-bottom: 2px solid #ffc107;
	margin-top: 20px;
}

h3.wp-block-heading {
	font-size: 18px;
	font-weight: bold;
	background: #eee;
	border-left: 15px solid #4a5157;
	padding: 10px 10px;
	margin-top: 20px;
}

h4.wp-block-heading {
	font-size: 16px;
	font-weight: bold;
}

.entry-content ul.wp-block-list {
	background: #f8f9fa;
	list-style: none;
	margin: 0;
	border-radius: 8px;
	border: 1px solid rgb(218, 220, 224);
	box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
	padding: 20px;
	margin-bottom: 20px;
	font-size: 16px;
}

.entry-content ul.wp-block-list li {
	padding: 5px;
}

.entry-content ul.wp-block-list li strong {
	color: #d93025;
}

.entry-content ul.wp-block-list li:before {
	content: '-';
	padding: 0 10px 0 0;
	font-weight: bold;
}

.entry-content ul.wp-block-list li ul {
	border: 0 !important;
	box-shadow: none !important;
	margin-bottom: 0 !important;
	padding: 5px 20px !important;
}

.entry-content ol.wp-block-list {
	background: #f8f9fa;
	list-style: none;
	margin: 0;
	border-radius: 8px;
	border: 1px solid rgb(218, 220, 224);
	box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
	padding: 20px;
	margin-bottom: 20px;
	font-size: 16px;
}

.entry-content ol.wp-block-list li {
	padding: 5px;
}

.entry-content ol.wp-block-list li strong {
	color: #d93025;
}

.entry-content ol.wp-block-list li:before {
	content: '●';
	padding: 0 10px 0 0;
	font-weight: bold;
}

.entry-content ol.wp-block-list li ul {
	border: 0 !important;
	box-shadow: none !important;
	margin-bottom: 0 !important;
	padding: 5px 20px !important;
}

/* 테마 기본 메타 데이터 비활성화 (새 커스텀 메타가 작동하게 함) */
.entry-meta {
	display: none !important;
}

.entry-content p strong {
	display: inline;
	box-shadow: inset 0 -10px 0 #D9FCDB;
}

.entry-content:not(:first-child),
.entry-summary:not(:first-child),
.page-content:not(:first-child) {
	margin-top: 10px;
}

.inside-article .post-image {
	margin: 0 auto 10px;
}

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.one-container .container,
.separate-containers .paging-navigation,
.inside-page-header {
	border-radius: 16px;
}

.sidebar .widget {
	border-radius: 16px;
}

/*메인 리스트*/
body.archive .inside-article,
body.home .inside-article {
	width: 100%;
	display: grid;
	grid-template-columns: 200px 1fr;
	grid-template-rows: auto auto;
	gap: 20px 40px;
	padding: 20px 0;
}

body.home .inside-article .entry-header {
	grid-column: 1 / -1;
}

body.home .inside-article .post-image {
	grid-column: 1;
	margin-top: 0;
}

body.home .inside-article .entry-summary {
	grid-column: 2;
	margin-top: 0;
}

/*버튼*/
.wp-block-button a {
	padding: 18px 45px !important;
	margin: 0 0 10px 0;
	border-radius: 40px;
	background: #007bff !important;
	color: #fff;
	font-weight: bold;
	text-align: center;
	border: 3px solid #2a4f77;
	text-decoration-line: none;
}

/* 1. 이미지가 없는 포스트 내부의 그리드/정렬 구조를 리셋 */
.no-featured-image .inside-article {
	display: block !important;
}

/* 2. 이미지가 없는 포스트의 텍스트 영역 마진(여백)을 제거 */
.no-featured-image .entry-summary,
.no-featured-image .entry-content,
.no-featured-image .entry-header {
	margin-left: 0 !important;
	width: 100% !important;
}


/* ==========================================================================
   새로운 상세페이지 레이아웃 커스텀 스타일 (추가 및 수정한 부분)
   ========================================================================== */

/* 1. 브레드크럼(Home » 뉴스) 영역 정밀 제어 */
.custom-breadcrumbs {
	font-size: 14px;
	color: #888888;
	font-weight: normal;
}
.custom-breadcrumbs a {
	color: #555555;
}
.custom-breadcrumbs a:hover {
	text-decoration: underline;
}

/* 2. 메타 정보 영역 정렬 및 하단 얇은 회색 구분선 */
.custom-entry-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	font-size: 14px;
	color: #666666;
	padding-bottom: 18px; /* 아래 회색선과의 여백 */
	margin-bottom: 25px; /* 선 아래 영역과의 여백 */
	border-bottom: 1px solid #ededed; /* 첨부 이미지 2의 얇은 회색선 */
}

/* 3. 카테고리 태그 - 초록색 배경의 라운드 상자로 수정 (검은 테두리 제거) */
.custom-entry-meta .meta-cat a {
	background-color: #2b8f44 !important; /* 초록색 배경 */
	color: #ffffff !important;           /* 흰색 글씨 */
	padding: 3px 8px !important;         /* 상자 여백 */
	border-radius: 3px !important;       /* 모서리 라운딩 */
	border: none !important;             /* 기존 검은색 테두리 강제 제거 */
	font-weight: bold !important;
	font-size: 12px !important;
	text-decoration: none !important;
	display: inline-block;
}

.custom-entry-meta .meta-date,
.custom-entry-meta .meta-author {
	color: #666666;
	font-size: 15px;
	font-weight:bold;
}

.wp-block-buttons>.wp-block-button {
	width: 100%;
}

/* ==========================================================================
   모바일 반응형 스타일
   ========================================================================== */
@media (max-width: 768px) {
	.separate-containers .inside-article,
	.separate-containers .comments-area,
	.separate-containers .page-header,
	.separate-containers .paging-navigation,
	.one-container .site-content,
	.inside-page-header {
		width: 98%;
		margin: 0 auto;
	}

	.widget-area .widget {
		width: 98%;
		margin: 0 auto;
	}

	/*메인 리스트*/
	body.archive .inside-article,
	body.home .inside-article {
		width: 98%;
		display: grid;
		grid-template-columns: 100%;
		grid-template-rows: auto auto;
		gap: 20px 40px;
		padding: 20px;
	}

	body.home .inside-article .entry-header {
		grid-column: 1 / -1;
	}

	body.home .inside-article .post-image {
		grid-column: 1;
		margin-top: 0;
	}

	body.home .inside-article .entry-summary {
		grid-column: 1;
		margin-top: 0;
	}

	.separate-containers .inside-article,
	.separate-containers .comments-area,
	.separate-containers .page-header,
	.separate-containers .paging-navigation,
	.one-container .site-content,
	.inside-page-header {
		padding: 30px 10px;
	}

	/*버튼*/
	
	.wp-block-button a {
		margin: 10px 0;
	}
	
	/* 모바일 화면에서 메타 영역 간격 조정 */
	.custom-entry-meta {
		gap: 8px;
		font-size: 13px;
	}

	.inside-header{padding:10px 20px;}
}