/* Inscrição Sócio — wizard (dados → quotas → OTP → resumo) */

:root {
	--brand: #051e33;
	--brand-800: #123357;
	--ink: #051e33;
	--muted: #8c9ba9;
	--text-soft: #5a6b7c;
	--line: #e4e9ee;
	--line-soft: #edf1f5;
	--surface: #fff;
	--radius: 12px;
	--font: "Archivo", Helvetica, Arial, sans-serif;
	--display: "Oswald", sans-serif;
	--mono: "IBM Plex Mono", monospace;
	--ease: cubic-bezier(0.2, 0.8, 0.25, 1);
}

@keyframes dd-pop {
	from { opacity: 0; transform: translateY(-6px) scale(0.99); }
	to { opacity: 1; transform: none; }
}

@keyframes step-in {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: none; }
}

/* ── Base wizard ─────────────────────────────────────────── */

.fcf-inscricao-socio-wizard *,
.fcf-inscricao-socio-wizard *::before,
.fcf-inscricao-socio-wizard *::after { box-sizing: border-box; }

.fcf-inscricao-socio-wizard {
	color: var(--ink);
	font-family: var(--font);
	-webkit-font-smoothing: antialiased;
}

.fcf-inscricao-socio-wizard a {
	color: var(--brand-800);
	text-decoration: none;
	border-bottom: 1px solid rgba(18, 51, 87, 0.28);
}

.fcf-inscricao-socio-wizard a:hover {
	color: var(--brand);
	border-bottom-color: var(--brand);
}

.fcf-inscricao-socio-wizard button,
.fcf-inscricao-socio-wizard input { font-family: inherit; }

.fcf-inscricao-socio-wizard input {
	transition: border-color 0.2s ease, box-shadow 0.25s ease;
}

