/* ============================================================
 * WPMK front styles（theme.json で表現できない最小限のみ）
 * ============================================================ */

/* スキップリンク（A11y） */
.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	padding: 0.5rem 1rem;
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}
.skip-link:focus {
	left: 0;
}

/* フォーカスの視認性（A11y / WCAG 2.1） */
a:focus-visible,
button:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* 画像はレイアウトシフトを防ぐ（CLS対策） */
img {
	height: auto;
	max-width: 100%;
}

/* ============================================================
 * LP（画像LP）
 * ============================================================ */

/* 縦長LP画像は中央寄せ・最大幅を抑えて高速描画 */
.wpmk-lp-image img {
	display: block;
	margin-inline: auto;
	width: 100%;
	max-width: 720px;
}

/* デバイス別画像LP（<picture> 出し分け） */
.wpmk-respimg__note {
	font-size: 0.8rem;
	color: var(--wp--preset--color--muted);
	text-align: center;
}
.wpmk-respimg-out {
	margin: 0;
}
.wpmk-respimg-out img,
.wpmk-respimg-out picture {
	display: block;
	width: 100%;
	height: auto;
	margin-inline: auto;
	max-width: 1280px;
}

/* 追従CTAバー（モバイルで画面下部に固定。LP本文の下に余白を確保） */
.wpmk-sticky-cta {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999;
	margin: 0;
	padding: 0.75rem 1rem;
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(6px);
	border-top: 1px solid var(--wp--preset--color--border);
	box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
}

/* 固定バーが本文末尾に被らないよう、LPページ全体に下余白 */
.wpmk-lp { padding-bottom: 88px; }

/* デスクトップでは追従を解除して通常配置 */
@media (min-width: 782px) {
	.wpmk-sticky-cta {
		position: static;
		background: transparent;
		backdrop-filter: none;
		border-top: 0;
		box-shadow: none;
		padding-block: var(--wp--preset--spacing--40);
	}
	.wpmk-lp { padding-bottom: 0; }
}
