/* ==========================================================================
   kw-footer — フッター
   ========================================================================== */

.kw-footer {
	padding-top: var(--wp--preset--spacing--size-80);
	padding-bottom: var(--wp--preset--spacing--size-32);
	padding-left: var(--wp--preset--spacing--size-24);
	padding-right: var(--wp--preset--spacing--size-24);
}

/* --------------------------------------------------
   Top: ロゴ + ナビ（flex-wrap で自動折り返し）
   -------------------------------------------------- */
.kw-footer__top {
	gap: var(--wp--preset--spacing--size-24);
	margin-bottom: 0;
	flex-wrap: wrap;
}

/* ロゴ: 最小幅を確保して折り返しの基準に */
.kw-footer__top .wp-block-site-logo {
	flex-shrink: 0;
}

/* ナビ: 幅が足りなければ行全体に広がって折り返す */
.kw-footer__nav {
	gap: var(--wp--preset--spacing--size-24);
	flex-wrap: wrap;
	flex: 1 1 auto;
	justify-content: flex-end;
}

.kw-footer__nav p {
	margin: 0;
	font-size: var(--wp--preset--font-size--font-14);
	line-height: 1.4;
}

.kw-footer__nav a {
	color: var(--wp--preset--color--neutral-900);
	text-decoration: none;
	position: relative;
	transition: color var(--duration-base) var(--ease-base);
}

.kw-footer__nav a::before {
	content: '';
	position: absolute;
	bottom: -.5em;
	left: 0;
	width: 100%;
	height: 1px;
	background: var(--wp--preset--color--primary-700);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--duration-base) var(--ease-base);
}

.kw-footer__nav a:hover {
	color: var(--wp--preset--color--primary-700);
}

.kw-footer__nav a:hover::before {
	transform: scaleX(1);
}

/* --------------------------------------------------
   Divider
   -------------------------------------------------- */
.kw-footer__divider {
	border-color: var(--wp--preset--color--neutral-200) !important;
	margin-top: var(--wp--preset--spacing--size-24);
	margin-bottom: var(--wp--preset--spacing--size-24);
}

/* --------------------------------------------------
   Bottom: コピーライト + プライバシーポリシー
   -------------------------------------------------- */
.kw-footer__bottom {
	gap: var(--wp--preset--spacing--size-24);
	flex-wrap: wrap;
}

.kw-footer__copy,
.kw-footer__policy {
	margin: 0;
	font-size: var(--wp--preset--font-size--font-12);
	color: var(--wp--preset--color--neutral-900);
	line-height: normal;
}

.kw-footer__policy a {
	color: inherit;
	text-decoration: none;
	position: relative;
	transition: color var(--duration-base) var(--ease-base);
}

.kw-footer__policy a::before {
	content: '';
	position: absolute;
	bottom: -.7em;
	left: 0;
	width: 100%;
	height: 1px;
	background: var(--wp--preset--color--primary-700);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--duration-base) var(--ease-base);
}

.kw-footer__policy a:hover {
	color: var(--wp--preset--color--primary-700);
}

.kw-footer__policy a:hover::before {
	transform: scaleX(1);
}