/*
Theme Name: GeneratePress Child
Theme URI: https://generatepress.com
Template: generatepress
Author: Tom Usborne
Author URI: https://generatepress.com/about
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
Tags: two-columns,three-columns,one-column,right-sidebar,left-sidebar,footer-widgets,blog,e-commerce,flexible-header,full-width-template,buddypress,custom-header,custom-background,custom-menu,custom-colors,sticky-post,threaded-comments,translation-ready,rtl-language-support,featured-images,theme-options
Version: 3.6.0.1780167266
Updated: 2026-05-31 03:54:26

*/

/* =============================================
   뉴스 홈 레이아웃
   ============================================= */

#news-home-wrap {
  max-width: 1100px;
  margin: 24px auto;
  padding: 0 16px;
}

/* 공통 */
.nh-date { font-size: .95rem; color: #999; font-weight: 600; }
.nh-cat a {
  font-size: .92rem; font-weight: 800;
  color: #c00; text-decoration: none;
  text-transform: uppercase; letter-spacing: .03em;
}
.nh-divider { border: none; border-top: 2px solid #e0e0e0; margin: 32px 0; }

/* 히어로 */
.nh-hero {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 20px;
  margin-bottom: 8px;
}
.nh-hero__main { position: relative; }
.nh-hero__img {
  width: 100%; height: 450px;
  object-fit: cover; display: block; border-radius: 4px;
}
.nh-hero__body { padding: 14px 4px 0; }
.nh-hero__title { font-size: 1.6rem; font-weight: 700; line-height: 1.4; margin: 6px 0 8px; }
.nh-hero__title a { color: #111; text-decoration: none; }
.nh-hero__title a:hover { color: #c00; }
.nh-hero__excerpt { font-size: 1.08rem; font-weight: 700; color: #555; line-height: 1.6; margin: 0 0 8px; }
.nh-hero__side { display: flex; flex-direction: column; gap: 14px; }
.nh-hero__side-item {
  display: grid; grid-template-columns: 120px 1fr;
  gap: 10px; padding-bottom: 14px; border-bottom: 1px solid #eee;
}
.nh-hero__side-item:last-child { border-bottom: none; }
.nh-side__img {
  width: 120px;
  height: 90px;
  object-fit: cover;
  object-position: center center;
  border-radius: 3px;
  display: block;
}
.nh-side__title { font-size: 1.08rem; font-weight: 700; line-height: 1.4; margin: 4px 0 6px; }
.nh-side__title a { color: #111; text-decoration: none; }
.nh-side__title a:hover { color: #c00; }

/* 섹션 */
.nh-section__header {
  display: flex; align-items: center;
  justify-content: space-between;
  border-bottom: 3px solid #111;
  padding-bottom: 8px; margin-bottom: 18px;
}
.nh-section__title { font-size: 1.35rem; font-weight: 800; margin: 0; }
.nh-section__more { font-size: 1.0rem; font-weight: 700; color: #888; text-decoration: none; }
.nh-section__more:hover { color: #c00; }

/* 카드 그리드 */
.nh-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.nh-card { background: #fff; }
.nh-card__thumb { display: block; overflow: hidden; border-radius: 3px; }
.nh-card__img { width: 100%; height: 170px; object-fit: cover; display: block; transition: transform .3s ease; }
.nh-card__thumb:hover .nh-card__img { transform: scale(1.04); }
.nh-card__body { padding: 10px 2px 0; }
.nh-card__title { font-size: 1.12rem; font-weight: 700; line-height: 1.45; margin: 0 0 6px; }
.nh-card__title a { color: #111; text-decoration: none; }
.nh-card__title a:hover { color: #c00; }

/* =============================================
   카테고리 페이지
   ============================================= */

.category .site-main {
  max-width: 1100px; margin: 0 auto; padding: 20px 16px;
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 16px; align-items: start;
}
.category .page-header {
  grid-column: 1 / -1;
  border-bottom: 3px solid #111; padding-bottom: 10px; margin-bottom: 24px;
}
/* ✅ 수정: .category 제거 → 로그인/로그아웃/카테고리 페이지 제목 크기 통일 */
.page-header .page-title { font-size: 1.6rem; font-weight: 800; margin: 0; }
.category .posts-navigation,
.category .pagination { grid-column: 1 / -1; text-align: center; padding: 20px 0; }
.category article {
  background: #fff;
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0 !important;
  display: flex;
  flex-direction: column;
}
.category article .post-image {
  order: -1;
}
.category article .post-image img,
.category article .wp-post-image {
  width: 100%; height: 220px; object-fit: cover; display: block; transition: opacity 0.2s ease;
}
.category article:hover .post-image img,
.category article:hover .wp-post-image { opacity: 0.88; }
.category article .entry-title {
  font-size: 1.2rem !important;
  font-weight: 700;
  line-height: 1.45;
  margin: 12px 0 8px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.category article .entry-title a { color: #111; text-decoration: none; }
.category article .entry-title a:hover { color: #c00; }
.category article .entry-meta { font-size: 0.78rem; color: #999; margin-bottom: 8px; }
.category article .entry-summary,
.category article .entry-content { display: none; }
.category article .more-link { display: none; }
.category article .cat-links,
.category article .tags-links,
.category article .entry-footer { display: none; }
.category article .inside-article {
  padding: 0 !important;
  margin: 0 !important;
}

/* =============================================
   반응형
   ============================================= */

@media (max-width: 768px) {
  .nh-hero { grid-template-columns: 1fr; }
  .nh-hero__img { height: 220px; }
  .nh-grid { grid-template-columns: repeat(2, 1fr); }
  .category .site-main { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
  .nh-grid { grid-template-columns: 1fr; }
  .nh-hero__side-item { grid-template-columns: 75px 1fr; }
  .category .site-main { grid-template-columns: 1fr; }
}

.taxonomy-description { display: none; }

.nh-hero__side-body .nh-cat,
.nh-hero__side-body .nh-date { display: none; }

/* 페이지네이션 그리드 아래로 */

#main > .nav-links {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  width: 100%;
  margin: 30px 0;
}

#main > .nav-links a.page-numbers,
#main > .nav-links span.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #ddd;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  background: white;
  transition: all 0.2s;
}

#main > .nav-links span.page-numbers.current {
  background: #3b82f6;
  color: white;
  border-color: #3b82f6;
  font-weight: bold;
}

#main > .nav-links a.page-numbers:hover {
  background: #f0f0f0;
  border-color: #bbb;
}

#main > .nav-links a.next,
#main > .nav-links a.prev {
  width: auto;
  padding: 0 14px;
  border-radius: 20px;
}


/* 페이지네이션 그리드 끝 */


.main-navigation a {
  font-weight: 700;
}

.single .wp-post-image {
    max-height: 400px;
    width: 100%;
    object-fit: contain;
}