/*
Theme Name: KOP — Knights of Poker
Template: twentytwentyfive
Author: KOP
Description: Knights of Poker 公式サイトの子テーマ。中世ヨーロッパ／騎士モチーフ（要所中世）。トップのティザー(KV)の世界＝ウォームブラック×発光する金×剣のティール（ハイブリッド：魅せる面=obsidian／navyはブランド・プレート）。見た目を担当し、データ型は poker-tournament-core プラグイン側に置く。
Version: 0.11.1
Requires at least: 6.5
Tested up to: 7.0
Text Domain: tt5-poker
*/

/* スタイルは theme.json を主軸に管理する。ここには theme.json で表現しづらい
   セクション様式・装飾（要所中世）のみを置く。本文・データ表はクリーンに保つ。 */

/* === KOP セクション様式 ========================================= */

/* ダーク帯：ウォームブラック(obsidian)＋発光する金＝トップのティザー(KV)の世界。
   “魅せる面”（ヒーロー／CTA／賞金・HIGHLIGHTS帯）に使用。ハイブリッド方針＝この帯は
   ウォームブラック、navyは選手/入賞者/スポンサーの自己完結プレート(blocks.css)に据置。
   4層背景＝①上方からの金のゴッドレイ ②オフセットしたティールの微光（剣の光）
   ③ヘラルドリー紋様タイル ④ウォームブラック石壁グラデ。 */
