/*
 Theme Name: intokworld Child
 Template: generatepress
 Author: you
 Version: 5.4.0 (Uniform grid, Indent v7, Ads full-row)
*/
@charset "UTF-8";

/* ===================== [00] 변수 ===================== */
:root{
  --iw-max: 1328px;
  --iw-gap: 11px;
  --iw-gap-sm: 7px;

  --iw-pad-x: 4px;
  --iw-pad-x-sm: 3px;

  --iw-radius: 12px;
  --iw-shadow: 0 2px 8px rgba(0,0,0,.06);
  --iw-shadow-hover: 0 6px 22px rgba(0,0,0,.12);
  --iw-accent:#07024a;

  --sidebar-w: clamp(260px, 22vw, 320px);
  --sidebar-gap: var(--iw-gap);

  --excerpt-lines:4;
  --excerpt-fs-d:17px;
  --excerpt-fs-m:16px;
  --excerpt-lh:1.55;

  --excerpt-gap:10px;
  --stack-gap:10px;
  --grid-row-gap: calc(var(--iw-gap) * .6);

  --iw-anchor-pad:0px;

  /* 들여쓰기 폭 */
  --indent-h2: 0px;
  --indent-h3: 10px;
  --indent-h4: 14px;
}

/* ===================== [01] 리셋/공통 ===================== */
.entry-meta{display:none;}
.featured-image,.post-image{text-align:center;}
:focus-visible{outline:2px solid #0a84ff;outline-offset:2px;}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
}
body.iw-anchor-visible{ padding-bottom: calc(var(--iw-anchor-pad) + env(safe-area-inset-bottom, 0px)); }

/* ===================== [02] 본문 이미지 ===================== */
.entry-content figure.wp-block-image img,
.entry-content img[class*="wp-image-"],
body.single .wp-block-image img,
.entry-summary-container img{
  display:block;max-width:100%;height:auto;margin:1em auto;box-sizing:border-box;
}
.entry-content :is(img,figure).aligncenter,
.entry-content :is(.wp-caption,figure.wp-block-image).aligncenter{
  display:block;margin-left:auto;margin-right:auto;text-align:center;
}
.entry-content :is(img,figure):not(.alignleft):not(.alignright){
  margin-left:auto;margin-right:auto;
}

/* ===================== [03] 소제목 ===================== */
.entry-content h2{
  background:#07024a;color:#fff;padding:12px;
  border-top-left-radius:15px;border-bottom-right-radius:15px;
  font-weight:700;margin:50px 0 20px;
}
.entry-content h3{
  color:#000;border-left:12px solid var(--iw-accent);
  border-bottom:2px solid var(--iw-accent);
  padding:5px 8px;font-weight:700;margin:20px 0 12px 10px;
}
.entry-content h4{
  border:4px solid #654321;padding:1px 10px;border-radius:15px;
  font-weight:700;margin:20px 0 2px 20px;background:#fff8ef;
  display:inline-block;text-align:left;
}
.entry-content :is(h2,h3,h4){ box-sizing:border-box; }

/* ===================== [04] 본문 텍스트/리스트 ===================== */
.entry-content p,.entry-content .wp-block-paragraph{
  font-size:clamp(16px,2.2vw,20px); color:#353535;margin:0 0 .6em; word-wrap:break-word;overflow-wrap:break-word;
}
.entry-content ul,.entry-content ol{
  font-size:clamp(15px,2vw,18px);line-height:1.6;margin:.5em 0;
  margin-left:0;padding-left:1.15em;list-style-position:outside;word-wrap:break-word;overflow-wrap:break-word;
}
.entry-content li{margin:0 0 .7em;}
.entry-content li>p{margin:0 0 .4em;}
.entry-content li>ul,.entry-content li>ol{margin-top:.35em;padding-left:calc(1.15em + .8em);}
@media (max-width:768px){
  .entry-content ul,.entry-content ol{padding-left:1.05em;}
  .entry-content li>ul,.entry-content li>ol{padding-left:calc(1.05em + .6em);}
}

