/* ==========================================================================
   06-blocks.css — 블록 테마 어댑터
   --------------------------------------------------------------------------
   코어 블록(core/*)이 렌더링하는 마크업에 01~05 CSS의 토큰/컴포넌트 스타일을
   연결한다. 숏코드 없이 코어 블록만으로 1차 클론과 동일한 형태를 재현하기 위한
   브리지 레이어.
   ========================================================================== */

/* ------------------------------------------------------------------
   Query Loop — 포스트 목록 (.post-list-query)
   ------------------------------------------------------------------ */
.wp-block-query .wp-block-post-template {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}
.post-list-query .wp-block-post-template { gap: var(--space-8); }
.post-list-query .wp-block-post-template > li { list-style: none; margin: 0; min-width: 0; }

/* 블록 내부 요소 초기화 (카드 구조는 04-components.css 클래스가 담당) */
.wp-block-post-title a { color: inherit; }
.wp-block-post-featured-image { margin: 0; }
.wp-block-post-featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.wp-block-post-terms { margin: 0; }
.wp-block-post-terms a { color: inherit; }
.wp-block-post-author-name { margin: 0; }
.wp-block-post-author-name a { color: inherit; }
.wp-block-post-date { margin: 0; }
.wp-block-post-date time { display: inline; }

/* 요약(excerpt): 라인 클램프를 내부 <p> 로 이동 */
.post-card__excerpt,
.hero__desc { display: block; -webkit-line-clamp: unset; }
.post-card__excerpt > p,
.hero__desc > p {
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* ------------------------------------------------------------------
   페이지네이션 (core/query-pagination)
   ------------------------------------------------------------------ */
.wp-block-query-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-1);
  margin-top: var(--space-8);
}
.wp-block-query-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 6px;
  border-radius: var(--radius-sm);
  color: var(--text-secondary);
  font-size: var(--fs-meta);
  font-weight: var(--fw-medium);
  text-decoration: none;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
.wp-block-query-pagination a.page-numbers:hover {
  background-color: var(--bg-muted);
  color: var(--text-strong);
}
.wp-block-query-pagination .page-numbers.current {
  background: var(--color-primary-bg);
  color: var(--color-primary);
}

/* ------------------------------------------------------------------
   히어로 트랙 — core/query 스크롤 캐러셀 (.hero--track)
   ------------------------------------------------------------------ */
.hero-section { width: 100%; max-width: var(--container-main); }

.hero--track { position: relative; width: 100%; }
.hero--track .wp-block-post-template {
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.hero--track .wp-block-post-template::-webkit-scrollbar { display: none; }
.hero--track .wp-block-post-template > li {
  flex: 0 0 100%;
  scroll-snap-align: start;
  list-style: none;
  margin: 0;
  min-width: 0;
}

/* 슬라이드 내부 레이아웃 (05-pages.css 의 .hero 가로 배치를 슬라이드로 이동) */
.hero-slide {
  display: flex;
  align-items: center;
  gap: var(--space-9);
  width: 100%;
}
.hero-slide:hover .hero__media img { transform: scale(1.2); }

/* ------------------------------------------------------------------
   버튼 어댑터 (core/button)
   ------------------------------------------------------------------ */
.wp-block-button { margin: 0; }
.wp-block-button__link { text-decoration: none; cursor: pointer; }

.btn--primary .wp-block-button__link,
.btn--muted .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  font-size: var(--fs-meta);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-loose);
  white-space: nowrap;
  transition: background-color var(--transition-fast), color var(--transition-fast);
}
.btn--primary .wp-block-button__link {
  color: var(--bg-default);
  background-color: var(--color-primary);
}
.btn--primary .wp-block-button__link:hover { background-color: var(--color-primary-hover); }
.btn--muted .wp-block-button__link {
  color: var(--color-header-text);
  background-color: var(--color-header-muted-bg);
}
.btn--muted .wp-block-button__link:hover { background-color: var(--bg-muted); }

