/*
Theme Name: Awaodori Info
Theme URI: https://www.awaodori.info/
Description: 阿波おどりキュレーションサイト awaodori.info のクラシック PHP 子テーマ。水墨画の筆致、阿波藍、吉野川、眉山、夕日の色を使ったイベントギャラリー。
Author: awaodori.info
Template: twentytwentyfive
Version: 1.4.1
Requires PHP: 8.0
Text Domain: awaodori-info
*/

/* ==========================================================================
 * Awa Landscape Gallery
 * SSoT: theme.json。色・フォント・余白は WordPress プリセット変数を参照する。
 * ======================================================================= */

:root {
	--awa-washi: var(--wp--preset--color--washi);
	--awa-kinari: var(--wp--preset--color--kinari);
	--awa-sumi: var(--wp--preset--color--sumi);
	--awa-indigo: var(--wp--preset--color--awa-indigo);
	--awa-indigo-black: var(--wp--preset--color--awa-indigo-black);
	--awa-river: var(--wp--preset--color--yoshino-river);
	--awa-river-mist: var(--wp--preset--color--river-mist);
	--awa-bizan: var(--wp--preset--color--bizan-green);
	--awa-sunset: var(--wp--preset--color--sunset-red);
	--awa-gold: var(--wp--preset--color--sunset-gold);
	--awa-line: var(--wp--preset--color--paper-line);
	--awa-indigo-wash: var(--wp--preset--color--indigo-wash);
	--awa-bizan-mist: var(--wp--preset--color--bizan-mist);
	--awa-serif: var(--wp--preset--font-family--serif-jp);
	--awa-sans: var(--wp--preset--font-family--sans-jp);
	--awa-numeral: "Bodoni 72", Didot, "Baskerville", "Times New Roman", serif;
	--awa-shell: min(1360px, calc(100vw - clamp(48px, 6vw, 112px)));
	--awa-header-height: 68px;
	--awa-paper-texture:
		radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--awa-indigo) 4%, transparent) 0 1px, transparent 2px),
		radial-gradient(circle at 82% 9%, color-mix(in srgb, var(--awa-sunset) 5%, transparent) 0 1px, transparent 2px),
		linear-gradient(90deg, color-mix(in srgb, var(--awa-line) 18%, transparent) 0 1px, transparent 1px 100%);
}

* {
	box-sizing: border-box;
}

body {
	margin: 0;
	/* W1 安全網: 溢れ源（モバイルナビ左右余白・副文/パンくず折返し・水墨は featured-event の overflow:hidden で局所内包）を断った上での冗長な保険。実コンテンツは切らない。 */
	overflow-x: hidden;
	background:
		var(--awa-paper-texture),
		var(--awa-kinari);
	background-size: 320px 320px, 420px 420px, 100% 100%;
	color: var(--awa-sumi);
	font-family: var(--awa-serif);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.75;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4 {
	color: var(--awa-indigo-black);
	font-family: var(--awa-serif);
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.06em;
}

a {
	color: var(--awa-indigo);
	text-decoration: none;
	text-underline-offset: 0.28em;
}

a:hover,
a:focus {
	color: var(--awa-sunset);
	text-decoration: underline;
}

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

::selection {
	background: var(--awa-indigo);
	color: var(--awa-washi);
}

:focus-visible {
	outline: 2px solid var(--awa-gold);
	outline-offset: 3px;
}

.awaodori-container {
	width: var(--awa-shell);
	margin-inline: auto;
}

.awaodori-narrow {
	width: min(760px, calc(100vw - 64px));
	margin-inline: auto;
}

.awaodori-main {
	padding: 0;
}

/* Header ---------------------------------------------------------------- */

.awaodori-site-header {
	position: relative;
	z-index: 10;
	background:
		linear-gradient(90deg, #071927 0%, #082238 68%, #0e2f4c 100%),
		var(--awa-indigo-black);
	color: var(--awa-washi);
}

.awaodori-site-header::after {
	display: none;
}

.awaodori-site-header__inner {
	min-height: var(--awa-header-height);
	display: grid;
	grid-template-columns: clamp(11rem, 8rem + 8vw, 16rem) minmax(0, 1fr) 2rem;
	align-items: center;
	gap: clamp(1.1rem, 0.7rem + 1vw, 2rem);
	border-bottom: 1px solid color-mix(in srgb, var(--awa-washi) 16%, transparent);
}

.awaodori-site-title {
	margin: 0;
	font-family: var(--awa-serif);
	font-size: clamp(1.12rem, 0.86rem + 0.5vw, 1.5rem);
	line-height: 1;
	letter-spacing: 0.015em;
}

.awaodori-site-title a,
.awaodori-site-title a:hover {
	position: relative;
	display: inline-flex;
	align-items: center;
	color: var(--awa-washi);
	text-decoration: none;
}

.awaodori-site-title__main {
	display: block;
	grid-column: 1;
	font-size: 1.36rem;
	font-weight: 500;
	letter-spacing: 0.18em;
}

.awaodori-site-title__sub {
	display: block;
	grid-column: 1;
	margin-top: 0.24rem;
	color: color-mix(in srgb, var(--awa-washi) 76%, transparent);
	font-size: 0.66rem;
	letter-spacing: 0.46em;
}

.awaodori-site-title__seal {
	grid-column: 2;
	grid-row: 1 / span 2;
	display: grid;
	width: 1rem;
	height: 1.34rem;
	place-items: center;
	border: 1px solid color-mix(in srgb, var(--awa-sunset) 78%, transparent);
	color: var(--awa-sunset);
	font-size: 0.58rem;
	line-height: 1;
	letter-spacing: 0;
}

.awaodori-global-nav ul {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	gap: clamp(1.15rem, 0.42rem + 1.45vw, 2.2rem);
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.awaodori-global-nav a {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: var(--awa-header-height);
	color: color-mix(in srgb, var(--awa-washi) 82%, transparent);
	font-size: clamp(0.68rem, 0.54rem + 0.32vw, 0.86rem);
	letter-spacing: 0.05em;
	white-space: nowrap;
}

.awaodori-global-nav li:first-child a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: var(--awa-washi);
}

.awaodori-global-nav a:hover {
	color: var(--awa-washi);
	text-decoration: none;
}

.awaodori-header-tools {
	justify-self: end;
	display: flex;
	align-items: center;
	gap: 0;
	color: color-mix(in srgb, var(--awa-washi) 86%, transparent);
	font-size: 0.78rem;
	letter-spacing: 0.1em;
}

.awaodori-header-tools__search {
	width: 1rem;
	height: 1rem;
	border: 1px solid currentColor;
	border-radius: 50%;
	position: relative;
}

.awaodori-header-tools__search::after {
	content: "";
	position: absolute;
	right: -0.36rem;
	bottom: -0.26rem;
	width: 0.48rem;
	height: 1px;
	background: currentColor;
	transform: rotate(45deg);
	transform-origin: left center;
}

.awaodori-header-tools__menu {
	position: relative;
	width: 1.2rem;
	height: 0.72rem;
	border-top: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
}

/* Hero ------------------------------------------------------------------ */

.awaodori-home-hero {
	position: relative;
	overflow: hidden;
	min-height: clamp(520px, 44vw, 640px);
	display: flex;
	align-items: stretch;
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--awa-washi) 92%, transparent) 0 47.5%, transparent 47.5%),
		var(--awa-kinari);
	border-bottom: 1px solid var(--awa-line);
}

