/* Premium Premier Cinematic */
body { background: var(--wp--preset--color--base); color: var(--wp--preset--color--contrast); }

/* Fixed header: 半透明ダーク+blur で動画ヒーロー上に自然に乗る (v3.21.0 復元) */
.site-header-fixed {
  width: 100%; left: 0; right: 0;
  background: linear-gradient(180deg, rgba(5,5,7,0.78) 0%, rgba(5,5,7,0.45) 70%, rgba(5,5,7,0) 100%);
  backdrop-filter: blur(8px) saturate(140%);
  -webkit-backdrop-filter: blur(8px) saturate(140%);
  border-bottom: 1px solid rgba(200,154,74,0.18);
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
  z-index: 20;
}
.site-header-fixed,
.site-header-fixed > .wp-block-group,
.site-header-fixed .wp-block-group,
.site-header-fixed .wp-block-group.is-layout-flex,
.site-header-fixed .wp-block-group.is-content-justification-center {
  display: flex !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 1.2rem !important;
  flex-wrap: nowrap !important;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  max-width: 100% !important;
  width: 100% !important;
}
/* 管理バー (logged-in) 表示時はヘッダーをその下に押し下げてアカウント情報と重ねない */
body.admin-bar .site-header-fixed { top: 32px !important; }
@media (max-width: 782px) {
  body.admin-bar .site-header-fixed { top: 46px !important; }
}
.site-header-fixed .wp-block-site-title {
  font-size: 16px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
  letter-spacing: 0.06em !important;
  line-height: 1 !important;
}
.site-header-fixed .wp-block-site-title a {
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
  white-space: nowrap !important;
  text-shadow: 0 1px 4px rgba(0,0,0,0.6);
}
.site-header-fixed .wp-block-navigation,
.site-header-fixed .wp-block-navigation a,
.site-header-fixed .wp-block-page-list,
.site-header-fixed .wp-block-page-list a {
  font-size: 10px !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap !important;
  line-height: 1 !important;
}
.site-header-fixed .wp-block-navigation a { color: var(--wp--preset--color--muted); text-decoration: none; }
.site-header-fixed .wp-block-navigation a:hover { color: var(--wp--preset--color--accent); }
/* ナビ/ページ一覧を必ず横一列に (縦並びを完全に阻止) */
.site-header-fixed .wp-block-navigation,
.site-header-fixed .wp-block-navigation__container,
.site-header-fixed .wp-block-navigation ul,
.site-header-fixed .wp-block-page-list,
.site-header-fixed ul.wp-block-page-list,
.site-header-fixed .wp-block-navigation .wp-block-page-list {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1.6rem !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.site-header-fixed .wp-block-navigation li,
.site-header-fixed .wp-block-page-list > li,
.site-header-fixed .wp-block-navigation__container > li {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Hero video — フル画面 (初期サイズ) */
.hero-video-section {
  position: relative; width: 100%;
  height: 100vh; min-height: 720px;
  overflow: hidden; background: var(--wp--preset--color--base);
}
.hero-bg-mount { position: absolute; inset: 0; }
.hero-bg-video, .hero-bg-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.7) contrast(1.05); }
/* ハーフトーンドット overlay (ドット感・粒状感) */
.hero-bg-mount::after {
  content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(255,255,255,0.10) 1px, transparent 1.4px),
    radial-gradient(circle at 2px 2px, rgba(0,0,0,0.10) 1px, transparent 1.4px);
  background-size: 4px 4px, 4px 4px;
  background-position: 0 0, 2px 2px;
  mix-blend-mode: overlay;
  opacity: 0.55;
}
/* 動画全体に薄ベール (透明感) */
.hero-bg-mount::before {
  content: ''; position: absolute; inset: 0; pointer-events: none; z-index: 1;
  background: linear-gradient(180deg, rgba(80,90,110,0.10), rgba(20,20,30,0.18));
  mix-blend-mode: soft-light;
}
.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(5,5,7,.25) 0%, rgba(5,5,7,.02) 30%, rgba(5,5,7,.55) 100%);
  z-index: 2;
}
.hero-content {
  position: absolute;
  bottom: clamp(0.5rem, 1.5vw, 1.5rem);
  left:   clamp(1rem, 3vw, 3rem);
  right:  clamp(1rem, 3vw, 3rem);
  z-index: 3; max-width: 920px;
}
.hero-eyebrow {
  font-family: var(--wp--preset--font-family--inter);
  font-size: 12px; letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--wp--preset--color--accent); margin: 0 0 1.5rem;
}
.hero-title {
  font-family: var(--wp--preset--font-family--serif);
  font-size: clamp(28px, 4.8vw, 80px);
  line-height: 1.05; letter-spacing: -0.02em;
  font-weight: 400; margin: 0; color: #fff;
  max-width: none;
}
.hero-title br { display: block; line-height: 0; content: ''; }
.hero-sub {
  font-family: var(--wp--preset--font-family--inter);
  color: var(--wp--preset--color--muted);
  margin: clamp(0.5rem, 1.5vw, 1rem) 0 0.4rem;
  font-size: clamp(12px, 1.5vw, 16px);
  max-width: 560px;
}
.hero-eyebrow {
  font-size: clamp(10px, 1.1vw, 12px);
}

/* Ticker */
.hero-ticker {
  display: flex; gap: 2.5rem; flex-wrap: wrap;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 13px; letter-spacing: 0.1em;
  border-top: 1px solid var(--wp--preset--color--grid);
  padding-top: 1.5rem;
}
.ticker-item { display: inline-flex; gap: 0.6rem; }
.ticker-label { color: var(--wp--preset--color--muted); }
.ticker-val.up { color: var(--wp--preset--color--data-up); }
.ticker-val.down { color: var(--wp--preset--color--data-down); }

/* Parallax */
.parallax-section img.wp-block-cover__image-background {
  transition: transform 1.6s cubic-bezier(.2,.7,.2,1);
  filter: brightness(0.7) contrast(1.05);
  transform: translateZ(0) scale(1.12);
}
.parallax-section.is-visible img.wp-block-cover__image-background { transform: translateZ(0) scale(1); }

/* Data stat row */
.data-stat-row {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem;
  margin-top: 3rem; padding: 2rem 0;
  border-top: 1px solid var(--wp--preset--color--grid);
}
.data-stat { font-family: var(--wp--preset--font-family--mono); }
.data-label {
  font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--wp--preset--color--muted); margin-bottom: 0.4rem;
}
.data-value {
  font-family: var(--wp--preset--font-family--serif);
  font-size: clamp(40px, 5vw, 64px); line-height: 1; letter-spacing: -0.02em;
  color: var(--wp--preset--color--contrast);
}
.data-delta { font-size: 12px; letter-spacing: 0.1em; margin-top: 0.5rem; }
.data-delta.up { color: var(--wp--preset--color--data-up); }
.data-delta.down { color: var(--wp--preset--color--data-down); }

/* Data viz canvas */
.data-viz-canvas {
  display: block; width: 100%; height: auto;
  margin-top: 4rem;
  background: var(--wp--preset--color--soft);
  border: 1px solid var(--wp--preset--color--grid);
}

/* Fade-in — 巨大要素 (single 2カラム等) で is-visible が発火せず透明化するバグを回避するため、常時不透明に */
.fade-in,
.wp-block-columns.fade-in,
.wp-block-group.fade-in,
.wp-block-post-content.fade-in,
.premier-single-cols,
.wp-block-post-content {
  opacity: 1 !important;
  transform: none !important;
  transition: opacity .4s ease;
}
.fade-in.is-visible { opacity: 1 !important; transform: none !important; }

