/*
 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.4
*/

/* ==============================
   기본 링크 스타일
============================== */
a { text-decoration: none; }
a:hover { text-decoration: underline; }

/* ==============================
   헤딩 크기
============================== */
h1 { font-size: 28px; line-height: 1.4; margin-bottom: 1em; }
h2 { font-size: 22px; line-height: 1.4; margin-bottom: 1em; }
h3 { font-size: 18px; line-height: 1.4; margin-bottom: 0.8em; }

/* ==============================
   code 태그 스타일
============================== */
code {
  font-family: 'Courier New', Courier, monospace;
  background-color: #f4f4f4;
  padding: 2px 4px;
  font-size: 14px;
  color: #c7254e;
  border-radius: 4px;
}

/* ==============================
   검색 위젯
============================== */
.widget_search input[type="search"],
.widget_search button {
  height: 32px;
  font-size: 15px;
  line-height: 1.4;
  box-sizing: border-box;
}

.widget_search input[type="search"] { padding: 4px 8px; }
.widget_search button {
  padding: 0 12px;
  white-space: nowrap;
  font-family: "Noto Sans KR", sans-serif;
}

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

/* ==============================
   본문(싱글) 이미지 공통
============================== */
.entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

/* 구텐베르크 wide/full (기본 폭 방지) */
.entry-content .alignwide,
.entry-content .alignfull {
  max-width: 100%;
}

/* ==============================
   ✅ 빨간선(하단 구분선) 제거
   - footer/bottom-bar/구분선(hr)에서 흔히 발생
============================== */
hr,
.wp-block-separator { border: 0 !important; }

.site-footer,
.footer-bar,
.inside-site-info { border-top: 0 !important; }

.site-footer:before,
.site-footer:after,
.footer-bar:before,
.footer-bar:after,
.inside-site-info:before,
.inside-site-info:after {
  content: none !important;
  border: 0 !important;
}

/* ==============================
   데스크탑 레이아웃 (컨테이너/사이드바)
============================== */
@media (min-width: 1025px) {
  .container.grid-container {
    max-width: 1260px;
    margin: 0 auto;
    padding: 0 20px;
  }

  .generate-columns-container {
    display: grid;
    grid-template-columns: 1fr 320px;
    column-gap: 40px;
  }

  #primary.content-area,
  #right-sidebar { width: auto; }

  .inside-article {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
  }

  /* Separate Containers(싱글 글 카드 느낌) */
  .separate-containers .inside-article {
    padding: 24px;
    border: 1px solid rgba(0,0,0,0.08);
    border-radius: 16px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.06);
    overflow: hidden;
  }
}

/* ==============================
   메인/아카이브 글목록 카드 레이아웃 (중복 축소)
   대상: home/blog/archive 전부
============================== */
.home .site-main article .inside-article,
.home.blog .site-main article .inside-article,
.blog .site-main article .inside-article,
.archive .site-main article .inside-article {
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 10px;
  background: #fff;
  padding: 18px 22px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
  overflow: hidden;
}

.home .site-main article,
.home.blog .site-main article,
.blog .site-main article,
.archive .site-main article {
  margin-bottom: 18px;
}

/* Separate containers에서도 동일 톤 유지 (중복 최소) */
.home .separate-containers .inside-article,
.home.blog .separate-containers .inside-article,
.blog .separate-containers .inside-article,
.archive .separate-containers .inside-article {
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
  border-radius: 10px;
}

