/*
Theme Name: scalesuite Parent Theme
Theme URI: https://sse.jp
Author: MATSUKADO
Author URI: https://sse.jp
Description: AIが生成するWordPressコアブロック構造を、UD/アクセシビリティの制約を守りながら破綻なく表示するための最小限のFSE親テーマです。デザインテーマではなく、複数クライアント展開のための土台（スキン）として設計されています。クライアントごとの個性は style variations（/styles/*.json）と header/footer 差し替えで表現します。
Version: 0.1.1
Requires at least: 7.0
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: scalesuite-theme
Tags: block-theme, full-site-editing, accessibility-ready, minimal
*/

/* ==========================================================================
   scalesuite Parent Theme — Core Block Skin CSS
   このファイルはコアブロックの表示を整えるための最小限のスキンです。
   ページ固有のデザインはここに書かず、Patterns / style variations で対応します。
   ========================================================================== */

/* ---- Base ---- */
html {
	scroll-behavior: smooth;
}

body {
	color: var(--wp--preset--color--ink);
	background-color: var(--wp--preset--color--background);
	overflow-wrap: anywhere;
}

:root {
	accent-color: var(--wp--preset--color--accent);
}

a {
	color: var(--wp--preset--color--accent);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

a:hover,
a:focus {
	color: var(--wp--preset--color--primary);
}

/* ---- Skip link（キーボード操作の最初の到達点） ---- */
.skip-link {
	position: absolute;
	top: -999px;
	left: 0;
	z-index: 9999;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	text-decoration: none;
}

.skip-link:focus {
	top: 0;
}

/* ---- Focus visibility ---- */
:focus-visible {
	outline: 3px solid var(--wp--preset--color--focus);
	outline-offset: 2px;
}

/* ---- Media ---- */
img {
	max-width: 100%;
	height: auto;
}

/* ---- Buttons ---- */
button,
.wp-block-button__link {
	cursor: pointer;
}

/* ---- Query / Post Template ---- */
.wp-block-query {
	margin-block: var(--wp--preset--spacing--60);
}

.wp-block-post-template {
	gap: var(--wp--preset--spacing--50);
}

/* ---- Navigation ---- */
.wp-block-navigation a {
	text-decoration: none;
}

.wp-block-navigation a:hover,
.wp-block-navigation a:focus {
	text-decoration: underline;
}

/* ---- Heading ----
   color は指定しません。body の color を継承させることで、
   親 Group に背景色＋文字色を指定した場合（暗色セクション等）に
   見出しだけ色が取り残される問題を防ぎます。
   既定色は body の ink がそのまま適用されます。
*/
.wp-block-heading {
	text-wrap: balance;
}

p {
	text-wrap: pretty;
}

/* ---- Image ---- */
.wp-block-image figcaption {
	color: var(--wp--preset--color--muted);
}

/* ---- Table ---- */
.wp-block-table {
	border-collapse: collapse;
}

.wp-block-table th,
.wp-block-table td {
	border: 1px solid var(--wp--preset--color--border);
}

/* ---- Quote ---- */
.wp-block-quote {
	border-inline-start: 4px solid var(--wp--preset--color--border);
	padding-inline-start: var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--muted);
}

/* ---- Block Style Variation: Fixed CTA ----
   register_block_style()（functions.php）で core/group に登録した
   スタイルバリエーション。theme.json の styles.blocks.*.variations は
   register_block_style() で登録された名前にしかCSSを生成しないため、
   色・余白・角丸・影もここで直接定義します。独自ブロックではなく、
   標準の Group ブロックに対する 1 つのスタイルバリエーションです。
*/
.wp-block-group.is-style-fixed-cta {
	position: fixed;
	inset-inline: 0;
	bottom: 0;
	z-index: 100;
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--background);
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
	box-shadow: var(--wp--preset--shadow--md);
}

/* ---- User preference: prefers-reduced-motion ----
   OS/ブラウザで「視差効果を減らす」等が設定されているユーザーには、
   アニメーション・トランジション・スムーズスクロールを最小化する。
*/
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ---- User preference: prefers-contrast ----
   コントラストを強めたいユーザー向けに、フォーカスリングや罫線を太くする。
*/
@media (prefers-contrast: more) {
	:focus-visible {
		outline-width: 4px;
	}

	.wp-block-table th,
	.wp-block-table td,
	.wp-block-quote {
		border-width: 2px;
	}
}