.wp-block-button__link { transition: background-color .3s ease, color .3s ease, letter-spacing .3s ease; }
.wp-block-button__link:hover { letter-spacing: 0.2em; }

/* =================================================================
 * 全ブロック文字色強制 (dark テーマで黒地に黒バグ防止)
 * ================================================================= */
body,
.wp-block-group,
.wp-block-query,
.wp-block-query .wp-block-post,
.wp-block-query-title,
.wp-block-query-title a,
.wp-block-post-title,
.wp-block-post-title a,
.wp-block-post-excerpt,
.wp-block-post-excerpt p,
.wp-block-post-date,
.wp-block-post-date time,
.wp-block-post-content,
.wp-block-post-content p,
.wp-block-archive-title,
.wp-block-term-description,
main, article, section {
  color: var(--wp--preset--color--contrast);
}
.wp-block-query-title,
.wp-block-archive-title,
h1.wp-block-post-title,
h2.wp-block-post-title {
  color: var(--wp--preset--color--contrast) !important;
}
.wp-block-post-title a,
.wp-block-query-title a {
  color: var(--wp--preset--color--contrast) !important;
  text-decoration: none;
}
.wp-block-post-title a:hover,
.wp-block-query-title a:hover {
  color: var(--wp--preset--color--accent) !important;
}
.wp-block-post-excerpt,
.wp-block-post-excerpt p,
.wp-block-post-excerpt__excerpt {
  color: var(--wp--preset--color--muted) !important;
}
.wp-block-post-date,
.wp-block-post-date time {
  color: var(--wp--preset--color--accent) !important;
}

/* =================================================================
 * Article body — 本番記事レンダリング (post-content)
 * ニッケイちゃんブログの既存 Gutenberg 記事をそのまま表示
 * ================================================================= */
.wp-block-post-content {
  font-family: var(--wp--preset--font-family--inter);
  font-size: 18px;
  line-height: 1.85;
  color: var(--wp--preset--color--contrast);
}

/* Featured image (single) — ヘッダー下に余白を取り、画像は本来の比率で全体表示 */
.wp-block-post-featured-image {
  margin: 110px auto 3rem !important;  /* 上 110px = fixed header(約80px) + 余白 */
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
  text-align: center;
}
.wp-block-post-featured-image a,
.wp-block-post-featured-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  position: static !important;
  inset: auto !important;
  filter: none;
}
@media (max-width: 640px) {
  .wp-block-post-featured-image { margin-top: 90px !important; }
}

/* Headings inside article */
.wp-block-post-content h1,
.wp-block-post-content h2,
.wp-block-post-content h3,
.wp-block-post-content h4 {
  font-family: var(--wp--preset--font-family--serif);
  color: var(--wp--preset--color--contrast);
  letter-spacing: -0.01em;
  margin: 3.5rem 0 1.2rem;
  line-height: 1.25;
}
.wp-block-post-content h2 {
  font-size: clamp(28px, 3.4vw, 40px);
  border-top: 1px solid var(--wp--preset--color--grid);
  padding-top: 2.5rem;
}
.wp-block-post-content h3 { font-size: clamp(22px, 2.4vw, 28px); }
.wp-block-post-content h4 { font-size: 20px; color: var(--wp--preset--color--accent); }

/* Paragraphs */
.wp-block-post-content p { margin: 1.2rem 0 1.6rem; }
.wp-block-post-content p:first-of-type { font-size: 1.08em; }

/* Inline link */
.wp-block-post-content a {
  color: var(--wp--preset--color--accent);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
.wp-block-post-content a:hover { text-decoration-thickness: 2px; }

.wp-block-post-content strong, .wp-block-post-content b { font-weight: 700; }
.wp-block-post-content em, .wp-block-post-content i { font-style: italic; color: var(--wp--preset--color--muted); }

/* Images — 記事本文の挿絵は元のアスペクト比を保つ (枠強制やめ、自然レイアウト) */
.wp-block-post-content figure,
.wp-block-post-content .wp-block-image {
  margin: 2rem auto !important;
  max-width: 100% !important;
  position: static !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
  border-radius: 2px;
  background: transparent;
  text-align: center;
}
.wp-block-post-content figure img,
.wp-block-post-content .wp-block-image img,
.wp-block-post-content img {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: initial !important;
  display: block !important;
  margin: 0 auto !important;
  box-sizing: border-box;
}
/* タイトル/h1強制サイズ — theme.json fontSize:hero の暴走を上書き */
.wp-block-post-title,
h1.wp-block-post-title,
body.single .wp-block-post-title,
body.page h1 {
  font-size: clamp(24px, 3vw, 40px) !important;
  line-height: 1.3 !important;
  letter-spacing: -0.005em !important;
  margin-bottom: 1.5rem !important;
}
/* 記事本文の画像は親カラム幅にピタッと収める (はみ出し禁止)
   alignfull/alignwide は2カラムレイアウトで暴れるので、親100%に統一 */
.wp-block-post-content .wp-block-image,
.wp-block-post-content .wp-block-image.alignfull,
.wp-block-post-content .wp-block-image.alignwide,
.wp-block-post-content figure.alignfull,
.wp-block-post-content figure.alignwide {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}
.wp-block-post-content .wp-block-image.alignfull img,
.wp-block-post-content .wp-block-image.alignwide img,
.wp-block-post-content figure.alignfull img,
.wp-block-post-content figure.alignwide img {
  position: static !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: initial !important;
  margin: 0 auto !important;
  display: block !important;
}
/* figcaptionは画像の下に通常配置 (重ねない) */
.wp-block-post-content figure figcaption,
.wp-block-post-content .wp-block-image figcaption {
  position: static !important;
  left: auto; right: auto; bottom: auto;
  margin: 0.8rem 0 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  text-align: center;
  z-index: auto;
}
.wp-block-post-content .wp-block-image.alignleft  { float: left;  margin: 0.5rem 2rem 1.5rem 0; max-width: 50%; }
.wp-block-post-content .wp-block-image.alignright { float: right; margin: 0.5rem 0 1.5rem 2rem; max-width: 50%; }
.wp-block-post-content .wp-block-image.aligncenter { margin-left: auto; margin-right: auto; text-align: center; }

/* Caption */
.wp-block-post-content figcaption,
.wp-block-post-content .wp-element-caption {
  font-family: var(--wp--preset--font-family--inter);
  font-size: 13px; color: var(--wp--preset--color--muted);
  letter-spacing: 0.04em; margin-top: 0.8rem; text-align: center; line-height: 1.5;
}

/* Blockquote */
.wp-block-post-content blockquote,
.wp-block-post-content .wp-block-quote {
  border-left: 3px solid var(--wp--preset--color--accent);
  margin: 3rem 0; padding: 0.5rem 0 0.5rem 2rem;
  font-family: var(--wp--preset--font-family--serif);
  font-style: italic; font-size: 22px; line-height: 1.6;
}
.wp-block-post-content blockquote cite,
.wp-block-post-content .wp-block-quote cite {
  display: block; margin-top: 1rem;
  font-family: var(--wp--preset--font-family--inter);
  font-style: normal; font-size: 14px; letter-spacing: 0.08em;
  color: var(--wp--preset--color--muted);
}

.wp-block-pullquote {
  border-top: 1px solid var(--wp--preset--color--grid);
  border-bottom: 1px solid var(--wp--preset--color--grid);
  padding: 3rem 0; margin: 4rem 0; text-align: center;
}
.wp-block-pullquote p { font-family: var(--wp--preset--font-family--serif); font-size: clamp(28px, 3.2vw, 40px); line-height: 1.3; }

/* Lists */
.wp-block-post-content ul,
.wp-block-post-content ol { margin: 1.5rem 0 2rem 1.5rem; padding-left: 1rem; }
.wp-block-post-content li { margin: 0.6rem 0; }

/* Table */
.wp-block-post-content table,
.wp-block-table table { width: 100%; border-collapse: collapse; margin: 2.5rem 0; font-size: 15px; }
.wp-block-post-content th,
.wp-block-table th {
  background: var(--wp--preset--color--soft); font-weight: 600; text-align: left;
  padding: 0.9rem 1rem; border-bottom: 2px solid var(--wp--preset--color--accent);
}
.wp-block-post-content td,
.wp-block-table td { padding: 0.8rem 1rem; border-bottom: 1px solid var(--wp--preset--color--grid); }

/* Code / pre */
.wp-block-post-content code {
  font-family: var(--wp--preset--font-family--mono);
  background: var(--wp--preset--color--soft);
  padding: 0.1em 0.4em; border-radius: 2px; font-size: 0.92em;
  color: var(--wp--preset--color--accent);
}
.wp-block-post-content pre,
.wp-block-code {
  background: var(--wp--preset--color--soft);
  border: 1px solid var(--wp--preset--color--grid);
  border-radius: 2px; padding: 1.5rem; overflow-x: auto; margin: 2rem 0;
}
.wp-block-post-content pre code,
.wp-block-code code { background: transparent; padding: 0; color: var(--wp--preset--color--contrast); }

.wp-block-embed { margin: 3rem 0; }
.wp-block-embed iframe { max-width: 100%; }
.wp-block-separator { border: none; border-top: 1px solid var(--wp--preset--color--grid); margin: 4rem auto; max-width: 200px; }
.wp-block-gallery { margin: 3rem 0; }

/* Archive / index card */
.wp-block-query .wp-block-post { margin-bottom: 5rem; padding-bottom: 5rem; border-bottom: 1px solid var(--wp--preset--color--grid); }
.wp-block-query .wp-block-post-featured-image { margin-bottom: 2rem; }
.wp-block-query .wp-block-post-featured-image img {
  width: 100%; height: auto; object-fit: cover;
  transition: transform 0.6s cubic-bezier(.2,.7,.2,1), filter 0.6s;
  filter: brightness(0.9);
}
.wp-block-query .wp-block-post-featured-image:hover img { transform: scale(1.02); filter: brightness(1); }
.wp-block-query .wp-block-post-title a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.wp-block-query .wp-block-post-title a:hover { color: var(--wp--preset--color--accent); }
.wp-block-query .wp-block-post-excerpt { color: var(--wp--preset--color--muted); font-size: 16px; line-height: 1.7; margin-top: 1rem; }

.wp-block-query-pagination {
  display: flex; gap: 1rem; justify-content: center; margin-top: 5rem;
  font-family: var(--wp--preset--font-family--mono); letter-spacing: 0.1em;
}
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
  padding: 0.6rem 1rem;
  border: 1px solid var(--wp--preset--color--grid);
  color: var(--wp--preset--color--contrast); text-decoration: none;
}
.wp-block-query-pagination a:hover { border-color: var(--wp--preset--color--accent); color: var(--wp--preset--color--accent); }
.wp-block-query-pagination .current {
  background: var(--wp--preset--color--accent); color: var(--wp--preset--color--base); border-color: var(--wp--preset--color--accent);
}