/* ==============================
   데스크톱/가로 화면(landscape): 좌(썸)+우(텍스트) 2단
============================== */
@media (orientation: landscape) and (min-width: 768px) {
  .home .site-main article .inside-article,
  .home.blog .site-main article .inside-article,
  .blog .site-main article .inside-article,
  .archive .site-main article .inside-article {
    display: flex;
    align-items: flex-start;
    gap: 22px;
  }

  /* 썸네일 wrapper(네모 박스) */
  .home .site-main article .post-image,
  .home.blog .site-main article .post-image,
  .blog .site-main article .post-image,
  .archive .site-main article .post-image,
  .home .site-main article .featured-image,
  .home.blog .site-main article .featured-image,
  .blog .site-main article .featured-image,
  .archive .site-main article .featured-image,
  .home .site-main article a.post-image-link,
  .home.blog .site-main article a.post-image-link,
  .blog .site-main article a.post-image-link,
  .archive .site-main article a.post-image-link,
  .home .site-main article figure,
  .home.blog .site-main article figure,
  .blog .site-main article figure,
  .archive .site-main article figure {
    flex: 0 0 230px;
    width: 230px;
    max-width: 230px;
    margin: 0;
    border-radius: 8px;
    overflow: hidden;
    background: #f3f4f6;
    display: block;
  }

  /* 썸네일 이미지 */
  .home .site-main article .post-image img,
  .home.blog .site-main article .post-image img,
  .blog .site-main article .post-image img,
  .archive .site-main article .post-image img,
  .home .site-main article .featured-image img,
  .home.blog .site-main article .featured-image img,
  .blog .site-main article .featured-image img,
  .archive .site-main article .featured-image img,
  .home .site-main article img.wp-post-image,
  .home.blog .site-main article img.wp-post-image,
  .blog .site-main article img.wp-post-image,
  .archive .site-main article img.wp-post-image {
    width: 100%;
    height: 160px;
    object-fit: cover;
    display: block;
  }

  /* 오른쪽 텍스트 영역 */
  .home .site-main article .entry-header,
  .home.blog .site-main article .entry-header,
  .blog .site-main article .entry-header,
  .archive .site-main article .entry-header,
  .home .site-main article .entry-summary,
  .home.blog .site-main article .entry-summary,
  .blog .site-main article .entry-summary,
  .archive .site-main article .entry-summary,
  .home .site-main article .entry-content,
  .home.blog .site-main article .entry-content,
  .blog .site-main article .entry-content,
  .archive .site-main article .entry-content {
    flex: 1 1 auto;
    min-width: 0;
  }

  .home .site-main .entry-title,
  .home.blog .site-main .entry-title,
  .blog .site-main .entry-title,
  .archive .site-main .entry-title {
    margin: 0 0 10px 0;
  }

  .home .site-main .entry-summary,
  .home.blog .site-main .entry-summary,
  .blog .site-main .entry-summary,
  .archive .site-main .entry-summary {
    margin: 0;
  }

  .home .site-main a.more-link,
  .home.blog .site-main a.more-link,
  .blog .site-main a.more-link,
  .archive .site-main a.more-link,
  .home .site-main a.read-more,
  .home.blog .site-main a.read-more,
  .blog .site-main a.read-more,
  .archive .site-main a.read-more {
    display: inline-block;
    margin-top: 12px;
    padding: 8px 14px;
    border-radius: 6px;
    background: #0b5cab;
    color: #fff;
    text-decoration: none;
  }

  .home .site-main a.more-link:hover,
  .home.blog .site-main a.more-link:hover,
  .blog .site-main a.more-link:hover,
  .archive .site-main a.more-link:hover,
  .home .site-main a.read-more:hover,
  .home.blog .site-main a.read-more:hover,
  .blog .site-main a.read-more:hover,
  .archive .site-main a.read-more:hover {
    text-decoration: none;
  }
}

/* ==============================
   폰 세로(portrait): 이미지 위 + 글 아래 (강제)
============================== */
@media (orientation: portrait) {
  .home .site-main article .inside-article,
  .home.blog .site-main article .inside-article,
  .blog .site-main article .inside-article,
  .archive .site-main article .inside-article {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .home .site-main article .post-image,
  .home.blog .site-main article .post-image,
  .blog .site-main article .post-image,
  .archive .site-main article .post-image,
  .home .site-main article .featured-image,
  .home.blog .site-main article .featured-image,
  .blog .site-main article .featured-image,
  .archive .site-main article .featured-image,
  .home .site-main article a.post-image-link,
  .home.blog .site-main article a.post-image-link,
  .blog .site-main article a.post-image-link,
  .archive .site-main article a.post-image-link,
  .home .site-main article figure,
  .home.blog .site-main article figure,
  .blog .site-main article figure,
  .archive .site-main article figure {
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
    margin: 0 0 8px 0;
  }

  .home .site-main article img.wp-post-image,
  .home.blog .site-main article img.wp-post-image,
  .blog .site-main article img.wp-post-image,
  .archive .site-main article img.wp-post-image {
    width: 100%;
    height: auto;
    display: block;
  }
}

/* ==============================
   모바일/터치: 가로 오버플로우 방지
============================== */
@media (max-width: 767px), (hover: none) and (pointer: coarse) {
  html, body { overflow-x: hidden; }

  .entry-content,
  .inside-article,
  .wp-block-post-content {
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  .entry-content table,
  .wp-block-table table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .entry-content pre,
  .wp-block-preformatted,
  .wp-block-code {
    max-width: 100%;
    overflow-x: auto;
  }

  .entry-content .alignfull,
  .entry-content .alignwide {
    margin-left: 0;
    margin-right: 0;
    width: auto;
    max-width: 100%;
  }

  .entry-content img,
  .entry-content iframe,
  .entry-content video,
  .entry-content embed,
  .entry-content object,
  ins.adsbygoogle {
    max-width: 100%;
  }
}