/* ═══════════════════════════════════════════════
   AI節約副業LABO — Content Layout CSS
   記事ページ余白・幅制御
   ═══════════════════════════════════════════════ */

/* ─── Main container ─── */
.site-main {
  padding-inline: clamp(16px, 5vw, 40px);
  padding-top:    clamp(32px, 5vw, 48px);
  padding-bottom: clamp(48px, 8vw, 80px);
}

/* ─── Article: max-width + centering ─── */
.site-main > article {
  max-width: 720px;
  margin-inline: auto;
}

/* ─── Entry header ─── */
.entry-header {
  margin-bottom: clamp(20px, 3vw, 32px);
}

/* ─── Article title ─── */
h1.entry-title {
  font-size:   clamp(22px, 4vw, 32px);
  line-height: 1.45;
  font-family: 'Noto Serif JP', 'Yu Mincho', serif;
  font-weight: 700;
  color:       var(--ink, #3D2817);
  margin:      0;
}

/* ─── Content text ─── */
.entry-content {
  line-height:    1.85;
  word-break:     break-word;
  overflow-wrap:  break-word;
}

.entry-content > * + * {
  margin-top: 1.5em;
}

/* ─── TT25 グローバルスタイルの幅制約をリセット ─── */
.wp-block-post-content {
  max-width: none !important;
  padding:   0    !important;
}

/* ─── Post meta (single.php) ─── */
.entry-meta {
  display:     flex;
  flex-wrap:   wrap;
  gap:         8px 16px;
  margin-top:  10px;
  font-size:   13px;
  color:       var(--ink-soft, #5A3F22);
  font-family: 'Noto Serif JP', serif;
}
.entry-date { letter-spacing: 0.04em; }
.entry-cats a {
  color:           var(--brass-deep, #8B6F2E);
  text-decoration: none;
  border-bottom:   1px solid rgba(139, 111, 46, 0.4);
}
.entry-cats a:hover { border-bottom-color: var(--brass-deep, #8B6F2E); }

/* ─── Prev/Next navigation (single.php) ─── */
.post-navigation {
  margin-top:    clamp(32px, 5vw, 48px);
  padding-top:   24px;
  border-top:    1px solid rgba(139, 111, 46, 0.3);
  font-family:   'Noto Serif JP', serif;
  font-size:     14px;
}
.post-navigation .nav-links {
  display:         flex;
  justify-content: space-between;
  gap:             16px;
}
.post-navigation .nav-previous,
.post-navigation .nav-next { flex: 1; }
.post-navigation .nav-next  { text-align: right; }
.post-navigation a {
  color:           var(--ink, #3D2817);
  text-decoration: none;
  line-height:     1.5;
}
.post-navigation a:hover { color: var(--brass-deep, #8B6F2E); }

/* ─── Archive / Search headers ─── */
.archive-header,
.search-header {
  max-width:     720px;
  margin-inline: auto;
  margin-bottom: clamp(24px, 4vw, 40px);
}
.archive-title,
.search-title {
  font-size:   clamp(20px, 3.5vw, 28px);
  line-height: 1.4;
  font-family: 'Noto Serif JP', serif;
  font-weight: 700;
  color:       var(--ink, #3D2817);
  margin:      0 0 8px;
}
.archive-description {
  font-size: 14px;
  color:     var(--ink-soft, #5A3F22);
}

/* ─── Post list (archive.php / search.php) ─── */
.post-list {
  max-width:     720px;
  margin-inline: auto;
  display:       flex;
  flex-direction: column;
  gap:           clamp(20px, 3vw, 32px);
}
.post-card {
  padding:       clamp(16px, 3vw, 24px);
  border:        1px solid rgba(139, 111, 46, 0.25);
  border-radius: 6px;
  background:    rgba(250, 243, 227, 0.5);
  transition:    box-shadow 0.2s ease, border-color 0.2s ease;
}
.post-card:hover {
  box-shadow:    0 3px 12px rgba(107, 82, 32, 0.12);
  border-color:  rgba(139, 111, 46, 0.5);
}
.post-card-title {
  font-size:   clamp(16px, 2.5vw, 20px);
  line-height: 1.45;
  font-family: 'Noto Serif JP', serif;
  font-weight: 700;
  margin:      0 0 6px;
}
.post-card-title a {
  color:           var(--ink, #3D2817);
  text-decoration: none;
}
.post-card-title a:hover { color: var(--brass-deep, #8B6F2E); }
.post-card-excerpt {
  font-size:   14px;
  color:       var(--ink-soft, #5A3F22);
  margin-top:  8px;
  line-height: 1.75;
}

/* ─── No results ─── */
.no-results {
  max-width:     720px;
  margin-inline: auto;
  font-size:     15px;
  color:         var(--ink-soft, #5A3F22);
  padding:       32px 0;
}

/* ─── Pagination ─── */
.nav-links .page-numbers {
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  min-width:       36px;
  height:          36px;
  padding:         0 8px;
  border:          1px solid rgba(139, 111, 46, 0.3);
  border-radius:   4px;
  color:           var(--ink, #3D2817);
  text-decoration: none;
  font-size:       14px;
  font-family:     'Noto Serif JP', serif;
}
.nav-links .page-numbers.current {
  background:   var(--brass, #D4A95A);
  border-color: var(--brass-deep, #8B6F2E);
  color:        var(--ink, #3D2817);
  font-weight:  700;
}
.nav-links .page-numbers:hover:not(.current) {
  background:  rgba(212, 169, 90, 0.15);
  border-color: var(--brass-deep, #8B6F2E);
}

/* ─── 共有ボタン（fp-btn）─ front-page / archive / single で共用 ── */
.fp-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  padding: 0.75em 1.75em;
  border-radius: 3px;
  font-family: var(--font-ui, 'Manrope', sans-serif);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  transition: opacity 0.15s, transform 0.15s;
  border: none;
  cursor: pointer;
}
.fp-btn:hover {
  opacity: 0.85;
  transform: translateY(-1px);
  text-decoration: none;
}
.fp-btn-primary {
  background: var(--neon, #4FC3F7);
  color: var(--dark-plate, #1C1007);
}
.fp-btn-secondary {
  background: transparent;
  color: var(--brass-light, #E8C77E);
  border: 1.5px solid var(--brass, #D4A95A);
}

/* ─── 共有カード（fp-post-card）─ front-page / archive / single で共用 ── */
.fp-post-card {
  background: #fff;
  border: 1px solid var(--brass-shadow, #6B5220);
  border-top: 3px solid var(--brass, #D4A95A);
  border-radius: 2px;
  overflow: hidden;
  transition: box-shadow 0.2s, transform 0.2s;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
}
.fp-post-card:hover {
  box-shadow: 0 4px 20px rgba(107, 82, 32, 0.18);
  transform: translateY(-2px);
  text-decoration: none;
}
.fp-post-thumb {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--ivory, #F4EBD8);
}
.fp-post-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}
.fp-post-card:hover .fp-post-thumb img { transform: scale(1.03); }
.fp-post-body {
  padding: 1.25rem;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.fp-post-cat {
  font-family: var(--font-ui, 'Manrope', sans-serif);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--brass-mid, #B8893A);
}
.fp-post-title {
  font-family: var(--font-body, 'Noto Serif JP', serif);
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--ink, #3D2817);
  margin: 0;
}
.fp-post-date {
  font-family: var(--font-ui, 'Manrope', sans-serif);
  font-size: 0.72rem;
  color: var(--brass-deep, #8B6F2E);
  margin-top: auto;
  padding-top: 0.5rem;
}