.awaodori-home-hero::before {
	content: "";
	position: absolute;
	left: -8vw;
	bottom: -16vh;
	width: 48vw;
	height: 28vh;
	pointer-events: none;
	background:
		radial-gradient(ellipse at 42% 40%, color-mix(in srgb, var(--awa-river) 22%, transparent) 0 18%, transparent 70%),
		radial-gradient(ellipse at 70% 68%, color-mix(in srgb, var(--awa-indigo) 20%, transparent) 0 14%, transparent 64%);
	filter: blur(1px);
	transform: rotate(-8deg);
	opacity: 0.75;
}

.awaodori-home-hero__grid {
	position: relative;
	display: grid;
	grid-template-columns: 47.5% 52.5%;
	align-items: stretch;
	width: 100%;
	min-height: clamp(520px, 44vw, 640px);
}

.awaodori-home-hero__copy {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(4rem, 7vw, 7.5rem) 2.5rem clamp(4rem, 7vw, 7.5rem) clamp(4rem, 5vw, 6.2rem);
}

.awaodori-home-hero__copy::before {
	display: none;
}

.awaodori-home-hero__kicker {
	display: none;
}

.awaodori-home-hero__title {
	margin: 0;
	color: var(--awa-indigo-black);
	font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif;
	font-size: clamp(2.28rem, 1.28rem + 2.1vw, 3.45rem);
	font-weight: 400;
	line-height: 1.48;
	letter-spacing: 0.055em;
}

.awaodori-home-hero__title-line {
	white-space: nowrap;
}

.awaodori-home-hero__lower {
	display: block;
	margin-top: 1.4rem;
}

.awaodori-home-hero__index {
	display: none;
	gap: 0.42rem;
	justify-items: center;
	color: var(--awa-indigo-black);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 0.78rem;
	line-height: 1;
}

.awaodori-home-hero__index i {
	display: block;
	width: 1px;
	height: 5.7rem;
	background: color-mix(in srgb, var(--awa-indigo-black) 26%, transparent);
}

.awaodori-home-hero__lead {
	max-width: 32rem;
	margin: 1.45rem 0 0;
	color: color-mix(in srgb, var(--awa-sumi) 72%, transparent);
	font-size: clamp(0.76rem, 0.52rem + 0.48vw, 0.94rem);
	line-height: 1.85;
	letter-spacing: 0.04em;
}

.awaodori-home-hero__seal {
	display: grid;
	width: 1.9rem;
	height: 2.5rem;
	place-items: center;
	margin-top: 1.7rem;
	border: 1px solid color-mix(in srgb, var(--awa-sunset) 68%, transparent);
	color: color-mix(in srgb, var(--awa-sunset) 86%, transparent);
	font-family: var(--awa-serif);
	font-size: 0.86rem;
	letter-spacing: 0;
	line-height: 1.15;
	writing-mode: vertical-rl;
}

.awaodori-featured-event {
	position: relative;
	isolation: isolate;
	min-height: 100%;
	overflow: hidden;
	display: grid;
	align-items: center;
	padding: clamp(5.6rem, 8vw, 9.2rem) clamp(1.8rem, 3.4vw, 4.6rem);
	background:
		var(--awa-paper-texture),
		var(--awa-washi);
	background-size: 280px 280px, 100% 100%;
}

.awaodori-featured-event__content {
	position: relative;
	z-index: 3;
	width: min(31rem, 78%);
	padding: clamp(1rem, 1.8vw, 1.6rem) clamp(1rem, 2vw, 1.7rem);
	/* 硬い矩形パネルをやめ、左寄りの柔らかいにじみへ（矩形シーム解消・W4）。右端は透明へフェード。 */
	background: linear-gradient(100deg, color-mix(in srgb, var(--awa-washi) 88%, transparent) 0 42%, color-mix(in srgb, var(--awa-washi) 30%, transparent) 70%, transparent 94%);
}