/* =================================================================
 * Front page: latest posts grid + category loops
 * ================================================================= */
/* WPコアの latest-posts ul に対して grid を確実に効かせる + 完全レスポンシブ */
ul.premier-latest-posts,
ul.premier-latest-posts.wp-block-latest-posts__list,
.premier-latest-posts {
  list-style: none !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 2vw, 2rem) clamp(0.8rem, 1.5vw, 1.5rem) !important;
  padding: 0 !important;
  margin: 1.5rem 0 0 !important;
  width: 100% !important;
  max-width: none !important;
  columns: auto !important;
}
.premier-latest-posts > li,
ul.premier-latest-posts > li {
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  list-style: none !important;
}
.premier-latest-posts > li > *,
.premier-latest-posts a {
  word-break: normal !important;
  overflow-wrap: break-word !important;
}
.premier-latest-posts .wp-block-latest-posts__featured-image {
  position: relative !important;
  width: 100% !important;
  padding-top: 56.25% !important; /* 16:9 物理アスペクト */
  overflow: hidden !important;
  margin: 0 0 0.8rem !important;
  background: var(--wp--preset--color--ink); /* v3.21.0: 白→ダーク、空サムネを目立たせない */
}
.premier-latest-posts .wp-block-latest-posts__featured-image a,
.premier-latest-posts .wp-block-latest-posts__featured-image img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important; /* v3.22.0: cover→contain、画像中身を切らずに全体表示 */
  object-position: center !important;
  display: block !important;
  margin: 0 !important;
  filter: none;
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.premier-latest-posts .wp-block-latest-posts__featured-image:hover img { filter: brightness(1); transform: scale(1.02); }
.premier-latest-posts .wp-block-latest-posts__post-title,
.premier-latest-posts a {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 20px; line-height: 1.4; color: var(--wp--preset--color--contrast);
  text-decoration: none; display: block; margin: 1rem 0 0.4rem;
}
.premier-latest-posts a:hover { color: var(--wp--preset--color--accent); }
.premier-latest-posts .wp-block-latest-posts__post-date {
  font-family: var(--wp--preset--font-family--mono); font-size: 12px;
  letter-spacing: 0.2em; color: var(--wp--preset--color--accent); text-transform: uppercase;
}
.premier-latest-posts .wp-block-latest-posts__post-excerpt {
  color: var(--wp--preset--color--muted); font-size: 14px; line-height: 1.6; margin-top: 0.6rem;
}

/* Category list — pill / chip 型 (密集、横並び) */
.premier-front-cats, .premier-footer-cats {
  list-style: none !important; padding: 0 !important; margin: 1.5rem 0 0 !important;
  display: flex !important; flex-wrap: wrap; gap: 0.5rem;
  columns: auto !important;
}
.premier-front-cats li, .premier-footer-cats li {
  margin: 0; break-inside: auto;
}
.premier-front-cats a, .premier-footer-cats a {
  display: inline-block;
  font-family: var(--wp--preset--font-family--inter); font-size: 13px;
  letter-spacing: 0.05em;
  color: #ece4cf !important;
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid rgba(200,154,74,0.45) !important;
  padding: 0.4rem 0.95rem; border-radius: 999px;
  text-decoration: none;
  transition: background .2s, color .2s, border-color .2s;
}
.premier-front-cats a:hover, .premier-footer-cats a:hover {
  background: var(--wp--preset--color--accent); color: var(--wp--preset--color--base);
  border-color: var(--wp--preset--color--accent);
}
.premier-front-cats .post-count, .premier-footer-cats .post-count {
  color: var(--wp--preset--color--muted); font-size: 10px;
  font-family: var(--wp--preset--font-family--mono); margin-left: 0.3rem;
}

/* =================================================================
 * Category loops (PHP shortcode) — Bloomberg/NHK 風コンパクト密集レイアウト
 * 左カラム: 見出し + 件数 + 「すべて見る」、右カラム: 4列の小カード
 * ================================================================= */