.fcf-inscricao-socio-wizard input::placeholder { color: #9aa7b4; }

.fcf-inscricao-socio-wizard input:focus {
	outline: none;
	border-color: var(--brand) !important;
}

.fcf-inscricao-socio-wizard .panel[hidden] { display: none !important; }

/* ── WordPress page shell ────────────────────────────────── */

body.has-fcf-inscricao-socio-wizard {
	--fcf-inscricao-bg: #fff;
	--fcf-inscricao-content-width: min(100%, var(--theme-normal-container-max-width, var(--fcf-site-max-width)));
	--fcf-inscricao-banner-height: clamp(420px, 60vh, 600px);
	background: var(--fcf-inscricao-bg);
	color: var(--fcf-blue-900, #051e33);
	overflow-x: clip;
}

body.has-fcf-inscricao-socio-wizard,
body.has-fcf-inscricao-socio-wizard #main-container,
body.has-fcf-inscricao-socio-wizard main.site-main {
	background: var(--fcf-inscricao-bg);
}

body.has-fcf-inscricao-socio-wizard #main-container,
body.has-fcf-inscricao-socio-wizard main.site-main {
	padding-top: 0 !important;
	overflow: visible;
}

body.has-fcf-inscricao-socio-wizard .hero-section,
body.has-fcf-inscricao-socio-wizard .entry-header,
body.has-fcf-inscricao-socio-wizard .ct-breadcrumbs {
	display: none !important;
}

body.has-fcf-inscricao-socio-wizard #main-container {
	margin: 0;
	max-width: none;
	width: 100%;
}

body.has-fcf-inscricao-socio-wizard main.site-main,
body.has-fcf-inscricao-socio-wizard main.site-main > .ct-container,
body.has-fcf-inscricao-socio-wizard main.site-main > .ct-container-full,
body.has-fcf-inscricao-socio-wizard main.site-main > .ct-container-narrow {
	padding-left: 0;
	padding-right: 0;
	padding-bottom: clamp(48px, 7vh, 88px);
	max-width: none;
	width: 100%;
}

body.has-fcf-inscricao-socio-wizard .entry-content,
body.has-fcf-inscricao-socio-wizard .entry-content.is-layout-constrained {
	--wp--style--root--padding-left: 0;
	--wp--style--root--padding-right: 0;
	padding: 0;
	margin: 0;
	max-width: none;
	width: 100%;
	background: transparent;
	overflow: visible;
}

html:has(body.has-fcf-inscricao-socio-wizard) { background: #fff; }

body.has-fcf-inscricao-socio-wizard .fcf-inscricao-socio-page.fcf-page-section {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
	overflow-x: clip;
}

/* ── Hero / match-page banner ────────────────────────────── */

.fcf-match-page--inscricao {
	--fcf-match-media-height: var(--fcf-inscricao-banner-height, clamp(420px, 60vh, 600px));
	color: #fff;
	background: #fff;
	padding-bottom: 0;
	overflow: visible;
	isolation: isolate;
}

.fcf-match-page--inscricao .fcf-match-page__media {
	top: 0;
	left: 0;
	width: 100%;
	height: var(--fcf-match-media-height);
	transform: none;
}

.fcf-match-page--inscricao .fcf-match-page__bg {
	background-color: var(--fcf-blue-900, #051e33);
	background-image: var(--fcf-match-bg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-blend-mode: normal;
	-webkit-mask-image: none;
	mask-image: none;
}

.fcf-match-page--inscricao .fcf-match-page__media::after {
	background: linear-gradient(
		to top,
		rgba(5, 30, 51, 0.55) 0%,
		rgba(5, 30, 51, 0.12) 55%,
		rgba(5, 30, 51, 0.05) 100%
	);
}

.fcf-match-page--inscricao .fcf-match-page__hero {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: flex-end;
	gap: 0.45rem;
	position: relative;
	box-sizing: border-box;
	width: var(--fcf-page-container-width, min(100%, var(--theme-normal-container-max-width, var(--fcf-site-max-width))));
	max-width: var(--fcf-page-container-max-width, var(--theme-normal-container-max-width, var(--fcf-site-max-width)));
	height: var(--fcf-match-media-height);
	min-height: var(--fcf-match-media-height);
	margin-inline: auto;
	padding:
		calc(var(--header-height, 96px) + clamp(1rem, 2.5vh, 1.75rem))
		0
		clamp(2rem, 4vh, 3rem);
	z-index: 4;
}

.fcf-match-page--inscricao .fcf-match-page__title {
	position: relative;
	z-index: 1;
	max-width: min(100%, 22ch);
	margin: 0;
	pointer-events: none;
	text-wrap: balance;
	text-transform: uppercase;
}

.fcf-match-page--inscricao .fcf-match-page__subtitle {
	margin: 0;
	font-family: var(--fcf-font-display, "korolev-compressed", sans-serif);
	font-size: clamp(0.9375rem, 1.2vw, 1.125rem);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.78);
}

.fcf-inscricao-socio-page__body {
	position: relative;
	z-index: 2;
	width: 100%;
	background: #fff;
	color: var(--fcf-blue-900, #051e33);
}

/* ── Wizard UI (theme-scoped, nested) ────────────────────── */

body.has-fcf-inscricao-socio-wizard .fcf-inscricao-socio-wizard {
	--brand: var(--fcf-blue-900, #051e33);
	--brand-800: var(--fcf-blue-800, #123357);
	--ink: var(--fcf-blue-900, #051e33);
	--muted: #8c9ba9;
	--text-soft: #5a6b7c;
	--line: #e4e9ee;
	--line-soft: #edf1f5;
	--surface: #fff;
	--display: var(--fcf-font-display, "korolev-compressed", sans-serif);
	--font: var(--fcf-font-body, "Poppins", sans-serif);
	--fcf-inscricao-eyebrow-size: var(--fcf-content-label-size, 0.875rem);
	--fcf-inscricao-body-size: clamp(0.9375rem, 1.25vw, 1.0625rem);
	--fcf-inscricao-meta-size: clamp(0.8125rem, 1vw, 0.875rem);
	--fcf-inscricao-field-size: var(--fcf-form-field-size, 1rem);
	--fcf-inscricao-field-height: 3.125rem;
	--fcf-inscricao-field-tracking: 0.04em;
	--fcf-inscricao-btn-size: clamp(0.8125rem, 1vw, 0.9375rem);
	--fcf-inscricao-btn-height: 2.75rem;
	box-sizing: border-box;
	width: var(--fcf-page-container-width, var(--fcf-inscricao-content-width));
	max-width: var(--fcf-page-container-max-width, var(--theme-normal-container-max-width, var(--fcf-site-max-width)));
	margin-inline: auto;
	padding: clamp(28px, 4vh, 48px) 0 0;
	color: var(--ink);
	font-family: var(--font);
	font-size: var(--fcf-inscricao-body-size);
	line-height: 1.55;

	.app {
		width: 100%;
		max-width: none;
		min-height: auto;
		margin: 0;
		padding: 0 0 clamp(24px, 3vh, 36px);
		background: transparent;
		box-shadow: none;
	}

	.wrap {
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
	}

	/* Success */
	.fcf-inscricao-success {
		display: none;
		width: 100%;
		max-width: 100%;
		margin: 0 0 clamp(1.25rem, 2.5vh, 1.75rem);
		padding: 1rem 1.15rem;
		border: 1px solid #b7dfb9;
		border-radius: 4px;
		background: #e8f6e9;
		color: #1f6b32;
		font-family: var(--font);
		font-size: var(--fcf-inscricao-body-size);
		line-height: 1.55;
		text-align: left;
		box-sizing: border-box;

		&[hidden] { display: none !important; }

		p {
			margin: 0;
			color: inherit;
			font-size: inherit;
			line-height: inherit;
		}
	}

	&.is-submitted {
		.fcf-inscricao-success { display: block; }
		.head,
		.panels,
		.foot { display: none !important; }
	}

	/* Head */
	.head {
		padding-top: 0;
		margin-inline: auto;
	}

	.back-link {
		display: inline-flex;
		align-items: center;
		gap: 9px;
		background: none;
		border: 0;
		padding: 0;
		margin: 0 0 0.85rem;
		cursor: pointer;
		color: var(--muted);
		font-family: var(--font);
		font-size: var(--fcf-inscricao-eyebrow-size);
		font-weight: 600;
		letter-spacing: 0.04em;
		line-height: 1.2;
		text-transform: uppercase;
		transition: color 0.2s ease, gap 0.2s ease;

		&[hidden] {
			display: inline-flex !important;
			visibility: hidden;
			pointer-events: none;
		}

		&:hover {
			color: var(--brand);
			gap: 13px;
		}
	}

	.head__sub {
		color: var(--text-soft);
		font-family: var(--font);
		font-size: var(--fcf-inscricao-body-size);
		font-weight: 400;
		line-height: 1.55;
		max-width: none;
		margin: 0.35rem 0 0;
		padding-bottom: 0.25rem;
	}

	/* Panels / foot / legal */
	.panels {
		padding-top: clamp(28px, 3.5vh, 40px);
		position: relative;
		isolation: isolate;
		overflow: visible;
		z-index: 2;
		margin-inline: auto;
		transition: none;
	}

	.panel.is-active {
		animation: none;
		overflow: visible;
		position: relative;
		z-index: 1;
	}

	.foot {
		position: relative;
		z-index: 1;
		margin: clamp(24px, 3vh, 36px) auto 0;
		padding-top: clamp(18px, 2.5vh, 24px);
		border-top: 1px solid var(--line-soft);
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 16px;
		flex-wrap: wrap;
	}

	&.has-open-select .foot { z-index: 0; }

	.foot__hint {
		font-family: var(--font);
		font-size: var(--fcf-inscricao-meta-size);
		font-weight: 400;
		line-height: 1.55;
		color: var(--muted);

		&.is-error { color: #c0392b; }
		&.is-success { color: #1f7a3f; font-weight: 600; }
	}

	.foot__actions {
		display: flex;
		gap: 12px;
		flex-wrap: wrap;
		margin-left: auto;
	}

	.legal {
		margin: 22px auto 0;
		font-family: var(--font);
		font-size: var(--fcf-inscricao-meta-size);
		font-weight: 400;
		line-height: 1.55;
		color: var(--muted);

		a {
			color: var(--brand-800);
			border-bottom-color: rgba(18, 51, 87, 0.28);

			&:hover {
				color: var(--brand);
				border-bottom-color: var(--brand);
			}
		}
	}

	/* Layout helpers */
	.stack {
		display: flex;
		flex-direction: column;
		gap: clamp(1.15rem, 2vw, 1.65rem);
	}

	.stack--narrow { max-width: 620px; }

	.grid-2 {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
		gap: clamp(1rem, 1.8vw, 1.35rem);
	}

	.label-row {
		font-family: var(--display);
		font-size: clamp(1rem, 1.2vw, 1.125rem);
		font-weight: 700;
		letter-spacing: var(--fcf-inscricao-field-tracking);
		line-height: 1.25;
		color: var(--ink);
		text-transform: none;
		margin: 0 0 0.55rem;
	}

	.field-group {
		display: block;
		width: 100%;
		min-width: 0;
	}

	.field {
		display: block;
		width: 100%;
	}

	.hint {
		margin: 0;
		font-family: var(--font);
		font-size: var(--fcf-inscricao-meta-size);
		font-weight: 400;
		line-height: 1.55;
		color: var(--muted);

		a {
			color: var(--muted);
			border-bottom-color: rgba(18, 51, 87, 0.28);
		}
	}

	.mono {
		font-family: var(--mono);
		letter-spacing: 0.03em;
	}

	/* Fields / select / OTP shared border */
	.field input:not([type="checkbox"]):not([type="radio"]),
	.select__btn,
	.otp__digit {
		color: var(--ink);
		background: #fff;
		border: 1.5px solid var(--fcf-blue-800, #123357);
	}

	.field input:not([type="checkbox"]):not([type="radio"]) {
		width: 100%;
		border-radius: var(--radius);
		padding: 0 18px;
		min-height: var(--fcf-inscricao-field-height);
		font-family: var(--display);
		font-size: var(--fcf-inscricao-field-size);
		font-weight: 700;
		letter-spacing: var(--fcf-inscricao-field-tracking);
	}

	.field input::placeholder,
	.phone-field input::placeholder {
		color: var(--fcf-ink-muted, #64748b);
		font-weight: 700;
		letter-spacing: 0.05em;
		opacity: 1;
	}

	.field input:not([type="checkbox"]):not([type="radio"]):focus,
	.select.is-open .select__btn,
	.select__btn:hover,
	.otp__digit:focus {
		border-color: var(--fcf-blue-900, #051e33) !important;
		box-shadow: none;
	}

	.field input[type="date"] {
		font-family: var(--font);
		color-scheme: light;
	}

	.field input[type="date"]::-webkit-calendar-picker-indicator {
		opacity: 0.45;
		cursor: pointer;
	}

	/* Phone */
	.phone-field {
		display: flex;
		align-items: stretch;
		overflow: hidden;
		min-height: var(--fcf-inscricao-field-height);
		border: 1.5px solid var(--fcf-blue-800, #123357);
		border-radius: var(--radius);
		background: #fff;
		font-family: var(--display);
		font-size: var(--fcf-inscricao-field-size);
		font-weight: 700;
		letter-spacing: var(--fcf-inscricao-field-tracking);
	}

	.phone-field__prefix {
		display: flex;
		align-items: center;
		padding: 0 14px;
		white-space: nowrap;
		color: var(--ink);
		background: rgba(5, 30, 51, 0.04);
		border-right: 1px solid rgba(5, 30, 51, 0.12);
		font-family: var(--display);
		font-size: var(--fcf-inscricao-field-size);
		font-weight: 700;
		letter-spacing: var(--fcf-inscricao-field-tracking);
	}

	.phone-field input {
		border: 0 !important;
		border-radius: 0;
		min-height: calc(var(--fcf-inscricao-field-height) - 3px);
		font-family: var(--display);
		font-size: var(--fcf-inscricao-field-size);
		font-weight: 700;
		letter-spacing: var(--fcf-inscricao-field-tracking);
	}

	/* Select */
	.select {
		position: relative;
		width: 100%;
		z-index: 1;

		&.is-open { z-index: 80; }
	}

	.field-group:has(.select.is-open) {
		position: relative;
		z-index: 80;
	}

	.select__btn {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		border-radius: var(--radius);
		padding: 0 18px;
		min-height: var(--fcf-inscricao-field-height);
		cursor: pointer;
		text-align: left;
		font-family: var(--display);
		font-size: var(--fcf-inscricao-field-size);
		font-weight: 700;
		letter-spacing: var(--fcf-inscricao-field-tracking);
		transition: border-color 0.2s ease;

		svg {
			flex: none;
			color: var(--muted);
			transition: transform 0.26s cubic-bezier(0.34, 1.4, 0.5, 1);
		}
	}

	.select.is-open .select__btn svg { transform: rotate(180deg); }

	.select__menu {
		position: absolute;
		z-index: 90;
		top: calc(100% + 6px);
		left: 0;
		right: 0;
		margin: 0;
		padding: 6px;
		list-style: none;
		background: #fff;
		border: 1px solid #e7ecf1;
		border-radius: var(--radius);
		box-shadow: 0 16px 40px rgba(5, 30, 51, 0.14);
		max-height: min(280px, 42vh);
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		touch-action: pan-y;
		animation: dd-pop 0.2s cubic-bezier(0.2, 1, 0.3, 1) both;

		&[hidden] { display: none !important; }

		li {
			padding: 12px 13px;
			border-radius: 9px;
			min-height: var(--fcf-inscricao-field-height);
			display: flex;
			align-items: center;
			font-family: var(--display);
			font-size: var(--fcf-inscricao-field-size);
			font-weight: 700;
			letter-spacing: var(--fcf-inscricao-field-tracking);
			cursor: pointer;
			color: #3c4e60;
			box-sizing: border-box;

			&:hover,
			&.is-selected {
				background: #f5f8fa;
				color: var(--brand);
			}
		}
	}

	/* Validation */
	.field-group.is-invalid .field input,
	.field.is-invalid input,
	.field-group.is-invalid .phone-field,
	.field.is-invalid .phone-field,
	.field-group.is-invalid .select__btn,
	.select.is-invalid .select__btn,
	.dados-form__photo.is-invalid .photo-upload__zone,
	.photo-upload.is-invalid .photo-upload__zone,
	.field--checkbox.is-invalid,
	.otp.is-invalid {
		border-color: #c0392b;
		box-shadow: 0 0 0 1px rgba(192, 57, 43, 0.12);
	}

	.otp.is-invalid .otp__digit,
	.field-group.is-invalid .otp .otp__digit {
		border-color: #c0392b;
	}

	.field-group .field__error,
	.photo-upload .field__error,
	.field--checkbox .field__error,
	.field .field__error {
		display: block;
		width: 100%;
		margin-top: 8px;
		font-size: 12.5px;
		line-height: 1.4;
		color: #c0392b;
		opacity: 0;
		transform: translateY(-3px);
		transition:
			opacity 0.34s cubic-bezier(0.16, 1, 0.3, 1),
			transform 0.34s cubic-bezier(0.16, 1, 0.3, 1);
		will-change: opacity, transform;

		&.is-visible {
			opacity: 1;
			transform: translateY(0);
		}
	}

	/* Dados + photo */
	.dados-form {
		--dados-form-row-gap: clamp(1rem, 1.8vw, 1.35rem);
		--dados-photo-size: clamp(7.25rem, 16vw, 9.25rem);
	}

	.dados-form__photo {
		width: 100%;

		.photo-upload {
			width: var(--dados-photo-size);
			gap: 0.5rem;
		}

		.photo-upload__zone {
			width: var(--dados-photo-size);
			height: var(--dados-photo-size);
			aspect-ratio: auto;
		}

		> .field__error {
			width: 100%;
			max-width: 100%;
			margin-top: 0.5rem;
		}

		.photo-upload__placeholder {
			gap: 0.3rem;
			padding: 0.55rem;
		}

		.photo-upload__icon svg {
			width: 18px;
			height: 18px;
		}

		.photo-upload__text {
			font-size: clamp(0.68rem, 1vw, 0.78rem);
			line-height: 1.15;
		}

		.photo-upload__hint {
			font-size: 0.625rem;
			line-height: 1.3;
		}
	}

	.dados-form__main {
		display: flex;
		flex-direction: column;
		gap: var(--dados-form-row-gap);
		min-width: 0;
	}

	.dados-form__nome { align-self: stretch; }

	.dados-form .grid-2--split {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	}

	.dados-form .grid-2--postal {
		grid-template-columns: minmax(8.5rem, 0.38fr) minmax(0, 1fr);
	}

	.photo-upload {
		display: flex;
		flex-direction: column;
		gap: 0.65rem;
	}

	.photo-upload__zone {
		display: block;
		position: relative;
		width: 100%;
		aspect-ratio: 1 / 1;
		overflow: hidden;
		border-radius: var(--radius);
		cursor: pointer;

		&:hover .photo-upload__placeholder,
		&:focus-within .photo-upload__placeholder {
			border-color: var(--fcf-blue-900, #051e33);
			background: rgba(5, 30, 51, 0.04);
		}

		&.has-photo {
			border: 1.5px solid var(--fcf-blue-800, #123357);
			background: #e8eef3;

			.photo-upload__placeholder { display: none; }
		}
	}

	.photo-upload__placeholder {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 0.45rem;
		position: absolute;
		inset: 0;
		min-height: 0;
		padding: 0.75rem;
		border: 1.5px dashed var(--fcf-blue-800, #123357);
		border-radius: inherit;
		background: rgba(5, 30, 51, 0.02);
		text-align: center;
		transition: border-color 0.2s ease, background 0.2s ease;
	}

	.photo-upload__icon { color: var(--fcf-blue-800, #123357); }

	.photo-upload__text {
		font-family: var(--display);
		font-size: var(--fcf-inscricao-btn-size);
		font-weight: 700;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		color: var(--brand);
	}

	.photo-upload__hint {
		font-family: var(--font);
		font-size: var(--fcf-inscricao-meta-size);
		color: var(--muted);
	}

	.photo-upload__preview {
		display: block;
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		max-width: none;
		max-height: none;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: inherit;
		box-sizing: border-box;
		object-fit: cover;
		object-position: center center;
		transform: scale(1.18);
		transform-origin: center center;
		background: #e8eef3;

		&[hidden] { display: none !important; }
	}

	.photo-upload__remove {
		align-self: flex-start;
		padding: 0;
		border: 0;
		background: none;
		font-family: var(--font);
		font-size: var(--fcf-inscricao-meta-size);
		font-weight: 600;
		color: var(--brand-800);
		text-decoration: underline;
		text-underline-offset: 3px;
		cursor: pointer;

		&[hidden] { display: none !important; }
		&:hover { color: var(--brand); }
	}

	/* Quotas */
	.quotas-form {
		display: flex;
		flex-direction: column;
		gap: clamp(1.35rem, 2.4vw, 1.85rem);
		width: 100%;
		max-width: none;
	}

	.quotas-form__row {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(1.15rem, 2vw, 1.5rem);
		align-items: start;
	}

	.quotas-form__hint {
		max-width: 46rem;
		margin-top: 0.15rem;
	}

	/* OTP / email */
	.email-copy {
		margin: 0;
		font-family: var(--font);
		font-size: var(--fcf-inscricao-body-size);
		line-height: 1.55;
		color: var(--text-soft);

		strong {
			color: var(--ink);
			font-weight: 500;
		}
	}

	.otp {
		display: flex;
		gap: 10px;
		flex-wrap: wrap;
	}

	.otp__digit {
		width: 3.25rem;
		height: 3.625rem;
		text-align: center;
		border-radius: var(--radius);
		font-family: var(--display);
		font-size: clamp(1.25rem, 2vw, 1.5rem);
		font-weight: 700;
		letter-spacing: 0.02em;
		color: var(--ink);

		&:not(:placeholder-shown),
		&:focus { border-color: var(--brand); }
	}

	.email-actions {
		display: flex;
		align-items: center;
		gap: 16px;
		flex-wrap: wrap;
	}

	/* Buttons */
	.btn {
		min-height: var(--fcf-inscricao-btn-height);
		padding: 0 1.5rem;
		font-family: var(--display);
		font-size: var(--fcf-inscricao-btn-size);
		font-weight: 700;
		font-synthesis: none;
		letter-spacing: 0.06em;
		line-height: 1;
		text-transform: uppercase;
		border-radius: 999px;
		cursor: pointer;
		transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.18s ease;

		&:disabled {
			opacity: 0.45;
			cursor: not-allowed;
		}

		&[hidden] { display: none !important; }
	}

	.btn--solid {
		border: 0;
		background: var(--brand);
		color: #fff;

		&:not(:disabled):hover {
			background: var(--brand-800);
			color: #fff;
			transform: translateY(-1px);
		}
	}

	.btn--ghost {
		background: transparent;
		color: var(--brand);
		border: 1px solid rgba(5, 30, 51, 0.28);

		&:not(:disabled):hover {
			background: var(--brand);
			color: #fff;
			border-color: var(--brand);
		}
	}

	/* Resumo */
	.resumo {
		max-width: none;
		min-width: 0;
		width: 100%;
	}

	.resumo__list {
		margin: clamp(1.15rem, 2.2vh, 1.5rem) 0 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: 0;
	}

	.resumo__row {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 1rem;
		padding: 0.85rem 0;
		border-bottom: 1px solid var(--line-soft);

		dt {
			margin: 0;
			font-family: var(--font);
			font-size: var(--fcf-inscricao-body-size);
			font-weight: 400;
			color: var(--text-soft);
		}

		dd {
			margin: 0;
			font-family: var(--display);
			font-size: clamp(1rem, 1.15vw, 1.0625rem);
			font-weight: 700;
			color: var(--ink);
			text-align: right;
		}
	}

	.resumo__row--highlight dd {
		font-size: clamp(1.0625rem, 1.25vw, 1.125rem);
	}

	.resumo__consent {
		display: flex;
		align-items: flex-start;
		gap: 0.75rem;
		width: 100%;
		margin-top: 1.25rem;
		padding: 14px 16px;
		border: 1px solid var(--line);
		border-radius: var(--radius);
		background: #fff;
		box-sizing: border-box;

		input[type="checkbox"] {
			width: 1.125rem;
			height: 1.125rem;
			min-width: 1.125rem;
			min-height: 0;
			margin: 0.15rem 0 0;
			padding: 0;
			flex: 0 0 auto;
			border: 1.5px solid var(--fcf-blue-800, #123357);
			border-radius: 3px;
			accent-color: var(--fcf-blue-900, #051e33);
			cursor: pointer;
		}

		> span {
			flex: 1 1 auto;
			min-width: 0;
			font-family: var(--font);
			font-size: var(--fcf-inscricao-meta-size);
			font-weight: 400;
			line-height: 1.5;
			color: var(--text-soft);
		}
	}

	.resumo__note {
		margin: clamp(1rem, 2vh, 1.35rem) 0 0;
		font-family: var(--font);
		font-size: var(--fcf-inscricao-meta-size);
		line-height: 1.55;
		color: var(--muted);
	}

	.resumo__pdf-check {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.45rem 0.65rem;
		margin: clamp(1.15rem, 2.2vh, 1.5rem) 0 0;
		font-family: var(--font);
		font-size: var(--fcf-inscricao-body-size);
		line-height: 1.5;
		color: var(--text-soft);
	}

	.resumo__pdf-link {
		appearance: none;
		margin: 0;
		padding: 0;
		border: 0;
		background: none;
		color: var(--brand);
		font: inherit;
		font-weight: 600;
		text-decoration: underline;
		text-underline-offset: 0.18em;
		cursor: pointer;

		&:hover { color: var(--fcf-blue-800, #123357); }
	}

	.resumo__pdf-sep { color: var(--muted); }

	.pdf-export-source {
		position: fixed !important;
		left: -10000px !important;
		top: 0 !important;
		width: 210mm !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		clip: auto !important;
		white-space: normal !important;
		pointer-events: none;
		visibility: hidden;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.has-fcf-inscricao-socio-wizard .fcf-inscricao-socio-wizard {
		.field-group .field__error,
		.photo-upload .field__error,
		.field--checkbox .field__error,
		.field .field__error {
			opacity: 1;
			transform: none;
			transition: none;
			will-change: auto;
		}
	}
}

/* ── Modal PDF preview ───────────────────────────────────── */

.modal {
	position: fixed;
	inset: 0;
	z-index: 80;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.modal[hidden] { display: none !important; }

.modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(5, 30, 51, 0.5);
}

.modal__card {
	position: relative;
	width: 100%;
	max-width: 620px;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 34px 80px -28px rgba(5, 30, 51, 0.55);
	overflow: hidden;
	animation: step-in 0.3s ease both;
}

.modal__head {
	padding: 20px 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	border-bottom: 1px solid var(--line-soft);
}

.modal__eyebrow {
	font-family: var(--display);
	font-size: 11.5px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--muted);
}

.modal__head h2 {
	margin: 6px 0 0;
	font-family: var(--display);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.modal__close {
	width: 38px;
	height: 38px;
	border-radius: 10px;
	border: 1px solid var(--line);
	background: #fff;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	color: var(--brand);
}

.modal__body { padding: 24px; }

.modal__foot {
	padding: 18px 24px;
	border-top: 1px solid var(--line-soft);
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	flex-wrap: wrap;
}

body.has-fcf-inscricao-socio-wizard .modal--pdf {
	z-index: 100000;
	padding: 16px;

	.modal__backdrop {
		background: rgba(5, 30, 51, 0.72);
		backdrop-filter: blur(4px);
	}

	.modal__card--pdf {
		width: min(980px, calc(100vw - 24px));
		max-height: calc(100dvh - 24px);
		display: flex;
		flex-direction: column;
		overflow: hidden;
	}

	.modal__body--pdf {
		flex: 1;
		min-height: 0;
		overflow: auto;
		padding: clamp(16px, 2.5vw, 28px);
		background: #eef2f6;
		-webkit-overflow-scrolling: touch;

		.pdf {
			width: 210mm;
			max-width: 100%;
			margin: 0 auto;
			border: 0;
			transform: none;
			box-shadow: 0 8px 32px rgba(5, 30, 51, 0.12);
		}
	}
}

body.is-pdf-preview-open { overflow: hidden; }

/* ── PDF document (export / print / modal) ───────────────── */

.pdf {
	--pdf-ink: #051e33;
	--pdf-muted: #5a6b7c;
	--pdf-line: #e4e9ee;
	--pdf-surface: #f6f8fa;
	width: 210mm;
	max-width: 100%;
	background: #fff;
	border: 1px solid #d5dee6;
	box-shadow: 0 4px 24px rgba(5, 30, 51, 0.08);
	box-sizing: border-box;
	color: var(--pdf-ink);
	font-family: "Archivo", Arial, Helvetica, sans-serif;
	font-size: 11px;
	line-height: 1.45;
	overflow: hidden;
}

.pdf__masthead {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	padding: 22px 26px 20px;
	background: var(--pdf-ink);
	color: #fff;
}

.pdf__masthead-brand {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

.pdf__logo {
	width: 56px;
	height: 56px;
	object-fit: contain;
	flex: none;
}

.pdf__masthead-copy { min-width: 0; }

.pdf__club {
	margin: 0 0 4px;
	font-family: "Oswald", "Arial Narrow", sans-serif;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
}

.pdf__title {
	margin: 0;
	font-family: "Oswald", "Arial Narrow", sans-serif;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 1.1;
	text-transform: uppercase;
}

.pdf__masthead-meta {
	flex: none;
	text-align: right;
}

.pdf__season {
	margin: 0 0 6px;
	font-family: "Oswald", "Arial Narrow", sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.88);
}

.pdf__date {
	margin: 0;
	font-size: 10.5px;
	color: rgba(255, 255, 255, 0.72);

	span {
		display: block;
		margin-bottom: 2px;
		font-size: 9px;
		font-weight: 600;
		letter-spacing: 0.1em;
		text-transform: uppercase;
	}

	strong {
		display: block;
		font-size: 11px;
		font-weight: 600;
		color: #fff;
	}
}

.pdf__body { padding: 22px 26px 28px; }

.pdf__section + .pdf__section { margin-top: 22px; }

.pdf__heading {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 12px;
	font-family: "Oswald", "Arial Narrow", sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--pdf-ink);

	&::before {
		content: "";
		display: block;
		width: 4px;
		height: 14px;
		border-radius: 2px;
		background: var(--pdf-ink);
		flex: none;
	}
}

.pdf__rows {
	margin: 0;
	padding: 0;
	border: 1px solid var(--pdf-line);
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

.pdf__row {
	display: grid;
	grid-template-columns: minmax(0, 38%) minmax(0, 62%);
	margin: 0;
	border-bottom: 1px solid var(--pdf-line);

	&:last-child { border-bottom: 0; }

	dt,
	dd {
		margin: 0;
		padding: 10px 14px;
	}

	dt {
		background: var(--pdf-surface);
		color: var(--pdf-muted);
		font-size: 10px;
		font-weight: 600;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		border-right: 1px solid var(--pdf-line);
	}

	dd {
		color: var(--pdf-ink);
		font-size: 11.5px;
		font-weight: 600;
		line-height: 1.4;
		word-break: break-word;
	}
}

.pdf__mono {
	font-family: "IBM Plex Mono", "Courier New", monospace;
	font-size: 11px;
	letter-spacing: 0.02em;
	font-variant-numeric: tabular-nums;
}

.pdf__callout {
	margin: 12px 0 0;
	padding: 10px 12px;
	border-radius: 6px;
	background: var(--pdf-surface);
	border-left: 3px solid var(--pdf-ink);
	font-size: 10.5px;
	line-height: 1.55;
	color: var(--pdf-muted);
}

.pdf__section--legal {
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid var(--pdf-line);
}

.pdf__legal {
	margin: 0 0 18px;
	font-size: 10px;
	line-height: 1.6;
	color: var(--pdf-muted);
}

.pdf__signs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
}

.pdf__sign-line {
	height: 34px;
	border-bottom: 1px solid #b8c4d0;
	margin-bottom: 6px;
}

.pdf__sign span {
	font-size: 9px;
	color: var(--pdf-muted);
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.pdf-export-wrap {
	position: fixed;
	left: 0;
	top: 0;
	width: 794px;
	background: #fff;
	opacity: 0;
	pointer-events: none;
	z-index: -1;
}

.pdf.is-exporting {
	width: 794px !important;
	max-width: none !important;
	margin: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}

@media print {
	@page {
		size: A4 portrait;
		margin: 0;
	}

	html,
	body {
		width: 210mm;
		height: auto;
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
	}

	body.is-print-pdf .head,
	body.is-print-pdf .foot,
	body.is-print-pdf .legal,
	body.is-print-pdf .resumo,
	body.is-print-pdf .modal,
	body.is-print-pdf .panel:not([data-panel="3"]) {
		display: none !important;
	}

	body.is-print-pdf .app,
	body.is-print-pdf .wrap,
	body.is-print-pdf .panels,
	body.is-print-pdf .panel[data-panel="3"],
	body.is-print-pdf .pdf-export-source {
		display: block !important;
		position: static !important;
		width: 210mm !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
		border: 0 !important;
		box-shadow: none !important;
		overflow: visible !important;
		max-height: none !important;
		visibility: visible !important;
	}

	body.is-print-pdf .panel[data-panel="3"][hidden] {
		display: block !important;
	}

	body.is-print-pdf .pdf-export-source { left: auto !important; }

	body.is-print-pdf .pdf,
	body.is-print-pdf .pdf.is-exporting {
		width: 210mm !important;
		max-width: none !important;
		margin: 0 !important;
		border: 0 !important;
		box-shadow: none !important;
		page-break-inside: avoid;
	}
}

@media (max-width: 720px) {
	.pdf__masthead {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.pdf__masthead-meta { text-align: left; }

	.pdf__row { grid-template-columns: 1fr; }

	.pdf__row dt {
		border-right: 0;
		border-bottom: 1px solid var(--pdf-line);
		padding-bottom: 6px;
	}

	.pdf__signs { grid-template-columns: 1fr; }
}

/* ── Mobile ──────────────────────────────────────────────── */

@media (max-width: 768px) {
	body.has-fcf-inscricao-socio-wizard {
		--fcf-inscricao-banner-height: clamp(280px, 44vh, 420px);
		overflow-x: clip;

		.entry-content,
		.entry-content.is-layout-constrained,
		.fcf-inscricao-socio-page.fcf-page-section {
			width: 100%;
			max-width: 100%;
			overflow-x: clip;
		}

		.fcf-inscricao-socio-page.fcf-page-section {
			margin-left: 0;
			margin-right: 0;
		}
	}

	.fcf-match-page--inscricao .fcf-match-page__hero {
		width: var(--fcf-page-container-width, var(--fcf-site-max-width));
		max-width: var(--fcf-page-container-max-width, var(--fcf-site-max-width));
		margin-inline: auto;
		padding-inline: 0;
		box-sizing: border-box;
	}

	body.has-fcf-inscricao-socio-wizard .fcf-inscricao-socio-wizard {
		width: var(--fcf-page-container-width, var(--fcf-site-max-width));
		max-width: var(--fcf-page-container-max-width, var(--fcf-site-max-width));
		margin-inline: auto;
		padding: clamp(20px, 3vh, 28px) 0 0;
		box-sizing: border-box;

		.app,
		.wrap,
		.head,
		.panels,
		.foot,
		.legal,
		.fcf-inscricao-success {
			width: 100%;
			max-width: 100%;
			min-width: 0;
			box-sizing: border-box;
		}

		.wrap {
			padding-left: 0;
			padding-right: 0;
		}

		.head__sub {
			font-size: clamp(0.9375rem, 4vw, 1.0625rem);
			line-height: 1.5;
			margin-top: 0.25rem;
		}

		.quotas-form__row { grid-template-columns: 1fr; }

		.stack,
		.dados-form__main {
			gap: clamp(0.875rem, 3.5vw, 1.125rem);
		}

		.grid-2,
		.dados-form .grid-2--split,
		.dados-form .grid-2--postal {
			grid-template-columns: 1fr;
			gap: clamp(0.875rem, 3.5vw, 1.125rem);
		}

		.field-group,
		.field,
		.select,
		.phone-field {
			min-width: 0;
			max-width: 100%;
		}

		.dados-form__photo .photo-upload,
		.dados-form__photo .photo-upload__zone {
			width: 100%;
		}

		.dados-form__photo .photo-upload__zone {
			height: auto;
			min-height: clamp(8.5rem, 34vw, 10.5rem);
			aspect-ratio: 16 / 10;
		}

		.dados-form__photo .photo-upload__placeholder { padding: 0.85rem; }

		.field input:not([type="checkbox"]):not([type="radio"]),
		.phone-field input,
		.select__btn,
		.phone-field__prefix {
			font-size: max(16px, var(--fcf-inscricao-field-size));
		}

		.otp { gap: 0.5rem; }

		.otp__digit {
			flex: 1 1 0;
			min-width: 0;
			width: auto;
		}

		.foot {
			flex-direction: column-reverse;
			align-items: stretch;
			gap: 0.875rem;
		}

		.foot__actions {
			margin-left: 0;
			width: 100%;

			.btn { flex: 1; }
		}
	}
}

/* Botões do modal «Pré-visualização do PDF» (o modal fica fora do wizard, por isso não herda os estilos .btn) */
.modal__foot .btn {
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 46px;
	min-width: 140px;
	margin: 0;
	padding: 0 1.75rem;
	font-family: var(--display, var(--fcf-font-display, "korolev-compressed", sans-serif));
	font-size: 13px;
	font-weight: 700;
	font-synthesis: none;
	letter-spacing: 0.06em;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	border-radius: 999px;
	cursor: pointer;
	transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.18s ease;
}
.modal__foot .btn:disabled { opacity: 0.45; cursor: not-allowed; }
.modal__foot .btn--solid {
	border: 1px solid #051e33;
	background: #051e33;
	color: #fff;
}
.modal__foot .btn--solid:not(:disabled):hover {
	background: #123357;
	border-color: #123357;
	color: #fff;
	transform: translateY(-1px);
}
.modal__foot .btn--ghost {
	border: 1px solid rgba(5, 30, 51, 0.28);
	background: transparent;
	color: #051e33;
}
.modal__foot .btn--ghost:not(:disabled):hover {
	background: #051e33;
	border-color: #051e33;
	color: #fff;
}
@media (max-width: 520px) {
	.modal__foot { flex-direction: column-reverse; }
	.modal__foot .btn { width: 100%; }
}

/* ── Comprovativo PDF — versão institucional (sobrepõe o estilo anterior) ───────── */
.pdf {
	--pdf-ink: #0b1f33;
	--pdf-muted: #667586;
	--pdf-line: #d9e0e7;
	--pdf-accent: #0b2a4a;
	font-family: "Archivo", Arial, Helvetica, sans-serif;
	font-size: 11.5px;
	line-height: 1.5;
	border: 1px solid #d5dee6;
	border-radius: 0;
	background: #fff;
	color: var(--pdf-ink);
	position: relative;
	padding-bottom: 8px;
}

.pdf__masthead {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	margin: 0 32px;
	padding: 30px 0 16px;
	background: transparent;
	color: var(--pdf-ink);
	border-bottom: 2px solid var(--pdf-accent);
}
.pdf__masthead-brand { display: flex; align-items: center; gap: 14px; }
.pdf__logo { width: 52px; height: 52px; }
.pdf__club {
	margin: 0;
	font-family: "Archivo", Arial, Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.01em;
	text-transform: none;
	color: var(--pdf-ink);
}
.pdf__dept {
	margin: 2px 0 0;
	font-size: 10.5px;
	letter-spacing: 0.04em;
	color: var(--pdf-muted);
}
.pdf__masthead-meta { text-align: right; }
.pdf__season,
.pdf__date {
	margin: 0;
	font-size: 10.5px;
	line-height: 1.7;
	color: var(--pdf-muted);
	letter-spacing: 0.02em;
	text-transform: none;
	background: none;
	padding: 0;
}
.pdf__season span,
.pdf__date span { margin-right: 4px; }
.pdf__season strong,
.pdf__date strong { color: var(--pdf-ink); font-weight: 600; }

.pdf__body { padding: 0 32px 20px; }

.pdf__intro { padding: 26px 0 8px; }
.pdf__title {
	margin: 0 0 8px;
	font-family: "Archivo", Arial, Helvetica, sans-serif;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: none;
	color: var(--pdf-accent);
}
.pdf__lead { margin: 0; font-size: 11.5px; color: var(--pdf-muted); max-width: 520px; }

.pdf__section + .pdf__section { margin-top: 22px; }
.pdf__heading {
	margin: 0 0 4px;
	padding: 0 0 6px;
	font-family: "Archivo", Arial, Helvetica, sans-serif;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--pdf-accent);
	border: 0;
	border-bottom: 1px solid var(--pdf-accent);
}
.pdf__heading::before { display: none; content: none; }

.pdf__rows { margin: 0; border: 0; border-radius: 0; background: transparent; overflow: visible; }
.pdf__row {
	display: grid;
	grid-template-columns: 170px 1fr;
	align-items: baseline;
	gap: 16px;
	padding: 8px 0;
	background: transparent !important;
	border: 0;
	border-bottom: 1px solid var(--pdf-line);
}
.pdf__row:last-child { border-bottom: 0; }
.pdf__row dt {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pdf-muted);
}
.pdf__row dd {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	font-size: 12px;
	font-weight: 500;
	color: var(--pdf-ink);
	overflow-wrap: anywhere;
}
.pdf__mono {
	font-family: "Archivo", Arial, Helvetica, sans-serif !important;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
}

.pdf__callout {
	margin: 12px 0 0;
	padding: 0;
	background: transparent;
	border: 0;
	font-size: 10.5px;
	line-height: 1.55;
	color: var(--pdf-muted);
}
.pdf__callout strong { color: var(--pdf-ink); }

.pdf__section--legal { margin-top: 26px; }
.pdf__legal {
	margin: 0 0 40px;
	padding: 0;
	border: 0;
	font-size: 10px;
	line-height: 1.6;
	color: var(--pdf-muted);
	text-align: justify;
}
.pdf__signs { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; }
.pdf__sign-line { height: 0; border-bottom: 1px solid var(--pdf-ink); margin-bottom: 6px; }
.pdf__sign span {
	display: block;
	font-size: 9.5px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pdf-muted);
}

.pdf__footer {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin: 0 32px;
	padding: 12px 0 16px;
	border-top: 1px solid var(--pdf-line);
	font-size: 9.5px;
	letter-spacing: 0.03em;
	color: var(--pdf-muted);
}

@media (max-width: 640px) {
	.pdf__row { grid-template-columns: 1fr; gap: 2px; }
	.pdf__masthead, .pdf__footer { margin: 0 20px; }
	.pdf__body { padding: 0 20px 16px; }
	.pdf__footer { flex-direction: column; gap: 2px; }
}
.pdf__season span,
.pdf__date span { display: inline; font-size: 10.5px; letter-spacing: 0.02em; text-transform: none; opacity: 1; color: var(--pdf-muted); }
.pdf__season, .pdf__date { display: block; }
.pdf__intro { padding-bottom: 20px; }