.awaodori-featured-event__label {
	margin: 0 0 0.55rem;
	color: color-mix(in srgb, var(--awa-sumi) 72%, transparent);
	font-size: clamp(0.72rem, 0.55rem + 0.28vw, 0.84rem);
	letter-spacing: 0.08em;
}

.awaodori-featured-event__date {
	margin-bottom: 0.35rem;
	color: var(--awa-indigo-black);
	font-family: var(--awa-numeral);
	line-height: 0.86;
}

.awaodori-featured-event__year {
	display: block;
	margin-bottom: 0.24rem;
	font-family: var(--awa-sans);
	font-size: clamp(0.76rem, 0.58rem + 0.28vw, 0.9rem);
	letter-spacing: 0.08em;
}

.awaodori-featured-event__day {
	display: flex;
	align-items: baseline;
	gap: 0.62rem;
	font-size: clamp(5rem, 4.2vw, 6.6rem);
	letter-spacing: -0.035em;
}

.awaodori-featured-event__weekday {
	font-family: var(--awa-serif);
	font-size: clamp(0.86rem, 0.62rem + 0.32vw, 1rem);
	letter-spacing: 0.08em;
}

.awaodori-featured-event__title {
	margin: 0 0 0.72rem;
	font-size: clamp(1.45rem, 1rem + 0.72vw, 1.8rem);
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.08em;
	word-break: keep-all;
	overflow-wrap: break-word;
}

.awaodori-featured-event__title a {
	color: var(--awa-indigo-black);
}

.awaodori-featured-event__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem;
	margin-bottom: 0.42rem;
}

.awaodori-featured-event__details {
	display: flex;
	flex-wrap: wrap;
	gap: 1.35rem;
	margin: 0 0 1.2rem;
	color: color-mix(in srgb, var(--awa-sumi) 76%, transparent);
	font-size: clamp(0.72rem, 0.55rem + 0.28vw, 0.84rem);
	letter-spacing: 0.05em;
}

.awaodori-label {
	display: inline-flex;
	align-items: center;
	min-height: 1.12rem;
	padding: 0 0.42rem;
	border: 1px solid color-mix(in srgb, var(--awa-indigo-black) 24%, transparent);
	background: color-mix(in srgb, var(--awa-washi) 82%, transparent);
	color: var(--awa-indigo);
	font-size: 0.55rem;
	line-height: 1.3;
	letter-spacing: 0.08em;
}

.awaodori-label--solid {
	border-color: var(--awa-indigo);
	background: var(--awa-indigo);
	color: var(--awa-washi);
}

.awaodori-featured-event__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1.1rem;
	align-items: center;
}

.awaodori-featured-event__empty-lead {
	margin: 0 0 1.2rem;
	color: color-mix(in srgb, var(--awa-sumi) 74%, transparent);
	font-size: clamp(0.8rem, 0.6rem + 0.4vw, 0.95rem);
	line-height: 1.85;
}

.awaodori-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 1.1rem;
	min-height: 2.15rem;
	padding: 0.58rem 1.28rem;
	border: 1px solid var(--awa-indigo-black);
	font-size: clamp(0.72rem, 0.54rem + 0.28vw, 0.82rem);
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 1;
}

.awaodori-button::after {
	content: "→";
	font-family: var(--awa-serif);
	font-size: 1rem;
	line-height: 1;
}

.awaodori-button--primary {
	background: var(--awa-indigo-black);
	color: var(--awa-washi);
}

.awaodori-button--primary:hover {
	background: var(--awa-indigo);
	color: var(--awa-washi);
	text-decoration: none;
}

.awaodori-button--text {
	min-width: 8.8rem;
	border-color: transparent;
	border-bottom-color: var(--awa-indigo-black);
	background: transparent;
	color: var(--awa-indigo-black);
	padding-inline: 0;
	justify-content: space-between;
}

.awaodori-button--text:hover {
	color: var(--awa-sunset);
	text-decoration: none;
}

/* Sumi-e scenes ---------------------------------------------------------- */

.awaodori-sumie-scene {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	overflow: hidden;
}

.awaodori-sumie-scene::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--awa-washi) 90%, transparent) 0 22%, color-mix(in srgb, var(--awa-washi) 46%, transparent) 46%, color-mix(in srgb, var(--awa-washi) 5%, transparent) 76%),
		linear-gradient(0deg, color-mix(in srgb, var(--awa-washi) 50%, transparent) 0 2%, transparent 22%);
	z-index: 2;
}

.awaodori-sumie-scene__image {
	position: absolute;
	z-index: 1;
	display: block;
	max-width: none;
	height: auto;
	pointer-events: none;
	user-select: none;
	mix-blend-mode: multiply;
	filter: saturate(0.92) contrast(1.14);
}