.premier-cat-loops {
  padding: clamp(1.5rem, 3vw, 3rem) clamp(1rem, 2.5vw, 2.5rem) clamp(2rem, 5vw, 5rem);
  max-width: 1680px; margin: 0 auto;
}
.premier-cat-section {
  display: grid;
  grid-template-columns: clamp(140px, 18vw, 220px) 1fr;
  gap: clamp(1rem, 2vw, 2.5rem);
  padding: clamp(1.2rem, 2vw, 2rem) 0;
  border-top: 1px solid var(--wp--preset--color--grid);
  align-items: start;
}
.premier-cat-head { position: sticky; top: 5rem; }
.premier-cat-eyebrow { display: none; } /* 重複除去 */
.premier-cat-title {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 20px; line-height: 1.25; margin: 0 0 0.4rem;
  letter-spacing: -0.005em;
}
.premier-cat-title a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.premier-cat-title a:hover { color: var(--wp--preset--color--accent); }
.premier-cat-count {
  font-family: var(--wp--preset--font-family--mono); font-size: 10px;
  color: var(--wp--preset--color--muted); letter-spacing: 0.15em;
  text-transform: uppercase;
  display: inline-block; margin-top: 0.2rem;
  padding-top: 0.4rem; border-top: 1px solid var(--wp--preset--color--grid);
}
.premier-cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(clamp(140px, 14vw, 200px), 1fr));
  gap: clamp(0.8rem, 1.2vw, 1.4rem) clamp(0.6rem, 1vw, 1rem);
  margin: 0;
}
.premier-card { background: transparent; }
.premier-card-link { display: block; color: inherit; text-decoration: none; }
/* ラッパー方式: padding-top で物理アスペクト固定 (aspect-ratio が効かない環境でも確実) */
/* v3.21.0: 背景を ink (dark) に。soft (#efefea) だとサムネ未生成時に真っ白で空白カードに見える */
.premier-card-thumb-wrap {
  position: relative !important;
  width: 100% !important;
  padding-top: 56.25% !important; /* v3.22.0: 4:3→16:9、premier-wide(1600x900) と一致させトリミング消滅 */
  overflow: hidden !important;
  background: var(--wp--preset--color--ink);
}
img.premier-card-thumb,
.premier-card .premier-card-thumb,
.premier-card-thumb-wrap img,
.premier-card-thumb {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important; /* v3.22.0: cover→contain、画像中身を切らない */
  object-position: center !important;
  margin: 0 !important;
  filter: none;
  transition: transform .4s ease;
}
.premier-card-link:hover .premier-card-thumb { filter: brightness(1); transform: scale(1.02); }
.premier-card-body { padding: 0.55rem 0 0; }
.premier-card-date {
  font-family: var(--wp--preset--font-family--mono); font-size: 10px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--wp--preset--color--accent); margin-bottom: 0.25rem;
}
.premier-card-title {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 13.5px; line-height: 1.35; margin: 0;
  color: var(--wp--preset--color--contrast);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.premier-card-link:hover .premier-card-title { color: var(--wp--preset--color--accent); }
.premier-card-excerpt { display: none; } /* 密度確保のため非表示 */
.premier-cat-more {
  margin-top: 1.2rem;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px; letter-spacing: 0.25em; text-transform: uppercase;
}
.premier-cat-more a {
  color: var(--wp--preset--color--accent); text-decoration: none;
  border-bottom: none; padding-bottom: 0;
  transition: letter-spacing .25s ease;
}
.premier-cat-more a:hover { letter-spacing: 0.35em; }

/* Tablet (900px以下): カテゴリループは縦積み、ヘッダー縮小 */
/* 固定ページのテーマ装飾は撤去 — マスターが投稿エディタで自由に編集する */

/* =================================================================
 * SEO/UX 強化要素 — TOC / 読了時間 / シェア / 前後ナビ / タグ
 * ================================================================= */
/* 読了時間 */
.premier-read-time {
  display: inline-block; margin-left: 1rem;
  font-family: var(--wp--preset--font-family--mono); font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--wp--preset--color--muted);
}
/* 目次 — v3.23.0: ink(#1a1a1c)が濃すぎたため一段明るい #26262e に */
.premier-toc {
  background: #26262e;
  border: 1px solid rgba(200,154,74,0.18);
  border-left: 3px solid var(--wp--preset--color--accent);
  padding: 1.5rem 2rem; margin: 2.5rem 0;
  border-radius: 2px;
  color: var(--wp--preset--color--contrast);
}
.premier-toc-title {
  font-family: var(--wp--preset--font-family--mono); font-size: 11px;
  letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--wp--preset--color--accent); margin: 0 0 1rem;
}
.premier-toc ol { padding-left: 1.2rem; margin: 0; counter-reset: toc; }
.premier-toc li { margin: 0.4rem 0; list-style: none; counter-increment: toc; position: relative; padding-left: 1.2rem; }
.premier-toc li::before {
  content: counter(toc, decimal-leading-zero) ". ";
  position: absolute; left: -0.4rem; top: 0;
  font-family: var(--wp--preset--font-family--mono); font-size: 11px;
  color: var(--wp--preset--color--muted); letter-spacing: 0.08em;
}
.premier-toc li.premier-toc-l3 { padding-left: 2.2rem; font-size: 13px; }
.premier-toc li.premier-toc-l3::before { left: 0.6rem; content: "—  "; }
.premier-toc a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.premier-toc a:hover { color: var(--wp--preset--color--accent); text-decoration: underline; text-underline-offset: 4px; }

