/*
 * wpfactory master design CSS (placeholder)
 * 디자이너가 채워넣는 자리. CSS 변수 활용 예시:
 *   color: var(--brand-primary);
 *   background: var(--brand-secondary);
 */

.wpf-cta-primary {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: var(--brand-primary);
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  font-weight: 600;
}
.wpf-cta-primary:hover { opacity: 0.9; color: #fff; }

.wpf-cta-secondary {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background: transparent;
  color: var(--brand-primary);
  border: 2px solid var(--brand-primary);
  text-decoration: none;
  border-radius: 4px;
  font-weight: 600;
}

.ast-site-identity .site-title,
.ast-site-identity .site-description { display: none !important; }

/* 헤더 로고 크기 제한 — 큰 원본도 적당한 높이로 강제 */
.site-header .custom-logo,
.site-header a.custom-logo-link img,
.ast-site-identity img {
  max-height: 50px !important;
  max-width: 220px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
}

/* 블로그/포스트 카드 썸네일: 1:1 정사각형 강제 (Astra blog-layout-4 등) */
.post-thumb-img-content {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}
.post-thumb-img-content > a,
.post-thumb-img-content > a > img.wp-post-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 홈 인트로 (헤더 ↓ 글 리스트 ↑) — 좌측 정렬, 컴팩트 */
.wpf-home-intro {
  text-align: left;
  padding: 0;
  margin: 0 0 1rem;
  width: 100%;
  grid-column: 1 / -1;
  flex-basis: 100%;
}
.wpf-home-intro-h1 {
  font-size: clamp(1.4rem, 3vw, 1.9rem);
  font-weight: 700;
  margin: 0 0 0.25rem;
  line-height: 1.2;
}
.wpf-home-intro-h2 {
  font-size: clamp(0.95rem, 1.8vw, 1.15rem);
  margin: 0;
  font-weight: 400;
  color: var(--ast-global-color-3, #6b7280);
}
/* 인트로가 있을 때만 archive 컨테이너 상단 여백 0 강제 (인트로가 없으면 Astra 디폴트 spacing 유지) */
body.home.wpf-has-intro .site-content,
body.home.wpf-has-intro .site-content > .ast-container,
body.home.wpf-has-intro #primary,
body.home.wpf-has-intro .site-main,
body.home.wpf-has-intro .ast-row,
body.home.wpf-has-intro .ast-archive-description,
body.home.wpf-has-intro .ast-archive-header {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
/* 자동 노출되는 빈 archive 헤더 영역 제거 */
body.home .ast-archive-description:empty,
body.home .ast-archive-header:empty {
  display: none !important;
}
/* 우리 인트로 자체의 위 spacer만 둠 (헤더 메뉴 ↔ H1 간격) */
.wpf-home-intro {
  margin-top: 1rem !important;
}

/* 고정 6포스팅: hero / 배너 */
.wpf-pinned-hero-wrap {
  margin: 0 0 1.5rem;
}
.wpf-pinned-hero {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
}
.wpf-pinned-banners {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0 0 1.5rem;
}
.wpf-pinned-banner {
  display: block;
}
.wpf-pinned-banner-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

/* 글숨기기 (hide=true): AI 안내 이미지 — 아코디언 펼친 직후 노출 */
.wpf-pinned-ai-notice {
  margin: 0 0 1.25rem;
  text-align: center;
}
.wpf-pinned-ai-notice img {
  max-width: 100%;
  height: auto;
  display: inline-block;
  border-radius: 10px;
}
.wpf-pinned-accordion {
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 0;
  background: #fafafa;
}
.wpf-pinned-accordion[open] {
  background: #fff;
}
.wpf-pinned-accordion-summary {
  list-style: none;
  cursor: pointer;
  padding: 0.85rem 1rem;
  font-weight: 600;
  color: #374151;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.wpf-pinned-accordion-summary::-webkit-details-marker { display: none; }
.wpf-pinned-accordion-summary::before {
  content: "▸";
  font-size: 0.8rem;
  transition: transform 0.2s;
}
.wpf-pinned-accordion[open] .wpf-pinned-accordion-summary::before { transform: rotate(90deg); }
.wpf-pinned-accordion-body {
  padding: 0 1rem 1rem;
}

/* ─────────────────────────────────────────────────────
 * 본문 글꾸밈 — autopost 스타일 (single post + 아코디언 내부)
 * brand 컬러는 css-vars.php의 --brand-primary / --brand-secondary 사용
 * ───────────────────────────────────────────────────── */
.single-post .entry-content,
.wpf-pinned-accordion-body {
  font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Noto Sans KR', sans-serif;
  line-height: 1.65;
  color: #333;
}
.single-post .entry-content h2,
.wpf-pinned-accordion-body h2 {
  font-size: clamp(1.4rem, 3vw, 1.85rem);
  text-align: center;
  margin: 2rem auto 1.25rem;
  padding: 1rem 1.25rem;
  background: var(--brand-primary, #0066ff);
  background: linear-gradient(135deg, var(--brand-primary, #0066ff), var(--brand-secondary, #ff8800));
  color: #fff;
  border-radius: 8px;
  font-weight: 700;
  line-height: 1.3;
}
.single-post .entry-content h3,
.wpf-pinned-accordion-body h3 {
  font-size: clamp(1.1rem, 2.2vw, 1.35rem);
  font-weight: 700;
  color: #334155;
  margin: 2rem 0 1rem;
  padding-left: 0.85rem;
  border-left: 4px solid var(--brand-primary, #0066ff);
  line-height: 1.4;
}
.single-post .entry-content p,
.wpf-pinned-accordion-body p {
  font-size: 1rem;
  margin: 1rem 0;
  color: #444;
}
.single-post .entry-content b,
.single-post .entry-content strong,
.wpf-pinned-accordion-body b,
.wpf-pinned-accordion-body strong {
  font-weight: 700;
  color: #0f172a;
}
.single-post .entry-content u,
.wpf-pinned-accordion-body u {
  text-decoration: underline;
  text-decoration-color: var(--brand-primary, #0066ff);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.single-post .entry-content i,
.single-post .entry-content em,
.wpf-pinned-accordion-body i,
.wpf-pinned-accordion-body em {
  font-style: italic;
  color: #475569;
}
.single-post .entry-content span,
.wpf-pinned-accordion-body span {
  background: linear-gradient(180deg, transparent 60%, rgba(255, 235, 100, 0.5) 60%);
  padding: 0 2px;
}
.single-post .entry-content blockquote,
.wpf-pinned-accordion-body blockquote {
  margin: 1.5rem 0;
  padding: 1rem 1.25rem;
  background: #f8fafc;
  border-left: 5px solid var(--brand-primary, #0066ff);
  border-radius: 0 6px 6px 0;
  font-style: italic;
  color: #475569;
}
.single-post .entry-content table,
.wpf-pinned-accordion-body table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e5e7eb;
}
.single-post .entry-content th,
.wpf-pinned-accordion-body th {
  background: var(--brand-primary, #0066ff);
  background: linear-gradient(135deg, var(--brand-primary, #0066ff), var(--brand-secondary, #ff8800));
  color: #fff;
  padding: 0.85rem;
  text-align: center;
  font-weight: 600;
}
.single-post .entry-content td,
.wpf-pinned-accordion-body td {
  padding: 0.85rem;
  text-align: center;
  border-bottom: 1px solid #eee;
}
.single-post .entry-content ul,
.single-post .entry-content ol,
.wpf-pinned-accordion-body ul,
.wpf-pinned-accordion-body ol {
  margin: 1rem 0 1rem 1.5rem;
}
.single-post .entry-content li,
.wpf-pinned-accordion-body li {
  margin: 0.4rem 0;
}
.single-post .entry-content .summary-box,
.wpf-pinned-accordion-body .summary-box {
  background: #f9f9f9;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin: 1.25rem 0;
  font-size: 0.95rem;
  color: #475569;
}
