/*
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.1.1775293208
Updated: 2026-04-04 18:00:08

*/

/* =========================================
   ckarch.kr — Custom CSS
   ========================================= */

/* --- 기본 타이포그래피 --- */
body {
  font-size: clamp(16px, 2.5vw, 17px);
}

/* --- 헤딩 --- */
h1,
h2 {
  font-size: clamp(24px, 4vw, 35px);
  font-weight: 700;
}

h3 {
  font-size: clamp(20px, 3vw, 26px);
  font-weight: 700;
  color: #1a3a5c;
  background-color: #f5f5f5;
}

h4 {
  font-size: clamp(18px, 2.5vw, 22px);
  font-weight: 700;
  color: #1a3a5c;
}

h5 {
  font-size: clamp(17px, 2vw, 20px);
}

h6 {
  font-size: 18px;
  font-weight: 700;
}

/* ===== Layout spacing ===== */
.separate-containers .inside-article {
    padding: 25px !important;
}

.sidebar .widget {
    padding: 25px !important;
    margin-bottom: 10px !important;
}

.separate-containers .site-main {
    margin: 10px;
}

#right-sidebar > div {
    margin-top: 10px;
}

.site-main > .hentry {
    margin-bottom: 10px !important;
}

.separate-containers .inside-article {
    margin-bottom: 10px !important;
}

.separate-containers .comments-area {
    padding: 25px !important;
}

/* --- 사이트 타이틀 --- */
.main-title {
  font-size: 35px;
}

/* --- 리스트 --- */
.wp-block-list {
  margin-left: 2em !important;
  padding-left: 0 !important;
  list-style-type: square !important;
}

.wp-block-list .wp-block-list {
  margin-left: 1em !important;
  padding-left: 0 !important;
}

/* --- 이미지 --- */
.wp-block-image {
  margin-bottom: 1.5em !important;
}

.entry-content .ck-img-border img {
  border: 1px solid black;
}

.ck-img-center {
  display: block;
  width: 100%;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  height: auto;
}

/* --- 구분선 --- */
hr.wp-block-separator.has-alpha-channel-opacity {
  border-color: #ccc !important;
  background-color: #ccc !important;
  color: #ddd !important;
  border-width: 1px !important;
  height: 1px !important;
}