/* ===================== [05] 목록 컨테이너 상단 여백 제거 ===================== */
.blog .widget-area,.archive .widget-area,
.blog .site-main,.archive .site-main{margin-top:0;padding-top:0;}
.blog .site-content,.archive .site-content{padding:0 var(--iw-gap) var(--iw-gap);}

/* ===================== [06] 카드 그리드 ===================== */
.blog .site-main,.archive .site-main{
  display:grid;
  gap: var(--grid-row-gap) var(--iw-gap);
  max-width:var(--iw-max);
  margin:0 auto; padding:0;
  grid-template-columns:1fr;   /* 기본 1열 (JS 없어도 안전) */
  align-items:start;
}
/* 그리드 안정화: 모든 직계 자식의 min-width 0 */
.blog .site-main > *, .archive .site-main > *{ min-width:0; }
/* 광고/페이징 등 비-article 요소는 항상 전체폭 */
.blog .site-main > :not(article),
.archive .site-main > :not(article){ grid-column:1 / -1; }

@media (min-width:400px){
  .blog .site-main,.archive .site-main{ grid-template-columns:repeat(2,1fr); }
}
@media (min-width:680px){
  .blog .site-main,.archive .site-main{ grid-template-columns:repeat(3,1fr); }
}
@media (min-width:1000px){
  body.no-sidebar.blog .site-main, body.no-sidebar.archive .site-main{ grid-template-columns:repeat(4,1fr); }
}
@media (min-width:1200px){
  body.left-sidebar.blog .site-main, body.right-sidebar.blog .site-main,
  body.left-sidebar.archive .site-main, body.right-sidebar.archive .site-main{ grid-template-columns:repeat(4,1fr); }
}

/* ===================== [07] 카드 박스 ===================== */
.blog .site-main > article,.archive .site-main > article{
  background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:var(--iw-radius);
  box-shadow:var(--iw-shadow);transition:box-shadow .22s ease, transform .22s ease;
  overflow:hidden;display:flex;flex-direction:column;padding-bottom:var(--excerpt-gap);
  will-change: transform, box-shadow;
}
.blog .site-main > article:hover,.archive .site-main > article:hover{
  box-shadow:var(--iw-shadow-hover); transform:translateY(-1px);
}

/* ===================== [08] 내부 래퍼(Flex, 간격 통일) ===================== */
.blog .site-main > article .inside-article,
.archive .site-main > article .inside-article{
  display:flex; flex-direction:column; gap:var(--stack-gap); padding:0; margin:0;
}
/* 기본 margin 제거 */
.blog .site-main > article :is(.entry-title,.entry-header,.post-image,.featured-image,.post-thumbnail,.entry-summary),
.archive .site-main > article :is(.entry-title,.entry-header,.post-image,.featured-image,.post-thumbnail,.entry-summary){ margin:0; }

/* 순서: 썸네일 → 제목 → 요약 */
.blog .site-main > article :is(.post-image,.featured-image,.post-thumbnail),
.archive .site-main > article :is(.post-image,.featured-image,.post-thumbnail){ order:1; }
.blog .site-main > article :is(.entry-header,.entry-title),
.archive .site-main > article :is(.entry-header,.entry-title){ order:2; }
.blog .site-main > article .entry-summary,
.archive .site-main > article .entry-summary{ order:3; }