/* 히어로 화살표 */
.hero__nav {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  margin-top: var(--space-2);
}
.hero__arrow .wp-block-button__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 48px;
  padding: 8px 12px;
  border-radius: var(--radius-full);
  background: var(--bg-muted);
  color: var(--text-strong);
  transition: background-color var(--transition-fast);
}
.hero__arrow .wp-block-button__link:hover { background: var(--border-light); }
.hero__arrow img { width: 24px; height: 24px; display: block; }

/* 공유 버튼 */
.article-share .share-btn .wp-block-button__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border-radius: var(--radius-full);
  background: var(--bg-muted);
  transition: background-color var(--transition-fast), transform 0.15s ease-out;
}
.article-share .share-btn .wp-block-button__link:hover {
  background: var(--border-light);
  transform: none;
}
.article-share .share-btn .wp-block-button__link:active { transform: scale(0.9); }
.article-share .share-btn img { width: 24px; height: 24px; display: block; }

/* ------------------------------------------------------------------
   내비게이션 (core/navigation — 헤더 GNB)
   ------------------------------------------------------------------ */
.header-nav .wp-block-navigation__container { gap: 6px; }
.header-nav .wp-block-navigation-item__content {
  display: inline-flex;
  align-items: center;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  color: var(--color-header-text);
  font-size: var(--fs-meta);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-loose);
  white-space: nowrap;
  transition: background-color var(--transition-fast);
}
.header-nav .wp-block-navigation-item__content:hover {
  background-color: var(--color-header-hover-bg);
  color: var(--color-header-text);
}

/* 모바일: 코어 내비의 햄버거를 클론 브레이크포인트(768px)에 맞춤 */
@media (max-width: 768px) {
  .site-header .header-nav .wp-block-navigation__responsive-container-open {
    display: flex !important;
  }
  .site-header .header-nav .wp-block-navigation__responsive-container:not(.has-modal-open) .wp-block-navigation__container {
    display: none !important;
  }
}
@media (min-width: 769px) {
  .site-header .header-nav .wp-block-navigation__responsive-container-open { display: none !important; }
}
.wp-block-navigation__responsive-container.is-menu-open {
  background-color: var(--bg-default);
}
.is-menu-open .wp-block-navigation-item__content {
  font-size: var(--fs-body-lg);
  padding: 12px;
}

/* 검색 아이콘 */
.icon-btn .wp-block-image { margin: 0; }
.icon-btn img, .icon-btn svg { width: 24px; height: 24px; display: block; }

/* ------------------------------------------------------------------
   댓글 (core/comments · comment-template · comments-form)
   ------------------------------------------------------------------ */
.wp-block-post-comments-count { margin: 0; color: var(--text-strong); font-weight: var(--fw-bold); }

.comments__title-group { gap: 6px; align-items: center; }

