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

/* 기본 */
body {
  background: #ffffff;
  color: #4f5f6f;
  font-family: "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;
  font-size: 17px;
  line-height: 1.9;
  font-weight: 500;
}

a {
  color: #5f86a6;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* 상단 헤더 */
.site-header {
  background: #9BC7C2;
  color: #ffffff;
}

.site-header .inside-header {
  max-width: 1100px;
  margin: 0 auto;
  padding-top: 45px;
  padding-bottom: 35px;
  text-align: center;
}

.site-branding {
  margin: 0 auto;
  padding: 0;
  text-align: center;
}

.main-title {
  text-align: center !important;
  font-size: 42px;
  font-weight: 800;
  margin: 0;
  letter-spacing: 0.04em;
}

.main-title a,
.site-description {
  color: #ffffff !important;
}

.site-description {
  margin-top: 22px;
  font-size: 14px;
  opacity: 0.95;
}

/* 메뉴 */
.main-navigation {
  background: #9BC7C2;
}

.main-navigation .inside-navigation {
  justify-content: center;
}

.main-navigation .main-nav ul li a {
  color: #ffffff;
  font-weight: 700;
  font-size: 15px;
  padding: 18px 22px;
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li.current-menu-item > a {
  background: transparent;
  color: #ffffff;
  text-decoration: underline;
}

/* 전체 폭 (데스크톱) */
@media (min-width: 1025px) {
  .container.grid-container {
    max-width: 1180px !important;
    margin: 42px auto 0;
    padding: 0 20px;
  }

  .site-content {
    display: grid;
    grid-template-columns: 760px 300px;
    column-gap: 60px;
    align-items: start;
  }

  #primary,
  #right-sidebar {
    width: 100% !important;
  }

  .inside-article {
    padding: 0 !important;
  }
}

/* 글 목록 및 본문 공통 */
.generate-columns-container,
.site-main {
  margin: 0;
}

/* 마지막 디자인 유지를 위해 flex 및 gap 추가 */
.post {
  display: flex;
  gap: 24px;
  margin-bottom: 34px;
}

.post .inside-article {
  flex: 1;
}

.page {
  margin-bottom: 34px;
}

/* 마지막 디자인 기준: 타이틀 크기 30px, line-height 1.4로 통합 */
.entry-title,
.entry-title a {
  font-size: 30px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
  color: #3f5568 !important;
  margin-bottom: 10px;
}

.entry-header,
.entry-summary {
  width: 100%;
}

/* 마지막 디자인 기준: 요약글 line-height 1.8로 통합 */
.entry-summary {
  font-size: 17px !important;
  color: #4f5f6f !important;
  line-height: 1.8 !important;
  font-weight: 500 !important;
}

.entry-content {
  font-size: 17px !important;
  color: #4f5f6f !important;
  line-height: 1.9 !important;
  font-weight: 500 !important;
}

.entry-content p {
  font-size: 17px !important;
  line-height: 1.9 !important;
  color: #4f5f6f !important;
  font-weight: 500 !important;
  margin-bottom: 1.55em;
}

.entry-meta,
.entry-meta a {
  color: #8a98a6 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-align: right;
}

/* 썸네일 */
.post-image img,
.wp-post-image {
  width: 165px;
  height: 105px;
  object-fit: cover;
  border-radius: 0;
}

/* 카테고리/제목 느낌 */
.page-title,
.archive-title {
  color: #4f6f8f;
  font-size: 24px;
  font-weight: 800;
  margin-bottom: 30px;
}

/* 사이드바 */
.sidebar,
.sidebar .widget {
  font-size: 15px !important;
  color: #4f5f6f !important;
  line-height: 1.8 !important;
  font-weight: 500 !important;
}

.sidebar .widget {
  margin-bottom: 38px;
}

.sidebar .widget-title {
  background: #8cc7c0;
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  padding: 11px 15px;
  margin-bottom: 22px;
}

/* 검색 */
.widget_search form,
.wp-block-search {
  display: block !important;
}

.widget_search label,
.wp-block-search__label {
  display: block !important;
  width: 100% !important;
  margin-bottom: 6px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #4f5f6f !important;
  line-height: 1.4 !important;
}

.widget_search .search-form,
.wp-block-search__inside-wrapper {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.widget_search input[type="search"],
.wp-block-search__input {
  width: 180px !important;
  height: 38px !important;
  padding: 6px 10px !important;
  font-size: 14px !important;
  border: 1px solid #d8d8d8 !important;
  box-sizing: border-box !important;
}

.widget_search button,
.wp-block-search__button {
  height: 38px !important;
  padding: 0 16px !important;
  font-size: 14px !important;
  background: #30363b !important;
  color: #ffffff !important;
  border: none !important;
  white-space: nowrap !important;
}

/* 본문 헤딩 (우선순위 적용) */
.entry-content h2 {
  margin-top: 2.4em;
  margin-bottom: 1.1em;
  padding: 14px 18px;
  background: #8cc7c0;
  color: #ffffff !important;
  font-size: 24px !important;
  line-height: 1.45 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}

.entry-content h3 {
  margin-top: 2.1em;
  margin-bottom: 0.9em;
  padding-left: 14px;
  border-left: 5px solid #8cc7c0;
  color: #3f5568 !important;
  font-size: 21px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}

.entry-content h4 {
  margin-top: 1.8em;
  margin-bottom: 0.7em;
  padding-bottom: 7px;
  border-bottom: 2px solid #d7e9e7;
  color: #3f5568 !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  font-weight: 800 !important;
}

/* 기본 헤딩 */
h1, h2, h3, h4 {
  line-height: 1.5;
  color: #3f5568;
  font-weight: 800;
}
h1 { font-size: 30px; }
h2 { font-size: 24px; }
h3 { font-size: 21px; }
h4 { font-size: 18px; }

/* 코드 */
code {
  font-family: "Courier New", monospace;
  background-color: #f4f4f4;
  padding: 2px 4px;
  font-size: 14px;
  color: #c7254e;
  border-radius: 4px;
}

/* 관련글 */
.related-posts {
  border: 2px solid #e9e9e9;
  border-radius: 20px;
  padding: 20px;
}

/* 댓글 영역 숨김 */
#comments,
.comments-area,
.comment-respond,
#respond {
  display: none !important;
}

/* 모바일 */
@media (max-width: 768px) {
  .site-header .inside-header {
    padding: 34px 16px 24px;
  }

  .main-title {
    font-size: 20px;
  }

  .site-content {
    display: block;
  }

  .container.grid-container {
    margin-top: 28px;
    padding: 0 18px;
  }

  .post-image img,
  .wp-post-image {
    width: 100%;
    height: auto;
  }

  .entry-meta {
    text-align: left;
  }

  .custom-post-box {
    flex-direction: column !important;
    align-items: center !important;
  }

  .custom-post-box .custom-thumb img {
    width: 100%;
    height: auto;
    display: block;
  }

  .custom-post-box .custom-summary {
    width: 100%;
    margin-top: 10px;
  }

  .entry-content h2 {
    font-size: 21px !important;
    padding: 12px 14px;
  }

  .entry-content h3 {
    font-size: 19px !important;
  }

  .entry-content h4 {
    font-size: 17px !important;
  }
}



/****************/

/* 글 목록 썸네일 줄이고 글 영역 넓히기 */
.custom-post-item {
  display: flex;
  gap: 22px;
  align-items: flex-start;
  margin-bottom: 36px;
}

.custom-post-thumbnail {
  flex: 0 0 235px;
}

.custom-post-thumbnail img {
  width: 235px !important;
  height: 135px !important;
  object-fit: cover;
}

.custom-post-content {
  flex: 1;
  max-width: none;
}

.custom-post-title {
  font-size: 22px !important;
  line-height: 1.45;
  margin-bottom: 10px;
}

.custom-post-excerpt {
  font-size: 16px !important;
  line-height: 1.8;
}