/* ===================== [09] 썸네일(16:9 고정) ===================== */
.blog .site-main > article :is(.post-image,.featured-image,.post-thumbnail),
.archive .site-main > article :is(.post-image,.featured-image,.post-thumbnail){
  aspect-ratio:16/9;background:#f4f5f7;overflow:hidden;position:relative;border-radius:0;
}
.blog .site-main > article :is(.post-image > a,.featured-image > a,.post-thumbnail > a),
.archive .site-main > article :is(.post-image > a,.featured-image > a,.post-thumbnail > a){ display:block;width:100%;height:100%; }
.blog .site-main > article :is(.post-image img,.featured-image img,.post-thumbnail img),
.archive .site-main > article :is(.post-image img,.featured-image img,.post-thumbnail img){
  display:block;width:100%;height:100%;object-fit:cover;transform:translateZ(0);transition:transform .28s ease;
}
@media (hover:hover){
  .blog .site-main > article:hover :is(.post-image img,.featured-image img,.post-thumbnail img),
  .archive .site-main > article:hover :is(.post-image img,.featured-image img,.post-thumbnail img){ transform:scale(1.02); }
}
/* 래퍼 없이 이미지만 있을 때도 16:9 */
.blog .site-main > article .inside-article > a:first-child > img.wp-post-image,
.archive .site-main > article .inside-article > a:first-child > img.wp-post-image,
.blog .site-main > article .inside-article > img.wp-post-image,
.archive .site-main > article .inside-article > img.wp-post-image{
  display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;background:#f4f5f7;border-radius:0;
}

