/* ==========================================================================
   Au Milieu application form
   Uses the theme's own tokens (theme.json presets) with the brand values as
   fallbacks, so it matches the site and still looks right on its own.
   The motif: two circles, leaf and amber, that move together as the
   application progresses and meet in the middle (au milieu) on submit.
   ========================================================================== */

.amf {
	--amf-forest: var(--wp--preset--color--forest, #2F5A2C);
	--amf-deep: var(--wp--preset--color--forest-deep, #1D3A1B);
	--amf-ink: var(--wp--preset--color--ink, #1E2A1D);
	--amf-muted: var(--wp--preset--color--muted, #4C5847);
	--amf-leaf: var(--wp--preset--color--leaf, #80D14D);
	--amf-leaf-soft: #E4F3D6;
	--amf-sun: var(--wp--preset--color--sun, #FFE548);
	--amf-sun-soft: #FFF5C4;
	--amf-amber: var(--wp--preset--color--amber, #FFB310);
	--amf-amber-deep: var(--wp--preset--color--amber-deep, #8A5503);
	--amf-line: var(--wp--preset--color--line, #D9CFB6);
	--amf-cream: #FBF7EE;
	--amf-paper: #F3ECDC;
	--amf-error: #B42318;
	--amf-error-soft: #FDECEA;
	--amf-display: var(--wp--preset--font-family--display, Fraunces, "Iowan Old Style", Georgia, serif);
	--amf-body: var(--wp--preset--font-family--body, Figtree, "Helvetica Neue", Arial, sans-serif);
	--amf-radius: var(--am-radius, 22px);
	--amf-radius-sm: var(--am-radius-sm, 14px);
	--amf-shadow: var(--am-shadow, 0 1px 2px rgba(29, 58, 27, .06), 0 10px 30px -12px rgba(29, 58, 27, .18));
	--amf-ease: var(--am-ease, cubic-bezier(.2, .7, .2, 1));

	font-family: var(--amf-body);
	color: var(--amf-ink);
	font-size: 1.0625rem;
	line-height: 1.6;
	margin-block: clamp(1rem, 3vw, 2.5rem);
}
.amf *, .amf *::before, .amf *::after { box-sizing: border-box; }
.amf [hidden] { display: none !important; }

/* ---------- the motif ---------- */
.amf-mark {
	--p: 0;
	--s: 34px;
	position: relative;
	display: block;
	width: calc(var(--s) * 2.2);
	height: var(--s);
}
.amf-mark i {
	position: absolute;
	top: 0;
	width: var(--s);
	height: var(--s);
	border-radius: 50%;
	transition: transform .9s var(--amf-ease);
}
.amf-mark i:first-child {
	left: 0;
	background: var(--amf-leaf);
	transform: translateX(calc(var(--p) * var(--s) * .32));
}
.amf-mark i:last-child {
	right: 0;
	background: var(--amf-amber);
	mix-blend-mode: multiply;
	transform: translateX(calc(var(--p) * var(--s) * -.32));
}
.amf-mark.is-small { --s: 26px; }
.amf-mark.is-done { --s: 46px; margin-bottom: 1.4rem; }
.amf-mark.is-done i:first-child { animation: amf-meet-a 1.1s var(--amf-ease) both; }
.amf-mark.is-done i:last-child { animation: amf-meet-b 1.1s var(--amf-ease) both; }
@keyframes amf-meet-a { from { transform: translateX(0); } to { transform: translateX(calc(var(--s) * .32)); } }
@keyframes amf-meet-b { from { transform: translateX(0); } to { transform: translateX(calc(var(--s) * -.32)); } }

/* ---------- layout ---------- */
.amf-form {
	display: grid;
	grid-template-columns: minmax(230px, 290px) 1fr;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: start;
}

.amf-rail {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 120px);
	padding: 1.75rem 1.5rem 1.5rem;
	background: var(--amf-deep);
	color: #fff;
	border-radius: var(--amf-radius);
	overflow: hidden;
}
.amf-rail::after {
	content: "";
	position: absolute;
	right: -60px;
	bottom: -60px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .09);
	box-shadow: 0 0 0 28px rgba(255, 255, 255, .03);
	pointer-events: none;
}
.amf-rail .amf-mark { margin-bottom: 1.3rem; }
.amf-rail .amf-mark i:last-child { mix-blend-mode: normal; opacity: .92; }
.amf-kicker {
	margin: 0 0 .4rem;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--amf-sun);
	line-height: 1.45;
}
.amf-rail-title {
	margin: 0 0 1.2rem;
	font-family: var(--amf-display);
	font-size: 1.65rem;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -.01em;
	color: #fff;
}
.amf-intake {
	margin: -.4rem 0 1.2rem;
	font-size: .9rem;
	color: rgba(255, 255, 255, .78);
}

.amf-steps { list-style: none; margin: 0 0 1.2rem; padding: 0; counter-reset: s; }
.amf-steps-item { position: relative; }
.amf-steps-item + .amf-steps-item::before {
	content: "";
	position: absolute;
	left: 14px;
	top: -8px;
	height: 16px;
	width: 2px;
	background: rgba(255, 255, 255, .14);
}
.amf-steps button {
	display: flex;
	align-items: center;
	gap: .8rem;
	width: 100%;
	padding: .42rem 0;
	border: 0;
	background: none;
	color: rgba(255, 255, 255, .55);
	font: inherit;
	font-size: .95rem;
	text-align: left;
	cursor: default;
}
.amf-steps button:not(:disabled) { cursor: pointer; color: rgba(255, 255, 255, .85); }
.amf-steps button:not(:disabled):hover .amf-steps-l { text-decoration: underline; text-underline-offset: 3px; }
.amf-steps-n {
	flex: none;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1.5px solid rgba(255, 255, 255, .25);
	font-size: .8rem;
	font-weight: 700;
	transition: background .3s, border-color .3s, color .3s;
}
.amf-steps-item.is-done .amf-steps-n {
	background: var(--amf-leaf);
	border-color: var(--amf-leaf);
	color: var(--amf-deep);
	font-size: 0;
}
.amf-steps-item.is-done .amf-steps-n::before {
	content: "";
	width: 10px;
	height: 6px;
	border-left: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-1px) rotate(-45deg);
}
.amf-steps-item.is-current button { color: #fff; font-weight: 600; }
.amf-steps-item.is-current .amf-steps-n { background: var(--amf-sun); border-color: var(--amf-sun); color: var(--amf-deep); }

.amf-save {
	min-height: 1.4em;
	margin: 0 0 .9rem;
	font-size: .82rem;
	color: rgba(255, 255, 255, .7);
}
.amf-save::before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: .45rem;
	border-radius: 50%;
	background: var(--amf-leaf);
	vertical-align: .1em;
	opacity: 0;
	transition: opacity .3s;
}
.amf-save.is-on::before { opacity: 1; }
.amf-help {
	margin: 0;
	padding-top: .9rem;
	border-top: 1px solid rgba(255, 255, 255, .12);
	font-size: .85rem;
	color: rgba(255, 255, 255, .7);
}
.amf-help a { color: var(--amf-sun); }

.amf-main {
	min-width: 0;
	background: #fff;
	border: 1px solid var(--amf-line);
	border-radius: var(--amf-radius);
	box-shadow: var(--amf-shadow);
	padding: clamp(1.4rem, 4vw, 3rem);
}

/* mobile progress bar */
.amf-bar { display: none; }

/* ---------- steps ---------- */
.amf.is-js .amf-step { display: none; }
.amf.is-js .amf-step.is-active { display: block; animation: amf-in .45s var(--amf-ease) both; }
.amf.is-js .amf-step.is-active.is-back { animation-name: amf-in-back; }
@keyframes amf-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes amf-in-back { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: none; } }

/* Without JavaScript all sections show as one long form. */
.amf:not(.is-js) .amf-step + .amf-step { margin-top: 3rem; padding-top: 3rem; border-top: 1px solid var(--amf-line); }
.amf:not(.is-js) .amf-nav,
.amf:not(.is-js) .amf-review,
.amf:not(.is-js) .amf-add,
.amf:not(.is-js) .amf-steps,
.amf:not(.is-js) .amf-bar { display: none; }
.amf:not(.is-js) .amf-reveal { display: block; }

.amf-step-head { margin-bottom: 1.8rem; }
.amf-eyebrow {
	display: flex;
	align-items: center;
	gap: .6rem;
	margin: 0 0 .7rem;
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--amf-amber-deep);
}
.amf-eyebrow::before {
	content: "";
	flex: none;
	width: 22px;
	height: 12px;
	background:
		radial-gradient(circle at 6px 6px, var(--amf-leaf) 5.6px, transparent 6px),
		radial-gradient(circle at 15px 6px, var(--amf-amber) 5.6px, transparent 6px);
}
.amf-h {
	margin: 0 0 .6rem;
	font-family: var(--amf-display);
	font-size: clamp(1.75rem, 3.4vw, 2.4rem);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -.015em;
	color: var(--amf-deep);
	text-wrap: balance;
	font-variation-settings: "SOFT" 50, "WONK" 0;
}
.amf-h:focus { outline: none; }
.amf-lede { margin: 0; max-width: 58ch; color: var(--amf-muted); text-wrap: pretty; }
.amf-subhead {
	margin: 2rem 0 1rem;
	font-family: var(--amf-display);
	font-size: 1.2rem;
	font-weight: 500;
	color: var(--amf-deep);
}

.amf-need {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0 0 2rem;
	padding: 0;
	list-style: none;
}
.amf-need li {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .38rem .8rem;
	border-radius: 999px;
	background: var(--amf-paper);
	font-size: .88rem;
	font-weight: 500;
	color: var(--amf-deep);
}
.amf-need li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--amf-leaf); }
.amf-need li:nth-child(2)::before { background: var(--amf-sun); }
.amf-need li:nth-child(3)::before { background: var(--amf-amber); }
.amf-need li:nth-child(4)::before { background: var(--amf-forest); }

/* ---------- fields ---------- */
.amf-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.15rem 1.25rem;
}
.amf-grid > .is-wide { grid-column: 1 / -1; }
.amf-field { margin: 0 0 1.15rem; min-width: 0; }
.amf-grid > .amf-field { margin: 0; }
fieldset.amf-field { border: 0; padding: 0; }

