/*
Theme Name: Whiterm
Theme URI: https://whiterm.co.jp
Description: whiterm.co.jp コーポレートサイト用テーマ（Twenty Twenty-Five 子テーマ）
Author: Whiterm
Template: twentytwentyfive
Version: 0.2.0
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: whiterm
*/

/* 追加CSSはここに書く（色・フォント・余白など theme.json で表現できるものは theme.json を優先） */

html {
	scroll-behavior: smooth;
	scroll-padding-top: 90px;
}

body {
	-webkit-font-smoothing: antialiased;
}

::selection {
	background: #111111;
	color: #ffffff;
}

/*
 * 親テーマが :focus 全般に黒枠（outline 2px solid）を付けるため、
 * マウスクリック時は消し、キーボード操作（:focus-visible）時のみ残す
 */
.wp-site-blocks *:focus:not(:focus-visible) {
	outline: none;
}

/* スクロール追従ヘッダー（すりガラス） */
.wt-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, 0.82) !important;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

/* セクションラベル（短い横線つき） */
.wt-label {
	display: flex;
	align-items: center;
	gap: 12px;
	text-transform: uppercase;
}

.wt-label::before {
	content: "";
	display: inline-block;
	width: 28px;
	height: 1px;
	background: currentColor;
}

.has-text-align-center.wt-label {
	justify-content: center;
}

/* カード：細ボーダー + 角丸 + ホバーで浮き上がる */
.wt-card {
	border: 1px solid #ececec;
	border-radius: 20px;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.wt-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.08);
	border-color: #dddddd;
}

/* ヒーロー：黒地に微かな光のグラデーション */
.wt-hero {
	background-color: #0a0a0a !important;
	background-image:
		radial-gradient(900px 500px at 85% -10%, rgba(255, 255, 255, 0.1), transparent 60%),
		radial-gradient(600px 400px at -10% 110%, rgba(255, 255, 255, 0.05), transparent 60%);
}

/* 本文系の段落幅を読みやすく抑える */
.wt-narrow {
	max-width: 640px;
}

/* 会社概要：罫線だけのミニマルな表 */
.wt-company-table table {
	border-collapse: collapse;
	width: 100%;
}

.wt-company-table td {
	border: none;
	border-bottom: 1px solid #e8e8e8;
	padding: 22px 8px;
	vertical-align: top;
}

.wt-company-table tr td:first-child {
	width: 30%;
	color: #777777;
	font-size: 0.9em;
}

/* 会社概要のGoogleマップ（白黒テーマに合わせてモノクロ表示） */
.wt-map iframe {
	display: block;
	width: 100%;
	height: 380px;
	border: 0;
	border-radius: 20px;
}

/* Contact Form 7：白黒テーマに合わせたフォーム */
.wpcf7 form > p {
	margin: 0 0 24px;
}

.wpcf7 label {
	font-size: 14px;
	font-weight: 600;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 textarea {
	display: block;
	width: 100%;
	margin-top: 8px;
	padding: 14px 16px;
	font-size: 15px;
	font-family: inherit;
	background: #ffffff;
	border: 1px solid #dddddd;
	border-radius: 12px;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	box-sizing: border-box;
}

.wpcf7 input:focus,
.wpcf7 textarea:focus {
	outline: none;
	border-color: #111111;
	box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.08);
}

.wpcf7 input[type="submit"] {
	display: inline-block;
	padding: 14px 40px;
	font-size: 15px;
	font-weight: 600;
	font-family: inherit;
	color: #ffffff;
	background: #111111;
	border: none;
	border-radius: 999px;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.wpcf7 input[type="submit"]:hover {
	opacity: 0.82;
}

.wpcf7 .wpcf7-not-valid-tip {
	font-size: 13px;
	margin-top: 6px;
}

.wpcf7 .wpcf7-response-output {
	margin: 24px 0 0;
	padding: 14px 18px;
	border-radius: 12px;
	border-width: 1px;
	font-size: 14px;
}

/* ボタンのホバー */
.wp-element-button {
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.wp-element-button:hover {
	opacity: 0.82;
}

/* ===== SP（スマホ）対応 ===== */

/* タブレット以下：カード・ヘッダーの余白を詰める */
@media (max-width: 781px) {
	.wt-card.wp-block-group {
		padding: 28px 22px !important;
		border-radius: 16px;
	}

	.wt-header {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.wt-map iframe {
		height: 260px;
	}
}

/* スマホ：会社概要の表をラベル＋値の縦積みにする */
@media (max-width: 600px) {
	.wt-company-table tr td {
		display: block;
	}

	.wt-company-table tr td:first-child {
		width: 100%;
		padding: 16px 8px 0;
		border-bottom: none;
		font-size: 0.85em;
	}

	.wt-company-table tr td:last-child {
		padding: 2px 8px 16px;
	}
}

/* ===== SP ヘッダー調整 ===== */

/*
 * backdrop-filter は子孫の position:fixed の基準を header 自身にしてしまうため、
 * ハンバーガーメニュー展開中はオフにする（全画面オーバーレイを正しく表示するため）
 */
.wt-header:has(.wp-block-navigation__responsive-container.is-menu-open) {
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

/* 展開したモバイルメニューのリンクは大きめに */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-size: 18px;
	font-weight: 600;
}

@media (max-width: 781px) {
	/* ロゴを少し小さく */
	.wt-header svg {
		height: 24px !important;
	}

	/* ロゴ・ハンバーガー・ボタンの間隔を詰める */
	.wt-header .wp-block-group.is-layout-flex {
		gap: 14px !important;
	}

	/* お問い合わせボタンをコンパクトに */
	.wt-header .wp-block-button__link {
		padding: 8px 18px !important;
		font-size: 12px !important;
	}
}