.awaodori-sumie-scene__image--landscape {
	top: clamp(2.6rem, 5vw, 4.4rem);
	right: clamp(-3rem, -2vw, -1rem);
	width: min(82%, 720px);
	opacity: 0.98;
	-webkit-mask-image: radial-gradient(ellipse at 54% 52%, #000 0 74%, transparent 96%);
	mask-image: radial-gradient(ellipse at 54% 52%, #000 0 74%, transparent 96%);
}

.awaodori-sumie-scene__image--river {
	right: clamp(-2rem, -1.2vw, -0.6rem);
	bottom: clamp(0rem, 2vw, 2rem);
	height: min(82%, 520px);
	width: auto;
	opacity: 0.82;
	-webkit-mask-image: radial-gradient(ellipse at 58% 50%, #000 0 68%, transparent 94%);
	mask-image: radial-gradient(ellipse at 58% 50%, #000 0 68%, transparent 94%);
}

/* Gallery --------------------------------------------------------------- */

.awaodori-gallery-section {
	position: relative;
	padding: 2rem 0 1.7rem;
	background: var(--awa-kinari);
}

.awaodori-gallery-section__head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 1.2rem;
	row-gap: 1.35rem;
	align-items: end;
	margin-bottom: 1.55rem;
}

.awaodori-gallery-section__all-link {
	align-self: center;
	color: var(--awa-indigo-black);
	font-size: 0.58rem;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.awaodori-gallery-section__all-link::after {
	content: "›";
	display: inline-block;
	margin-left: 0.55rem;
	font-size: 0.76rem;
	line-height: 1;
}

.awaodori-gallery-section__all-link:hover {
	color: var(--awa-sunset);
	text-decoration: none;
}

.awaodori-section-title {
	margin: 0;
	color: var(--awa-indigo-black);
	font-size: 1.17rem;
	font-weight: 500;
	letter-spacing: 0.18em;
}

.awaodori-filter-nav {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 1.7rem;
	border-bottom: 1px solid color-mix(in srgb, var(--awa-sumi) 48%, transparent);
}

.awaodori-filter-nav__item {
	position: relative;
	padding-bottom: 0.62rem;
	color: color-mix(in srgb, var(--awa-sumi) 62%, transparent);
	font-size: 0.62rem;
	letter-spacing: 0.08em;
}

.awaodori-filter-nav__item::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: transparent;
}

.awaodori-filter-nav__item--active,
.awaodori-filter-nav__item:hover {
	color: var(--awa-indigo-black);
	text-decoration: none;
}

.awaodori-filter-nav__item--active::after,
.awaodori-filter-nav__item:hover::after {
	background: var(--awa-indigo-black);
}

.awaodori-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 284px), 1fr));
	gap: 1.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.awaodori-event-card {
	position: relative;
	display: grid;
	grid-template-rows: clamp(135px, 13vw, 210px) 1fr;
	min-height: clamp(265px, 25vw, 380px);
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--awa-line) 86%, var(--awa-sumi));
	background: var(--awa-washi);
	transition: border-color 0.22s ease, transform 0.22s ease;
}

.awaodori-event-card:hover {
	border-color: color-mix(in srgb, var(--awa-indigo) 72%, var(--awa-line));
	transform: translateY(-2px);
}

.awaodori-event-card__visual {
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid var(--awa-line);
	background:
		var(--awa-paper-texture),
		var(--awa-washi);
	background-size: 220px 220px, 100% 100%;
}

.awaodori-event-card__visual::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	border: 1px solid color-mix(in srgb, var(--awa-sumi) 8%, transparent);
	background:
		linear-gradient(180deg, transparent 0 66%, color-mix(in srgb, var(--awa-washi) 20%, transparent) 100%),
		radial-gradient(circle at 100% 0, color-mix(in srgb, var(--awa-washi) 26%, transparent) 0 28%, transparent 62%);
	pointer-events: none;
}

.awaodori-event-card__image {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	mix-blend-mode: multiply;
	filter: saturate(0.82) contrast(1.08);
}

.awaodori-event-card__region {
	position: absolute;
	z-index: 5;
	top: 0;
	left: 0;
	display: inline-flex;
	align-items: center;
	min-height: 1.7rem;
	padding: 0 0.75rem;
	background: var(--awa-indigo);
	color: var(--awa-washi);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
}

.awaodori-event-card__body {
	display: flex;
	flex-direction: column;
	padding: 0.78rem 0.66rem 1.9rem;
}

.awaodori-event-card__date-line {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 0.5rem;
	margin-bottom: 0.32rem;
}

.awaodori-cal-chip {
	display: inline-flex;
	align-items: baseline;
	gap: 0.32rem;
	color: var(--awa-indigo-black);
	font-family: var(--awa-numeral);
	line-height: 1;
}

.awaodori-cal-chip__day {
	/* S1・裁定b: 色は藍黒（カンプ準拠）のまま、サイズで日付をカード内最強要素にする（状況バッジより上位） */
	font-size: 1.25rem;
	letter-spacing: 0.02em;
}

.awaodori-cal-chip__weekday {
	font-family: var(--awa-serif);
	font-size: 0.48rem;
	letter-spacing: 0.12em;
}

.awaodori-event-card__date-full {
	color: color-mix(in srgb, var(--awa-sumi) 54%, transparent);
	font-size: 0.46rem;
	letter-spacing: 0.08em;
}

.awaodori-event-card__title {
	margin: 0 0 0.42rem;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.42;
	letter-spacing: 0.08em;
}

.awaodori-event-card__title a {
	color: var(--awa-indigo-black);
}

.awaodori-event-card__title a:hover {
	color: var(--awa-indigo);
	text-decoration: none;
}

.awaodori-event-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-bottom: 0.48rem;
}

.awaodori-event-card__venue {
	color: color-mix(in srgb, var(--awa-sumi) 70%, transparent);
	font-size: 0.52rem;
	letter-spacing: 0.04em;
}

.awaodori-term-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.awaodori-term-list__item a,
.awaodori-term-list__item span {
	display: inline-flex;
	align-items: center;
	min-height: 1.18rem;
	padding: 0 0.48rem;
	border: 1px solid var(--awa-line);
	color: var(--awa-indigo);
	background: color-mix(in srgb, var(--awa-washi) 86%, transparent);
	font-size: 0.6rem;
	line-height: 1.2;
	letter-spacing: 0.05em;
}

.awaodori-term-list__item a:hover {
	border-color: var(--awa-indigo);
	background: var(--awa-indigo);
	color: var(--awa-washi);
	text-decoration: none;
}

