/*
Theme Name: Haleulu
Theme URI: https://haleulu.example.jp
Author: Haleulu
Description: Haleulu brand site - original WordPress theme. TOAL-aligned corporate + brand ref clones.
Version: 1.3.0
Requires at least: 6.0
Requires PHP: 8.0
License: Proprietary
Text Domain: haleulu
Tags: brand, editorial, custom-logo, custom-menu, featured-images, translation-ready
*/

/**
 * テーマメタ + WP 下層ユーティリティ（ビジュアル正本は corp-base.css）
 * トークンは corp-base の --primary / --accent / --bg 等を参照する
 */

html {
  font-size: 62.5%; /* 1rem = 10px（ブラウザ既定16px時） */
}

:root {
  --container-max: 108rem;
  --container-narrow: 76rem;
  --header-height: 7.2rem;
  --font-sans: "Yu Mincho", "YuMincho", "游明朝", "游明朝体", "Noto Serif JP", "Roboto Slab", Garamond, "Times New Roman", "Hiragino Mincho Pro", "HGS明朝E", serif;
  --font-mincho: "Yu Mincho", "YuMincho", "游明朝", "游明朝体", "Noto Serif JP", "Roboto Slab", Garamond, "Times New Roman", "Hiragino Mincho Pro", "HGS明朝E", serif;
  --font-serif-en: "Yu Mincho", "YuMincho", "游明朝", "游明朝体", "Noto Serif JP", "Roboto Slab", Garamond, "Times New Roman", "Hiragino Mincho Pro", "HGS明朝E", serif;
}

.container {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: 2.4rem;
}
.container-narrow {
  max-width: var(--container-narrow);
  margin-inline: auto;
  padding-inline: 2.4rem;
}

/* Buttons（CF7 / reserve） */
.btn-primary {
  border: 1px solid var(--primary);
  color: var(--primary);
  background: transparent;
}
.btn-primary:hover {
  background: var(--primary);
  color: var(--bg);
  border-color: var(--primary);
  opacity: 1;
}
.btn-accent {
  border: 1px solid var(--accent);
  color: var(--accent);
  background: transparent;
}
.btn-accent:hover {
  background: var(--accent);
  color: var(--bg);
}

/* Generic WP page chrome（page.php 等） */
.section { padding-block: 8rem; }
.section-surface { background: var(--surface); }
@media (min-width: 768px) { .section { padding-block: 16rem; } }
.section-title {
  font-size: 3.2rem;
  margin-bottom: 5.6rem;
  text-align: center;
  color: var(--primary);
}
@media (min-width: 768px) { .section-title { font-size: 4.8rem; } }
.section-lead {
  color: var(--text-sub);
  font-size: 1.6rem;
  max-width: 56rem;
  margin: 0 auto 4.8rem;
  text-align: center;
  line-height: 2;
}
.divider {
  width: 4rem;
  height: 1px;
  background: var(--accent);
  margin: 3.2rem auto;
}
.text-center { text-align: center; }
.mt-0 { margin-top: 0; }

/* Works editorial wrapper（archive 等） */
.works-editorial {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8rem;
}
@media (min-width: 768px) {
  .works-editorial {
    grid-template-columns: 1fr 1fr;
    gap: 12rem 6rem;
  }
  .works-editorial > article:nth-child(even) { margin-top: 8rem; }
}

/* Article body extras */
.entry-content {
  max-width: var(--container-narrow);
  margin-inline: auto;
  padding-block: 6.4rem;
  font-size: 1.7rem;
  line-height: 2.05;
}
.entry-content h2 {
  font-size: 2.8rem;
  margin-top: 2.4em;
  margin-bottom: 0.8em;
  color: var(--primary);
}
.entry-content h3 {
  font-size: 2.2rem;
  margin-top: 2em;
  color: var(--primary);
}
.entry-content img { margin-block: 4rem; }
.entry-content blockquote {
  font-size: 1.4em;
  line-height: 1.8;
  border-left: 1px solid var(--accent);
  padding-left: 3.2rem;
  margin-block: 5.6rem;
  color: var(--text-sub);
}
.entry-content figcaption {
  font-size: 1.3rem;
  color: var(--text-sub);
  text-align: center;
  margin-top: 0.8rem;
  letter-spacing: 0.05em;
}

/* Pagination */
.pagination {
  display: flex;
  justify-content: center;
  gap: 2.4rem;
  padding: 6.4rem 0;
  letter-spacing: 0.1em;
}
.pagination a,
.pagination span {
  padding: 0.8rem 0.4rem;
  color: var(--text);
  border-bottom: 1px solid transparent;
}
.pagination a { border-bottom: 1px solid var(--border); }
.pagination .current {
  border-bottom-color: var(--accent);
  color: var(--accent);
}
