/* Shared v27 typography and drawer hierarchy.
 * Kept in a distinct asset so TCD's cached common.css cannot hide revisions.
 */
/* 本文を持ち得る要素は漏れなく列挙する。time / figcaption / caption が抜けて
 * いたため、記事の日付や画像キャプションだけ旧テーマのArialが残っていた。
 */
body.wamuzu-renewal-preview-page :where(
	h1, h2, h3, h4, h5, h6, p, a, button, li, dt, dd, label,
	input, select, textarea, th, td, span, strong, em, small,
	time, figcaption, caption, blockquote, cite, address, code, pre,
	option, optgroup, summary, details, legend, output, data,
	abbr, b, i, u, s, mark, q, sub, sup, del, ins, dfn, kbd, samp, var
) {
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif !important;
}

.wn-preview-menu__panel {
	display: grid;
	grid-template-rows: auto auto auto minmax(0, 1fr) auto;
	overflow: hidden;
	padding-bottom: env(safe-area-inset-bottom, 0px);
}

.wn-preview-menu__eyebrow {
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
	font-size: 12px;
	font-weight: 700;
}

.wn-preview-menu__title {
	margin-bottom: 16px;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
	font-size: 24px;
	font-weight: 800;
	letter-spacing: .03em;
	line-height: 1.45;
}

.wn-preview-menu__nav {
	flex: 1 1 auto;
	min-height: 0;
	max-height: none;
	margin-bottom: 14px;
	padding-right: 5px;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
}

.wn-preview-menu__list {
	border-top: 0;
}

.wn-preview-menu__list .wn-preview-menu__group {
	margin-top: 12px;
	padding: 7px 2px 5px;
	border-bottom: 1px solid rgba(74, 61, 50, .18);
	color: #8a735f;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	line-height: 1.4;
}

.wn-preview-menu__list .wn-preview-menu__group:first-child {
	margin-top: 0;
}

.wn-preview-menu__list a {
	min-height: 46px;
	padding-block: 9px;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .02em;
	line-height: 1.45;
}

.wn-preview-menu__reservation {
	flex: 0 0 auto;
	min-height: 82px;
	margin-top: 0;
	border-color: #6b5848;
	background: #6b5848;
	color: #ffffff !important;
}

.wn-preview-menu__reservation > span,
.wn-preview-menu__reservation strong {
	color: #ffffff !important;
	text-shadow: none;
}

.wn-preview-menu__reservation strong {
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
	font-size: 19px;
	font-weight: 800;
	letter-spacing: .03em;
}

.wn-preview-menu__reservation:hover,
.wn-preview-menu__reservation:focus-visible,
.wn-preview-menu__reservation.is-touch-active {
	border-color: #554437;
	background: #554437;
	color: #ffffff !important;
}

@media (max-width: 22.5rem) {
	.wn-preview-menu__panel {
		width: min(304px, 95vw);
		padding:
			max(8px, env(safe-area-inset-top, 0px))
			max(16px, env(safe-area-inset-right, 0px))
			max(8px, env(safe-area-inset-bottom, 0px))
			max(16px, env(safe-area-inset-left, 0px));
	}

	.wn-preview-menu__close {
		flex-basis: 44px;
		width: 44px;
		height: 44px;
		margin-bottom: 4px;
	}

	.wn-preview-menu__eyebrow {
		margin-bottom: 4px;
	}

	.wn-preview-menu__title {
		margin-bottom: 6px;
		font-size: clamp(18px, 5.5vw, 20px);
		letter-spacing: .01em;
		white-space: nowrap;
	}

	.wn-preview-menu__nav {
		margin-bottom: 6px;
		scrollbar-gutter: auto;
	}

	.wn-preview-menu__list .wn-preview-menu__group {
		margin-top: 4px;
		padding-block: 4px 3px;
	}

	.wn-preview-menu__list a {
		min-height: 44px;
		padding-block: 7px;
	}

	.wn-preview-menu__reservation {
		min-height: 72px;
		padding: 12px 16px;
	}
}