.awaodori-event-card__footer {
	position: absolute;
	left: 0.66rem;
	right: 0.66rem;
	bottom: 0.58rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin-top: auto;
	padding-top: 0;
	border-top: 0;
}

.awaodori-status {
	display: inline-flex;
	align-items: center;
	min-height: 1.28rem;
	padding: 0 0.56rem;
	border: 1px solid var(--awa-indigo);
	background: transparent;
	color: var(--awa-indigo);
	font-size: 0.6rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.awaodori-status--confirmed {
	background: var(--awa-indigo);
	border-color: var(--awa-indigo);
	color: var(--awa-washi);
}

.awaodori-status--cancelled {
	background: var(--awa-sunset);
	border-color: var(--awa-sunset);
	color: var(--awa-washi);
}

.awaodori-event-card__more {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	width: 1.6rem;
	/* ステータスバッジの有無に関わらず「→」を常に右下へ固定（バッジなしカードで左寄りになる不統一を解消・SG-1）。 */
	margin-left: auto;
}

.awaodori-event-card__more::after {
	content: "→";
	color: var(--awa-indigo-black);
	font-family: var(--awa-serif);
	font-size: 0.82rem;
	font-weight: 400;
	line-height: 1;
}

.awaodori-event-card__more:hover::after {
	color: var(--awa-sunset);
}

.awaodori-pagination {
	display: flex;
	gap: 1rem;
	margin-top: 2.3rem;
	font-size: 0.82rem;
	letter-spacing: 0.08em;
}

.awaodori-pagination--gallery {
	justify-content: flex-end;
}

/* Card visual variants --------------------------------------------------- */

.awaodori-event-card--visual-1 .awaodori-event-card__image,
.awaodori-event-card--visual-5 .awaodori-event-card__image,
.awaodori-event-card--visual-10 .awaodori-event-card__image {
	object-position: center top;
}

.awaodori-event-card--visual-2 .awaodori-event-card__image,
.awaodori-event-card--visual-7 .awaodori-event-card__image,
.awaodori-event-card--visual-9 .awaodori-event-card__image {
	object-position: center 58%;
}

.awaodori-event-card--visual-8 .awaodori-event-card__image {
	object-position: center bottom;
}

/* Spot card（周辺スポット・関連記事）— イベントカードより弱い視覚階層（6.9） */
.awaodori-spot-card {
	display: flex;
	flex-direction: column;
	grid-template-rows: none;
	min-height: 0;
	border-top: 3px solid var(--awa-bizan);
}

.awaodori-spot-card:hover {
	border-top-color: var(--awa-bizan);
}

.awaodori-spot-card .awaodori-event-card__body {
	padding: 1.05rem 1rem 1.2rem;
}

.awaodori-spot-card__label {
	display: inline-block;
	margin-bottom: 0.5rem;
	color: var(--awa-bizan);
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.awaodori-spot-card .awaodori-event-card__title {
	font-size: 0.95rem;
}

.awaodori-spot-card .awaodori-event-card__meta {
	display: block;
	color: color-mix(in srgb, var(--awa-sumi) 74%, transparent);
	font-size: 0.72rem;
	line-height: 1.75;
	letter-spacing: 0.02em;
}

/* イベント詳細の回遊導線セクション */
.awaodori-section-head {
	margin-bottom: var(--wp--preset--spacing--30);
}

.awaodori-event-single__related {
	margin-top: var(--wp--preset--spacing--50);
}

/* Archive / single compatibility --------------------------------------- */

.awaodori-archive-header,
.awaodori-term-banner,
.awaodori-event-single {
	padding-top: var(--wp--preset--spacing--50);
}

.awaodori-term-banner {
	margin-bottom: var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--40);
	border-left: 4px solid var(--awa-indigo);
	background: color-mix(in srgb, var(--awa-river-mist) 58%, var(--awa-washi));
}

/* ターム分類ごとのバナー色（DESIGN.md 8.4）: Region=川霧 / Venue=藍薄 / Ren=夕日金の暖色 */
.awaodori-term-banner--region {
	border-left-color: var(--awa-river);
	background: color-mix(in srgb, var(--awa-river-mist) 72%, var(--awa-washi));
}

.awaodori-term-banner--venue {
	border-left-color: var(--awa-indigo);
	background: color-mix(in srgb, var(--awa-indigo-wash) 76%, var(--awa-washi));
}

.awaodori-term-banner--ren {
	border-left-color: var(--awa-gold);
	background: color-mix(in srgb, var(--awa-gold) 12%, var(--awa-washi));
}

.awaodori-term-banner__kicker,
.awaodori-section-head__kicker {
	display: block;
	margin-bottom: var(--wp--preset--spacing--20);
	color: var(--awa-sunset);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.awaodori-term-banner__title {
	margin: 0;
}

.awaodori-event-single__title {
	margin: 0 0 var(--wp--preset--spacing--40);
	font-size: clamp(1.9rem, 5vw, 3rem);
}

.awaodori-event-facts {
	display: grid;
	width: fit-content;
	max-width: 100%;
	min-width: min(100%, 20rem); /* S3: 単一行時はより content-aware に（fit-content が広い日付行では自然に伸びる） */
	gap: var(--wp--preset--spacing--30);
	margin: 0 0 var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--40);
	border: 1px solid var(--awa-line);
	border-left: 4px solid var(--awa-indigo);
	background: var(--awa-washi);
	list-style: none;
}

.awaodori-event-facts__row {
	display: grid;
	grid-template-columns: 9rem minmax(0, 1fr);
	gap: var(--wp--preset--spacing--30);
	align-items: baseline;
}

.awaodori-event-facts__label {
	color: var(--awa-indigo);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

.awaodori-event-facts__label-en {
	display: block;
	color: color-mix(in srgb, var(--awa-sumi) 46%, transparent);
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.awaodori-event-facts__value--date {
	color: var(--awa-sunset);
	font-family: var(--awa-serif);
	font-size: 1.35rem;
	font-weight: 700;
}

.awaodori-source-button {
	display: inline-flex;
	min-height: 2.8rem;
	align-items: center;
	padding: 0.65rem 1.2rem;
	background: var(--awa-indigo-black);
	color: var(--awa-washi);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

.awaodori-source-button:hover {
	background: var(--awa-indigo);
	color: var(--awa-washi);
	text-decoration: none;
}

.awaodori-entry-content {
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.95;
}

.awaodori-empty {
	padding: var(--wp--preset--spacing--40);
	border: 1px dashed var(--awa-line);
	background: color-mix(in srgb, var(--awa-washi) 72%, transparent);
	text-align: center;
	color: color-mix(in srgb, var(--awa-sumi) 72%, transparent);
}

/* Ad slot — コンテンツより弱い視覚階層（6.12）。生成り地・低い高さ・淡い小ラベル。 */
.awaodori-ad-slot {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	min-height: 3.4rem;
	margin: var(--wp--preset--spacing--40) 0;
	padding: 0.5rem 1rem;
	border: 1px dashed color-mix(in srgb, var(--awa-line) 76%, transparent);
	background: color-mix(in srgb, var(--awa-kinari) 55%, transparent);
	color: color-mix(in srgb, var(--awa-sumi) 40%, transparent);
	text-align: center;
}

.awaodori-ad-slot__mark {
	display: inline-flex;
	align-items: center;
	padding: 0 0.4rem;
	border: 1px solid color-mix(in srgb, var(--awa-sumi) 24%, transparent);
	color: color-mix(in srgb, var(--awa-sumi) 46%, transparent);
	font-size: 0.56rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.6;
}

.awaodori-ad-slot__label {
	font-size: 0.62rem;
	letter-spacing: 0.06em;
}

.awaodori-ad-slot__pos {
	margin-left: 0.4rem;
	color: color-mix(in srgb, var(--awa-sumi) 28%, transparent);
	font-size: 0.54rem;
	letter-spacing: 0.02em;
}

.awaodori-breadcrumb {
	margin-bottom: var(--wp--preset--spacing--40);
	color: color-mix(in srgb, var(--awa-sumi) 58%, transparent);
	font-size: var(--wp--preset--font-size--small);
}

.awaodori-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
	padding: 0;
	list-style: none;
}

.awaodori-breadcrumb__item,
.awaodori-breadcrumb__item a {
	overflow-wrap: anywhere;
	word-break: break-word;
}

.awaodori-breadcrumb__item + .awaodori-breadcrumb__item::before {
	content: "›";
	margin-right: var(--wp--preset--spacing--20);
	color: var(--awa-line);
}

/* Static pages / list pages (page.php / page-area / page-ren / page-venues) - */

.awaodori-page {
	padding-bottom: var(--wp--preset--spacing--60);
}

.awaodori-page-header {
	margin-bottom: var(--wp--preset--spacing--40);
}

/* 読み物用 prose: 見出し・段落・リストの余白と行間を整える */
.awaodori-prose {
	max-width: 46rem;
}

.awaodori-prose > *:first-child {
	margin-top: 0;
}

.awaodori-prose > *:last-child {
	margin-bottom: 0;
}

.awaodori-prose p {
	margin: 0 0 var(--wp--preset--spacing--30);
	line-height: 1.95;
}

.awaodori-prose h2 {
	margin: var(--wp--preset--spacing--50) 0 var(--wp--preset--spacing--30);
	font-size: 1.32rem;
	letter-spacing: 0.08em;
}

.awaodori-prose h3 {
	margin: var(--wp--preset--spacing--40) 0 var(--wp--preset--spacing--20);
	font-size: 1.12rem;
	letter-spacing: 0.06em;
}

.awaodori-prose ul,
.awaodori-prose ol {
	margin: 0 0 var(--wp--preset--spacing--30);
	padding-left: 1.5rem;
	line-height: 1.9;
}

.awaodori-prose li {
	margin-bottom: 0.35rem;
}

.awaodori-prose li > ul,
.awaodori-prose li > ol {
	margin-top: 0.35rem;
	margin-bottom: 0;
}

.awaodori-prose a {
	text-decoration: underline;
}

.awaodori-prose blockquote {
	margin: 0 0 var(--wp--preset--spacing--30);
	padding: 0.4rem 0 0.4rem var(--wp--preset--spacing--30);
	border-left: 3px solid var(--awa-indigo);
	color: color-mix(in srgb, var(--awa-sumi) 78%, transparent);
}

.awaodori-page-intro {
	margin-bottom: var(--wp--preset--spacing--40);
}

.awaodori-page-list-section {
	margin-top: var(--wp--preset--spacing--40);
}

/* 一覧セクションの見出し帯（キッカー + 見出し + 補足を横に並べる） */
.awaodori-page-list-section .awaodori-section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.4rem 1.2rem;
	margin-bottom: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--20);
	/* 下線は既存アーカイブと同じ紙罫（paper-line）に揃える（DESIGN.md §6.10）。 */
	border-bottom: 1px solid var(--awa-line);
}

.awaodori-page-list-section .awaodori-section-head__kicker {
	margin-bottom: 0;
}

.awaodori-ren-summary {
	margin: 0;
	color: color-mix(in srgb, var(--awa-sumi) 62%, transparent);
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0.04em;
}

/* Region: 地域から探すの大きめカード ----------------------------------- */
.awaodori-region-grid {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
}

.awaodori-region-card {
	list-style: none;
}

.awaodori-region-card__link {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	height: 100%;
	min-height: 9.5rem;
	padding: var(--wp--preset--spacing--40);
	border: 1px solid color-mix(in srgb, var(--awa-line) 86%, var(--awa-sumi));
	border-left: 4px solid var(--awa-river);
	background: color-mix(in srgb, var(--awa-river-mist) 40%, var(--awa-washi));
	color: var(--awa-indigo-black);
	transition: border-color 0.22s ease, transform 0.22s ease, background 0.22s ease;
}

.awaodori-region-card__link:hover,
.awaodori-region-card__link:focus {
	border-color: color-mix(in srgb, var(--awa-indigo) 60%, var(--awa-line));
	background: color-mix(in srgb, var(--awa-river-mist) 66%, var(--awa-washi));
	color: var(--awa-indigo-black);
	text-decoration: none;
	transform: translateY(-2px);
}

.awaodori-region-card__name {
	font-family: var(--awa-serif);
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1.3;
}

.awaodori-region-card__desc {
	color: color-mix(in srgb, var(--awa-sumi) 76%, transparent);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.8;
}

.awaodori-region-card__count {
	margin-top: auto;
	color: var(--awa-indigo);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.04em;
}

/* Ren: 連・協会の複数カラムリンクリスト --------------------------------- */
.awaodori-ren-list {
	margin: 0;
	padding: 0;
	list-style: none;
	columns: 3 15rem;
	column-gap: var(--wp--preset--spacing--40);
}

.awaodori-ren-list__item {
	break-inside: avoid;
	margin-bottom: 0.25rem;
}

.awaodori-ren-list__link {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	padding: 0.42rem 0.55rem;
	border-bottom: 1px solid color-mix(in srgb, var(--awa-line) 70%, transparent);
	color: var(--awa-indigo-black);
	line-height: 1.5;
}

.awaodori-ren-list__link:hover,
.awaodori-ren-list__link:focus {
	background: color-mix(in srgb, var(--awa-gold) 12%, var(--awa-washi));
	color: var(--awa-sunset);
	text-decoration: none;
}

.awaodori-ren-list__name {
	overflow-wrap: anywhere;
}

.awaodori-ren-list__badge,
.awaodori-venue-list__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.4rem;
	height: 1.25rem;
	padding: 0 0.35rem;
	border: 1px solid color-mix(in srgb, var(--awa-indigo) 40%, transparent);
	background: color-mix(in srgb, var(--awa-indigo-wash) 70%, var(--awa-washi));
	color: var(--awa-indigo);
	font-family: var(--awa-numeral);
	font-size: 0.66rem;
	font-weight: 700;
	line-height: 1;
}