.amf-label {
	display: block;
	margin: 0 0 .4rem;
	padding: 0;
	font-weight: 600;
	font-size: .98rem;
	color: var(--amf-ink);
}
.amf-opt { font-weight: 400; color: var(--amf-muted); font-size: .88rem; }
.amf-hint { display: block; margin: -.15rem 0 .5rem; font-size: .9rem; color: var(--amf-muted); }

.amf-input {
	display: block;
	width: 100%;
	min-height: 52px;
	padding: .8rem 1rem;
	border: 1.5px solid var(--amf-line);
	border-radius: var(--amf-radius-sm);
	background: var(--amf-cream);
	color: var(--amf-ink);
	font: inherit;
	font-size: 1.0625rem; /* 17px: stops iOS zooming in */
	line-height: 1.4;
	transition: border-color .2s, background .2s, box-shadow .2s;
	-webkit-appearance: none;
	appearance: none;
}
.amf-input::placeholder { color: #8B8F80; }
.amf-input:hover { border-color: #C2B693; }
.amf-input:focus {
	outline: none;
	border-color: var(--amf-forest);
	background: #fff;
	box-shadow: 0 0 0 4px rgba(128, 209, 77, .28);
}
.amf-select {
	padding-right: 2.6rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%231D3A1B' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
}
input[type="date"].amf-input { min-height: 52px; }
.amf-textarea { min-height: 300px; resize: vertical; line-height: 1.65; }
.amf-textarea.is-short { min-height: 120px; }
.amf-field.is-short .amf-input { max-width: 12rem; }

.amf-count { display: block; margin-top: .45rem; font-size: .85rem; color: var(--amf-muted); text-align: right; }

/* errors */
.amf-err { display: block; font-size: .9rem; font-weight: 500; color: var(--amf-error); }
.amf-err:not(:empty) { margin-top: .45rem; }
.amf-err:not(:empty)::before { content: "! "; font-weight: 800; }
.amf-field.has-error .amf-input,
.amf-field.has-error .amf-drop { border-color: var(--amf-error); background: var(--amf-error-soft); }
.amf-field.has-error .amf-pill span { border-color: rgba(180, 35, 24, .5); }

.amf-suggest {
	display: inline-block;
	margin-top: .45rem;
	padding: .3rem .7rem;
	border: 0;
	border-radius: 999px;
	background: var(--amf-sun-soft);
	color: var(--amf-deep);
	font: inherit;
	font-size: .9rem;
	cursor: pointer;
}
.amf-suggest b { text-decoration: underline; text-underline-offset: 2px; }

.amf-summary {
	margin: 0 0 1.6rem;
	padding: 1rem 1.2rem;
	border-radius: var(--amf-radius-sm);
	background: var(--amf-error-soft);
	border-left: 4px solid var(--amf-error);
	color: var(--amf-ink);
}
.amf-summary:focus { outline: none; }
.amf-summary p { margin: 0; font-weight: 600; }
.amf-summary ul { margin: .5rem 0 0; padding-left: 1.2rem; }
.amf-summary a { color: var(--amf-error); }

/* ---------- choices ---------- */
.amf-choice { margin-top: 1.8rem; }
.amf-pills { display: flex; flex-wrap: wrap; gap: .55rem; }
.amf-pill { position: relative; cursor: pointer; }
.amf-pill input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.amf-pill span {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	min-height: 48px;
	padding: .6rem 1.15rem .6rem .8rem;
	border: 1.5px solid var(--amf-line);
	border-radius: 999px;
	background: var(--amf-cream);
	font-weight: 500;
	transition: background .2s, border-color .2s, color .2s;
}
.amf-pill span::before {
	content: "";
	flex: none;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 1.5px solid #B6AB8C;
	background: #fff;
	transition: border .2s, background .2s, box-shadow .2s;
}
.amf-pill:hover span { border-color: #C2B693; }
.amf-pill input:checked + span { background: var(--amf-leaf-soft); border-color: var(--amf-forest); color: var(--amf-deep); }
.amf-pill input:checked + span::before { border: 5px solid var(--amf-forest); }
.amf-pill input:focus-visible + span { outline: 3px solid var(--amf-amber); outline-offset: 2px; }

.amf-check {
	display: flex;
	align-items: flex-start;
	gap: .75rem;
	cursor: pointer;
	line-height: 1.5;
}
.amf-check input {
	flex: none;
	width: 22px;
	height: 22px;
	margin: .1rem 0 0;
	accent-color: var(--amf-forest);
	cursor: pointer;
}
.amf-check a { color: var(--amf-forest); }

.amf.is-js .amf-reveal { display: none; }
.amf.is-js .amf-reveal.is-shown { display: block; animation: amf-in .35s var(--amf-ease) both; }
.amf-reveal { margin-top: 1rem; }

.amf-badge {
	display: inline-block;
	margin-left: .35rem;
	padding: .1rem .55rem;
	border-radius: 999px;
	background: var(--amf-deep);
	color: #fff;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	vertical-align: .15em;
}
.amf-confidential {
	margin-top: 2.2rem;
	padding: 1.4rem 1.4rem .4rem;
	border-radius: var(--amf-radius-sm);
	background: var(--amf-paper);
}
.amf-confidential .amf-choice { margin-top: 0; }

/* ---------- training rows ---------- */
.amf-rows { display: grid; gap: .9rem; margin-bottom: .9rem; }
.amf-row {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem 1.25rem;
	padding: 1.2rem 1.2rem 1.2rem 3.4rem;
	border: 1px solid var(--amf-line);
	border-radius: var(--amf-radius-sm);
	background: #fff;
}
.amf-row .amf-field { margin: 0; }
.amf-row .is-wide { grid-column: 1 / -1; }
.amf-row-n {
	position: absolute;
	left: 1rem;
	top: 1.25rem;
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--amf-leaf-soft);
	color: var(--amf-deep);
	font-size: .8rem;
	font-weight: 700;
}
.amf-row-remove {
	position: absolute;
	right: .8rem;
	top: .8rem;
	padding: .25rem .5rem;
	border: 0;
	background: none;
	color: var(--amf-muted);
	font: inherit;
	font-size: .85rem;
	text-decoration: underline;
	cursor: pointer;
}
.amf-add {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	min-height: 44px;
	padding: .5rem 1rem;
	border: 1.5px dashed #C2B693;
	border-radius: 999px;
	background: none;
	color: var(--amf-forest);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}
.amf-add:hover { border-color: var(--amf-forest); background: var(--amf-leaf-soft); }
.amf-add span { font-size: 1.2rem; line-height: 1; }
.amf-none { margin-top: 1rem; color: var(--amf-muted); }
.amf-training.is-none .amf-rows,
.amf-training.is-none .amf-add { opacity: .4; pointer-events: none; }

/* ---------- referee cards ---------- */
.amf-card {
	margin: 0 0 1.4rem;
	padding: 1.4rem;
	border: 1px solid var(--amf-line);
	border-radius: var(--amf-radius-sm);
	background: linear-gradient(180deg, var(--amf-cream), #fff 70%);
}
.amf-card-title {
	display: flex;
	align-items: center;
	gap: .7rem;
	padding: 0 .4rem;
	font-family: var(--amf-display);
	font-size: 1.25rem;
	font-weight: 500;
	color: var(--amf-deep);
}
.amf-card-n {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--amf-leaf);
	color: var(--amf-deep);
	font-family: var(--amf-body);
	font-size: .85rem;
	font-weight: 700;
}
.amf-card[data-referee="2"] .amf-card-n { background: var(--amf-amber); }
.amf-card .amf-grid { margin-top: .8rem; }

/* ---------- uploads ---------- */
.amf-files { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.amf-files .amf-field { margin: 0; }
.amf-drop {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .8rem;
	min-height: 190px;
	padding: 1.4rem;
	border: 1.5px dashed #C2B693;
	border-radius: var(--amf-radius-sm);
	background: var(--amf-cream);
	text-align: center;
	cursor: pointer;
	transition: border-color .2s, background .2s;
}
.amf-drop:hover, .amf-drop.is-over { border-color: var(--amf-forest); background: var(--amf-leaf-soft); }
.amf-file-input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
.amf-file-input:focus-visible + .amf-drop-art { outline: 3px solid var(--amf-amber); outline-offset: 6px; border-radius: 999px; }
.amf-drop-art { position: relative; width: 52px; height: 30px; }
.amf-drop-art i { position: absolute; top: 0; width: 30px; height: 30px; border-radius: 50%; transition: transform .4s var(--amf-ease); }
.amf-drop-art i:first-child { left: 0; background: var(--amf-leaf); }
.amf-drop-art i:last-child { right: 0; background: var(--amf-amber); mix-blend-mode: multiply; }
.amf-drop:hover .amf-drop-art i:first-child, .amf-drop.is-over .amf-drop-art i:first-child { transform: translateX(6px); }
.amf-drop:hover .amf-drop-art i:last-child, .amf-drop.is-over .amf-drop-art i:last-child { transform: translateX(-6px); }
.amf-drop-empty strong { color: var(--amf-forest); text-decoration: underline; text-underline-offset: 3px; }
.amf-drop-empty .amf-hint { margin: .35rem 0 0; }

.amf-drop.is-filled { border-style: solid; border-color: var(--amf-forest); background: #fff; }
.amf-drop.is-filled .amf-drop-art, .amf-drop.is-filled .amf-drop-empty { display: none; }
.amf-drop-full { display: flex; flex-direction: column; align-items: center; gap: .6rem; }
.amf-thumb {
	display: grid;
	place-items: center;
	width: 84px;
	height: 84px;
	border-radius: 18px;
	background: var(--amf-paper);
	color: var(--amf-deep);
	font-weight: 800;
	font-size: .85rem;
	letter-spacing: .05em;
	background-size: cover;
	background-position: center;
}
.is-photo .amf-thumb { border-radius: 50%; box-shadow: 0 0 0 4px #fff, 0 0 0 6px var(--amf-leaf); }
.amf-file-meta { display: flex; flex-direction: column; max-width: 100%; }
.amf-file-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 22ch; }
.amf-file-size { font-size: .85rem; color: var(--amf-muted); }
.amf-file-change { font-size: .9rem; font-weight: 600; color: var(--amf-forest); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- review ---------- */
.amf-review { display: grid; gap: 1rem; margin-bottom: 2rem; }
.amf-rev {
	padding: 1.1rem 1.3rem;
	border: 1px solid var(--amf-line);
	border-radius: var(--amf-radius-sm);
	background: var(--amf-cream);
}
.amf-rev-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .6rem; }
.amf-rev-title { margin: 0; font-family: var(--amf-display); font-size: 1.15rem; font-weight: 500; color: var(--amf-deep); }
.amf-rev dl { display: grid; grid-template-columns: minmax(8rem, 34%) 1fr; gap: .35rem 1rem; margin: 0; font-size: .95rem; }
.amf-rev dt { color: var(--amf-muted); }
.amf-rev dd { margin: 0; overflow-wrap: anywhere; white-space: pre-line; }
.amf-rev .amf-excerpt { color: var(--amf-ink); }

.amf-link {
	padding: 0;
	border: 0;
	background: none;
	color: var(--amf-forest);
	font: inherit;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.amf-link:hover { color: var(--amf-amber-deep); }

.amf-declare { margin: 0 0 1.4rem; padding: 0; border: 0; }
.amf-declare .amf-label { margin-bottom: .8rem; font-family: var(--amf-display); font-size: 1.2rem; font-weight: 500; color: var(--amf-deep); }
.amf-declare .amf-field { margin-bottom: .8rem; }

.amf-fee {
	display: flex;
	align-items: center;
	gap: 1.1rem;
	margin: 0 0 1.6rem;
	padding: 1rem 1.2rem;
	border-radius: var(--amf-radius-sm);
	background: var(--amf-sun-soft);
}
.amf-fee-amount {
	flex: none;
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--amf-sun);
	font-family: var(--amf-display);
	font-size: 1.35rem;
	font-weight: 600;
	color: var(--amf-deep);
}
.amf-fee-text { font-size: .95rem; color: var(--amf-ink); }
.amf-fee-text strong { display: block; color: var(--amf-deep); }

/* ---------- buttons ---------- */
.amf-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 2.4rem;
	padding-top: 1.6rem;
	border-top: 1px solid var(--amf-line);
}
.amf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .55rem;
	min-height: 52px;
	padding: .8rem 1.6rem;
	border: 0;
	border-radius: 999px;
	background: var(--amf-forest);
	color: #fff !important;
	font: inherit;
	font-weight: 600;
	text-decoration: none !important;
	cursor: pointer;
	transition: background .2s, transform .2s var(--amf-ease);
}
.amf-btn:hover { background: var(--amf-deep); }
.amf-btn:active { transform: translateY(1px); }
.amf-btn span { transition: transform .25s var(--amf-ease); }
.amf-btn:hover span { transform: translateX(3px); }
.amf-btn:disabled { opacity: .55; cursor: progress; }
.amf-btn-big { width: 100%; min-height: 60px; font-size: 1.1rem; }
.amf-back {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	min-height: 48px;
	padding: .5rem .2rem;
	border: 0;
	background: none;
	color: var(--amf-muted);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}
.amf-back:hover { color: var(--amf-deep); }
.amf :where(button, a, input, select, textarea):focus-visible { outline: 3px solid var(--amf-amber); outline-offset: 3px; }

.amf-progress { margin-top: 1rem; }
.amf-progress-track { display: block; height: 8px; border-radius: 999px; background: var(--amf-paper); overflow: hidden; }
.amf-progress-fill { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--amf-leaf), var(--amf-amber)); transition: width .25s; }
.amf-progress-label { display: block; margin-top: .5rem; font-size: .9rem; color: var(--amf-muted); text-align: center; }