.comments__list .wp-block-comment-template {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.comments__list .wp-block-comment-template > li { list-style: none; margin: 0; }
.comments__list .children {
  list-style: none;
  margin: var(--space-3) 0 0;
  padding: 0;
  padding-left: var(--space-3);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.wp-block-avatar { margin: 0; }
.comment-item__avatar img { width: 100%; height: 100%; border-radius: 50%; }
.comment-item__text p { margin: 0; }
.comment-item .wp-block-comment-reply-link { font-size: var(--fs-caption); }
.comment-item .wp-block-comment-reply-link a { color: var(--text-tertiary); }
.comment-item .wp-block-comment-reply-link a:hover { color: var(--color-primary); }
.comment-item .wp-block-comment-edit-link { font-size: var(--fs-micro); }
.comment-item .wp-block-comment-edit-link a { color: var(--text-disabled); }

/* 댓글 폼 */
.wp-block-post-comments-form .comment-reply-title {
  display: block;
  margin-bottom: var(--space-2);
  color: var(--text-secondary);
  font-size: var(--fs-meta);
  font-weight: var(--fw-semibold);
}
.wp-block-post-comments-form .comment-form textarea,
.wp-block-post-comments-form .comment-form input[type="text"],
.wp-block-post-comments-form .comment-form input[type="email"],
.wp-block-post-comments-form .comment-form input[type="url"] {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  background: var(--bg-default);
  font-size: var(--fs-meta);
  font-family: inherit;
}
.wp-block-post-comments-form .comment-form textarea:focus,
.wp-block-post-comments-form .comment-form input:focus {
  outline: none;
  border-color: var(--color-primary);
}
.wp-block-post-comments-form .comment-form input[type="submit"] {
  display: inline-flex;
  align-items: center;
  padding: 10px 14px;
  border: none;
  border-radius: var(--radius-sm);
  background: var(--color-primary);
  color: var(--bg-default);
  font-size: var(--fs-meta);
  font-weight: var(--fw-semibold);
  cursor: pointer;
  transition: background-color var(--transition-fast);
}
.wp-block-post-comments-form .comment-form input[type="submit"]:hover {
  background: var(--color-primary-hover);
}
.wp-block-post-comments-form .comment-form-cookies-consent {
  font-size: var(--fs-caption);
  color: var(--text-secondary);
}

/* ------------------------------------------------------------------
   이미지/미디어 정리
   ------------------------------------------------------------------ */
.wp-block-image { margin: 0; }
.header-logo img { width: 110px; height: 20px; }
.subscribe-box__icon img { width: 40px; height: 40px; }
.subscribe-box__heading {
  font-size: calc(var(--fs-card-title) * 0.95);
  font-weight: var(--fw-bold);
  color: var(--text-strong);
  line-height: 28px;
}
.subscribe-box__desc {
  margin-top: 4px;
  font-size: var(--fs-meta);
  font-weight: var(--fw-medium);
  color: var(--text-tertiary);
  line-height: 22.5px;
}

/* ------------------------------------------------------------------
   푸터 (core/list → footer-col)
   ------------------------------------------------------------------ */
.site-footer .wp-block-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer-sns .wp-block-image { margin: 0 8px 0 0; }
.footer-sns .wp-block-image:last-child { margin-right: 0; }
.footer-sns .wp-block-image img {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  opacity: 0.7;
  transition: opacity var(--transition-fast);
}
.footer-sns .wp-block-image a:hover img { opacity: 1; }

/* ------------------------------------------------------------------
   시리즈 카드 (patterns/series-grid)
   ------------------------------------------------------------------ */
.series-grid.is-layout-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-5);
}
.series-grid.is-layout-grid { display: grid; }
.series-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.series-card__title a { color: inherit; }
.series-card__count { display: inline-flex; }

@media (max-width: 1024px) {
  .series-grid.is-layout-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .series-grid.is-layout-grid { grid-template-columns: 1fr; gap: var(--space-4); }
}

/* ------------------------------------------------------------------
   반응형 보정
   ------------------------------------------------------------------ */
@media (max-width: 1024px) {
  .post-list-query .wp-block-post-template { gap: var(--space-6); }
  .hero-slide { gap: var(--space-6); }
  .hero__text { height: 204px; padding-top: 16px; }
  .hero__title { font-size: var(--fs-archive-title); line-height: 140%; }
  .hero__desc { font-size: var(--fs-meta); }
}

@media (max-width: 768px) {
  .post-list-query .wp-block-post-template { gap: 42px; }

  /* 히어로 슬라이드: 이미지 위 / 텍스트 아래 */
  .hero-slide {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4);
  }
  .hero__media { order: -1; width: 100%; height: auto; aspect-ratio: 312 / 175.5; }
  .hero__text { order: 1; height: 210px; padding-top: 0; flex: none; width: 100%; align-self: stretch; }
  .hero__title { font-size: var(--fs-card-title); }
}