/* ===================== [10] 제목/요약 ===================== */
.blog .site-main>article .entry-title,.archive .site-main>article .entry-title{
  font-size:clamp(18px,2.1vw,22px);font-weight:800;line-height:1.35;color:#111;
  padding:10px var(--iw-pad-x) 0;
}
.blog .site-main>article .entry-title a,.archive .site-main>article .entry-title a{
  display:block;color:inherit;text-decoration:none;overflow:hidden;text-overflow:ellipsis;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;min-height:calc(1.35em*3);max-height:calc(1.35em*3);overflow-wrap:anywhere;
}
.blog .site-main>article .entry-summary,.archive .site-main>article .entry-summary{
  padding:0 var(--iw-pad-x) 0;color:#000;font-size:var(--excerpt-fs-d);line-height:var(--excerpt-lh);
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--excerpt-lines);overflow:hidden;text-overflow:ellipsis;
  max-height:calc(var(--excerpt-lh)*var(--excerpt-lines)*1em);
}
.blog .site-main>article .entry-summary a,.archive .site-main>article .entry-summary a{ color:#000;text-decoration:none; }
.blog .site-main>article .entry-summary p:last-child,.archive .site-main>article .entry-summary p:last-child{ margin-bottom:0; }

@media (max-width:768px){
  .blog .site-main,.archive .site-main{ gap:var(--iw-gap-sm) var(--iw-gap); }
  .blog .site-main>article .entry-title,.archive .site-main>article .entry-title{
    padding:8px var(--iw-pad-x-sm) 0; font-size:20px;font-weight:800;
  }
  .blog .site-main>article .entry-title a,.archive .site-main>article .entry-title a{
    -webkit-line-clamp:unset; min-height:0; max-height:none;
  }
  .blog .site-main>article .entry-summary,.archive .site-main>article .entry-summary{
    padding:0 var(--iw-pad-x-sm) 0; font-size:var(--excerpt-fs-m);
  }
}

/* ===================== [11] 단일 글 기본 타이포 ===================== */
.single.separate-containers .inside-article,
.single .inside-article{ padding-left:20px;padding-right:20px; }
@media (max-width:768px){
  .single.separate-containers .inside-article,
  .single .inside-article{ padding-left:14px;padding-right:14px; }
}
.single .entry-content p,
.single .entry-content .wp-block-paragraph,
.single .entry-content li{ font-size:clamp(18px,2.4vw,22px);line-height:1.75; }

.wp-block-buttons.is-layout-flex { padding-top:20px; padding-bottom:20px; }

/* ===================== [12] 사이드바 ↔ 본문 상단 정렬 ===================== */
@media (min-width:1100px){
  .site-content{
    max-width: calc(var(--iw-max) + var(--sidebar-w) + var(--sidebar-gap));
    margin: 0 auto; display:flex; align-items:flex-start;
    gap: var(--sidebar-gap); padding-left: var(--iw-gap); padding-right: var(--iw-gap);
    padding-top:0; margin-top:0;
  }
  .left-sidebar .widget-area,.right-sidebar .widget-area{
    width:var(--sidebar-w); max-width:var(--sidebar-w); flex:0 0 var(--sidebar-w);
  }
  .content-area{max-width:var(--iw-max);flex:1 1 auto;}
  .content-area, .widget-area, .inside-left-sidebar, .inside-right-sidebar, .site-main{
    margin-top:0; padding-top:0;
  }
  .widget-area .widget:first-child,
  .widget-area .widget:first-child > *:first-child{ margin-top:0; padding-top:0; }
  .widget-area .widget:last-child{ margin-bottom:0; }
  .widget-area :is(.adsbygoogle,.iw-ad-slot,img,iframe){max-width:100%; height:auto;}
}
@media (min-width:780px){
  #left-sidebar{ width:var(--sidebar-w); }
  #primary{ width:calc(100% - var(--sidebar-w)); }
}

/* ===================== [13] 페이징 ===================== */
nav#nav-below.paging-navigation{ grid-column:1 / -1; }
nav#nav-below.paging-navigation .page-numbers{
  display:inline-block;padding:8px 16px;margin-right:10px;border-radius:4px;
  font-size:15px;font-family:'Helvetica Neue',Arial,sans-serif;
  transition:background-color .2s ease;text-decoration:none;background-color:transparent;color:#555;
}
nav#nav-below.paging-navigation span.page-numbers.current{background-color:#333;color:#fff;}
nav#nav-below.paging-navigation a.page-numbers{border:1px solid #E0E0E0;}
nav#nav-below.paging-navigation a.page-numbers:hover,
nav#nav-below.paging-navigation a.page-numbers:focus{background-color:#F5F5F5;color:#333;}
.separate-containers .paging-navigation{padding:25px 0;text-align:center;background-color:#FAFAFA;}
nav#nav-below.paging-navigation .gp-icon{vertical-align:middle;}

/* ===================== [14] 광고/임베드/CLS 가드 ===================== */
.adsbygoogle, .iw-ad-slot{ display:block; width:100%; margin:16px auto; min-height:250px }
@media (min-width:768px){ .adsbygoogle, .iw-ad-slot{ min-height:280px } }
.iw-ad-slot[data-ad-format="auto"]{ min-height:300px; }
@media (min-width:768px){ .iw-ad-slot[data-ad-format="auto"]{ min-height:340px; } }
.embed-wrap, .youtube, .gp-embed{ aspect-ratio:16/9; width:100%; background:#f3f4f6; overflow:hidden; }
.embed-wrap iframe, .youtube iframe, .gp-embed iframe{ width:100%; height:100%; display:block; }
.section--below-fold{ content-visibility:auto; contain-intrinsic-size:1000px 800px; }
img[loading="lazy"]{ contain-intrinsic-size:300px 169px; }

/* ===================== [15] 헤더 높이(데스크톱) ===================== */
@media (min-width:1100px){ .site-header .inside-header{ min-height:72px; } }

/* ===================== [16] 모바일 ‘무조건 1열’ 가드 ===================== */
body.iw-mobile.blog .site-main,
body.iw-mobile.archive .site-main{
  grid-template-columns: 1fr !important;
  gap: var(--iw-gap-sm) var(--iw-gap);
}
@media (hover:none) and (pointer:coarse){
  body.blog .site-main,
  body.archive .site-main{
    grid-template-columns: 1fr !important;
    gap: var(--iw-gap-sm) var(--iw-gap);
  }
}

/* ===================== [17] 섹션 들여쓰기 v7 (클래스 기반) ===================== */
.single .entry-content .iw-after-h2{ margin-left: var(--indent-h2) !important; }
.single .entry-content .iw-after-h3{ margin-left: var(--indent-h3) !important; }
.single .entry-content .iw-after-h4{ margin-left: var(--indent-h4) !important; }
/* 리스트 패딩 유지 */
.single .entry-content :is(.iw-after-h2,.iw-after-h3,.iw-after-h4):is(ul,ol){
  list-style-position: outside; padding-left: 1.15em;
}