.awaodori-ren-list__badge {
	margin-left: auto;
}

/* Venue: 祭り・会場の親→子ネストリスト --------------------------------- */
.awaodori-venue-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: var(--wp--preset--spacing--30);
}

.awaodori-venue-list__group {
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	border: 1px solid color-mix(in srgb, var(--awa-line) 86%, var(--awa-sumi));
	border-left: 4px solid var(--awa-indigo);
	background: color-mix(in srgb, var(--awa-indigo-wash) 36%, var(--awa-washi));
}

.awaodori-venue-list__parent {
	display: flex;
	align-items: baseline;
	gap: 0.6rem;
	color: var(--awa-indigo-black);
	font-family: var(--awa-serif);
	font-size: 1.15rem;
	font-weight: 500;
	letter-spacing: 0.06em;
}

.awaodori-venue-list__parent:hover,
.awaodori-venue-list__parent:focus {
	color: var(--awa-sunset);
	text-decoration: none;
}

.awaodori-venue-list__children {
	margin: var(--wp--preset--spacing--20) 0 0;
	padding: var(--wp--preset--spacing--20) 0 0 var(--wp--preset--spacing--40);
	border-top: 1px solid color-mix(in srgb, var(--awa-line) 60%, transparent);
	list-style: none;
	display: grid;
	gap: 0.25rem;
}