/* シェアボタン */
.premier-share { margin: 3rem 0 2rem; padding-top: 1.5rem; border-top: 1px solid var(--wp--preset--color--grid); }
.premier-share-title {
  font-family: var(--wp--preset--font-family--mono); font-size: 10px;
  letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--wp--preset--color--accent); margin: 0 0 0.8rem;
}
.premier-share-buttons { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.premier-share-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 44px; height: 38px; padding: 0 0.9rem;
  border-radius: 2px;
  font-family: var(--wp--preset--font-family--mono); font-size: 13px;
  font-weight: 600; letter-spacing: 0.05em;
  text-decoration: none; color: #fff;
  transition: transform .15s ease, filter .15s ease;
}
.premier-share-btn:hover { transform: translateY(-2px); filter: brightness(1.1); }
.premier-share-btn.x  { background: #000; border: 1px solid #fff; }
.premier-share-btn.fb { background: #1877f2; }
.premier-share-btn.line { background: #06c755; }
.premier-share-btn.hb { background: #00a4de; }

/* 前後記事ナビ */
.premier-post-nav {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;
  margin: 3rem 0 2rem;
}
.premier-nav-item {
  display: flex; gap: 1rem; padding: 1rem;
  background: #26262e; /* v3.23.0: 一段明るく */
  border: 1px solid rgba(200,154,74,0.18);
  border-radius: 4px; color: var(--wp--preset--color--contrast); text-decoration: none;
  transition: border-color .2s, transform .2s;
}
.premier-nav-item:hover { border-color: var(--wp--preset--color--accent); transform: translateY(-2px); }
.premier-nav-thumb-wrap {
  position: relative; flex-shrink: 0;
  width: 88px; height: 66px; overflow: hidden;
  background: var(--wp--preset--color--base);
}
.premier-nav-meta { display: flex; flex-direction: column; justify-content: center; min-width: 0; flex: 1; }
.premier-nav-label {
  font-family: var(--wp--preset--font-family--mono); font-size: 10px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--wp--preset--color--accent); margin-bottom: 0.3rem;
}
.premier-nav-next .premier-nav-meta { text-align: right; align-items: flex-end; }
.premier-nav-title { font-size: 13px; line-height: 1.4; color: var(--wp--preset--color--contrast); }
.premier-nav-item:hover .premier-nav-title { color: var(--wp--preset--color--accent); }
/* v3.24.0: wpautop が <a> を勝手に閉じて空の <a>/<p> を再挿入する問題を握りつぶす */
.premier-post-nav > p { display: none !important; }
.premier-nav-item:empty { display: none !important; }
.premier-nav-item > p:empty { display: none !important; }

/* v3.24.0: フッターのリンクは hover で文字色変化 (page-list / categories / その他リンク全部) */
footer.wp-block-group a,
footer.wp-block-group .wp-block-page-list a,
footer.wp-block-group .wp-block-categories a {
  color: var(--wp--preset--color--contrast);
  text-decoration: none;
  transition: color .2s ease;
}
footer.wp-block-group a:hover,
footer.wp-block-group .wp-block-page-list a:hover,
footer.wp-block-group .wp-block-categories a:hover {
  color: var(--wp--preset--color--accent);
}

/* タグ */
.premier-post-tags { margin: 2.5rem 0 1rem; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.premier-tag {
  display: inline-block;
  font-family: var(--wp--preset--font-family--mono); font-size: 11px;
  letter-spacing: 0.05em;
  padding: 0.3rem 0.7rem;
  border: 1px solid var(--wp--preset--color--grid);
  background: var(--wp--preset--color--soft);
  color: var(--wp--preset--color--muted);
  text-decoration: none;
  border-radius: 2px;
  transition: color .2s, border-color .2s, background .2s;
}
.premier-tag:hover { color: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); }
.premier-tag-cat { color: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); }

@media (max-width: 640px) {
  .premier-post-nav { grid-template-columns: 1fr; }
  .premier-nav-next .premier-nav-meta { text-align: left; align-items: flex-start; }
}

/* =================================================================
 * Single article — 2カラム + サイドバー + 関連 + 著者 + パンくず
 * ================================================================= */
.premier-breadcrumb {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--wp--preset--color--muted);
  margin: 0 0 1rem;
  display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center;
}
.premier-breadcrumb a {
  color: var(--wp--preset--color--muted); text-decoration: none;
  border-bottom: 1px solid transparent; padding-bottom: 2px;
  transition: color .2s, border-color .2s;
}
.premier-breadcrumb a:hover { color: var(--wp--preset--color--accent); border-color: var(--wp--preset--color--accent); }
.premier-breadcrumb .premier-bc-sep { color: var(--wp--preset--color--grid); }
.premier-breadcrumb .premier-bc-current { color: var(--wp--preset--color--contrast); }

.premier-single-cols { gap: clamp(1.5rem, 3vw, 3.5rem) !important; }
.premier-single-cols > .wp-block-column { min-width: 0; }

.premier-sidebar-inner { display: flex; flex-direction: column; gap: 2rem; position: sticky; top: 5rem; }
.premier-side-widget {
  padding: 1.2rem 1.2rem 1.4rem;
  background: #26262e; /* v3.23.0: 一段明るく */
  border: 1px solid rgba(200,154,74,0.15);
  border-radius: 4px;
  color: var(--wp--preset--color--contrast);
}
.premier-side-title {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px; letter-spacing: 0.25em; text-transform: uppercase;
  color: var(--wp--preset--color--accent);
  margin: 0 0 1rem;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid var(--wp--preset--color--grid);
}
/* 検索ボックス */
.premier-side-search form { display: flex; gap: 0; }
.premier-side-search input[type="search"] {
  flex: 1; min-width: 0;
  background: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--grid);
  color: var(--wp--preset--color--contrast);
  padding: 0.55rem 0.8rem;
  font-size: 13px;
  border-radius: 2px 0 0 2px;
}
.premier-side-search input[type="search"]:focus {
  outline: none; border-color: var(--wp--preset--color--accent);
}
.premier-side-search button {
  background: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--accent);
  padding: 0.55rem 0.9rem;
  font-size: 14px;
  cursor: pointer;
  border-radius: 0 2px 2px 0;
  font-family: var(--wp--preset--font-family--mono);
}
.premier-side-search button:hover { background: var(--wp--preset--color--contrast); border-color: var(--wp--preset--color--contrast); color: var(--wp--preset--color--base); }
/* 最新記事リスト */
.premier-side-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.9rem; }
.premier-side-list a { display: flex; gap: 0.75rem; color: inherit; text-decoration: none; align-items: flex-start; }
.premier-side-list img.premier-side-thumb {
  position: absolute !important; inset: 0 !important;
  width: 100% !important; height: 100% !important;
  object-fit: contain !important; /* v3.22.0: cover→contain、画像中身を切らない */
  object-position: center !important;
  display: block !important;
}
.premier-side-meta { flex: 1; min-width: 0; }
.premier-side-date {
  font-family: var(--wp--preset--font-family--mono); font-size: 10px;
  letter-spacing: 0.15em; color: var(--wp--preset--color--accent);
  text-transform: uppercase; margin-bottom: 0.2rem;
}
.premier-side-headline {
  font-size: 12.5px; line-height: 1.4;
  color: var(--wp--preset--color--contrast);
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.premier-side-list a:hover .premier-side-headline { color: var(--wp--preset--color--accent); }
/* カテゴリリスト */
.premier-side-cats { list-style: none; padding: 0; margin: 0; }
.premier-side-cats li {
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--wp--preset--color--grid);
  font-size: 13px;
}
.premier-side-cats li:last-child { border-bottom: none; }
.premier-side-cats a {
  display: flex; justify-content: space-between; align-items: center;
  color: var(--wp--preset--color--contrast); text-decoration: none;
}
.premier-side-cats a:hover { color: var(--wp--preset--color--accent); }
.premier-side-cats span {
  font-family: var(--wp--preset--font-family--mono); font-size: 10px;
  color: var(--wp--preset--color--muted); letter-spacing: 0.1em;
  padding: 0.1rem 0.4rem; border: 1px solid var(--wp--preset--color--grid);
  border-radius: 2px;
}

/* 著者ボックス — v3.23.0: 一段明るく */
.premier-author-box {
  margin: 4rem 0 0;
  padding: 2rem;
  background: #26262e;
  border: 1px solid rgba(200,154,74,0.18);
  border-radius: 4px;
  color: var(--wp--preset--color--contrast);
}
.premier-author-flex { display: flex; gap: 1.5rem; align-items: flex-start; }
.premier-author-avatar-wrap {
  flex-shrink: 0;
}
.premier-author-avatar {
  width: 80px; height: 80px; border-radius: 50%; object-fit: cover;
  border: 2px solid var(--wp--preset--color--accent);
}
.premier-author-eyebrow {
  font-family: var(--wp--preset--font-family--mono); font-size: 10px;
  letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--wp--preset--color--accent); margin: 0 0 0.4rem;
}
.premier-author-name {
  font-family: var(--wp--preset--font-family--serif);
  font-size: 20px; margin: 0 0 0.6rem;
}
.premier-author-name a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.premier-author-name a:hover { color: var(--wp--preset--color--accent); }
.premier-author-bio {
  color: var(--wp--preset--color--muted); font-size: 13px; line-height: 1.7;
  margin: 0;
}

/* 関連記事 */
.premier-related { margin-top: 5rem; padding-top: 3rem; border-top: 1px solid var(--wp--preset--color--grid); }
.premier-related-title {
  font-family: var(--wp--preset--font-family--serif);
  font-size: clamp(22px, 2.6vw, 32px);
  margin: 0 0 2rem;
  color: var(--wp--preset--color--contrast);
}
.premier-related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1.5rem 1.2rem;
}

@media (max-width: 900px) {
  .premier-single-cols { flex-wrap: wrap !important; }
  .premier-single-cols > .wp-block-column { flex-basis: 100% !important; width: 100% !important; }
  .premier-sidebar-inner { position: static; }
  .premier-author-flex { flex-direction: column; }
}