/* --- 최근 글 위젯 --- */
.wp-block-latest-posts__post-title {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* --- 태그/카테고리 --- */
.cat-links,
.tags-links {
  margin-bottom: 1em;
}

/* --- 코드 --- */
code,
pre,
kbd {
  font-family: 'JetBrains Mono', monospace;
  font-size: 0.9em;
  background-color: #f5f5f5;
  padding: 0.2em 0.4em;
  border-radius: 3px;
}

pre {
  padding: 1em;
  overflow-x: auto;
}

/* --- 갤러리 --- */
.wp-block-gallery {
  max-width: 90% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.wp-block-gallery.has-nested-images figure.wp-block-image {
  height: auto !important;
}

.wp-block-gallery.has-nested-images figure.wp-block-image::before {
  display: none !important;
}

.wp-block-gallery.has-nested-images figure.wp-block-image::after {
  display: none !important;
}

.wp-block-gallery.has-nested-images figure.wp-block-image figcaption.wp-element-caption {
  position: relative !important;
  bottom: auto !important;
  left: auto !important;
  right: auto !important;
  width: auto !important;
  background: none !important;
  background-image: none !important;
  color: #000000 !important;
  padding: 0.5em 0 0 0 !important;
}

.wp-block-gallery.has-nested-images.is-layout-flex {
  align-items: flex-end !important;
}

/* --- 인용 --- */
.wp-block-quote p {
  font-size: clamp(17px, 2.5vw, 18px) !important;
}

/* --- 썸네일 이미지 --- */
.single .wp-post-image {
  display: none;
}

.post-image {
  float: left;
  margin-right: 15px;
  margin-bottom: 5px;
  width: 150px;
}

.post-image img {
  width: 150px;
}

/* SimpleTOC */
.simpletoc-list {
  margin-left: 2em !important;
  padding-left: 0 !important;
  padding-inline-start: 0 !important;
  list-style-type: square !important;
}

.simpletoc-list ul {
  margin-left: 1em !important;
  padding-left: 0 !important;
  padding-inline-start: 0 !important;
}

.simpletoc-list li {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* --- Visual Link Preview --- */
.vlp-link-container {
  width: fit-content;
  max-width: 700px !important;
  min-width: 450px !important;
  overflow: hidden;
  margin-bottom: 1.5em !important;
  margin-top: 0.5em !important;
}

.vlp-layout-basic-ckarch {
  display: flex;
  flex-direction: column;
}

.vlp-layout-zone-side {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 15px;
  justify-content: flex-start;
  width: 100%;
}

.vlp-link-image {
  flex-shrink: 0;
}

.vlp-link-image img {
  width: 150px;
}

.vlp-link-title {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: 0.5em;
}

/* --- Display Posts 레이아웃 --- */
.display-posts-listing {
  padding-left: 0 !important;
  margin-left: 0 !important;
  list-style: none;
}

.listing-item {
  list-style: none;
  margin-bottom: 1.5em;
  padding-bottom: 1.5em;
  border-bottom: 1px solid #eee;
  overflow: hidden;
}

/* 1행: 제목 */
.listing-item .title {
  display: block;
  font-weight: bold;
  margin-bottom: 4px;
}

/* 2행: 날짜 작성자 카테고리 */
.listing-item .date,
.listing-item .author,
.listing-item .category-display {
  font-size: 0.85em;
  color: #666;
  margin-right: 8px;
}

.listing-item .excerpt-dash {
  display: none;
}

/* 3행: 이미지 왼쪽 float + 서머리 */
.listing-item .image {
  float: left;
  margin-right: 12px;
  margin-bottom: 4px;
}

.listing-item .image img {
  width: 120px;
  height: auto;
  display: block;
}

.listing-item .excerpt {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.dp-meta {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.dp-meta .title {
  font-size: 1.1em;
  font-weight: bold;
}

/* --- List Category Posts 레이아웃 --- */
.lcp_catlist {
  padding-left: 0 !important;
  margin-left: 0 !important;
  list-style: none;
}

.lcp_catlist li {
  list-style: none;
  margin-bottom: 1.5em;
  padding-bottom: 1.5em;
  border-bottom: 1px solid #eee;
}

/* 1행: 카테고리 + 제목 */
.lcp_row1_wrap {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 8px;
  overflow: hidden;
}

.lcp_row1 {
  flex: 0 1 auto;
  min-width: 0;
  display: flex;
  align-items: baseline;
  gap: 6px;
  overflow: hidden;
}

.lcp_authormeta {
  flex-shrink: 0;
  display: flex;
  gap: 6px;
  font-size: 0.85em;
  color: #666;
  white-space: nowrap;
}

.lcp_cats {
  white-space: nowrap;
}

.lcp_cats::before {
  content: "[ ";
}

.lcp_cats::after {
  content: " ]";
}

.lcp_cats::before,
.lcp_cats::after,
.lcp_cats a {
  font-size: 1.1em;
  font-weight: bold;
}

.lcp_title {
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lcp_title a {
  font-weight: bold;
  font-size: 1.1em;
}

/* body: 왼쪽(요약+메타) + 오른쪽(썸네일) */
.lcp_body {
  display: flex;
  gap: 15px;
  align-items: flex-start;
}

.lcp_left {
  flex: 1;
  min-width: 0;
}

.lcp_right {
  a flex-shrink: 0;
}

.lcp_right img {
  width: 140px;
  height: auto;
}

/* 요약 */
.lcp_excerpt {
  font-size: 0.9em;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 4px;
}

/* 메타라인: 저자 날짜 태그 */
.lcp_metaline {
  display: flex;
  gap: 8px;
  font-size: 0.85em;
  color: #666;
  flex-wrap: wrap;
}

.lcp_author::before {
  content: "by ";
}

.lcp_tags {
  color: #888;
}

/* 페이지네이션 */
.lcp_paginator {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  list-style: none;
  padding-left: 0;
  margin-top: 1em;
}

.lcp_paginator a,
.lcp_paginator .lcp_currentpage {
  padding: 4px 10px;
  text-decoration: none;
  border: none !important;
  background: none !important;
}

.lcp_paginator li {
  border: none !important;
  background: none !important;
}

.lcp_paginator .lcp_currentpage {
  font-weight: bold;
}

.lcp_author,
.lcp_date {
  font-size: 0.85em;
  color: #666;
  white-space: nowrap;
}


/* --- 아카이브 --- */
.archive .entry-summary,
.archive .entry-footer,
.archive .post-image,
.archive .byline,
.archive .cat-links,
.archive .tags-links,
.archive .comments-link {
  display: none;
}

.archive .entry-meta {
  display: block;
}


.archive .posted-on {
  display: inline;
}

.archive .entry-title {
  font-size: 1em;
}

.archive-container {
  background: #fff;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
}

.archive-item .inside-article {
  background: none !important;
  box-shadow: none !important;
  padding: 15px 20px !important;
  border-bottom: none !important;
}

å .archive-item:first-of-type .inside-article {
  padding-top: 0 !important;
}

.archive-container article {
  border-bottom: none !important;
}

.archive-container article::after {
  content: "";
  display: block;
  width: 95%;
  margin: 0 auto;
  border-bottom: 1px solid #ddd;
}

.archive-container article:last-of-type::after {
  display: none;
}

/* =========================================
   반응형 (모바일 768px 이하)
   ========================================= */
@media (max-width: 768px) {

  /* 사이트 타이틀 */
  .main-title {
    font-size: 18px !important;
  }

  body h1.main-title,
  body h1.main-title a {
    line-height: 1.3 !important;
  }

  /* 페이지 헤더 */
  .site-main .page-header {
    display: none;
  }

  /* Visual Link Preview */
  .vlp-link-title,
  .vlp-link-container {
    font-size: 16px !important;
  }

  .vlp-link-container {
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .vlp-layout-zone-side {
    flex-direction: column;
  }

  .vlp-link-image img {
    width: 100% !important;
    max-width: 100% !important;
  }

  .vlp-link-title {
    white-space: normal;
  }

  /* 아카이브 */
  .archive-thumb {
    display: none !important;
  }

  .archive-item .inside-article {
    padding: 12px 10px !important;
  }

  /* 포스트 내비게이션 */
  .post-navigation .nav-previous,
  .post-navigation .nav-next {
    display: flex;
    align-items: center;
    gap: 4px;
    width: 100%;
  }

  .post-navigation .nav-previous a,
  .post-navigation .nav-next a {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
  }
}

@media (max-width: 768px) {

  /* List Category Posts */
  .lcp_right {
    display: none;
  }

  .lcp_row1_wrap {
    display: block;
    margin-bottom: 4px;
  }

  .lcp_row1 {
    display: block;
    margin-bottom: 4px;
  }

  .lcp_cats,
  .lcp_title,
  .lcp_title a {
    display: inline;
    white-space: normal;
    font-size: 1 em;
  }

  .lcp_authormeta {
    display: none;
  }

  .lcp_excerpt {
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }

  .lcp_metaline {
    font-size: 0.8em;
  }

  .lcp_tags {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}

/* ============================================
   CC 라이선스 표시
   ============================================ */
.cc-license {
    margin-top: 3em;
    padding: 0.9em 1.5em;
    background-color: #f5f5f5;
    border-radius: 6px;
    text-align: center;
    font-size: 0.85em;
    color: #444;
    line-height: 1.8;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.cc-license a {
    color: #444;
    text-decoration: none;
}
.cc-license a:hover {
    color: #0073aa;
    text-decoration: underline;
}
.cc-license img.cc-icon {
    width: 1em !important;
    height: 1em !important;
    max-width: 1em !important;
    max-height: 1em !important;
    display: inline !important;
    vertical-align: middle !important;
    margin-left: 0.2em;
}

/* 모바일 */
@media (max-width: 768px) {
    .cc-license {
        font-size: 0.8em;
        padding: 0.8em 1em;
        white-space: normal;
    }
}