.amf-restore {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 0 0 1.6rem;
	padding: .9rem 1.2rem;
	border-radius: var(--amf-radius-sm);
	background: var(--amf-leaf-soft);
	font-size: .95rem;
}
.amf-restore p { margin: 0; }

.amf-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* ---------- done + closed ---------- */
.amf-done, .amf-closed {
	max-width: var(--wp--style--global--content-size, 760px);
	margin: 0 auto;
	padding: clamp(1.8rem, 5vw, 3.4rem);
	background: #fff;
	border: 1px solid var(--amf-line);
	border-radius: var(--amf-radius);
	box-shadow: var(--amf-shadow);
}
.amf-done-wrap:focus { outline: none; }
.amf-closed .amf-mark { margin-bottom: 1rem; }
.amf-ref {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .4rem 1rem;
	margin: 1rem 0 2rem;
	padding: .9rem 1.2rem;
	border-radius: var(--amf-radius-sm);
	background: var(--amf-paper);
}
.amf-ref-label { width: 100%; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--amf-muted); }
.amf-ref-code { font-family: var(--amf-display); font-size: 1.7rem; font-weight: 600; letter-spacing: .05em; color: var(--amf-deep); }
.amf-next { list-style: none; margin: 0; padding: 0; counter-reset: n; }
.amf-next li {
	position: relative;
	padding: 0 0 1.6rem 3.2rem;
	counter-increment: n;
}
.amf-next li::before {
	content: counter(n);
	position: absolute;
	left: 0;
	top: -.1rem;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--amf-paper);
	color: var(--amf-deep);
	font-weight: 700;
	font-size: .9rem;
}
.amf-next li:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 16px;
	top: 38px;
	bottom: 6px;
	width: 2px;
	background: var(--amf-line);
}
.amf-next li.is-now::before { background: var(--amf-sun); }
.amf-next strong { display: block; font-size: 1.08rem; color: var(--amf-deep); }
.amf-next span { display: block; color: var(--amf-muted); }
.amf-pay { margin-top: .9rem; }