@media (max-width: 900px) {
  .premier-cat-section { grid-template-columns: 1fr !important; gap: 0.8rem !important; }
  .premier-cat-head { position: static !important; padding-bottom: 0.5rem; border-bottom: 1px solid var(--wp--preset--color--grid); }
  .premier-cat-grid { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important; }
  /* v3.19.0 マスター指示: モバイル(≤900px)ではヘッダー丸ごと非表示 */
  .site-header-fixed { display: none !important; }
  body.admin-bar .site-header-fixed { display: none !important; }
  .premier-cat-loops { padding: 1.5rem 1rem 3rem; }
}
/* Mobile (640px以下): 1〜2列のテキストヘビー設計、ヒーロー縮小 */
@media (max-width: 640px) {
  .hero-video-section { height: 100vh; min-height: 560px; }
  .hero-content { left: 1rem; right: 1rem; bottom: 0.8rem; }
  .hero-title { font-size: clamp(24px, 8vw, 40px); max-width: 100%; }
  .hero-sub { font-size: 12px; margin: 0.5rem 0 0; }
  .hero-ticker { display: none !important; }
  /* v3.19.0: ≤640px もヘッダー非表示 (上の≤900pxで既に非表示だが念のため明示) */
  .site-header-fixed { display: none !important; }
  /* 最新記事 & カテゴリ別ループ: 2列 */
  ul.premier-latest-posts,
  .premier-latest-posts { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 1rem 0.8rem !important; }
  .premier-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0.8rem 0.6rem !important; }
  .premier-cat-loops { padding: 1rem 0.8rem 2rem; }
  /* カテゴリピル: 横スクロール可能 */
  .premier-front-cats {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    padding-bottom: 0.5rem !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  .premier-front-cats li { flex-shrink: 0; }
  /* カードタイトル: 折り返し抑制で2行 */
  .premier-card-title { font-size: 12.5px !important; -webkit-line-clamp: 2 !important; }
  .premier-card-date { font-size: 9px !important; }
  /* 記事本文: フォント縮小済 */
}
@media (max-width: 768px) {
  .wp-block-post-content { font-size: 16px; line-height: 1.8; }
  .wp-block-post-content h2 { font-size: 26px; padding-top: 2rem; }
  .wp-block-post-content h3 { font-size: 21px; }
  .wp-block-post-content blockquote,
  .wp-block-post-content .wp-block-quote { font-size: 18px; padding-left: 1.2rem; }
  .wp-block-post-content .wp-block-image.alignleft,
  .wp-block-post-content .wp-block-image.alignright { float: none; max-width: 100%; margin: 2rem 0; }
  .premier-latest-posts, .premier-cat-grid { grid-template-columns: 1fr !important; }
  .premier-front-cats, .premier-footer-cats { columns: 1; }
}

/* ==========================================================================
   v3.14.0 DESIGN POLISH — 真っ白文字脱却 + 記事本文背景差別化 + タイポ統一
   - 文字色: 真っ白(#fff)をやめ、目に優しい温かみのあるオフホワイト系へ
   - 記事本文だけ背景を一段持ち上げてカード化 (チャットUIと同じ差別化発想)
   - 見出しは serif で統一、左にゴールド縦罫
   ========================================================================== */

:root {
  --text-primary:   #d9d4c5;  /* 本文 (温かみペーパー寄りオフホワイト) */
  --text-heading:   #ece4cf;  /* 見出し (温かいクリーム) */
  --text-muted:     #8e8a82;  /* 補助 */
  --text-strong:    #f5ecd4;  /* 強調 */
  --bg-page:        #050507;  /* 全体背景 */
  --bg-card:        #101015;  /* 記事カード背景 (本文ブロック) */
  --bg-card-soft:   #15151c;  /* サイドバー/関連カード */
  --border-soft:    rgba(200,154,74,0.18);  /* 弱ゴールド罫 */
  --border-line:    rgba(255,255,255,0.08);
}

/* 本体文字色を真っ白から温かいオフホワイトへ */
body,
.wp-block-post-content,
.wp-block-post-content p,
.wp-block-post-content li,
.wp-block-post-content td {
  color: var(--text-primary) !important;
}

/* 見出しは温かいクリーム + serif で統一感 */
.wp-block-post-content h1,
.wp-block-post-content h2,
.wp-block-post-content h3,
.wp-block-post-content h4,
.wp-block-post-content h5,
.wp-block-post-content h6,
.premier-related-title,
.premier-sidebar-inner h3,
.premier-author-name {
  color: var(--text-heading) !important;
  font-family: var(--wp--preset--font-family--serif) !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em;
}

/* h2: 左にゴールド縦罫 + 余白でリズム */
.wp-block-post-content h2 {
  position: relative;
  padding: 0.2em 0 0.2em 1.1rem !important;
  border-left: 3px solid var(--wp--preset--color--accent) !important;
  margin-top: 3rem !important;
  margin-bottom: 1.2rem !important;
}

/* h3: 下にゴールド点線 */
.wp-block-post-content h3 {
  padding-bottom: 0.4rem !important;
  border-bottom: 1px dashed var(--border-soft) !important;
  margin-top: 2.2rem !important;
}

/* 強調 (strong/b) はクリーム強調 */
.wp-block-post-content strong,
.wp-block-post-content b {
  color: var(--text-strong) !important;
  font-weight: 700;
}

/* リンクはアクセントゴールド + hover で下線 */
.wp-block-post-content a {
  color: var(--wp--preset--color--accent) !important;
  text-decoration: none;
  border-bottom: 1px solid rgba(200,154,74,0.35);
  transition: border-color 0.2s, color 0.2s;
}
.wp-block-post-content a:hover {
  color: #e0b878 !important;
  border-bottom-color: #e0b878;
}

/* 記事本文を「カード化」して背景を一段上げる (差別化) */
body.single .wp-block-post-content,
.premier-single-cols .wp-block-column:first-child .wp-block-post-content {
  background: var(--bg-card) !important;
  padding: 2.8rem 2.4rem !important;
  border-radius: 4px;
  border: 1px solid var(--border-line);
  box-shadow: 0 1px 0 rgba(255,255,255,0.02) inset, 0 8px 32px rgba(0,0,0,0.35);
  font-size: 16.5px !important;
  line-height: 1.95 !important;
}
@media (max-width: 640px) {
  body.single .wp-block-post-content,
  .premier-single-cols .wp-block-column:first-child .wp-block-post-content {
    padding: 1.6rem 1.2rem !important;
    font-size: 15.5px !important;
    line-height: 1.85 !important;
  }
}

/* 引用ブロック: 左ゴールド縦罫 + ソフト背景 */
.wp-block-post-content blockquote,
.wp-block-post-content .wp-block-quote {
  background: rgba(200,154,74,0.06) !important;
  border-left: 3px solid var(--wp--preset--color--accent) !important;
  padding: 1rem 1.4rem !important;
  margin: 1.8rem 0 !important;
  color: var(--text-strong) !important;
  font-style: normal !important;
}

/* リスト: マーカーをゴールドに */
.wp-block-post-content ul li::marker,
.wp-block-post-content ol li::marker {
  color: var(--wp--preset--color--accent);
}
.wp-block-post-content ul,
.wp-block-post-content ol {
  padding-left: 1.4rem;
}
.wp-block-post-content li {
  margin-bottom: 0.5rem;
}