.wp-block-group.is-style-kogp-dark {
	background-color: #0B0906;
	background-image:
		radial-gradient(130% 80% at 62% -14%, rgba(200, 164, 77, .22), rgba(200, 164, 77, 0) 52%),
		radial-gradient(80% 60% at 22% 6%, rgba(72, 211, 190, .08), rgba(72, 211, 190, 0) 55%),
		url("assets/brand/pattern-heraldic.svg"),
		linear-gradient(180deg, #0B0906 0%, #171009 100%);
	background-repeat: no-repeat, no-repeat, repeat, no-repeat;
	background-size: cover, cover, 60px 60px, cover;
	background-position: center top, center, center, center;
	color: var(--wp--preset--color--cream, #F5EFE0);
	border-top: 2px solid var(--wp--preset--color--gold, #C8A44D);
	border-bottom: 2px solid var(--wp--preset--color--gold, #C8A44D);
}
.wp-block-group.is-style-kogp-dark :is(h1, h2, h3, h4) {
	color: var(--wp--preset--color--gold, #C8A44D);
}
.wp-block-group.is-style-kogp-dark a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--gold-bright, #E6C66B);
}
/* リンクhoverはKVの剣の光＝ティール（差し色をごく少量・要所のみ）。 */
.wp-block-group.is-style-kogp-dark a:where(:not(.wp-element-button)):hover {
	color: var(--wp--preset--color--teal, #48D3BE);
}

/* 羊皮紙パネル：データの囲み枠。要所のみ使用（テーブル本体には乗せない）。
   中央上が明るく、縁が古びて沈む“経年”の質感を微付与。 */
.wp-block-group.is-style-kogp-parchment {
	background-color: var(--wp--preset--color--parchment, #F3EAD3);
	background-image:
		radial-gradient(140% 120% at 50% 0%, rgba(255, 252, 240, .45), rgba(255, 252, 240, 0) 42%),
		radial-gradient(120% 130% at 50% 100%, rgba(120, 90, 40, .12), rgba(120, 90, 40, 0) 55%);
	color: var(--wp--preset--color--ink, #1C2622);
	border: 1px solid rgba(200, 164, 77, .45);
	border-radius: 2px;
	box-shadow: inset 0 0 24px rgba(120, 90, 40, .10);
}

/* === ♣ オーナメント・ディバイダ（金ライン＋クラブ=ランスロット） === */
.kogp-divider {
	display: flex;
	align-items: center;
	gap: .75rem;
	color: var(--wp--preset--color--gold, #C8A44D);
}
.kogp-divider::before,
.kogp-divider::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background: linear-gradient(90deg, transparent, currentColor, transparent);
}
.kogp-divider__mark {
	font-size: 1.1rem;
	line-height: 1;
	position: relative;
	padding: 0 1.5rem;
}
/* ♣ の左右に小さな金の菱（◆）を添えてオーナメント化 */
.kogp-divider__mark::before,
.kogp-divider__mark::after {
	content: "\25C6";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: .5rem;
	opacity: .85;
}
.kogp-divider__mark::before { left: 0; }
.kogp-divider__mark::after { right: 0; }

/* === 写本風ドロップキャップ（イルミネーション頭文字） ============= */
/* 明地のみで使用。色は深紅＝写本の朱書き（rubrication）。金は使わない（明地で低コントラスト禁止）。 */
.kogp-dropcap::first-letter {
	float: left;
	font-family: var(--wp--preset--font-family--heading-jp, serif);
	font-weight: 700;
	font-size: 3.2em;
	line-height: .72;
	margin: .06em .14em 0 0;
	color: var(--wp--preset--color--crimson, #7C1F24);
}

/* === 受付状況バッジ ============================================== */
.kogp-status {
	display: inline-block;
	padding: .15em .8em;
	border-radius: 999px;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .04em;
}
.kogp-status--open   { background: var(--wp--preset--color--forest, #14492F); color: #fff; }
.kogp-status--soon   { background: var(--wp--preset--color--crimson, #7C1F24); color: #fff; }
.kogp-status--before { background: var(--wp--preset--color--steel, #9AA3AB); color: #1C2622; }
.kogp-status--closed { background: #5b5b5b; color: #fff; }

/* === カウントダウン（ヒーロー） ================================= */
.kogp-countdown {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
	margin: 1.5rem 0;
}
.kogp-countdown__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 3.5rem;
}
.kogp-countdown__item b {
	font-size: clamp(1.8rem, 5vw, 2.6rem);
	line-height: 1;
	color: var(--wp--preset--color--gold, #C8A44D);
	font-variant-numeric: tabular-nums;
}
.kogp-countdown__item small {
	font-size: .7rem;
	letter-spacing: .12em;
	margin-top: .35rem;
	color: var(--wp--preset--color--cream, #F5EFE0);
}

/* === カードグリッド（見どころ／コンセプト／GOLD GACHA） ============
   coreの段組みでなく明示グリッドで 4→2→1（3列は 3→1）を制御。
   角は立てる（≤4px）・大シャドウ無し＝彫り（金ヘアライン）で奥行きを出す。 */
.kogp-cards {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	align-items: stretch;
}
/* コアの is-layout-flow が子（カード）に縦マージンを乗せ、2枚目以降が下へずれるのを打ち消す */
/* min-width:0 と minmax(0,1fr) で、中身の幅に依らず全カードを完全に等幅にする */
.kogp-cards > * { margin-block: 0; align-self: stretch; min-width: 0; }
.kogp-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .kogp-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .kogp-cards--3 { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) { .kogp-cards { grid-template-columns: minmax(0, 1fr); } }

/* 暗地のカード（HIGHLIGHTS）：石黒の半透明地＋金ヘアライン */
.kogp-card {
	background: rgba(10, 18, 33, .55);
	border: 1px solid rgba(200, 164, 77, .35);
	border-radius: 4px;
	padding: 1.6rem 1.4rem;
}
/* 明地のカード（コンセプト／GOLD GACHA）：地は羊皮紙のまま、金ヘアラインのみ */
.kogp-card--light {
	background: transparent;
	border: 1px solid rgba(200, 164, 77, .45);
	border-radius: 3px;
	padding: 1.4rem 1.3rem;
}
.kogp-card > :first-child,
.kogp-card--light > :first-child { margin-top: 0; }
.kogp-card > :last-child,
.kogp-card--light > :last-child { margin-bottom: 0; }

/* 明地カードの英字アイブロウ（CHIVALRY 等）＝欧文限定でCinzel可・金は使わない */
.kogp-eyebrow {
	font-family: var(--wp--preset--font-family--display-latin, serif);
	font-size: .78rem;
	letter-spacing: .14em;
	font-weight: 700;
	color: var(--wp--preset--color--steel, #9AA3AB);
	margin: 0 0 .3rem;
}

/* === スタッツ数値（見どころ・暗地のみ） =========================
   大数値はCinzel（欧文/数字限定）＋金。単位ラベルは和文も入り得るので既定書体。 */
.kogp-stat {
	display: flex;
	align-items: baseline;
	gap: .4rem;
	margin: 0 0 .7rem;
	line-height: 1;
}
.kogp-stat b {
	font-family: var(--wp--preset--font-family--display-latin, serif);
	font-size: clamp(2.4rem, 6vw, 3.4rem);
	font-weight: 700;
	letter-spacing: .02em;
	color: var(--wp--preset--color--gold, #C8A44D);
	text-shadow: 0 0 12px rgba(200, 164, 77, .5); /* 金グロー（KVの発光に寄せて一段強め） */
}
.kogp-stat span {
	font-size: .9rem;
	font-weight: 700;
	letter-spacing: .1em;
	color: var(--wp--preset--color--gold-bright, #E6C66B);
}
/* === トータルプライズの特大数字（暗地のみ） =====================
   特大数字はCinzel（¥/数字＝欧文）。和文「相当」は<small>で既定書体に分離。 */
.kogp-prize-figure {
	font-family: var(--wp--preset--font-family--display-latin, serif);
	font-weight: 700;
	font-size: clamp(3rem, 10vw, 5.6rem);
	letter-spacing: .02em;
	line-height: 1.05;
	color: var(--wp--preset--color--gold, #C8A44D);
	text-shadow: 0 0 18px rgba(200, 164, 77, .45);
	margin: .2em 0;
}
.kogp-prize-figure small {
	font-family: var(--wp--preset--font-family--body-jp, sans-serif);
	font-size: .3em;
	font-weight: 700;
	letter-spacing: .1em;
	color: var(--wp--preset--color--cream, #F5EFE0);
	margin-left: .35em;
	vertical-align: middle;
}

/* === 欧文見出しの金グロー（HIGHLIGHTS 等・暗地の要所のみ） === */
.is-style-kogp-dark .kogp-glow {
	text-shadow: 0 0 16px rgba(200, 164, 77, .5);
}

/* === KV由来モチーフ（ティザーの世界を全ページへ） ==================
   ①◇ダイヤ枠ラベル（KVの 日程/会場/MAIN EVENT 装置）
   ②金グラデ題字（KVの Knights of Poker 題字処理）＋下線フルール
   いずれも暗地の要所のみ（金は暗地限定＝明地では使わない）。 */

/* ◇ダイヤ枠ラベル：ラベルの左右に金の菱（◇）を立てる */
.kogp-dia-row {
	display: flex;
	flex-wrap: wrap;
	gap: .9rem 1.8rem;
	justify-content: center;
	align-items: center;
}
.kogp-dia {
	display: inline-flex;
	align-items: center;
	gap: .7rem;
	font-weight: 700;
	letter-spacing: .06em;
	color: var(--wp--preset--color--cream, #F5EFE0);
}
.kogp-dia::before,
.kogp-dia::after {
	content: "";
	width: 10px;
	height: 10px;
	border: 1.5px solid var(--wp--preset--color--gold, #C8A44D);
	transform: rotate(45deg);
	flex: 0 0 auto;
}
.kogp-dia__val {
	color: var(--wp--preset--color--gold-bright, #E6C66B);
	font-variant-numeric: tabular-nums;
	letter-spacing: .02em;
}

/* 金グラデ題字（欧文/ワードマーク限定・暗地のみ）＝KVの題字処理を活字で再現。
   background-clip:text ゆえ text-shadow は乗らない＝グローは帯側のゴッドレイが担う。 */
.kogp-wordmark-gold {
	background: var(--wp--preset--gradient--gold-title, linear-gradient(178deg, #F2E0A6 0%, #E6C66B 42%, #B8902F 100%));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
/* 題字下の金の下線フルール（KVの題字下の一本線） */
.kogp-flourish {
	display: block;
	width: min(280px, 60%);
	height: 2px;
	margin: .7rem auto 0;
	border: 0;
	background: linear-gradient(90deg, transparent, var(--wp--preset--color--gold, #C8A44D), transparent);
}


/* === フッターのコピーライト（和欧混植の補正） =======================
   和文グリフは全角枠いっぱいに描かれるため、同じ font-size でも欧文だけ小さく見える。
   ブランド名は Cinzel（欧文ディスプレイ）で一段大きく・字間を開けて、
   和文（KOP）と視覚的な大きさを揃える。 */
.kogp-footer__brand {
	font-family: var(--wp--preset--font-family--display-latin, serif);
	font-size: 1.12em;
	font-weight: 700;
	letter-spacing: .06em;
}

/* === ヘッダー：石版（タブレット）意匠 ==============================
   紋様タイル＋ウォームブラックの帯を、上下の「金の二重罫」で振る＝石に彫った銘板。
   左＝紋章＋金グラデ題字の錠、中央＝ナビ（英字＋和文の2段）。
   ロゴとナビは 1fr/auto/1fr のグリッドで“同じ高さ”に揃え、ナビは画面中央に置く。 */
.kogp-header {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 1rem;
	background-color: #0B0906;
	background-image:
		url("assets/brand/pattern-heraldic.svg"),
		linear-gradient(180deg, #12100B 0%, #0B0906 55%, #150F09 100%);
	background-repeat: repeat, no-repeat;
	background-size: 60px 60px, cover;
	border-top: 3px double var(--wp--preset--color--gold, #C8A44D);
	border-bottom: 3px double var(--wp--preset--color--gold, #C8A44D);
}

/* --- ブランドの錠（紋章＋金グラデ題字） --- */
.kogp-brand {
	grid-column: 1;
	justify-self: start;
	display: inline-flex;
	align-items: center;
	gap: .75rem;
	text-decoration: none;
}
.kogp-brand__crest { display: block; width: 62px; height: auto; }
.kogp-brand__name {
	font-family: var(--wp--preset--font-family--display-latin, serif);
	font-size: .92rem;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: .1em;
	white-space: nowrap;
}

/* --- ナビ：英字（Cinzel）＋和文の2段 ---
   英字は href をキーに ::after で与える（項目を並べ替えても崩れない）。
   column-reverse で ::after が和文の上に来る。 */
.kogp-header .wp-block-navigation-item__content {
	display: flex;
	flex-direction: column-reverse;
	align-items: center;
	gap: .12rem;
	line-height: 1.3;
	padding: .2rem .1rem;
}
.kogp-header .wp-block-navigation-item__content::after {
	font-family: var(--wp--preset--font-family--display-latin, serif);
	font-size: .58rem;
	font-weight: 700;
	letter-spacing: .16em;
	color: var(--wp--preset--color--gold, #C8A44D);
	opacity: .85;
}
.kogp-header a[href$="/about/"]::after         { content: "ABOUT"; }
.kogp-header a[href$="/schedule/"]::after      { content: "SCHEDULE"; }
.kogp-header a[href$="/prize/"]::after         { content: "PRIZE"; }
.kogp-header a[href$="/results/"]::after       { content: "CHAMPIONS"; }
.kogp-header a[href$="/players-intro/"]::after { content: "PLAYERS"; }
.kogp-header a[href$="/sponsors/"]::after      { content: "SPONSORS"; }
.kogp-header a[href$="/gallery/"]::after       { content: "GALLERY"; }
.kogp-header a[href$="/live/"]::after          { content: "LIVE"; }
.kogp-header a[href$="/terms/"]::after         { content: "RULES"; }
.kogp-header a[href$="/access/"]::after        { content: "ACCESS"; }
.kogp-header a[href$="/contact/"]::after       { content: "CONTACT"; }
.kogp-header .wp-block-navigation-item__content:hover::after {
	opacity: 1;
	color: var(--wp--preset--color--gold-bright, #E6C66B);
}
/* --- ハンバーガー内の和文ラベル（2026-09-05）---
   地色を黒に戻したうえで、暗地で痩せて見えるぶんだけ字面を起こす。
   デスクトップの横並びナビは指摘対象ではないので触らない（cream のまま）。 */
.kogp-header .kogp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__label {
	color: #FFFBF2;
	font-weight: 700;
}

.kogp-header .wp-block-navigation { grid-column: 2; }

@media (max-width: 1080px) {
	.kogp-header { grid-template-columns: auto auto; justify-content: space-between; }
}
@media (max-width: 560px) {
	.kogp-brand__crest { width: 48px; }
	.kogp-brand__name { font-size: .78rem; }
}

/* === ヘッダーのナビ：入りきらない幅ではハンバーガーに畳む ============
   コアは600px未満でしか畳まないため、10項目が1行に収まらない ~1080px 以下でも
   オーバーレイに切り替える（コアの `@media (min-width:600px)` の2規則を打ち消す）。
   セレクタに .is-responsive を足して詳細度で確実に上回る。 */
@media (min-width: 600px) and (max-width: 1080px) {
	.is-responsive .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
	.is-responsive .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
}

/* === ハンバーガーを開いた中身（オーバーレイ） ==========================
   コア既定は「白地・黒文字」で、当ナビは cream 文字＝白地では読めない。
   帯と同じウォームブラックを敷き、活字を一回り大きく・行を金の罫で区切る。
   コアの規則（0,4,0）を確実に上回るよう .kogp-header .kogp-nav … で当てる。 */
/* 2026-09-05 修正：地色だけがコアに負けていた。コアは
   `.wp-block-navigation:not(.has-background) …is-menu-open:not(.disable-default-overlay)`
   ＝(0,5,0) で #fff を敷くため、従来の (0,4,0) では上回れず、スマホのメニューが
   「白地＋クリーム文字」＝読めない状態だった（はなうさ指摘）。
   コアと同型のセレクタに .kogp-header .kogp-nav を足し、(0,7,0) で確実に勝たせる。 */
.kogp-header .kogp-nav.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
	background-color: #0B0906;
	background-image: linear-gradient(180deg, rgba(200, 164, 77, .10), rgba(200, 164, 77, 0) 45%);
	color: var(--wp--preset--color--cream, #F5EFE0);
}
.kogp-header .kogp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 0;
	width: 100%;
}
.kogp-header .kogp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid rgba(200, 164, 77, .22);
}
.kogp-header .kogp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:last-child {
	border-bottom: 0;
}
.kogp-header .kogp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--heading-jp, serif);
	font-size: 1.28rem;
	font-weight: 600;
	letter-spacing: .06em;
	color: #FBF7EE;
	padding: .62rem .2rem;
	gap: .18rem;
}
.kogp-header .kogp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::after {
	font-size: .68rem;
	letter-spacing: .18em;
	color: var(--wp--preset--color--gold-bright, #E6C66B);
	opacity: 1;
}
.kogp-header .kogp-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--gold-bright, #E6C66B);
}
/* ハンバーガーは中央のロゴの下に単独で置かれるので、余白と当たり判定を確保 */
.wp-block-navigation__responsive-container-open {
	min-width: 44px;
	min-height: 40px;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--gold-bright, #E6C66B);
}

/* === ページヒーロー（トップ以外の全ページ共通） =====================
   高さを内容に依存させず min-height で固定し、中身を上下中央に置く＝
   「アイブロウ＋H1」だけのページと「＋リード1行」のページで高さが揃う。
   リード文は本文より一段小さく（見出しとの階層をはっきりさせる）。
   ※日付・会場などのメタ情報はヒーローに入れない（2026-07-30 確定）。 */
.is-style-kogp-dark.kogp-page-hero {
	min-height: clamp(190px, 25vh, 260px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.is-style-kogp-dark.kogp-page-hero > * { margin-block: 0; }
.kogp-page-hero .kogp-eyebrow { margin-bottom: .5rem; }
.kogp-page-hero h1 { margin: 0; }
/* リードは全ページ必ず1本。2文・2行に収まる長さで書く（それ以上は本文へ）。 */
/* 抜粋ブロック（wp:post-excerpt）で出す場合も同じ見た目にする */
.kogp-page-hero__lead .wp-block-post-excerpt__excerpt { margin: 0; }
.kogp-page-hero__lead .wp-block-post-excerpt__more-text { display: none; }
.kogp-page-hero__lead {
	margin: .85rem auto 0;
	max-width: 42em;
	font-size: .86rem;
	line-height: 1.8;
	letter-spacing: .02em;
	color: var(--wp--preset--color--cream, #F5EFE0);
}
@media (max-width: 560px) {
	.is-style-kogp-dark.kogp-page-hero { min-height: clamp(160px, 22vh, 200px); }
	/* 抜粋ブロック（wp:post-excerpt）で出す場合も同じ見た目にする */
.kogp-page-hero__lead .wp-block-post-excerpt__excerpt { margin: 0; }
.kogp-page-hero__lead .wp-block-post-excerpt__more-text { display: none; }
.kogp-page-hero__lead { font-size: .82rem; }
}

/* === ヘッダーと最初のセクションを地続きに ==========================
   コアの `:where(.wp-site-blocks) > * { margin-block-start: 1.2rem }` により、
   ヘッダー（暗地）とヒーローの間にページ背景（淡色）が19px覗いていた。
   全テンプレートで最初のブロック（main / ヒーロー）の上余白をゼロにする。 */
.wp-site-blocks > .wp-block-template-part:first-child + * { margin-block-start: 0; }

/* === スケジュール表（/schedule/） ==================================
   世界の大会サイト（WSOP/PokerNews・WPT・JOPT・SoMuchPoker）の日程ページを調査して
   共通していた型に合わせた版：
     ①時刻が行の起点＝左端（時系列を目で追える）②イベント名が最も強い
     ③日付は帯見出しでグループ化 ④淡い縞＋罫線で行を追わせ、主役だけ強調
     ⑤狭い幅では表をやめて「1件1カード」に組み替える（横スクロールを出さない）
   ============================================================== */
.kogp-schedule {
	min-width: 0;
	font-size: .86rem;
	table-layout: auto;
}
.kogp-schedule th,
.kogp-schedule td {
	padding: .55rem .5rem;
	border-bottom: 1px solid rgba(200, 164, 77, .18);
	vertical-align: middle;
}
.kogp-schedule th:not(:last-child),
.kogp-schedule td:not(:last-child) { border-right: 1px solid rgba(200, 164, 77, .18); }
.kogp-schedule thead th {
	background: #15100A;
	color: var(--wp--preset--color--gold-bright, #E6C66B);
	border-bottom: 2px solid var(--wp--preset--color--gold, #C8A44D);
	font-family: var(--wp--preset--font-family--heading-jp, serif);
	font-weight: 600;
	font-size: .74rem;
	letter-spacing: .04em;
	white-space: nowrap;
}
/* 各日付グループの直下にも列見出しを置く（日をまたいでも項目名を見失わない）。
   スマホのカード表示では不要なので隠す。
   長いラベルは HTML 側で <br> を入れて2行に折る＝列幅を数値の実寸まで詰め、
   空いた分をイベント名の列に回す（2026-08 指定）。 */
.kogp-schedule .kogp-schedule__cols th {
	line-height: 1.25;
	background: #15100A;
	color: var(--wp--preset--color--gold-bright, #E6C66B);
	border-bottom: 1px solid var(--wp--preset--color--gold, #C8A44D);
	font-family: var(--wp--preset--font-family--heading-jp, serif);
	font-weight: 600;
	font-size: .72rem;
	letter-spacing: .04em;
	white-space: nowrap;
	padding: .35rem .5rem;
	text-align: left;
}

/* 縞＝視線を横に流すためのごく薄い地。hover は一段強く */
.kogp-schedule tbody tr:nth-child(even of :not(.kogp-schedule__day):not(.kogp-schedule__cols)) { background: rgba(28, 38, 34, .035); }
.kogp-schedule tbody tr:hover { background: rgba(200, 164, 77, .09); }

/* ①時刻＝左端・等幅数字・金で行の起点にする */
.kogp-schedule__time {
	width: 1%;
	white-space: nowrap;
	font-family: var(--wp--preset--font-family--display-latin, serif);
	font-size: 1.02rem;
	font-weight: 700;
	letter-spacing: .02em;
	font-variant-numeric: tabular-nums;
	color: #8A6D1F;
	text-align: left;
}
/* ②イベント名＝主役。折り返しは HTML 側の <br> の位置だけで起こす（nowrap）＝
   どの幅でも「1行、または <br> で分けた2行」に必ず収まり、3行以上に崩れない。
   （名称列の実寸＝いちばん長い1行分。スマホのカード表示では下の @media で解除） */
.kogp-schedule__name {
	width: auto;
	white-space: nowrap;
	font-weight: 600;
	line-height: 1.4;
	color: var(--wp--preset--color--ink, #1C2622);
}
.kogp-schedule__name a { text-decoration: none; }
.kogp-schedule__name a:hover { text-decoration: underline; }
.kogp-schedule__name sup { font-size: .68em; opacity: .7; margin-left: .15em; }
/* 残りのデータ列は内容ぴったりに畳む（左右の余白も詰めて名称列へ幅を寄せる） */
.kogp-schedule td:not(.kogp-schedule__name):not(.kogp-schedule__time),
.kogp-schedule th:not(:first-child):not(:nth-child(2)) {
	width: 1%;
	white-space: nowrap;
	padding-inline: .4rem;
}
/* トータルプライズ列だけは折り返しを許す（2026-09-04 ユーザー指定＝「2行にしてもいいので
   はみ出さないように」）。他6列を nowrap のままにすると表の max-content が本文カラム
   （720px）をわずかに超え、右端のこの列が切れていた。
   `width: 6.2em` ＝「¥8,500,000」は1行に収まり「相当（＋※）」だけが2行目に落ちる幅。
   実際の列幅は min-content（＝金額の1かたまり）を下回らないので、フォントが太くても
   数字の途中では折れない。短い金額（¥400,000相当）はそのまま1行。 */
.kogp-schedule tbody td[data-label="トータルプライズ"]:not(.kogp-schedule__name) {
	white-space: normal;
	width: 6.2em;
	line-height: 1.35;
}
/* 未確定の値は沈めて、確定済みの情報を目立たせる */
.kogp-schedule td { color: var(--wp--preset--color--ink, #1C2622); }

/* 全列を左詰めに統一（数値列の右寄せもやめる）＝視線の始点を1本の縦線に揃える。
   等幅数字は桁を揃えるために残す（2026-08 指定）。 */
.kogp-schedule th,
.kogp-schedule td,
.kogp-schedule td.kogp-num,
.kogp-schedule th.kogp-num { text-align: left; }

/* 表の幅＝内容ぴったり（max-content）で左に寄せる。
   `.kogp-table { width: 100% }`（プラグイン側）だと余った幅が全部イベント名の列に
   流れ込んで巨大な空白になるので、ここで確実に打ち消す（!important は保険）。
   トータルプライズ列以外は nowrap／名称列も <br> でしか折れないため、max-content が
   ほぼそのまま表の幅になる（超えた分はトータルプライズ列の折り返しで吸収する）。
   表は本文カラム（720px）の中に置いてあるので、左端は本文・注記と揃う。 */
.kogp-table.kogp-schedule {
	width: max-content !important;
	max-width: 100%;
	margin-inline: 0 auto;
}
.kogp-table-wrap--schedule { max-width: 100%; }

/* ④主役＝メインイベントの行は金の縦罫と濃い文字で持ち上げる */
.kogp-schedule__main .kogp-schedule__time,
.kogp-schedule__main .kogp-schedule__name { color: #14492F; }
.kogp-schedule__main td:first-child { box-shadow: inset 3px 0 0 var(--wp--preset--color--gold, #C8A44D); }
.kogp-schedule__main .kogp-schedule__name { font-weight: 700; }

/* ③日付の帯見出し */
.kogp-schedule .kogp-schedule__day td {
	background: linear-gradient(90deg, #0B0906 0%, #191108 100%);
	color: var(--wp--preset--color--gold-bright, #E6C66B);
	font-family: var(--wp--preset--font-family--heading-jp, serif);
	font-weight: 700;
	letter-spacing: .08em;
	border-bottom: 1px solid var(--wp--preset--color--gold, #C8A44D);
	border-right: 0;
	padding: .6rem .7rem;
}

/* 注意書き（冒頭の注記・※1〜の脚注）＝本文より明確に一段小さく、色も少し沈める。
   表と同格に見えると読み負担が増えるため、補足であることを大きさで示す。 */
.kogp-schedule-notes small,
.kogp-schedule-mobile-note small {
	display: block;
	font-size: .76rem;
	line-height: 1.8;
	color: rgba(28, 38, 34, .68);
}
.kogp-schedule-notes strong { color: rgba(28, 38, 34, .82); }
.kogp-schedule-mobile-note { display: none; }

/* ⑤狭い幅＝表をカードに組み替える（列を隠さず全項目を見せる） */
@media (max-width: 780px) {
	.kogp-table-wrap--schedule { width: auto; max-width: 100%; }
	/* カード表示では max-content を必ず解除（!important 同士なので同じ強さで打ち消す） */
	.kogp-table.kogp-schedule { width: auto !important; }
	.kogp-schedule,
	.kogp-schedule tbody,
	.kogp-schedule tr,
	.kogp-schedule td { display: block; width: auto; }
	.kogp-schedule thead,
	.kogp-schedule .kogp-schedule__cols { display: none; }
	.kogp-schedule tbody tr:nth-child(even of :not(.kogp-schedule__day):not(.kogp-schedule__cols)) { background: none; }
	.kogp-schedule tbody tr:not(.kogp-schedule__day) {
		margin: .7rem 0;
		padding: .7rem .8rem;
		border: 1px solid rgba(200, 164, 77, .3);
		border-radius: 2px;
		background: rgba(255, 252, 240, .55);
	}
	.kogp-schedule tbody tr.kogp-schedule__main {
		border-left: 3px solid var(--wp--preset--color--gold, #C8A44D);
	}
	.kogp-schedule td {
		border: 0;
		padding: .12rem 0;
		white-space: normal !important;
		width: auto !important;
	}
	/* 見出し（時刻・種目名）はラベル無しで大きく、以下は「項目：値」で並べる */
	.kogp-schedule .kogp-schedule__time { font-size: 1.15rem; }
	.kogp-schedule .kogp-schedule__name { font-size: 1rem; margin-bottom: .3rem; }
	.kogp-schedule td:not(.kogp-schedule__time):not(.kogp-schedule__name) {
		display: flex;
		justify-content: space-between;
		gap: 1rem;
		font-size: .84rem;
		border-top: 1px dotted rgba(28, 38, 34, .16);
		padding: .3rem 0;
	}
	.kogp-schedule td:not(.kogp-schedule__time):not(.kogp-schedule__name)::before {
		content: attr(data-label);
		color: #6b6b6b;
		font-size: .78rem;
		white-space: nowrap;
	}
	.kogp-schedule .kogp-schedule__day td {
		margin: 1.2rem 0 0;
		border-radius: 2px;
	}
	.kogp-schedule-mobile-note { display: none; }
}

/* === FAQ（開閉するQ&A） =============================================
   details/summary で JS 無しの開閉。問いは常に見え、答えだけが開く＝
   一覧性と読みやすさを両立する（世界の大会サイトのFAQも同じ作り）。 */
.kogp-faq { margin: .8rem 0 2.2rem; }
.kogp-faq__item {
	border-bottom: 1px solid rgba(200, 164, 77, .3);
}
.kogp-faq__item:first-child { border-top: 1px solid rgba(200, 164, 77, .3); }
.kogp-faq__q {
	list-style: none;
	cursor: pointer;
	position: relative;
	padding: .95rem 2.2rem .95rem 1.6rem;
	font-family: var(--wp--preset--font-family--heading-jp, serif);
	font-weight: 600;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--wp--preset--color--navy, #15233B);
	transition: background-color .15s ease;
}
.kogp-faq__q::-webkit-details-marker { display: none; }
/* 行頭の Q（欧文ディスプレイの金） */
.kogp-faq__q::before {
	content: "Q";
	position: absolute;
	left: 0;
	top: .95rem;
	font-family: var(--wp--preset--font-family--display-latin, serif);
	font-weight: 700;
	color: var(--wp--preset--color--gold, #C8A44D);
}
/* 右端の◇（開くと回転） */
.kogp-faq__q::after {
	content: "";
	position: absolute;
	right: .5rem;
	top: 1.25rem;
	width: 9px;
	height: 9px;
	border-right: 1.5px solid var(--wp--preset--color--gold, #C8A44D);
	border-bottom: 1.5px solid var(--wp--preset--color--gold, #C8A44D);
	transform: rotate(45deg);
	transition: transform .2s ease;
}
.kogp-faq__item[open] .kogp-faq__q::after { transform: rotate(-135deg); }
.kogp-faq__q:hover { background: rgba(200, 164, 77, .07); }
.kogp-faq__a {
	padding: 0 1.6rem 1.1rem;
	font-size: .93rem;
	line-height: 1.9;
}
.kogp-faq__a p { margin: 0; }

/* === 概要テーブル（開催概要・会場概要） ==============================
   左列＝項目名は必ず1行に収める（折り返すと読みにくく、行の対応も崩れる）。
   `width:1%` ＋ `white-space:nowrap` で内容ぴったりの最小幅に畳み、残りを右列に渡す。 */
.kogp-overview-table table {
	width: 100%;
	border-collapse: collapse;
}
.kogp-overview-table th,
.kogp-overview-table td {
	padding: .7rem .9rem;
	border: 0;
	border-bottom: 1px solid rgba(200, 164, 77, .28);
	text-align: left;
	vertical-align: top;
	font-size: .97rem;
	line-height: 1.8;
}
.kogp-overview-table th {
	width: 1%;
	white-space: nowrap;
	font-family: var(--wp--preset--font-family--heading-jp, serif);
	font-weight: 600;
	color: var(--wp--preset--color--navy, #15233B);
	letter-spacing: .06em;
}
.kogp-overview-table tr:last-child th,
.kogp-overview-table tr:last-child td { border-bottom: 0; }
@media (max-width: 480px) {
	.kogp-overview-table th,
	.kogp-overview-table td { padding: .55rem .5rem; font-size: .92rem; }
}

/* === ボタン：カット角の盾型 =========================================
   四隅を斜めに切り落とした紋章風。角丸は使わない（DESIGN「角を立てる」）。
   主＝金グラデ地に暗字（KVの発光する金）、副＝細枠＋沈んだ地でホバー時に満ちる。
   clip-path は border ごと切り落とすため、枠線は背景2層（padding-box / border-box）で描く。
   子テーマ style.css は最後に読み込まれるため、コアの is-style-outline（詳細度0,4,0）とは
   同詳細度で競り勝つ。 */
.wp-block-buttons .wp-element-button,
.wp-block-button .wp-block-button__link {
	--kogp-cut: clamp(8px, 1vw, 12px);
	border-radius: 0;
	clip-path: polygon(
		var(--kogp-cut) 0,
		calc(100% - var(--kogp-cut)) 0,
		100% var(--kogp-cut),
		100% calc(100% - var(--kogp-cut)),
		calc(100% - var(--kogp-cut)) 100%,
		var(--kogp-cut) 100%,
		0 calc(100% - var(--kogp-cut)),
		0 var(--kogp-cut)
	);
	padding: .82em 2.1em;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.5;
	transition: filter .18s ease, background .18s ease, color .18s ease;
}
/* 主ボタン＝金グラデ＋暗字。ホバーで一段明るくし、形に沿って金が滲む */
.wp-block-buttons .wp-block-button:not(.is-style-outline) > .wp-element-button {
	border: 0;
	background-color: #E6C66B;
	background-image: linear-gradient(180deg, #F2E0A6 0%, #E6C66B 42%, #C8A44D 100%);
	color: #171009;
}
.wp-block-buttons .wp-block-button:not(.is-style-outline) > .wp-element-button:hover {
	color: #171009;
	filter: brightness(1.07) drop-shadow(0 0 14px rgba(200, 164, 77, .5));
}
/* 副ボタン（明地）＝インクの細枠。ホバーでインクが満ちて反転 */
.wp-block-buttons .wp-block-button.is-style-outline > .wp-element-button {
	border: 1px solid transparent;
	background:
		linear-gradient(#FBF7EE, #FBF7EE) padding-box,
		linear-gradient(180deg, #2B3A55, #15233B) border-box;
	color: #15233B;
	padding: .82em 2.1em;
}
.wp-block-buttons .wp-block-button.is-style-outline > .wp-element-button:hover {
	background:
		linear-gradient(#15233B, #15233B) padding-box,
		linear-gradient(#15233B, #15233B) border-box;
	color: #F5EFE0;
}
/* 副ボタン（暗地）＝金の細枠＋沈んだ地。ホバーで金が満ちる */
.is-style-kogp-dark .wp-block-buttons .wp-block-button.is-style-outline > .wp-element-button {
	background:
		linear-gradient(rgba(11, 9, 6, .88), rgba(11, 9, 6, .88)) padding-box,
		linear-gradient(180deg, #E6C66B, #B8902F) border-box;
	color: #E6C66B;
}
.is-style-kogp-dark .wp-block-buttons .wp-block-button.is-style-outline > .wp-element-button:hover {
	background:
		linear-gradient(180deg, #F2E0A6, #C8A44D) padding-box,
		linear-gradient(180deg, #F2E0A6, #C8A44D) border-box;
	color: #171009;
}
/* フォーカスリングは clip-path で切られるため内側に描く */
.wp-block-buttons .wp-element-button:focus-visible {
	outline: none;
	box-shadow: inset 0 0 0 2px currentColor;
}

/* G.O.A.T のサービスロゴ（節見出しの上）＝明地に置くので紺版を使う */
.kogp-goat-logo { margin: 0 auto .4rem; }
.kogp-goat-logo img { display: block; width: min(320px, 72vw); height: auto; }

/* === 名簿ロール（縦組みの行レイアウト） ==============================
   コンセプト／HIGHLIGHTS の新様式。横並びカードは1カラム幅で改行が増えて
   読みにくいため、alignwide の「行」に組み替える＝円卓の席次を読み上げる名簿。
   行＝［◇に収めた席次番号］［英字ラベル＋和文見出し］［本文2行］。
   罫は暗地＝金／明地＝インク（DESIGN「金は暗地のみ」）。角は立てる・大シャドウ無し。 */
.kogp-roll {
	display: grid;
	gap: 0;
	--kogp-roll-rule: rgba(28, 38, 34, .16);
	--kogp-roll-accent: var(--wp--preset--color--navy, #15233B);
	--kogp-roll-line: rgba(21, 35, 59, .4);
	--kogp-roll-title: var(--wp--preset--color--forest, #14492F);
}
.kogp-roll__item {
	display: grid;
	grid-template-columns: 4.4rem minmax(8rem, 13rem) minmax(0, 1fr);
	gap: 0 1.5rem;
	align-items: center;
	padding: 1.35rem .2rem;
	margin-block: 0;
	border-top: 1px solid var(--kogp-roll-rule);
	transition: background-color .2s ease;
}
.kogp-roll__item:last-child { border-bottom: 1px solid var(--kogp-roll-rule); }

/* ◇に収めた席次番号（欧文数字＝Cinzel） */
.kogp-roll__num {
	position: relative;
	display: grid;
	place-items: center;
	width: 4.4rem;
	height: 4.4rem;
	font-family: var(--wp--preset--font-family--display-latin, serif);
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: .04em;
	color: var(--kogp-roll-accent);
}
.kogp-roll__num::before {
	content: "";
	position: absolute;
	inset: .7rem;
	border: 1px solid var(--kogp-roll-line);
	transform: rotate(45deg);
	transition: border-color .2s ease, box-shadow .2s ease;
}
.kogp-roll__label { min-width: 0; }
.kogp-roll__eyebrow {
	font-family: var(--wp--preset--font-family--display-latin, serif);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .16em;
	color: var(--wp--preset--color--steel, #9AA3AB);
	margin: 0 0 .1rem;
}
.kogp-roll__title {
	font-family: var(--wp--preset--font-family--heading-jp, serif);
	font-size: clamp(1.1rem, 2.1vw, 1.45rem);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: .04em;
	margin: 0;
	color: var(--kogp-roll-title);
}
.kogp-roll__text {
	margin: 0;
	font-size: .97rem;
	line-height: 1.75;
}

/* 暗地（HIGHLIGHTS）＝金の罫・金の番号・クリームの見出し */
.is-style-kogp-dark .kogp-roll {
	--kogp-roll-rule: rgba(200, 164, 77, .28);
	--kogp-roll-accent: var(--wp--preset--color--gold, #C8A44D);
	--kogp-roll-line: rgba(200, 164, 77, .55);
	--kogp-roll-title: var(--wp--preset--color--cream, #F5EFE0);
}
.is-style-kogp-dark .kogp-roll__item:hover { background: rgba(200, 164, 77, .05); }
.is-style-kogp-dark .kogp-roll__item:hover .kogp-roll__num::before {
	border-color: var(--wp--preset--color--gold-bright, #E6C66B);
	box-shadow: 0 0 14px rgba(200, 164, 77, .35);
}
.is-style-kogp-dark .kogp-roll__num { text-shadow: 0 0 12px rgba(200, 164, 77, .4); }
/* 見出し色は変数に従わせる（ダーク帯の「見出しは金」規則より詳細度を上げる＝
   番号=金／見出し=クリームで階層を作る） */
.kogp-roll .kogp-roll__title,
.is-style-kogp-dark .kogp-roll .kogp-roll__title { color: var(--kogp-roll-title); }

/* 明地（コンセプト）＝インクの罫・navyの番号 */
.kogp-roll--light .kogp-roll__item:hover { background: rgba(21, 35, 59, .035); }

@media (max-width: 782px) {
	.kogp-roll__item {
		grid-template-columns: 3.1rem minmax(0, 1fr);
		row-gap: .45rem;
		padding: 1.1rem .1rem;
		align-items: start;
	}
	.kogp-roll__num {
		width: 3.1rem;
		height: 3.1rem;
		font-size: 1rem;
		grid-row: 1 / span 2;
	}
	.kogp-roll__num::before { inset: .42rem; }
	.kogp-roll__label,
	.kogp-roll__text { grid-column: 2; }
}

/* === 参加規約：条文の可読性（ライト面のクリーンな法務テキスト） ==========
   装飾は乗せない（DESIGN準拠）。項＝算用数字の<ol>、号＝漢数字(cjk-ideographic)の入れ子。 */
/* 条文は「読み物」ではなく「参照する文書」＝本文を一段小さくして密度を上げ、
   代わりに条見出し（第N条）を強く立てて、目的の条を探せる構造にする。
   文言は一切変えない（法務作成の正式版）。 */
.kogp-terms {
	font-size: .88rem;
	line-height: 1.85;
	color: rgba(28, 38, 34, .88);
}

/* 条見出し＝金の縦罫＋navyの明朝。前に大きく空けて塊の切れ目を作る */
.kogp-terms > h2:first-child { margin-top: 0; }
.kogp-terms h2 {
	margin: 3rem 0 .9rem;
	padding: .15rem 0 .15rem .8rem;
	border-left: 3px solid var(--wp--preset--color--gold, #C8A44D);
	border-bottom: 1px solid rgba(200, 164, 77, .3);
	padding-bottom: .45rem;
	font-family: var(--wp--preset--font-family--heading-jp, serif);
	font-size: 1.06rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: .04em;
	color: var(--wp--preset--color--navy, #15233B);
}

.kogp-terms p { margin: .7rem 0; }

/* 項＝算用数字。番号を淡く、本文を主にする */
.kogp-terms ol { padding-left: 1.9em; margin: .6rem 0; }
.kogp-terms > ol > li { margin-block: .6rem; padding-left: .2em; }
.kogp-terms > ol > li::marker {
	color: rgba(21, 35, 59, .55);
	font-weight: 600;
}
/* 号＝漢数字の入れ子。さらに一段落として階層を見せる */
.kogp-terms ol ol {
	list-style-type: cjk-ideographic;
	margin: .5rem 0 .9rem;
	font-size: .96em;
}
.kogp-terms ol ol > li { margin-block: .35rem; }
.kogp-terms ol ol > li::marker { color: rgba(21, 35, 59, .45); }

.kogp-terms .kogp-divider { margin: 2.4rem 0 .6rem; }

/* === 大会規約：文書メタ／改訂ノート／目次／署名 =========================
   規約は“記録”の面なので羊皮紙パネルに載せる（DESIGN: 羊皮紙＝データ・概要・表）。
   金はヘアラインとマークのみ。明地の文字色には使わない。 */
.kogp-terms__meta,
.kogp-terms__toc {
	background: var(--wp--preset--color--parchment, #F3EAD3);
	border: 1px solid rgba(200, 164, 77, .45);
	border-radius: 2px;
	padding: 1.2rem 1.3rem;
	margin: 1.6rem 0;
}
.kogp-terms__meta > :first-child,
.kogp-terms__toc > :first-child { margin-top: 0; }
.kogp-terms__meta > :last-child,
.kogp-terms__toc > :last-child { margin-bottom: 0; }

/* 改訂ノート＝本版で何が変わったかの明示 */
.kogp-terms__meta-note {
	font-size: .86rem;
	line-height: 1.85;
}
.kogp-terms__meta-note strong {
	display: inline-block;
	margin-bottom: .2rem;
	font-family: var(--wp--preset--font-family--heading-jp, serif);
	font-weight: 600;
	letter-spacing: .06em;
	color: var(--wp--preset--color--navy, #15233B);
}

/* 制定日・最終改定日・主催＝碑文のような定義リスト */
.kogp-terms__meta-list {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: .25rem .9rem;
	margin: 1rem 0 0;
	padding-top: .9rem;
	border-top: 1px solid rgba(200, 164, 77, .35);
	font-size: .85rem;
}
.kogp-terms__meta-list dt {
	font-family: var(--wp--preset--font-family--heading-jp, serif);
	font-weight: 600;
	letter-spacing: .06em;
	color: var(--wp--preset--color--navy, #15233B);
}
.kogp-terms__meta-list dd { margin: 0; }

/* 目次＝条番号を淡く、条名を主に */
.kogp-terms__toc-title {
	margin: 0 0 .6rem;
	font-family: var(--wp--preset--font-family--heading-jp, serif);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: .08em;
	color: var(--wp--preset--color--navy, #15233B);
}
.kogp-terms__toc ol {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .1rem 1.4rem;
	margin: 0;
	padding: 0;
	counter-reset: kogp-art;
}
.kogp-terms__toc li {
	counter-increment: kogp-art;
	margin: 0;
	font-size: .86rem;
	line-height: 1.75;
}
.kogp-terms__toc li::before {
	content: "第" counter(kogp-art) "条";
	display: inline-block;
	min-width: 3.7em;
	color: rgba(21, 35, 59, .55);
	font-variant-numeric: tabular-nums;
}
.kogp-terms__toc a {
	color: var(--wp--preset--color--ink, #1C2622);
	text-decoration: none;
	border-bottom: 1px solid transparent;
}
.kogp-terms__toc a:hover,
.kogp-terms__toc a:focus-visible {
	border-bottom-color: rgba(200, 164, 77, .8);
}
.kogp-terms__toc-note {
	margin: 1rem 0 0;
	padding-top: .9rem;
	border-top: 1px solid rgba(200, 164, 77, .35);
	font-size: .82rem;
	line-height: 1.8;
	color: rgba(28, 38, 34, .8);
}

/* 末尾の署名（制定日・主催） */
.kogp-terms__sign {
	margin-top: 1.4rem;
	text-align: right;
	font-size: .85rem;
	line-height: 1.9;
	color: rgba(28, 38, 34, .8);
}

/* 目次リンクで飛んだ条が固定ヘッダーに隠れないように */
.kogp-terms h2[id] { scroll-margin-top: 5rem; }

@media (max-width: 560px) {
	.kogp-terms__toc ol { grid-template-columns: 1fr; }
	.kogp-terms__meta,
	.kogp-terms__toc { padding: 1rem 1rem; }
}

@media (max-width: 560px) {
	.kogp-terms { font-size: .85rem; }
	.kogp-terms h2 { font-size: 1rem; margin-top: 2.4rem; }
	.kogp-terms ol { padding-left: 1.6em; }
}

/* スクリーンリーダー専用（視覚的には隠すが文書見出し/SEOには残す） */
.sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* === ヒーロー：KVアート背景＋live オーバーレイ ==============================
   焼き込み文字と右上の盾紋章を外した kop-kv-art-nomark.jpg を cover 背景にし、
   下部スクリムで可読性を確保。
   題字/日程/カウントダウンは live HTML＝レスポンシブ＆SEO＆カウントダウン両立。 */
.is-style-kogp-dark.kogp-hero {
	background-color: #0B0906;
	background-image:
		radial-gradient(120% 90% at 62% -10%, rgba(200, 164, 77, .20), rgba(200, 164, 77, 0) 50%),
		linear-gradient(180deg, rgba(11, 9, 6, .12) 0%, rgba(11, 9, 6, .40) 44%, rgba(11, 9, 6, .90) 100%),
		url("assets/brand/kop-kv-art-nomark.jpg"),
		linear-gradient(180deg, #0B0906 0%, #171009 100%);
	background-repeat: no-repeat;
	background-size: cover;
	/* アート層は right top 固定＝cover の切り落としを必ず左側に逃がし、
	   右側の騎士と剣戟の交点を画角に残す（旧・右上の盾紋章は画像から除去済み）。 */
	background-position: center top, center, right top, center;
}
/* 高さは min-height で決め打ちし、中身を上下中央に置く＝題字を大きくしても
   ヒーローが伸び続けない（＝KVが巨大化しない）。スクロール直後に次節が現れる高さ。 */
.is-style-kogp-dark.kogp-hero {
	min-height: clamp(340px, 62vh, 660px);
	display: flex;
	flex-direction: column;
	justify-content: center;
}
/* コアの縦マージン（.is-layout-constrained > * の24px）を打ち消し、間隔を自前で詰める。
   詳細度をコア（0,1,0）より上げるため .is-style-kogp-dark と併記する。 */
.is-style-kogp-dark.kogp-hero > * { margin-block: 0; }
.kogp-hero .kogp-flourish { margin-top: .55rem; }
.kogp-hero .kogp-dia-row { margin-top: 1rem; }
.kogp-hero .wp-block-buttons { margin-top: 1.3rem; }

/* ヒーローのカウントダウン＝KVの絵の上でも読めるよう、暗いプレート（金ヘアライン）に載せ、
   数字を一回り大きく・金のグローを強める。プレートは内容幅に合わせて中央寄せ。 */
.kogp-hero .kogp-countdown {
	width: fit-content;
	max-width: 100%;
	margin: 1.3rem auto 0;
	padding: .85rem 1.4rem;
	gap: 1.4rem;
	background: rgba(11, 9, 6, .62);
	border: 1px solid rgba(200, 164, 77, .38);
	border-radius: 2px;
	box-shadow: inset 0 0 22px rgba(0, 0, 0, .35);
}
.kogp-hero .kogp-countdown__item b {
	font-size: clamp(2.1rem, 5.8vw, 3.2rem);
	text-shadow: 0 0 18px rgba(200, 164, 77, .55);
}
.kogp-hero .kogp-countdown__item small {
	font-size: .74rem;
	letter-spacing: .16em;
}

.kogp-hero__wordmark {
	font-size: clamp(2.5rem, 7.5vw, 6.5rem);
	line-height: 1.0;
	letter-spacing: .04em;
	margin-bottom: 0;
	position: relative;
	z-index: 0;              /* ::before(-1) を自分の中に閉じ込める（帯の背景より前） */
}
/* 金グラデ題字（background-clip:text）の可読性。
   ・text-shadow は効かない（透明文字の裏に影が出る）
   ・背面に複製を置く方式もダメ＝負のz-indexの疑似要素は“自分の背景”より前に描かれ、
     クリップされた金グラデを塗り潰してしまう（2026-07-31に実機で確認）
   → filter: drop-shadow() を要素自身にかける。描画後の形（＝金の文字の形）に沿って
     影が落ちるので、字画を太らせずに輪郭だけが締まる。 */
.kogp-hero__wordmark {
	filter:
		drop-shadow(0 1px 2px rgba(11, 9, 6, .9))
		drop-shadow(0 2px 10px rgba(0, 0, 0, .75))
		drop-shadow(0 0 26px rgba(0, 0, 0, .5));
}
/* ヒーローの題字だけ、金グラデを一段明るい側へ。
   既定の gold-title は下端が #B8902F まで落ちて暗い絵の上で沈むため。
   ダーク帯H1の @supports 規則（詳細度 0,2,1）に勝つ必要があるので
   .wp-block-group.is-style-kogp-dark h1.kogp-hero__wordmark（0,3,1）で指定する。 */
.wp-block-group.is-style-kogp-dark h1.kogp-hero__wordmark,
.kogp-hero__wordmark.kogp-wordmark-gold {
	background: linear-gradient(178deg, #FDF7E2 0%, #F5E3AA 40%, #E6C66B 74%, #D4AF57 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.kogp-hero__tagline {
	font-family: var(--wp--preset--font-family--heading-jp, serif);
	font-size: clamp(1.05rem, 2.6vw, 1.5rem);
	letter-spacing: .2em;
	color: var(--wp--preset--color--cream, #F5EFE0);
	margin: .5rem 0 0;
}
/* ヒーローの活字は art の上に乗るため、cream 系にだけ弱い影で可読性を確保
   （金グラデ題字は background-clip:text ゆえ影を持てない＝上部の暗い画に置く）。 */
.kogp-hero :where(.kogp-hero__tagline, .kogp-dia, .kogp-dia__val, .kogp-countdown__item small) {
	text-shadow:
		0 1px 2px rgba(0, 0, 0, .85),
		0 2px 16px rgba(0, 0, 0, .6);
}
/* ◇の枠線も絵に埋もれないよう、わずかに影を落とす */
.kogp-hero .kogp-dia::before,
.kogp-hero .kogp-dia::after {
	box-shadow: 0 1px 4px rgba(0, 0, 0, .55);
}
/* 金の下線フルールも同様 */
.kogp-hero .kogp-flourish { filter: drop-shadow(0 1px 3px rgba(0, 0, 0, .6)); }

/* === スマホ幅のヒーロー ==============================================
   縦長の画面では cover の切り落としが大きく、right top 固定だと絵の右端
   （暗部）しか映らない。焦点を剣戟の中心へ寄せ、帯の高さを詰めて絵の入る
   面積を増やす。中央は明るいのでスクリムを一段強め、活字も落として収める。 */
@media (max-width: 700px) {
	.is-style-kogp-dark.kogp-hero {
		min-height: clamp(300px, 46vh, 430px);
		background-image:
			radial-gradient(130% 90% at 55% -10%, rgba(200, 164, 77, .18), rgba(200, 164, 77, 0) 52%),
			linear-gradient(180deg, rgba(11, 9, 6, .42) 0%, rgba(11, 9, 6, .55) 42%, rgba(11, 9, 6, .93) 100%),
			url("assets/brand/kop-kv-art-nomark.jpg"),
			linear-gradient(180deg, #0B0906 0%, #171009 100%);
		background-position: center top, center, 54% top, center;
	}
	.kogp-hero__wordmark { font-size: clamp(2.1rem, 10.5vw, 3.2rem); }
	.kogp-hero__tagline { font-size: 1rem; letter-spacing: .14em; }
	.kogp-hero .kogp-dia-row { gap: .45rem 1rem; font-size: .88rem; margin-top: .75rem; }
	.kogp-hero .kogp-dia { gap: .5rem; }
	.kogp-hero .kogp-countdown {
		gap: .75rem;
		padding: .55rem .8rem;
		margin-top: .9rem;
	}
	.kogp-hero .kogp-countdown__item { min-width: 2.9rem; }
	.kogp-hero .kogp-countdown__item b { font-size: clamp(1.55rem, 8vw, 2.2rem); }
	.kogp-hero .kogp-countdown__item small { font-size: .62rem; letter-spacing: .1em; }
	.kogp-hero .wp-block-buttons { margin-top: 1rem; }
}

/* (a) ダーク帯の H1 は金グラデ題字に統一（KVの題字処理を全ページのヒーローへ）。
   background-clip:text 非対応環境では既存の flat gold にフォールバック。 */
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
	.wp-block-group.is-style-kogp-dark h1 {
		background: var(--wp--preset--gradient--gold-title, linear-gradient(178deg, #F2E0A6 0%, #E6C66B 42%, #B8902F 100%));
		-webkit-background-clip: text;
		background-clip: text;
		-webkit-text-fill-color: transparent;
		color: transparent;
	}
}

/* 地図埋め込み（アクセス簡易）＝レスポンシブ枠 */
.kogp-map {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 1px solid rgba(200, 164, 77, .45);
	border-radius: 3px;
	overflow: hidden;
}
.kogp-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* === メインイベント賞金の広告枠（ダーク帯・暗地のみ＝金OK） ==========
   挿絵＋特大数字を載せる“魅せる”面。枠＝is-style-kogp-dark のダーク帯。
   左に画像スロット（.kogp-card の金ヘアライン囲み＝差し替え用）、右に賞金。 */
.kogp-ad { padding: clamp(1.6rem, 4.5vw, 2.8rem) clamp(1.2rem, 4vw, 2.4rem); }
.kogp-ad .wp-block-columns { margin-block: 0; align-items: center; }

/* 画像スロット（プレースホルダ＝本番広告イメージに差し替え可能） */
.kogp-ad-figure { text-align: center; }
.kogp-ad-figure img { display: block; width: 100%; height: auto; margin: 0 auto; }
.kogp-ad-figure__note {
	margin: .7rem 0 0;
	font-size: .72rem;
	letter-spacing: .08em;
	color: var(--wp--preset--color--steel, #9AA3AB);
	text-align: center;
}

/* 特大数字の上の小ラベル（暗地＝gold-bright OK） */
.kogp-ad-label {
	margin: 0 0 -.1em;
	font-size: .85rem;
	font-weight: 700;
	letter-spacing: .1em;
	color: var(--wp--preset--color--gold-bright, #E6C66B);
}

/* =========================================================================
 * SPECIAL DJ NIGHT ＝「夜の面」（2026-09-08）
 *
 * 適用範囲＝ACF `dj_lineup` が入った tournament ページだけ（body.kogp-djnight-page）。
 * この1夜だけ、KOP の金は“クラブの光”に照らされる、という限定解禁。
 * DESIGN.md §2/§7 に例外として明記済み（マゼンタ／バイオレットは公式フライヤーからの抽出色）。
 * 骨格（obsidian の地・金の見出し・角≤4px・データ表と読み面のクリーンさ）は一切崩さない。
 * ========================================================================= */

body.kogp-djnight-page {
	--kogp-fever-magenta:    #F06BE8;  /* フライヤーの FEVER 題字（中） */
	--kogp-fever-magenta-hi: #FFC5FF;  /* 同・ハイライト */
	--kogp-fever-violet:     #7A3FA8;  /* フロアの被り光 */
	--kogp-fever-plate:      #1E1D3F;  /* フライヤーのカード地 */
	--kogp-fever-frame:      #2A1A41;  /* 同・枠 */
}

/* 大会ページの本文は既定でヒーローとの間に余白を取る（旧テンプレのラッパー相当）。
   DJナイト回だけはヒーローとダーク帯を地続きにしたいので余白を殺す。 */
.single-tournament .wp-block-post-content { margin-top: var(--wp--preset--spacing--60); }
body.kogp-djnight-page .wp-block-post-content { margin-top: 0; }

/* --- ヒーロー：この夜だけクラブの光を被せる ---------------------------
   地の4層背景（ゴッドレイ／ティール微光／紋様／obsidian）は触らない。
   層数がズレると background-position が全部崩れるため、必ず ::before で足す。 */
body.kogp-djnight-page .is-style-kogp-dark.kogp-page-hero {
	position: relative;
	overflow: hidden;
	min-height: clamp(230px, 32vh, 340px);
}
body.kogp-djnight-page .kogp-page-hero::before,
body.kogp-djnight-page .kogp-fever-band::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		radial-gradient(64% 48% at 16% 2%,  rgba(240, 107, 232, .26), rgba(240, 107, 232, 0) 62%),
		radial-gradient(58% 46% at 86% 8%,  rgba(122,  63, 168, .32), rgba(122,  63, 168, 0) 66%);
}
body.kogp-djnight-page .kogp-page-hero > *,
body.kogp-djnight-page .kogp-fever-band > * { position: relative; }

/* 題字は金のまま（KOPの芯）。マゼンタは“当たっている光”として輪郭の外に置く。
   background-clip:text に text-shadow は効かないので drop-shadow（2026-07-31の確定形と同じ）。 */
body.kogp-djnight-page .kogp-page-hero h1 {
	filter:
		drop-shadow(0 0 28px rgba(240, 107, 232, .40))
		drop-shadow(0 1px 2px rgba(11, 9, 6, .9));
}
body.kogp-djnight-page .kogp-page-hero .kogp-eyebrow {
	color: var(--kogp-fever-magenta-hi, #FFC5FF);
}

/* --- 夜の帯：ヒーローから連続した1枚の夜に見せる（金罫の二重線を殺す） --- */
body.kogp-djnight-page .kogp-page-hero { border-bottom: 0; }
body.kogp-djnight-page .wp-block-group.kogp-fever-band {
	position: relative;
	overflow: hidden;
	border-top: 0;
}

/* --- FEVER ワードマーク（欧文限定・暗地のみ）------------------------
   金グラデ題字 .kogp-wordmark-gold のマゼンタ版。この夜のためだけの対。
   ダーク帯の h1〜h4 は金指定(0,2,1)なので、要素+クラスで上書きする。 */
.wp-block-group.is-style-kogp-dark :is(h1, h2, h3).kogp-fever-wordmark {
	font-family: var(--wp--preset--font-family--display-latin, serif);
	font-size: clamp(1.9rem, 5.4vw, 3.3rem);
	font-weight: 700;
	margin: .2rem 0 .6rem;
	letter-spacing: .06em;
	line-height: 1.05;
	background: linear-gradient(178deg, #FFC5FF 0%, #F06BE8 46%, #A83BB0 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	filter:
		drop-shadow(0 0 26px rgba(240, 107, 232, .38))
		drop-shadow(0 1px 2px rgba(11, 9, 6, .9));
}
@supports not ((background-clip: text) or (-webkit-background-clip: text)) {
	.wp-block-group.is-style-kogp-dark :is(h1, h2, h3).kogp-fever-wordmark {
		color: #F06BE8;
	}
}

/* 夜のリード文＝短い煽りコピー。行間を開けて“間”で聴かせる。 */
.kogp-fever-lead {
	font-size: clamp(1.05rem, 2.6vw, 1.35rem);
	line-height: 2;
	letter-spacing: .04em;
	color: var(--wp--preset--color--cream, #F5EFE0);
}
.kogp-fever-lead strong {
	color: var(--kogp-fever-magenta-hi, #FFC5FF);
	font-weight: 700;
}
/* 締めの一行（9/26 SAT. 渋谷の夜は、終わらない。） */
.kogp-fever-outro {
	margin: 0;
	text-align: center;
	font-family: 'Shippori Mincho', 'Noto Serif JP', serif;
	font-size: clamp(1.1rem, 3vw, 1.5rem);
	letter-spacing: .12em;
	color: var(--wp--preset--color--gold-hi, #F2E0A6);
}
.kogp-fever-outro span {
	display: block;
	margin-bottom: .4rem;
	font-family: var(--wp--preset--font-family--display-latin, serif);
	font-size: .8rem;
	letter-spacing: .26em;
	color: var(--kogp-fever-magenta-hi, #FFC5FF);
}

/* --- ステージ（題字＋日程＋出番）とフライヤーの2カラム ---------------- */
.kogp-fever-stage {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
	gap: clamp(1.6rem, 4vw, 3rem);
	align-items: center;
}
/* is-layout-flow の子マージンはグリッドの gap と喧嘩するので殺す。
   WP の flow レイアウト規則は :where() で特定度0＝同点になるため、読み込み順に
   依存しないよう .wp-block-group を足して勝たせる。 */
.wp-block-group.kogp-fever-stage > * { margin-block: 0; }
@media (max-width: 820px) {
	.kogp-fever-stage { grid-template-columns: 1fr; }
	/* スマホではフライヤーを主役の直後に置き、幅を抑えて縦に長くしない。 */
	.kogp-fever-stage .kogp-dj-flyer { max-width: 420px; margin-inline: auto; }
}

/* --- B1 VIP VIEWING（観覧チケット）＝読み面。金は使わない（明地の禁則）--- */
.kogp-vip {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .4rem 1.1rem;
	padding-bottom: .9rem;
	margin-bottom: 1.1rem;
	border-bottom: 1px solid rgba(28, 38, 34, .18);
}
.kogp-vip__label {
	flex: 0 0 100%;
	margin: 0;
	font-family: var(--wp--preset--font-family--display-latin, serif);
	font-weight: 700;
	font-size: .82rem;
	letter-spacing: .2em;
	color: var(--wp--preset--color--forest, #14492F);
}
.kogp-vip__price {
	margin: 0;
	font-family: var(--wp--preset--font-family--display-latin, serif);
	font-weight: 700;
	font-size: clamp(1.8rem, 5vw, 2.6rem);
	line-height: 1;
	font-variant-numeric: tabular-nums;
	color: var(--wp--preset--color--ink, #1C2622);
}
.kogp-vip__unit {
	margin-left: .35rem;
	font-family: inherit;
	font-size: .8rem;
	letter-spacing: .08em;
	color: rgba(28, 38, 34, .68);
}
.kogp-vip__inc {
	margin: 0;
	font-size: .9rem;
	letter-spacing: .04em;
	color: rgba(28, 38, 34, .78);
}
