/*
Theme Name: Astra Child
Template: astra
Version: 1.0
*/



	@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;600;700&family=Noto+Sans+JP:wght@400;500;700&display=swap');

	@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700&family=Oswald:wght@400;600;700&display=swap');



	body {
		font-family: 'Zen Kaku Gothic New', system-ui, -apple-system, BlinkMacSystemFont, sans-serif !important;
		font-weight: 400;
		letter-spacing: 0.02em;
	}


	h1, h2, h3,
	.entry-title,
	.wp-block-post-title {
		font-family: 'Oswald', 'Zen Kaku Gothic New', sans-serif !important;
		font-weight: 600;
		letter-spacing: 0.04em;
	}

	p,
	li,
	td,
	th,
	.wp-block-post-content {
		font-family: 'Zen Kaku Gothic New', sans-serif !important;
		font-weight: 400;
		line-height: 1.8;
	}



	.tc-ticket-table,
	.tc_cart_table,
	.woocommerce-cart,
	.woocommerce-checkout,
	button,
	input,
	select {
		font-family: 'Zen Kaku Gothic New', sans-serif !important;
		font-weight: 500;
	}





	/* =========================
		 KAMATIX Global Background
		 Astra完全上書き
	========================= */

	/* body 自体 */
	body {
		background-color: #f5f3ee !important;
	}

	/* Astra の主要ラッパー全部 */
	.ast-plain-container,
	.ast-page-builder-template,
	.ast-container,
	.site-content,
	#content,
	#primary {
		background-color: #f5f3ee !important;
	}

	/* Gutenberg / Block系の白背景を殺す */
	.wp-site-blocks,
	.wp-block-group,
	.wp-block-post-content {
		background-color: transparent !important;
	}

	/* 念のため main */
	main {
		background-color: transparent !important;
	}	

	/* =========================
		 KAMATIX Header Override
	========================= */

	/* ヘッダー全体 */
	.site-header,
	.ast-primary-header-bar {
		background-color: #f5f3ee !important;
		border: none !important;
		box-shadow: none !important;
	}

	/* ロゴ周りの余白を締める */
	.site-header .site-branding,
	.ast-site-identity {
		padding: 12px 0;
	}

	/* ナビゲーション文字 */
	.site-header a,
	.ast-primary-header-bar a,
	.main-header-menu a {
	 ?color: #000 !important;
		font-weight: 600;
	}






	/* =========================
		 KAMATIX Layout Reset
		 Astra の横幅制限を解除
	========================= */

	/* Astraの最大幅を解除 */
	.ast-container,
	.ast-container-fluid,
	.site-content,
	#content,
	#primary,
	.entry-content,
	.wp-site-blocks,
	.wp-block-post-content {
		max-width: none !important;
		width: 100% !important;
	}

	/* 中央寄せを解除 */
	.ast-container,
	.site-content {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	/* =========================
		 KAMATIX TRUE LAYOUT CONTROL
		 実コンテンツに効かせる
	========================= */

	/* KAMATIX レイアウト中枢（唯一の制御点） */
	.site-main {
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 24px;
	}


	/* モバイルは少し絞る */
	@media (max-width: 768px) {
		.site-content,
		.site-main,
		.entry-content,
		.wp-block-post-content {
			padding-left: 20px !important;
			padding-right: 20px !important;
		}
	}


	/* =========================
		 Event Title 強化
	========================= */

	.entry-title,
	.tc-event-title {
		font-size: 48px !important;
		font-weight: 800;
		letter-spacing: -0.02em;
		margin-bottom: 24px;
	}

	/* 開発用NOTICE非表示 */
	.tc_warning_ticket_types_needed {
		display: none !important;
	}




	/* =========================
		 KAMATIX Global Button Style
		 黒スタート → hover反転
	========================= */

	/* ===== 基本：全ボタン共通 ===== */
	button,
	input[type="submit"],
	input[type="button"],
	a.button,
	.wp-block-button__link,
	.woocommerce a.button,
	.woocommerce button.button,
	.woocommerce input.button,
	.woocommerce #respond input#submit {
		background: #000 !important;
		color: #fff !important;
		border: 1.5px solid #000 !important;
		border-radius: 0 !important;

		padding: 16px 32px;
		font-family: 'Zen Kaku Gothic New', system-ui, sans-serif;
		font-weight: 700;
		letter-spacing: 0.08em;
		transition:
			background-color 0.25s ease,
			color 0.25s ease,
			transform 0.15s ease,
			box-shadow 0.15s ease;
	}

	/* ===== Hover：白に反転 ===== */
	button:hover,
	input[type="submit"]:hover,
	input[type="button"]:hover,
	a.button:hover,
	.wp-block-button__link:hover,
	.woocommerce a.button:hover,
	.woocommerce button.button:hover,
	.woocommerce input.button:hover,
	.woocommerce #respond input#submit:hover {
		background: transparent !important;
		color: #000 !important;
		transform: translateY(-1px);
	}

	/* ===== Active：押した感 ===== */
	button:active,
	input[type="submit"]:active,
	a.button:active {
		transform: translateY(0);
		box-shadow: none;
	}

	/* =========================
		 主要CTAは一段強く
	========================= */

	/* カート → チェックアウト */
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
	.woocommerce-checkout #place_order {
		width: 100%;
		padding: 20px 32px;
		font-size: 18px;
	}

	/* Tickera / チケット追加系も念押し */
	.tc_add_to_cart,
	.tc-ticket-button {
		background: #000 !important;
		color: #fff !important;
		border-radius: 0 !important;
	}

	/* =========================
		 Woo Blocks Button Override
		 Cart / Checkout 対応
	========================= */

	/* Cart・Checkout の主要CTA */
	.wc-block-components-button,
	.wc-block-components-button.contained,
	.wc-block-cart__submit-button,
	.wc-block-components-checkout-place-order-button,
	.wc-block-components-button.wp-element-button {
		background-color: #000 !important;
		color: #fff !important;
		border: 1.5px solid #000 !important;
		border-radius: 0 !important;

		padding: 18px 32px !important;
		font-family: 'Zen Kaku Gothic New', system-ui, sans-serif !important;
		font-weight: 700 !important;
		letter-spacing: 0.08em;
		transition:
			background-color 0.25s ease,
			color 0.25s ease,
			transform 0.15s ease;
	}

	/* Hover：反転 */
	.wc-block-components-button:hover,
	.wc-block-cart__submit-button:hover,
	.wc-block-components-checkout-place-order-button:hover {
		background-color: transparent !important;
		color: #000 !important;
		transform: translateY(-1px);
	}

	/* 押下 */
	.wc-block-components-button:active {
		transform: translateY(0);
	}


	/* =========================
		 FUNDIO-LIKE CANVAS（最終）
	========================= */

	/* 画面＝キャンバス */
	.single-tc_events .site-main {
		max-width: none !important;   /* ← これが核心 */
		width: 100%;
		margin: 0;
		padding-left: 32px;           /* Fundioと同じ思想 */
		padding-right: 32px;
	}

	/* 中央寄せをやめる */
	.single-tc_events .entry-header,
	.single-tc_events .tc-ticket-table {
		max-width: none !important;
		margin-left: 0;
		margin-right: 0;
	}

	/* テーブルも箱化しない */
	.single-tc_events .tc-ticket-table {
		width: 100%;
	}


	/* =========================
		 Gutenberg 制約解除（EVENT ONLY）
	========================= */

	.single-tc_events
	.is-layout-constrained
	> :where(:not(.alignleft):not(.alignright)) {
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* 念押し：中のラッパーも解除 */
	.single-tc_events
	.wp-site-blocks,
	.single-tc_events
	.wp-block-group,
	.single-tc_events
	.entry-content {
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* =========================
		 LEFT LINE SYNC
		 entry-header × entry-content
	========================= */

	/* コンテンツ側を基準にする */
	.single-tc_events .entry-content {
		padding-left: 32px;
		padding-right: 32px;
		max-width: 1320px;
		margin-left: auto;
		margin-right: auto;
	}

	/* ヘッダーは padding を持たせず、同じ左ラインに合わせる */
	.single-tc_events .entry-header {
		max-width: 1320px;
		margin-left: auto;
		margin-right: auto;
		padding-left: 32px; /* ← ここがキモ */
		padding-right: 32px;
		text-align: left;
	}

	/* タイトルは左ライン基準 */
	.single-tc_events .entry-title {
		margin-left: 0;
	}

	/* メタ情報も左揃え */
	.single-tc_events .tc-event-meta {
		justify-content: flex-start;
	}


	/* =========================
		 Fundio-like Layout (Final)
	========================= */

	/* Astraの中央寄せ・幅制限を完全に殺す */
	.single-tc_events .ast-container,
	.single-tc_events .site-main {
		max-width: none !important;
		width: 100%;
		margin: 0;
	}

	/* Fundio的「思い切った左右余白」 */
	.single-tc_events .site-main {
		padding-left: 150px;
		padding-right: 150px;
	}

	/* 中のブロックが勝手に中央寄せされないように */
	.single-tc_events .entry-header,
	.single-tc_events .entry-content {
		margin-left: 0;
		margin-right: 0;
		max-width: none;
	}

	/* =========================
		 Astra Header ? FINAL FIX
	========================= */

	/* 外側はフル幅維持 */
	.site-header .ast-container {
		max-width: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* 実際にロゴとメニューを持つ行 */
	.site-header .ast-builder-grid-row {
		padding-left: 150px;
		padding-right: 150px;
	}

	:root {
		--site-side-padding: 160px; /* ← 150?180で微調整OK */
	}

	.single-tc_events .site-main {
		width: 100%;
		max-width: none !important;
		margin: 0;
		padding-left: var(--site-side-padding);
		padding-right: var(--site-side-padding);
	}

	.site-header .ast-builder-grid-row {
		padding-left: var(--site-side-padding);
		padding-right: var(--site-side-padding);
	}

	.site-header .ast-container {
		max-width: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* =========================
		 共通サイド余白（Fundio寄せ）
	========================= */
	:root {
		--content-side-padding: 160px; /* 150?180で微調整 */
	}

	/* ===== 記事タイトル ===== */
	.single-tc_events .entry-header {
		padding-left: var(--content-side-padding);
		padding-right: var(--content-side-padding);
	}

	/* ===== 記事本文 ===== */
	.single-tc_events .entry-content {
		padding-left: var(--content-side-padding);
		padding-right: var(--content-side-padding);
	}

	/* ===== 余計な制限は全部解除 ===== */
	.single-tc_events .site-main,
	.single-tc_events .ast-container {
		max-width: none !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* イベントページ：投稿者・投稿日を非表示 */
	.single-tc_events .entry-meta,
	.single-tc_events .posted-by,
	.single-tc_events .posted-on {
		display: none !important;
	}



	/* =========================
		 Tickera Ticket List ? Fundio風
	========================= */

	/* テーブルを表に見せない */
	.event_tickets.tickera {
		width: 100%;
		border-collapse: collapse;
		border: none;
	}

	/* ヘッダー行 */
	.event_tickets.tickera thead,
	.event_tickets.tickera tr:first-child {
		border-bottom: 2px solid #111;
	}

	.event_tickets.tickera th {
		font-size: 13px;
		letter-spacing: 0.08em;
		font-weight: 700;
		padding: 16px 0;
		text-align: left;
	}

	/* 各チケット行 */
	.event_tickets.tickera td {
		border: none;
		padding: 22px 0;
		vertical-align: middle;
	}

	/* 行の区切り線だけ残す */
	.event_tickets.tickera tr:not(:first-child) {
		border-bottom: 1px solid rgba(0,0,0,0.15);
	}

	/* 席種（Ticket Type）を強調 */
	.event_tickets.tickera td[data-column="Ticket Type"] {
		font-size: 20px;
		font-weight: 600;
		letter-spacing: 0.02em;
	}

	/* 価格を大きく */
	.event_tickets.tickera td[data-column="Price"] {
		font-size: 22px;
		font-weight: 700;
	}


	/* Cart列 全体を中央寄せ */
	.event_tickets.tickera td[data-column="Cart"] {
		text-align: center;
	}


	/* カートボタン調整 */
	.event_tickets.tickera .tc_add_to_cart_button {
		padding: 14px 28px;
		font-size: 14px;
		letter-spacing: 0.08em;
	}

	/* 各行に余白を持たせる */
	.event_tickets.tickera td {
		padding-top: 28px;
		padding-bottom: 28px;
	}


	/* =========================
		 Tickera 縦罫線 完全除去
	========================= */

	.event_tickets.tickera th,
	.event_tickets.tickera td {
		border-right: none !important;
		border-left: none !important;
	}


	.event_tickets.tickera td[data-column="Price"] {
		font-size: 22px;
		font-weight: 700;
		white-space: nowrap;
	}

	.event_tickets.tickera td[data-column="Price"]::after {
		content: "（税込）";
		font-size: 11px;
		font-weight: 500;
		margin-left: 6px;
		color: #777;
	}


	/* =========================
		 WooCommerce Cart - Fundio Style
	========================= */

	/* Cartページだけ */
	.woocommerce-cart .site-main {
		max-width: none;
		padding-left: 160px;
		padding-right: 160px;
	}

	/* ページタイトル */
	.woocommerce-cart h1.entry-title {
		font-size: 64px;
		font-weight: 800;
		letter-spacing: .02em;
		margin-bottom: 48px;
	}

	/* ===== テーブル感を消す ===== */
	.woocommerce-cart table.shop_table {
		border: none;
		border-collapse: collapse;
	}

	.woocommerce-cart table.shop_table thead {
		border-bottom: 1px solid #111;
	}

	.woocommerce-cart table.shop_table th {
		text-align: left;
		font-size: 14px;
		letter-spacing: .08em;
		padding: 12px 0;
	}

	.woocommerce-cart table.shop_table td {
		border: none;
		padding: 32px 0;
		vertical-align: middle;
	}

	/* 行の下にだけライン */
	.woocommerce-cart table.shop_table tbody tr {
		border-bottom: 1px solid rgba(0,0,0,.15);
	}

	/* ===== 商品列 ===== */
	.woocommerce-cart td.product-name a {
		font-size: 22px;
		font-weight: 600;
		color: #000;
		text-decoration: none;
	}

	/* 価格 */
	.woocommerce-cart td.product-price,
	.woocommerce-cart td.product-subtotal {
		font-size: 22px;
		font-weight: 700;
		white-space: nowrap;
	}

	/* 税込表記 */
	.woocommerce-cart td.product-price::after,
	.woocommerce-cart td.product-subtotal::after {
		content: "（税込）";
		font-size: 13px;
		margin-left: 6px;
		font-weight: 400;
	}

	/* ===== 数量UI ===== */
	.woocommerce-cart .quantity {
		display: inline-flex;
		align-items: center;
		border: 1px solid #111;
	}

	.woocommerce-cart .quantity input.qty {
		width: 60px;
		border: none;
		font-size: 18px;
		text-align: center;
	}

	/* ===== 削除リンク ===== */
	.woocommerce-cart a.remove {
		font-size: 14px;
		color: #111;
		text-decoration: underline;
	}

	/* ===== Cart Totals（右カラム） ===== */
	.woocommerce-cart .cart_totals {
		border: none;
		padding-left: 80px;
	}

	/* 見出し */
	.woocommerce-cart .cart_totals h2 {
		font-size: 18px;
		letter-spacing: .08em;
		margin-bottom: 24px;
	}

	/* 合計金額 */
	.woocommerce-cart .order-total th,
	.woocommerce-cart .order-total td {
		font-size: 26px;
		font-weight: 800;
	}

	/* ===== Checkoutボタン ===== */
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
		background: #000;
		color: #fff;
		font-size: 18px;
		padding: 20px;
		letter-spacing: .08em;
		border-radius: 0;
	}


	/* =========================
		 WooCommerce Cart - Fundio Style
	========================= */

	/* Cartページだけ */
	.woocommerce-cart .site-main {
		max-width: none;
		padding-left: 160px;
		padding-right: 160px;
	}

	/* ページタイトル */
	.woocommerce-cart h1.entry-title {
		font-size: 64px;
		font-weight: 800;
		letter-spacing: .02em;
		margin-bottom: 48px;
	}

	/* ===== テーブル感を消す ===== */
	.woocommerce-cart table.shop_table {
		border: none;
		border-collapse: collapse;
	}

	.woocommerce-cart table.shop_table thead {
		border-bottom: 1px solid #111;
	}

	.woocommerce-cart table.shop_table th {
		text-align: left;
		font-size: 14px;
		letter-spacing: .08em;
		padding: 12px 0;
	}

	.woocommerce-cart table.shop_table td {
		border: none;
		padding: 32px 0;
		vertical-align: middle;
	}

	/* 行の下にだけライン */
	.woocommerce-cart table.shop_table tbody tr {
		border-bottom: 1px solid rgba(0,0,0,.15);
	}

	/* ===== 商品列 ===== */
	.woocommerce-cart td.product-name a {
		font-size: 22px;
		font-weight: 600;
		color: #000;
		text-decoration: none;
	}

	/* 価格 */
	.woocommerce-cart td.product-price,
	.woocommerce-cart td.product-subtotal {
		font-size: 22px;
		font-weight: 700;
		white-space: nowrap;
	}

	/* 税込表記 */
	.woocommerce-cart td.product-price::after,
	.woocommerce-cart td.product-subtotal::after {
		content: "（税込）";
		font-size: 13px;
		margin-left: 6px;
		font-weight: 400;
	}

	/* ===== 数量UI ===== */
	.woocommerce-cart .quantity {
		display: inline-flex;
		align-items: center;
		border: 1px solid #111;
	}

	.woocommerce-cart .quantity input.qty {
		width: 60px;
		border: none;
		font-size: 18px;
		text-align: center;
	}

	/* ===== 削除リンク ===== */
	.woocommerce-cart a.remove {
		font-size: 14px;
		color: #111;
		text-decoration: underline;
	}

	/* ===== Cart Totals（右カラム） ===== */
	.woocommerce-cart .cart_totals {
		border: none;
		padding-left: 80px;
	}

	/* 見出し */
	.woocommerce-cart .cart_totals h2 {
		font-size: 18px;
		letter-spacing: .08em;
		margin-bottom: 24px;
	}

	/* 合計金額 */
	.woocommerce-cart .order-total th,
	.woocommerce-cart .order-total td {
		font-size: 26px;
		font-weight: 800;
	}

	/* ===== Checkoutボタン ===== */
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
		background: #000;
		color: #fff;
		font-size: 18px;
		padding: 20px;
		letter-spacing: .08em;
		border-radius: 0;
	}


	/* Cartページだけ Astraのwide計算を破壊 */
	body.woocommerce-cart {
		--wp--custom--ast-default-block-left-padding: 0px;
		--wp--custom--ast-default-block-right-padding: 0px;
		--wp--custom--ast-wide-width-size: 100%;
	}




	/* ===============================
		 Checkout layout fix (Astra)
		 =============================== */

	/* Checkout 全体幅は Cart と同じ */
	body.woocommerce-checkout .site-main {
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 24px;
	}




	/* ===============================
		 Woo Checkout ? Cart揃え最終版
		 =============================== */

	/* Checkout の content 幅を Cart と揃える */
	body.woocommerce-checkout
	.wp-block-woocommerce-checkout {
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 24px;
	}

	/* レイアウト本体（JSが触る場所） */
	body.woocommerce-checkout
	.wp-block-woocommerce-checkout
	.wc-block-components-sidebar-layout {
		display: flex !important;
		flex-wrap: nowrap !important; /* ★JS上書き防止 */
		gap: 64px;
		align-items: flex-start;
	}





	/* =========================================
		 CHECKOUT を CART と同じレイアウト思想にする
	========================================= */

	/* ① checkout だけ site-main を cart と同じ扱いに */
	body.woocommerce-checkout .site-main {
		max-width: none !important;
		width: 100% !important;
		margin: 0 auto !important;
		padding-left: 160px !important;
		padding-right: 160px !important;
		box-sizing: border-box;
	}

	/* ② Astra の container 制限を無効化 */
	body.woocommerce-checkout .ast-container,
	body.woocommerce-checkout #primary,
	body.woocommerce-checkout .site-content {
		max-width: none !important;
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	/* ③ ブロック checkout 自体の変な幅縛りを解除 */
	body.woocommerce-checkout .wp-block-woocommerce-checkout {
		max-width: none !important;
		width: 100% !important;
		margin: 0 !important;
	}

	/* ④ checkout の2カラムを cart っぽく自然に */
	body.woocommerce-checkout .wc-block-components-sidebar-layout {
		display: grid !important;
		grid-template-columns: 1fr 420px !important; /* 左メイン / 右サマリー */
		column-gap: 64px !important;
		align-items: start;
	}

	/* ⑤ 各カラムの width 固定を解除 */
	body.woocommerce-checkout .wc-block-components-main,
	body.woocommerce-checkout .wc-block-components-sidebar {
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
	}

	/* ⑥ モバイルは cart と同じく1カラム */
	@media (max-width: 921px) {
		body.woocommerce-checkout .site-main {
			padding-left: 20px !important;
			padding-right: 20px !important;
		}

		body.woocommerce-checkout .wc-block-components-sidebar-layout {
			grid-template-columns: 1fr !important;
			row-gap: 32px !important;
		}
	}





	/* =========================================
		 CHECKOUTだけ：見出し「支払い」を60px下げる
		 Cart / 他ページには一切影響しない
	========================================= */
	body.woocommerce-checkout header.entry-header .entry-title {
		margin-top: 60px !important;
	}



	/* =========================================
		 CHECKOUTだけ：左右余白を 180px に調整
	========================================= */
	body.woocommerce-checkout .site-main {
		padding-left: 180px !important;
		padding-right: 180px !important;
	}


	/* =========================================
		 CHECKOUT：ブロック側の余計な padding を撤去
		 （ズレの元を潰す）
	========================================= */
	body.woocommerce-checkout .wp-block-woocommerce-checkout {
		padding-left: 0 !important;
		padding-right: 0 !important;
		max-width: none !important;
		margin: 0 !important;
	}



	@media (max-width: 921px) {
		body.woocommerce-checkout .wp-block-woocommerce-checkout {
			padding: 0 !important;
		}
	}



	/* =========================================
		 ORDER RECEIVED（完了画面）だけ
		 Astraのentry-content幅制限を解除
	========================================= */
	body.woocommerce-order-received
	.entry-content[data-ast-blocks-layout] > * {
		max-width: none !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}








	body.woocommerce-cart
	.wp-block-woocommerce-cart {
		max-width: 2022px; /* 2021.25px相当 */
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.woocommerce-cart
	.wc-block-components-sidebar-layout {
		column-gap: 48px !important; /* checkoutと合わせる */
	}

	body.woocommerce-cart
	.wp-block-woocommerce-cart.alignwide {
		margin-left: auto !important;
		margin-right: auto !important;
	}





/* =========================================================
   FINAL: Woo Blocks 2-column stabilizer (Cart/Checkout only)
   - 右が下に落ちる
   - 右が極端に細くなる
   を止める
========================================================= */

@media (min-width: 1000px) {

  /* ===== CART ===== */
  body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 420px !important;
    column-gap: 48px !important;
    align-items: start !important;
    width: 100% !important;
  }

  body.woocommerce-cart .wc-block-components-main {
    min-width: 0 !important; /* 左の暴走を止める */
  }

  body.woocommerce-cart .wc-block-components-sidebar {
    width: 420px !important;
    max-width: 420px !important;
    min-width: 420px !important; /* 右が潰れない */
  }

  /* ===== CHECKOUT ===== */
  body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 420px !important;
    column-gap: 48px !important;
    align-items: start !important;
    width: 100% !important;
  }

  body.woocommerce-checkout .wc-block-components-main {
    min-width: 0 !important;
  }

  body.woocommerce-checkout .wc-block-components-sidebar {
    width: 420px !important;
    max-width: 420px !important;
    min-width: 420px !important;
  }
}

/* モバイルは縦積み（Woo標準に任せる） */
@media (max-width: 999px) {
  body.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart,
  body.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
    display: block !important;
  }
}




/* === 基礎保険CSS（残す） === */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html, body {
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

body {
  line-height: 1.8;
  letter-spacing: 0.02em;
}


/* ===== Tickera 日付＋会場：強制左寄せ（最終・決着） ===== */
.single-tc_events .entry-content .tc_the_content_pre,
.single-tc_events .entry-content .tc_the_content_pre * {
  text-align: left !important;
}

.single-tc_events .entry-content .tc_the_content_pre {
  display: block;
}

.single-tc_events .tc_event_date_title_front,
.single-tc_events .tc_event_location_title_front {
  display: block;
}



/* ===== Tickera イベントページ（PCのみ） ===== */
@media (min-width: 1024px) {

  /* 日付 */
  .single-tc_events .tc_event_date_title_front {
    font-size: 24px;
  }

  /* 会場 */
  .single-tc_events .tc_event_location_title_front {
    font-size: 24px;
  }
}



@media (min-width: 1024px) {

  /* Tickera テーブル：ヘッダー */
  .single-tc_events table.event_tickets.tickera th {
    font-size: 20px !important;   /* ← 13px を上書き */
    letter-spacing: 0.04em;
  }

  /* Tickera テーブル：中身 */
  .single-tc_events table.event_tickets.tickera td {
    font-size: 25px !important;
  }
}


@media (min-width: 1024px) {

  /* Cart列：中の p が犯人 */
  .single-tc_events table.event_tickets.tickera td:last-child
  p.product.woocommerce.add_to_cart_inline.tc-wb-add-to-cart {
    display: flex;
    align-items: center;     /* 縦中央 */
    justify-content: center; /* 横中央 */
    height: 100%;
    margin: 0;               /* ← 超重要 */
  }
}




/* Tickera：英数字UIだけインパクトフォント */
.single-tc_events table.event_tickets.tickera th,
.single-tc_events table.event_tickets.tickera td,
.single-tc_events table.event_tickets.tickera .woocommerce-Price-amount,
.single-tc_events table.event_tickets.tickera a.button {
  font-family: 'Oswald', 'Zen Kaku Gothic New', sans-serif !important;
  letter-spacing: 0.06em;
}


/* ===== Tickera イベント情報：英数字テイスト統一 ===== */
.single-tc_events .tc_event_date_title_front,
.single-tc_events .tc_event_location_title_front,
.single-tc_events a.button {
  font-family: 'Oswald', 'Zen Kaku Gothic New', sans-serif !important;
  letter-spacing: 0.06em;
}

.single-tc_events .tc_event_date_title_front {
  font-weight: 400;
}

.single-tc_events .tc_event_location_title_front {
  font-weight: 500;
}

.single-tc_events a.button {
  font-weight: 600;
}




/* Pick your seat(s) — Astraの button !important を上書き */
.single-tc_events .tc-seating-charts-wrap
button,
.single-tc_events .tc-seating-charts-wrap
a.button,
.single-tc_events .tc-seating-charts-wrap
.ast-button {
  font-family: 'Oswald', 'Zen Kaku Gothic New', sans-serif !important;
  letter-spacing: 0.08em;
  font-weight: 600;
}
/* Tickera イベントページ：前後ナビ消す */
.single-tc_events .post-navigation {
  display: none;
}




/* ↑ここまではよし↑ */


/* Woo Blocks カート：フォントサイズ変数を上書き */
.wp-block-woocommerce-cart {
  --wp--preset--font-size--small: 20px;
  --wp--preset--font-size--medium: 21px;
  --wp--preset--font-size--large: 22px;
}



.wc-block-formatted-money-amount {
  font-size: 22px;
  font-weight: 600;
}


/* =========================
   注文完了（Thank you）画面
   ========================= */

/* 全体のベース文字サイズ */
.woocommerce-order,
.woocommerce-order p,
.woocommerce-order table,
.woocommerce-order td,
.woocommerce-order th {
  font-size: 22px;
  line-height: 1.7;
}

/* セクション見出し */
.woocommerce-order h2,
.woocommerce-order h3 {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 0.6em;
}

/* テーブル（注文詳細・Tickets） */
.woocommerce-order table th {
  font-size: 18x;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.woocommerce-order table td {
  font-size: 16.5px;
}

/* 金額を強調 */
.woocommerce-order .amount {
  font-size: 18.5px;
  font-weight: 600;
}

/* 注文番号・日付・メール */
.woocommerce-order-overview li {
  font-size: 16px;
}

/* チケット Download */
.woocommerce-order a {
  font-size: 20px;
}


/* ===== Order Complete : Ticket Download Button ===== */
.woocommerce-order-details
td[data-column="Ticket"] a {
  display: inline-block;
  padding: 10px 18px;
  background: #000;
  color: #fff !important;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.04em;
  transition: opacity .2s ease;
}

.woocommerce-order-details
td[data-column="Ticket"] a:hover {
  opacity: .8;
}


/* Download button font */
.woocommerce-order-details
td[data-column="Ticket"] a {
  font-family: 'Oswald', 'Zen Kaku Gothic New', sans-serif;
  font-weight: 600;
  letter-spacing: 0.06em;
  }

/* Download文字を見えなくする */
.woocommerce-order-details
td[data-column="Ticket"] a {
  font-size: 0;
  position: relative;
}

/* チケットDL：表示テキスト差し替え */
.woocommerce-order-details
td[data-column="Ticket"] a::after {
  content: "チケットをダウンロード";
  font-size: 14px;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: #fff;
  white-space: nowrap;
}


/* 注文完了ページ：Ticketsテーブル 英語をOswaldに */
.woocommerce-order-details
table.order-details th,
.woocommerce-order-details
table.order-details td,
.woocommerce-order-details
table.order-details a {
  font-family: 'Oswald', 'Zen Kaku Gothic New', sans-serif;
  letter-spacing: 0.06em;
}


/* =========================
   注文完了ページ Tickets テーブル
   Astraの p,li,td,th !important を上書き
   ========================= */

.woocommerce-order-details table.order-details,
.woocommerce-order-details table.order-details tr,
.woocommerce-order-details table.order-details th,
.woocommerce-order-details table.order-details td {
  font-family: 'Oswald', 'Zen Kaku Gothic New', sans-serif !important;
}

/* 見出しだけ英字UI感を強める */
.woocommerce-order-details table.order-details th {
  font-weight: 600 !important;
  letter-spacing: 0.08em;
  }



/* =========================================
   cart基準の site-main レイアウトを
   通常固定ページにだけ適用
========================================= */


body.page
  :not(.woocommerce-cart)
  :not(.woocommerce-checkout)
  :not(.woocommerce-account)
  :not(.woocommerce-order-received)
  .site-main {
	max-width: none;
  margin: 0 auto;
  padding-left: 160px;
  padding-right: 160px;
}



.menu-item a[href*="my-account"]::before {
  content: "👤";
  margin-right: 6px;
}

.menu-item a[href*="cart"]::before {
  content: "🛒";
  margin-right: 6px;
}





/* 注文番号だけを強調（装飾なし） */
.woocommerce-order-overview__order.order {
  font-weight: 600;
	color:#B23A3A !important;
}

.woocommerce-order-overview__order.order strong {
  font-weight: 800;
  letter-spacing: 0.08em;
	color:#B23A3A !important;
}


/* ログインフォームの調整 */
.woocommerce-account .woocommerce .u-column1,
.woocommerce-account .woocommerce .u-column2,
.woocommerce-account .woocommerce form.woocommerce-form,
.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}


.woocommerce-account .woocommerce h2 {
  margin-bottom: 40px;
}

.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register {
  margin-top: 24px;
}


.woocommerce-account .woocommerce p.form-row {
  margin-bottom: 28px;
}


@media (min-width: 922px) {
  .woocommerce-account .woocommerce .col-1 {
    padding-right: 40px;
  }

  .woocommerce-account .woocommerce .col-2 {
    padding-left: 40px;
  }
}


.woocommerce-account .woocommerce .col-2 p {
  font-size: 14px;
  line-height: 1.8;
  color: #555;
}


.woocommerce-account .entry-title {
  display: none;
}


.woocommerce-account .woocommerce {
  padding-top: 40px;
}


/* My Account をフル幅に */
.woocommerce-account .site-content,
.woocommerce-account .content-area,
.woocommerce-account .woocommerce {
  max-width: none !important;
  width: 100%;
}



/* input 共通 */
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"] {
  height: 60px;
  padding: 0 14px;
  border-radius: 6px;
  border: 1px solid #cfcfcf;
  background: #fff;
  font-size: 15px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

/* フォーカス時 */
.woocommerce-account input:focus {
  outline: none;
  border-color: #000;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.15);
}


.woocommerce-account label {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .02em;
  margin-bottom: 6px;
  display: block;
}


.woocommerce-account .woocommerce-privacy-policy-text {
  display: none;
}





/* 通常商品ページの標準variation tableだけ隠す */
.single-product .summary table.variations {
  position: absolute !important;
  left: -9999px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 通常の数量＋カートボタンを隠す */
.single-product .summary form.cart .quantity,
.single-product .summary form.cart button.single_add_to_cart_button {
  display: none !important;
}



#ktx-add-all-to-cart.is-processing {
  opacity: 0.6;
  cursor: not-allowed;
}


/* UWA 純正カウントダウン中身だけ非表示 */
.uwa-main-auction-product.uwa_auction_product_countdown {
  display: none !important;
}

/* 親は表示させる */
#uwa_auction_countdown,
.uwa_auction_time {
  display: block !important;
}




/* =========================
 * KTX オークション残り時間 強調表示
 * ========================= */
.ktx-auction-remaining {
  margin-top: 10px;
  padding: 12px 14px;
  border: 2px solid #ff9800;
  border-radius: 6px;

  background: linear-gradient(90deg, #fff3e0, #ffffff);
  color: #e65100;

  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.03em;

  box-shadow: 0 2px 8px rgba(255, 152, 0, 0.25);
}

/* 数字部分をさらに強調したい場合 */
.ktx-auction-remaining strong {
  font-size: 18px;
}

/* 秒が動いている感を出すための軽い点滅 */
.ktx-auction-remaining.is-ticking {
  animation: ktx-pulse 1s infinite;
}

@keyframes ktx-pulse {
  0%   { box-shadow: 0 0 0 rgba(255,152,0,0.3); }
  50%  { box-shadow: 0 0 12px rgba(255,152,0,0.6); }
  100% { box-shadow: 0 0 0 rgba(255,152,0,0.3); }
}




/* === FIX: WooCommerce Blocks notice banner === */

/* バナーは普通に流す */
.wc-block-components-notice-banner {
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  position: relative;
}

/* dismiss（×）ボタンは非表示 */
.wc-block-components-notice-banner__dismiss {
  display: none !important;
}

/* 余計な右マージンを消す */
.wc-block-components-notice-banner__content {
  padding-right: 0;
}


/* === Woo Blocks Phone Label FINAL FIX === */

/* 1. 既存ラベル文字を完全に消す */
label[for="shipping-phone"] {
  font-size: 0 !important;
}

/* 2. 正しい表示を擬似要素で入れる */
label[for="shipping-phone"]::before {
  content: "電話番号";
  font-size: 14px;
  font-weight: 500;
}

/* 3. input 側の placeholder / aria-label 表示を消す */
input#shipping-phone::placeholder {
  color: transparent;
}

/* Safari / iOS 対策 */
input#shipping-phone::-webkit-input-placeholder {
  color: transparent;
}

/* 4. focus 時も変な文字を出さない */
input#shipping-phone:focus::placeholder {
  color: transparent;
}

.woocommerce .required {
  color: #d63638; /* Woo標準の赤 */
}




.wc-block-grid {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.wc-block-grid {
  column-gap: 32px;
  row-gap: 48px;
}




/* ===============================
   購入確認ページ：フォーム制御
   =============================== */

.ktx-guest-order-lookup{
    width: 100%;
    max-width: 760px;     /* ← 黄金幅 */
    margin: 60px auto;    /* 上下余白＋中央寄せ */
    padding: 40px;

    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.06);
}

/* 入力 */
.ktx-guest-order-lookup input{
    width: 100%;
    padding: 14px 16px;
    border-radius: 10px;
    margin-bottom: 18px;
}

/* ラベル */
.ktx-guest-order-lookup label{
    font-weight: 700;
    display:block;
    margin-bottom:6px;
}

/* ボタン */
.ktx-guest-order-lookup button{
    width: 240px;
    padding:14px;
    border-radius:10px;
}

.entry-content{
    max-width:1200px;
    margin:auto;
}


.ktx-form-note{
  margin-bottom:20px;
  color:#555;
  font-size:14px;
}

.ktx-or{
 text-align:left;
 margin:15px 0;
 color:#999;
 font-size:16px;
}

/* ゲスト購入確認ページ（ショートコード枠）だけ：リンク下線を消す */
.ktx-guest-order-lookup-wrap a {
  text-decoration: none !important;
}

/* hoverでも下線を出さない */
.ktx-guest-order-lookup-wrap a:hover,
.ktx-guest-order-lookup-wrap a:focus {
  text-decoration: none !important;
}