/* テーブル: ストライプ + ヘッダー墨 */
.wp-block-post-content table {
  border-collapse: collapse;
  width: 100%;
  margin: 1.6rem 0;
  font-size: 14.5px;
}
.wp-block-post-content table th {
  background: rgba(200,154,74,0.12);
  color: var(--text-heading) !important;
  padding: 0.7rem 0.9rem;
  text-align: left;
  border-bottom: 2px solid var(--border-soft);
}
.wp-block-post-content table td {
  padding: 0.6rem 0.9rem;
  border-bottom: 1px solid var(--border-line);
}
.wp-block-post-content table tr:nth-child(even) td {
  background: rgba(255,255,255,0.018);
}

/* インラインコード: ソフトカード */
.wp-block-post-content code {
  background: rgba(200,154,74,0.10);
  color: var(--text-strong);
  padding: 0.12em 0.4em;
  border-radius: 3px;
  font-size: 0.92em;
  font-family: var(--wp--preset--font-family--mono);
}

/* サイドバー: 背景一段持ち上げ */
.premier-sidebar-inner {
  background: var(--bg-card-soft) !important;
  padding: 1.5rem 1.2rem !important;
  border-radius: 4px;
  border: 1px solid var(--border-line);
}
.premier-sidebar-inner h3 {
  font-size: 13px !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wp--preset--color--accent) !important;
  border-bottom: 1px solid var(--border-soft);
  padding-bottom: 0.5rem;
  margin: 0 0 1rem !important;
}
.premier-sidebar-inner a {
  color: var(--text-primary) !important;
  border-bottom: none;
}
.premier-sidebar-inner a:hover {
  color: var(--wp--preset--color--accent) !important;
}

/* 関連記事カード/最新記事カード: タイトルを温かいクリームに */
.premier-card-title,
.premier-related a,
.wp-block-latest-posts__post-title {
  color: var(--text-heading) !important;
}
.premier-card-date,
.wp-block-latest-posts__post-date {
  color: var(--wp--preset--color--accent) !important;
}
.premier-card-excerpt,
.wp-block-latest-posts__post-excerpt {
  color: var(--text-muted) !important;
}