.awaodori-venue-list__child {
	position: relative;
}

.awaodori-venue-list__child::before {
	content: "─";
	position: absolute;
	left: -1.35rem;
	color: color-mix(in srgb, var(--awa-indigo) 40%, transparent);
}

.awaodori-venue-list__child-link {
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	padding: 0.28rem 0;
	color: var(--awa-indigo-black);
	font-size: var(--wp--preset--font-size--medium);
}

.awaodori-venue-list__child-link:hover,
.awaodori-venue-list__child-link:focus {
	color: var(--awa-sunset);
	text-decoration: none;
}

/* バッジは会場名の直後（gap 分だけ離れた位置）に置き、名前との近接を保つ。
   全幅単列の会場行では margin-left:auto で右端に飛ばすと名前と件数の視覚的
   結合が切れるため使わない（親・子とも名前の直後に寄せる）。 */
.awaodori-venue-list__parent .awaodori-venue-list__badge,
.awaodori-venue-list__child-link .awaodori-venue-list__badge {
	margin-left: 0;
}

/* Footer ---------------------------------------------------------------- */

.awaodori-site-footer {
	position: relative;
	overflow: hidden;
	padding: 1.9rem 0 1.25rem;
	background:
		linear-gradient(90deg, var(--awa-indigo-black), var(--awa-indigo)),
		var(--awa-indigo-black);
	color: var(--awa-washi);
}

.awaodori-site-footer::after {
	content: "";
	position: absolute;
	right: 4%;
	bottom: 14%;
	width: 42%;
	height: 16%;
	background:
		linear-gradient(170deg, transparent 0 42%, color-mix(in srgb, var(--awa-river) 74%, transparent) 43% 48%, transparent 49%);
	opacity: 0.82;
	pointer-events: none;
}