/* ---------- smaller screens ---------- */
@media (max-width: 900px) {
	.amf-form { grid-template-columns: 1fr; gap: 1rem; }
	.amf-rail { position: static; padding: 1.3rem 1.3rem 1.1rem; display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; align-items: center; }
	.amf-rail .amf-mark { --s: 28px; margin: 0; grid-row: span 2; }
	.amf-kicker { margin: 0; }
	.amf-rail-title { margin: 0; font-size: 1.35rem; }
	.amf-intake { grid-column: 1 / -1; margin: .8rem 0 0; }
	.amf-steps, .amf-help { display: none; }
	.amf-save { grid-column: 1 / -1; margin: .7rem 0 0; min-height: 0; }
	.amf-save:empty { display: none; }
	.amf.is-js .amf-bar {
		display: flex;
		flex-direction: column;
		gap: .5rem;
		margin: 0 0 1.4rem;
		font-size: .88rem;
		color: var(--amf-muted);
	}
	.amf-bar b { color: var(--amf-deep); }
	.amf-bar-track { display: block; height: 6px; border-radius: 999px; background: var(--amf-paper); overflow: hidden; }
	.amf-bar-fill { display: block; height: 100%; width: calc(var(--amf-p, 0) * 100%); border-radius: inherit; background: linear-gradient(90deg, var(--amf-leaf), var(--amf-amber)); transition: width .5s var(--amf-ease); }
	.amf.is-js .amf-step-head .amf-eyebrow { display: none; }
}
@media (max-width: 640px) {
	.amf-main { padding: 1.3rem 1.1rem 1.4rem; border-radius: 18px; }
	.amf-grid, .amf-row, .amf-files { grid-template-columns: 1fr; }
	.amf-row { padding: 3.2rem 1rem 1rem; }
	.amf-row-n { top: 1rem; }
	.amf-field.is-short .amf-input { max-width: none; }
	.amf-rev dl { grid-template-columns: 1fr; gap: .1rem; }
	.amf-rev dd { margin-bottom: .55rem; }
	.amf-nav { position: sticky; bottom: 0; margin-inline: -1.1rem; margin-bottom: -1.4rem; padding: 1rem 1.1rem calc(1rem + env(safe-area-inset-bottom)); background: rgba(255, 255, 255, .96); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-radius: 0 0 18px 18px; }
	.amf-nav .amf-btn { flex: 1; max-width: 70%; }
	.amf-pill span { min-height: 46px; }
	.amf-restore { flex-direction: column; align-items: flex-start; }
	.amf-textarea { min-height: 260px; }
}

@media (prefers-reduced-motion: reduce) {
	.amf *, .amf *::before, .amf *::after { animation: none !important; transition: none !important; }
}
.amf .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