/* ヒーロー文字は彩度落とした白で目に優しく */
.hero-title { color: #ece4cf !important; }
.hero-sub   { color: #c8c2b3 !important; }

/* セクション見出しラベル (最新記事 / カテゴリー) を強調 */
.premier-section-label {
  font-family: var(--wp--preset--font-family--serif) !important;
  color: var(--text-heading) !important;
}

/* 水平区切り */
.wp-block-post-content hr,
.wp-block-separator {
  border: 0 !important;
  border-top: 1px solid var(--border-soft) !important;
  margin: 2.5rem auto !important;
  max-width: 120px;
}

/* ==========================================================================
   v3.16.0 AUTO-COLOR — 記事本文の自動色付け (チャットUI と同じ発想)
   - 太字: サンドベージュ / 斜体: 淡ラベンダー / コード: ミント
   - リンク: 淡水色 (ホバーでアクセント) / 引用: 灰青 italic
   - 箇条書きマーカー: くすませたピンク / 数字 (auto-color.js が span 注入): くすませた黄
   ========================================================================== */

/* 太字 (**bold**) — サンドベージュ */
.wp-block-post-content strong,
.wp-block-post-content b,
.entry-content strong,
.entry-content b {
  color: #d4b890 !important;
  font-weight: 600;
}

/* 斜体 (*em*) — 淡ラベンダー */
.wp-block-post-content em,
.wp-block-post-content i,
.entry-content em,
.entry-content i {
  color: #c4b5fd !important;
  font-style: italic;
}

/* インラインコード — ミント (既存ゴールド系を上書き) */
.wp-block-post-content code,
.entry-content code {
  color: #a8d4c8 !important;
  background: rgba(168,212,200,0.08) !important;
  border: 1px solid rgba(168,212,200,0.18) !important;
}

/* リンク — 淡水色 + 下線、ホバーでアクセントゴールド */
.wp-block-post-content a:not(.wp-block-button__link),
.entry-content a:not(.wp-block-button__link) {
  color: #a0c4e0 !important;
  text-decoration: underline;
  text-decoration-color: rgba(160,196,224,0.45);
  text-underline-offset: 2px;
  transition: color 0.15s, text-decoration-color 0.15s;
}
.wp-block-post-content a:not(.wp-block-button__link):hover,
.entry-content a:not(.wp-block-button__link):hover {
  color: var(--wp--preset--color--accent) !important;
  text-decoration-color: var(--wp--preset--color--accent);
}

/* 引用 — 灰青 italic (背景は v3.14 のソフトを維持) */
.wp-block-post-content blockquote,
.wp-block-post-content blockquote p,
.wp-block-post-content .wp-block-quote,
.wp-block-post-content .wp-block-quote p {
  color: #9aa8b4 !important;
  font-style: italic !important;
}

/* 箇条書きマーカー — くすませたピンク (アクセントゴールドからの変更) */
.wp-block-post-content ul li::marker,
.entry-content ul li::marker {
  color: #b89aa8 !important;
}
.wp-block-post-content ol li::marker,
.entry-content ol li::marker {
  color: #d4b890 !important;
}

/* 数字 (auto-color.js が <span class="md-num"> でラップ) — くすませた黄 */
.wp-block-post-content .md-num,
.entry-content .md-num,
.premier-post-body .md-num {
  color: #d4c890;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

/* 見出し内の数字は誇張しすぎないよう少しトーンダウン */
.wp-block-post-content h1 .md-num,
.wp-block-post-content h2 .md-num,
.wp-block-post-content h3 .md-num,
.wp-block-post-content h4 .md-num {
  color: inherit;
  font-weight: inherit;
}

/* ==========================================================================
   v3.23.0 AUTO-COLOR 拡張 — 単位/上下/カギ括弧/略語/日付
   ========================================================================== */
.wp-block-post-content .md-unit,
.entry-content .md-unit,
.premier-post-body .md-unit {
  color: #d4c890; /* 数字と同系のくすみ黄 */
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.wp-block-post-content .md-up,
.entry-content .md-up,
.premier-post-body .md-up {
  color: #8fc8a4; /* くすみ緑 */
  font-weight: 500;
}
.wp-block-post-content .md-down,
.entry-content .md-down,
.premier-post-body .md-down {
  color: #d49a9a; /* くすみ赤 */
  font-weight: 500;
}
.wp-block-post-content .md-q,
.entry-content .md-q,
.premier-post-body .md-q {
  color: #a8d4c8; /* 淡シアン (引用ニュアンス) */
}
.wp-block-post-content .md-acro,
.entry-content .md-acro,
.premier-post-body .md-acro {
  color: #b8c4d8; /* 淡青グレー */
  font-family: var(--wp--preset--font-family--mono);
  letter-spacing: 0.04em;
}
.wp-block-post-content .md-date,
.entry-content .md-date,
.premier-post-body .md-date {
  color: #c4b5fd; /* 淡ラベンダー (em と同系) */
  font-variant-numeric: tabular-nums;
}
/* 見出し内では自動色付けクラスもトーンダウン */
.wp-block-post-content :is(h1,h2,h3,h4) :is(.md-unit,.md-up,.md-down,.md-q,.md-acro,.md-date) {
  color: inherit;
  font-weight: inherit;
}

/* v3.24.1: サイドバーを画面高に収め、内部スクロールバーを付与
   (アイキャッチ全幅化でサイドバーが画面より高くなり、sticky 固定で
    下部が閲覧不能になる問題への対処。2026-07-04) */
.premier-sidebar-inner {
  max-height: calc(100vh - 6rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(200,154,74,0.45) transparent;
  padding-right: 4px;
}
.premier-sidebar-inner::-webkit-scrollbar { width: 6px; }
.premier-sidebar-inner::-webkit-scrollbar-track { background: transparent; }
.premier-sidebar-inner::-webkit-scrollbar-thumb { background: rgba(200,154,74,0.35); border-radius: 3px; }
.premier-sidebar-inner::-webkit-scrollbar-thumb:hover { background: rgba(200,154,74,0.6); }

/* v3.24.2: スクロール設計の反転 (2026-07-04)
   - 記事本文カラム: 画面内に固定し「記事専用スクロールバー」を持つ
   - サイドバー: 通常フローに戻す (v3.24.1 の内部スクロールは撤回)
   - ページ全体のスクロールは右カラムのアイキャッチ一覧を流し見るために使う */

/* サイドバーを通常フローへ (全幅で適用、v3.24.1 と元の sticky を打ち消し) */
.premier-sidebar-inner {
  position: static;
  max-height: none;
  overflow-y: visible;
  padding-right: 0;
}

/* 記事本文カラム: デスクトップ2カラム時のみ独自スクロール化 */
@media (min-width: 782px) {
  .premier-single-cols > .wp-block-column:not(.premier-sidebar) {
    position: sticky;
    top: 5rem;
    max-height: calc(100vh - 6rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(200,154,74,0.45) transparent;
    padding-right: 12px;
  }
  .premier-single-cols > .wp-block-column:not(.premier-sidebar)::-webkit-scrollbar { width: 8px; }
  .premier-single-cols > .wp-block-column:not(.premier-sidebar)::-webkit-scrollbar-track { background: transparent; }
  .premier-single-cols > .wp-block-column:not(.premier-sidebar)::-webkit-scrollbar-thumb { background: rgba(200,154,74,0.35); border-radius: 4px; }
  .premier-single-cols > .wp-block-column:not(.premier-sidebar)::-webkit-scrollbar-thumb:hover { background: rgba(200,154,74,0.6); }
}

/* v3.26.0: マルチ市場ティッカー帯 (固定ヘッダー2段目) */
.nikkei-ticker-bar {
  width: 100%;
  margin-top: 0.6rem;
  border-top: 1px solid rgba(200,154,74,0.18);
  padding-top: 0.5rem;
  overflow-x: auto;
  scrollbar-width: none;
}
.nikkei-ticker-bar::-webkit-scrollbar { display: none; }
.nikkei-ticker-link {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  white-space: nowrap;
  text-decoration: none;
  font-size: 13px;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--wp--preset--color--contrast);
  font-family: var(--wp--preset--font-family--sans, sans-serif);
}
.nikkei-ticker-bar .tk-lead { color: var(--wp--preset--color--accent, #c89a4a); font-weight: 700; }
.nikkei-ticker-bar .tk-name { color: var(--wp--preset--color--muted); }
.nikkei-ticker-bar .tk-price { font-weight: 700; }
.nikkei-ticker-bar .tk-chg.up   { color: #e0405a; }
.nikkei-ticker-bar .tk-chg.down { color: #3aa0ff; }
.nikkei-ticker-bar .tk-chg.flat { color: var(--wp--preset--color--muted); }
.nikkei-ticker-bar .tk-sep { color: rgba(255,255,255,0.2); }
.nikkei-ticker-bar .tk-more {
  color: var(--wp--preset--color--accent, #c89a4a);
  font-weight: 700;
  border: 1px solid rgba(200,154,74,0.4);
  border-radius: 3px;
  padding: 0.15rem 0.6rem;
  margin-left: 0.3rem;
}
.nikkei-ticker-link:hover .tk-more { background: rgba(200,154,74,0.15); }
@media (max-width: 782px) {
  .nikkei-ticker-link { font-size: 12px; gap: 0.6rem; }
  .nikkei-ticker-bar .tk-lead { display: none; }  /* モバイルは幅節約 */
}

/* v3.26.2: 縦積みはデスクトップのみ (モバイルは元のオーバーレイナビ挙動を維持) */
@media (min-width: 783px) {
  .site-header-fixed { flex-direction: column !important; align-items: stretch !important; gap: 0 !important; }
  .site-header-fixed > .wp-block-group:first-child { width: 100% !important; }
}

/* v3.27.0: モバイル用ティッカー (ヒーロー直下)。デスクトップはヘッダー帯があるので非表示 */
.nikkei-ticker-mobile { display: none; }
@media (max-width: 900px) {
  .nikkei-ticker-mobile {
    display: block !important;
    margin-top: 0;
    padding: 0.7rem 1rem;
    background: linear-gradient(180deg, rgba(10,10,14,0.96), rgba(10,10,14,0.9));
    border-top: 1px solid rgba(200,154,74,0.25);
    border-bottom: 1px solid rgba(200,154,74,0.25);
  }
  .nikkei-ticker-mobile .tk-lead { display: inline; font-size: 12px; }
  .nikkei-ticker-mobile .nikkei-ticker-link { font-size: 12.5px; gap: 0.55rem; }
}

/* v3.27.1: モバイルティッカーは折り返して全市場+CTAを見せる (横スクロール回避) */
@media (max-width: 900px) {
  .nikkei-ticker-mobile { overflow-x: visible; }
  .nikkei-ticker-mobile .nikkei-ticker-link { flex-wrap: wrap; white-space: normal; row-gap: 0.4rem; }
  .nikkei-ticker-mobile .tk-more { margin-left: 0; }
  .nikkei-ticker-mobile .tk-sep { display: none; }
  .nikkei-ticker-mobile .tk-mk { margin-right: 0.6rem; }
}

/* ==========================================================================
   v3.29.0 AUTO-COLOR リファイン — Claude Code 級の限定・調和パレット (2026-07-05)
   旧 md-num/md-unit/md-up/md-down/md-q/md-acro/md-date を無効化し、
   md-fig/md-pos/md-neg/md-str/md-acro の5トークンに集約。
   配色は One Dark 系を本テーマ(ダーク+ゴールド)に合わせて調整。
   ========================================================================== */

/* 旧クラスの着色を無効化 (万一 span が残っても地の色) */
.wp-block-post-content :is(.md-num,.md-unit,.md-up,.md-down,.md-q,.md-date),
.entry-content :is(.md-num,.md-unit,.md-up,.md-down,.md-q,.md-date),
.premier-post-body :is(.md-num,.md-unit,.md-up,.md-down,.md-q,.md-date) {
  color: inherit; font-weight: inherit; font-family: inherit;
}

/* 有意な数値 — 温かみのあるアンバー (コードの「定数/数値」相当) */
.wp-block-post-content .md-fig,
.entry-content .md-fig,
.premier-post-body .md-fig {
  color: #e5c07b;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
/* 正の符号付き — 洗練された緑 */
.wp-block-post-content .md-pos,
.entry-content .md-pos,
.premier-post-body .md-pos {
  color: #98c379;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
/* 負の符号付き — 洗練された赤 */
.wp-block-post-content .md-neg,
.entry-content .md-neg,
.premier-post-body .md-neg {
  color: #e06c75;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
/* カギ括弧内 — シアン (文字列相当)。地味に、下線などは付けない */
.wp-block-post-content .md-str,
.entry-content .md-str,
.premier-post-body .md-str {
  color: #56b6c2;
}
/* 英大文字略語 — 青 (フォントは変えず、字間だけわずかに) */
.wp-block-post-content .md-acro,
.entry-content .md-acro,
.premier-post-body .md-acro {
  color: #61afef;
  letter-spacing: 0.02em;
}
/* 見出し内は着色を抑制 (地の色を尊重) */
.wp-block-post-content :is(h1,h2,h3,h4) :is(.md-fig,.md-pos,.md-neg,.md-str,.md-acro) {
  color: inherit; font-weight: inherit;
}