.awaodori-site-footer__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1.75fr repeat(4, minmax(0, 1fr));
	column-gap: 1.7rem;
	row-gap: 1.45rem;
	align-items: start;
}

.awaodori-site-footer__brand-name {
	margin: 0 0 0.72rem;
	font-family: var(--awa-serif);
	font-size: 1.08rem;
	line-height: 1.25;
}

.awaodori-site-description,
.awaodori-site-footer__note {
	color: color-mix(in srgb, var(--awa-washi) 78%, transparent);
	font-size: 0.58rem;
	line-height: 1.75;
	letter-spacing: 0.04em;
}

.awaodori-site-description {
	margin: 0;
}

.awaodori-source-first {
	margin-top: 1.05rem;
	padding-top: 0.75rem;
	border-top: 1px solid color-mix(in srgb, var(--awa-washi) 14%, transparent);
}

.awaodori-site-footer__seal {
	display: inline-grid;
	width: 1.8rem;
	height: 2.4rem;
	margin-bottom: 0.75rem;
	place-items: center;
	border: 1px solid color-mix(in srgb, var(--awa-sunset) 58%, transparent);
	color: color-mix(in srgb, var(--awa-sunset) 80%, transparent);
	font-family: var(--awa-serif);
	font-size: 0.8rem;
	line-height: 1.15;
	writing-mode: vertical-rl;
}

.awaodori-site-footer__col-title {
	margin: 0 0 0.68rem;
	color: var(--awa-washi);
	font-size: 0.58rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.4;
}

.awaodori-site-footer ul {
	display: grid;
	gap: 0.34rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.awaodori-site-footer a {
	color: color-mix(in srgb, var(--awa-washi) 78%, transparent);
	font-size: 0.56rem;
	line-height: 1.55;
}

.awaodori-site-footer a:hover {
	color: var(--awa-washi);
}

.awaodori-site-footer__copy {
	grid-column: 1 / -1;
	margin-top: 0;
	padding-top: 0.78rem;
	border-top: 1px solid color-mix(in srgb, var(--awa-washi) 20%, transparent);
	color: color-mix(in srgb, var(--awa-washi) 64%, transparent);
	font-size: 0.54rem;
	line-height: 1.4;
}

.awaodori-site-footer__copy p {
	margin: 0;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Responsive ------------------------------------------------------------- */

@media (max-width: 760px) {
	.awaodori-site-footer__inner {
		grid-template-columns: repeat(2, 1fr);
	}

	.awaodori-site-footer__brand,
	.awaodori-site-footer__copy {
		grid-column: 1 / -1;
	}
}

@media (max-width: 760px) {
	:root {
		--awa-shell: min(100vw - 32px, 100%);
		--awa-header-height: auto;
	}

	.awaodori-home-hero .awaodori-container {
		width: 100%;
	}

	.awaodori-site-header__inner {
		min-height: auto;
		grid-template-columns: 1fr;
		align-items: flex-start;
		padding: 1.1rem max(16px, 4vw) 1.25rem;
		gap: 1rem;
		max-width: 100%;
	}

	.awaodori-global-nav ul {
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 0.7rem 1.1rem;
		max-width: 100%;
	}

	.awaodori-global-nav a {
		min-height: 2rem;
		font-size: 0.72rem;
	}

	.awaodori-header-tools {
		display: none;
	}

	.awaodori-home-hero {
		min-height: auto;
		background: var(--awa-kinari);
	}

	.awaodori-home-hero__grid {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.awaodori-home-hero__copy,
	.awaodori-featured-event {
		padding: 3rem max(16px, 5vw);
	}

	.awaodori-home-hero__copy::before {
		display: none;
	}

	.awaodori-home-hero__title,
	.awaodori-home-hero__lead {
		margin-left: 0;
	}

	.awaodori-home-hero__lead {
		max-width: 100%;
		overflow-wrap: anywhere;
	}

	.awaodori-home-hero__title {
		font-size: clamp(1.6rem, 6vw, 2.05rem);
		letter-spacing: 0.04em;
		overflow-wrap: anywhere;
	}

	.awaodori-home-hero__title-line {
		white-space: normal;
	}

	.awaodori-home-hero__lower {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.awaodori-home-hero__index {
		display: none;
	}

	.awaodori-featured-event {
		min-height: 510px;
		padding-left: max(16px, 5vw);
	}

	.awaodori-featured-event__content {
		width: min(100%, 29rem);
	}

	.awaodori-featured-event__day {
		font-size: 4.6rem;
	}

	.awaodori-featured-event__title {
		font-size: 1.52rem;
	}

	.awaodori-sumie-scene__image--landscape {
		top: 0.7rem;
		right: -30%;
		width: 128%;
	}

	.awaodori-sumie-scene__image--river {
		right: -34%;
		bottom: -8%;
		height: 62%;
		opacity: 0.74;
	}

	.awaodori-gallery-section__head {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.awaodori-filter-nav {
		justify-content: flex-start;
	}

	.awaodori-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.awaodori-container,
	.awaodori-narrow {
		width: min(100vw - 32px, 100%);
	}

	.awaodori-card-grid,
	.awaodori-site-footer__inner {
		grid-template-columns: 1fr;
	}

	.awaodori-event-card {
		grid-template-rows: 170px 1fr;
	}

	.awaodori-event-facts__row {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--20);
	}

	.awaodori-event-facts__value--date {
		font-size: 1.12rem;
		overflow-wrap: anywhere;
	}

	.awaodori-event-single__title {
		font-size: clamp(1.5rem, 6vw, 2rem);
		overflow-wrap: anywhere;
	}
}
