/*
 * Public Applicant and Writer forms.
 *
 * These styles intentionally inherit the active theme's font stack. The
 * palette follows the IMEO Brand Guidelines without taking over the theme.
 */
.imeo-public-form {
	--imeo-public-purple: #7f2b92;
	--imeo-public-purple-dark: #640b78;
	--imeo-public-tangerine: #ff914d;
	--imeo-public-linen: #f5f0ea;
	--imeo-public-lime: #e0e55e;
	--imeo-public-fern: #35570f;
	--imeo-public-ink: #2a202c;
	--imeo-public-muted: #665b68;
	--imeo-public-rule: #ded3df;
	--imeo-public-error: #b32d2e;
	box-sizing: border-box;
	max-width: var(--wp--style--global--content-size, 42rem);
	margin: var(--wp--style--block-gap, 1.2rem) auto;
	padding: clamp(.4rem, 1.2vw, .65rem);
	border-radius: 1.2rem;
	background:
		radial-gradient(circle at 8% 0%, rgba(224, 229, 94, .14), transparent 28rem),
		radial-gradient(circle at 100% 15%, rgba(255, 145, 77, .08), transparent 24rem),
		linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(250, 248, 250, .84));
	box-shadow: 0 1rem 2.6rem rgba(70, 39, 76, .07);
	color: var(--imeo-public-ink);
	font-size: var(--wp--preset--font-size--medium, 1rem);
	line-height: 1.45;
}

.imeo-public-form *,
.imeo-public-form *::before,
.imeo-public-form *::after {
	box-sizing: border-box;
}

.imeo-public-form form {
	display: grid;
	gap: .75rem;
}

.imeo-public-form__required-note,
.imeo-public-form__account {
	margin: 0;
	color: var(--imeo-public-muted);
	font-size: .875rem;
}

.imeo-public-form__required-note span {
	color: var(--imeo-public-purple);
	font-weight: 700;
}

.imeo-public-form__account strong {
	color: var(--imeo-public-ink);
}

.imeo-public-form__section,
.imeo-public-form__status {
	border: 1px solid rgba(255, 255, 255, .78);
	border-radius: .75rem;
	background: rgba(255, 255, 255, .90);
	box-shadow: 0 1px 2px rgba(42, 32, 44, .04), 0 .7rem 1.6rem rgba(70, 39, 76, .07);
	transition: transform .18s ease, box-shadow .18s ease;
}

.imeo-public-form__section {
	padding: clamp(.9rem, 2vw, 1.2rem);
}

.imeo-public-form__section--submit {
	background: linear-gradient(135deg, rgba(255, 255, 255, .91), rgba(245, 240, 234, .66));
}

.imeo-public-form__section-heading {
	margin-bottom: 1.2rem;
}

.imeo-public-form__section h2,
.imeo-public-form__section h3,
.imeo-public-form__status h2 {
	margin: 0;
	color: var(--imeo-public-purple-dark);
	font: inherit;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.3;
}

.imeo-public-form__section h3 {
	font-size: 1rem;
}

.imeo-public-form__section-heading p,
.imeo-public-form__identity-intro p,
.imeo-public-form__status p {
	margin: .3rem 0 0;
	color: var(--imeo-public-muted);
	font-size: .875rem;
	line-height: 1.45;
}

.imeo-public-form__grid {
	display: grid;
	gap: .75rem;
}

.imeo-public-form__grid--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.imeo-public-form__field {
	margin-top: .75rem;
}

.imeo-public-form__grid .imeo-public-form__field {
	margin-top: 0;
}

.imeo-public-form label,
.imeo-public-form legend {
	color: var(--imeo-public-ink);
	font-size: .875rem;
	font-weight: 700;
}

.imeo-public-form input:not([type="radio"]):not([type="checkbox"]),
.imeo-public-form select,
.imeo-public-form textarea {
	display: block;
	width: 100%;
	min-height: 2.75rem;
	margin-top: .4rem;
	padding: .62rem .72rem;
	border: 1px solid #c9c3c9;
	border-radius: .4rem;
	background: rgba(255, 255, 255, .96);
	color: var(--imeo-public-ink);
	font: inherit;
	font-size: .9375rem;
	line-height: 1.35;
	box-shadow: inset 0 1px 1px rgba(42, 32, 44, .04);
}

.imeo-public-form input::placeholder,
.imeo-public-form textarea::placeholder {
	color: #776c78;
	font-size: .875rem;
	opacity: 1;
}

.imeo-public-form textarea {
	min-height: 8rem;
	resize: vertical;
}

.imeo-public-form input[type="date"] {
	max-width: 15rem;
}

.imeo-public-form input:focus-visible,
.imeo-public-form select:focus-visible,
.imeo-public-form textarea:focus-visible,
.imeo-public-form button:focus-visible,
.imeo-public-form__choice:focus-within,
.imeo-public-form__check:focus-within {
	outline: 3px solid rgba(127, 43, 146, .35);
	outline-offset: 2px;
}

.imeo-public-form input:not([type="radio"]):not([type="checkbox"]):focus,
.imeo-public-form select:focus,
.imeo-public-form textarea:focus {
	border-color: var(--imeo-public-purple);
	box-shadow: 0 0 0 3px rgba(127, 43, 146, .12);
}

.imeo-public-form input[aria-invalid="true"],
.imeo-public-form select[aria-invalid="true"],
.imeo-public-form textarea[aria-invalid="true"] {
	border-color: var(--imeo-public-error);
}

.imeo-public-form input:disabled {
	border-color: #d8d0d9;
	background: rgba(232, 226, 233, .78);
	color: var(--imeo-public-muted);
	cursor: not-allowed;
	box-shadow: none;
}

.imeo-public-form__help {
	margin: .35rem 0 0;
	color: var(--imeo-public-muted);
	font-size: .8125rem;
	line-height: 1.45;
}

.imeo-public-form__choice-group {
	margin: 0;
	padding: 0;
	border: 0;
}

.imeo-public-form__choice-group legend {
	margin-bottom: .75rem;
}

.imeo-public-form__choice-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .6rem;
}

.imeo-public-form__choice {
	display: flex;
	align-items: flex-start;
	gap: .65rem;
	min-height: 5.75rem;
	padding: .75rem;
	border: 1px solid var(--imeo-public-rule);
	border-radius: .6rem;
	background: rgba(255, 255, 255, .86);
	cursor: pointer;
	box-shadow: 0 .35rem .9rem rgba(70, 39, 76, .045);
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.imeo-public-form__choice:hover {
	border-color: var(--imeo-public-purple);
	background: #fcf9fc;
}

.imeo-public-form__choice:has(input:checked) {
	border-color: var(--imeo-public-purple);
	background: var(--imeo-public-linen);
	box-shadow: inset 0 0 0 1px var(--imeo-public-purple);
}

.imeo-public-form__choice input,
.imeo-public-form__check input {
	flex: 0 0 auto;
	width: 1.15rem;
	height: 1.15rem;
	margin: .15rem 0 0;
	accent-color: var(--imeo-public-purple);
}

.imeo-public-form__choice span,
.imeo-public-form__check span {
	display: grid;
	gap: .18rem;
}

.imeo-public-form__choice small,
.imeo-public-form__check small {
	color: var(--imeo-public-muted);
	font-size: .83rem;
	font-weight: 400;
	line-height: 1.4;
}

.imeo-public-form__identity,
.imeo-public-form__scope {
	padding: .85rem;
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: .6rem;
	background: rgba(255, 255, 255, .76);
	box-shadow: inset 0 1px rgba(255, 255, 255, .84), 0 .45rem 1.1rem rgba(70, 39, 76, .04);
}

.imeo-public-form__scope {
	margin-top: .75rem;
}

.imeo-public-form__identity-intro {
	margin-bottom: .75rem;
}

.imeo-public-form__instructions {
	margin: 0 0 .75rem;
	border: 1px solid var(--imeo-public-rule);
	border-radius: .5rem;
	background: rgba(255, 255, 255, .82);
}

.imeo-public-form__instructions summary {
	min-height: 2.75rem;
	padding: .7rem 1rem;
	color: var(--imeo-public-purple-dark);
	font-size: .875rem;
	font-weight: 700;
	cursor: pointer;
}

.imeo-public-form__instructions p {
	margin: 0;
	padding: 0 1rem .9rem;
	color: var(--imeo-public-muted);
	font-size: .8125rem;
	line-height: 1.45;
}

.imeo-public-form__combobox {
	position: relative;
}

.imeo-public-form__results {
	position: absolute;
	z-index: 20;
	left: 0;
	right: 0;
	max-height: 18rem;
	margin-top: .25rem;
	overflow: auto;
	border: 1px solid var(--imeo-public-purple);
	border-radius: .45rem;
	background: rgba(255, 255, 255, .98);
	box-shadow: 0 .7rem 1.5rem rgba(42, 32, 44, .18);
}

.imeo-public-form__result {
	display: grid;
	gap: .14rem;
	width: 100%;
	min-height: 2.75rem;
	padding: .62rem .75rem;
	border: 0;
	border-bottom: 1px solid var(--imeo-public-rule);
	background: rgba(255, 255, 255, .96);
	color: var(--imeo-public-ink);
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.imeo-public-form__result:last-child {
	border-bottom: 0;
}

.imeo-public-form__result:hover,
.imeo-public-form__result[aria-selected="true"] {
	background: var(--imeo-public-linen);
}

.imeo-public-form__result strong {
	font-size: .94rem;
}

.imeo-public-form__result small {
	color: var(--imeo-public-muted);
	font-size: .75rem;
}

.imeo-public-form__availability {
	margin: .65rem 0 0;
	padding: .65rem .75rem;
	border: 1px solid var(--imeo-public-rule);
	border-radius: .45rem;
	background: rgba(255, 255, 255, .88);
	color: var(--imeo-public-muted);
	font-size: .8125rem;
	line-height: 1.45;
}

.imeo-public-form__availability.is-available {
	border-color: #9ab56f;
	background: #f6f9e8;
	color: var(--imeo-public-fern);
}

.imeo-public-form__availability.is-active_review,
.imeo-public-form__availability.is-already_reviewed,
.imeo-public-form__availability.is-possible_match {
	border-color: #e9b480;
	background: #fff8ef;
	color: #78461d;
}

.imeo-public-form__availability.is-new_product {
	border-color: #b8a5bf;
	background: #fcf9fc;
	color: var(--imeo-public-purple-dark);
}

.imeo-public-form__check {
	display: flex;
	align-items: flex-start;
	gap: .65rem;
	margin-top: .75rem;
	padding: .75rem;
	border: 1px solid var(--imeo-public-rule);
	border-radius: .55rem;
	background: rgba(255, 255, 255, .84);
	box-shadow: 0 .35rem .9rem rgba(70, 39, 76, .04);
	cursor: pointer;
}

.imeo-public-form__optional-details {
	margin: 0;
	border: 1px solid var(--imeo-public-rule);
	border-radius: .55rem;
	background: rgba(255, 255, 255, .74);
	box-shadow: inset 0 1px rgba(255, 255, 255, .7);
}

.imeo-public-form__optional-details summary {
	min-height: 2.75rem;
	padding: .7rem .9rem;
	color: var(--imeo-public-purple-dark);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.imeo-public-form__optional-details-content {
	padding: 0 .9rem .9rem;
}

.imeo-public-form__submit {
	min-height: 2.9rem;
	margin-top: .75rem;
	padding: .65rem 1rem;
	border: 1px solid var(--imeo-public-purple);
	border-radius: .4rem;
	background: var(--imeo-public-purple);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	box-shadow: 0 .25rem .55rem rgba(100, 11, 120, .18);
	transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.imeo-public-form__submit:hover,
.imeo-public-form__submit:focus-visible {
	border-color: var(--imeo-public-purple-dark);
	background: var(--imeo-public-purple-dark);
	color: #fff;
	box-shadow: 0 .35rem .7rem rgba(100, 11, 120, .22);
}

.imeo-public-form__submit:active {
	transform: translateY(1px);
	box-shadow: 0 .15rem .3rem rgba(100, 11, 120, .16);
}

.imeo-public-form__status,
.imeo-public-form__error-summary {
	margin-bottom: 1rem;
	padding: 1rem 1.1rem;
}

.imeo-public-form__status--success {
	border-color: #9ab56f;
	background: #f6f9e8;
}

.imeo-public-form__status--success h2 {
	color: var(--imeo-public-fern);
}

.imeo-public-form__status--error,
.imeo-public-form__error-summary {
	border: 1px solid #dba9ab;
	border-radius: .55rem;
	background: #fff5f5;
	color: #7e1d20;
}

.imeo-public-form__status--error p,
.imeo-public-form__error-summary p {
	margin: 0;
	color: inherit;
}

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
	.imeo-public-form__section,
	.imeo-public-form__status,
	.imeo-public-form__identity,
	.imeo-public-form__scope,
	.imeo-public-form__instructions,
	.imeo-public-form__optional-details,
	.imeo-public-form__results,
	.imeo-public-form__availability,
	.imeo-public-form__check {
		-webkit-backdrop-filter: blur(14px) saturate(125%);
		backdrop-filter: blur(14px) saturate(125%);
	}
}

@media (hover: hover) {
	.imeo-public-form:not(.imeo-application-form) .imeo-public-form__section:hover {
		transform: translateY(-1px);
		box-shadow: 0 .9rem 1.9rem rgba(70, 39, 76, .12);
	}

	.imeo-public-form__choice:hover {
		transform: translateY(-1px);
		box-shadow: 0 .55rem 1.1rem rgba(70, 39, 76, .10);
	}
}

.imeo-public-form .imeo-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* The Pitch form is one focused sheet, with page context kept deliberately
 * light above it. It uses the active theme's inherited type settings. */
.imeo-pitch-form {
	width: 100%;
	max-width: min(100%, 44rem);
	margin: var(--wp--style--block-gap, 1.2rem) auto;
	padding: 0;
	border-radius: .85rem;
	background: transparent;
	box-shadow: none;
}

.imeo-pitch-form__intro {
	margin: 0 0 1rem;
	padding: 0 .1rem;
}

.imeo-pitch-form__lead {
	margin: 0;
	color: var(--imeo-public-ink);
	font-size: 1em;
	font-weight: 400;
	line-height: 1.45;
}

.imeo-pitch-form__meta {
	display: flex;
	flex-wrap: wrap;
	gap: .25rem .9rem;
	margin-top: .45rem;
}

.imeo-pitch-form__meta .imeo-public-form__required-note,
.imeo-pitch-form__meta .imeo-public-form__account {
	margin: 0;
	font-size: .75rem;
}

.imeo-pitch-form__preview-note {
	margin: .35rem 0 0;
	padding: .65rem .75rem;
	border: 1px solid var(--imeo-public-rule);
	border-radius: .45rem;
	background: #fcf9fc;
	color: var(--imeo-public-muted);
	font-size: .8125rem;
}

.imeo-pitch-form .imeo-public-form__sheet {
	position: relative;
	overflow: hidden;
	display: grid;
	gap: 0;
	padding: clamp(1rem, 2.5vw, 1.45rem);
	border: 1px solid var(--imeo-public-rule);
	border-radius: .85rem;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 .8rem 2rem rgba(70, 39, 76, .07);
}

.imeo-pitch-form .imeo-public-form__sheet::before {
	position: absolute;
	top: 0;
	left: 1rem;
	right: 1rem;
	height: 2px;
	border-radius: 0 0 2px 2px;
	background: var(--imeo-public-purple);
	content: "";
}

.imeo-pitch-form .imeo-public-form__section {
	padding: 1.15rem 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	transform: none;
}

.imeo-pitch-form .imeo-public-form__section:first-of-type {
	padding-top: .35rem;
}

.imeo-pitch-form .imeo-public-form__section + .imeo-public-form__section,
.imeo-pitch-form .imeo-pitch-form__submit-row {
	border-top: 1px solid var(--imeo-public-rule);
}

.imeo-pitch-form .imeo-public-form__section-heading {
	margin-bottom: .85rem;
}

.imeo-pitch-form .imeo-public-form__identity,
.imeo-pitch-form .imeo-public-form__scope {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.imeo-pitch-form .imeo-public-form__scope {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--imeo-public-rule);
}

.imeo-pitch-form .imeo-public-form__instructions {
	margin: 0 0 .7rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.imeo-pitch-form .imeo-public-form__instructions summary {
	min-height: 2.75rem;
	padding: .65rem 0;
}

.imeo-pitch-form .imeo-public-form__instructions p {
	max-width: 38rem;
	padding: 0 0 .5rem;
}

.imeo-pitch-form .imeo-public-form__grid--two {
	gap: .9rem;
}

.imeo-pitch-form__planning-grid {
	display: grid;
	grid-template-columns: minmax(11rem, .55fr) minmax(0, 1fr);
	align-items: start;
	gap: .9rem;
}

.imeo-pitch-form__planning-grid .imeo-public-form__field {
	margin-top: 0;
}

.imeo-pitch-form .imeo-public-form__check {
	min-height: 2.75rem;
	margin-top: .55rem;
	padding: .6rem 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.imeo-public-form__label-note {
	margin-left: .2rem;
	color: var(--imeo-public-muted);
	font-size: .8125rem;
	font-weight: 400;
}

.imeo-pitch-form__submit-row {
	display: flex;
	justify-content: flex-end;
	padding: 1.15rem 0 .1rem;
}

.imeo-pitch-form__submit-row .imeo-public-form__submit {
	margin: 0;
}

.imeo-pitch-form.is-preview .imeo-public-form__submit:disabled {
	border-color: #c9c3c9;
	background: #e9e4e9;
	color: var(--imeo-public-muted);
	box-shadow: none;
	cursor: not-allowed;
}

/* Payment details use the same private, single-sheet treatment without
 * carrying any font choice of their own. */
.imeo-payment-form {
	--imeo-public-muted: #554a58;
	width: 100%;
	max-width: min(100%, 44rem);
	margin: var(--wp--style--block-gap, 1.2rem) auto;
	padding: 0;
	border-radius: .85rem;
	background: transparent;
	box-shadow: none;
}

.imeo-payment-form .imeo-public-form__sheet {
	position: relative;
	overflow: hidden;
	display: grid;
	gap: 0;
	padding: clamp(1rem, 2.5vw, 1.45rem);
	border: 1px solid var(--imeo-public-rule);
	border-radius: .85rem;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 .8rem 2rem rgba(70, 39, 76, .09);
}

.imeo-payment-form .imeo-public-form__sheet::before {
	position: absolute;
	top: 0;
	left: 1rem;
	right: 1rem;
	height: 2px;
	border-radius: 0 0 2px 2px;
	background: var(--imeo-public-purple);
	content: "";
}

.imeo-payment-form__current {
	margin-bottom: .7rem;
	padding: .85rem 1rem;
	border: 1px solid var(--imeo-public-rule);
	border-radius: .65rem;
	background: rgba(255, 255, 255, .96);
}

.imeo-payment-form__current-heading { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem .75rem; }
.imeo-payment-form__current h2 { margin: 0; color: var(--imeo-public-purple-dark); font: inherit; font-size: .92rem; font-weight: 700; }
.imeo-payment-form__update-heading h2 { margin: 0; color: var(--imeo-public-purple-dark); font: inherit; font-size: 1.15rem; font-weight: 700; }
.imeo-payment-form__current > p { margin: .75rem 0 0; color: var(--imeo-public-muted); }
.imeo-payment-form__current dl { display: grid; gap: .5rem 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: .6rem 0 0; }
.imeo-payment-form__current dl > div { min-width: 0; }
.imeo-payment-form__current dt { color: var(--imeo-public-muted); font-size: .75rem; }
.imeo-payment-form__current dd { margin: .1rem 0 0; overflow-wrap: anywhere; font-size: .875rem; font-weight: 600; }
.imeo-payment-form > .imeo-payment-form__pending { display: flex; align-items: center; flex-wrap: wrap; gap: .2rem .55rem; margin: 0 0 .7rem; padding: .65rem .85rem; border: 1px solid #e8d3ab; border-left: 3px solid #bb7d17; border-radius: .5rem; background: #fffaf1; color: #594322; font-size: .85rem; line-height: 1.4; }
.imeo-payment-form__pending strong { color: #744b0d; }
.imeo-payment-form__pending--rejected { border-color: var(--imeo-public-rule); border-left-color: var(--imeo-public-purple); background: #fcf9fc; }
.imeo-payment-form__update-heading { margin-bottom: .4rem; }
.imeo-payment-form__update-heading p { margin: .3rem 0 0; color: var(--imeo-public-muted); font-size: .875rem; }

.imeo-payment-form__status-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .4rem .6rem;
	padding: .35rem 0 1rem;
	color: var(--imeo-public-ink);
	font-size: .875rem;
}

.imeo-payment-form__status-row > span {
	font-weight: 700;
}

.imeo-payment-form__status-row p {
	flex-basis: 100%;
	margin: 0;
	color: var(--imeo-public-muted);
	font-size: .8125rem;
}

.imeo-payment-form__status-label {
	display: inline-flex;
	align-items: center;
	min-height: 1.6rem;
	padding: .1rem .5rem;
	border-radius: 999px;
	background: #f6f9e8;
	color: var(--imeo-public-fern);
	font-size: .75rem;
}

.imeo-payment-form__status-label.is-pending {
	background: #fff8ef;
	color: #78461d;
}

.imeo-payment-form__status-label.is-rejected,
.imeo-payment-form__status-label.is-superseded {
	background: #fcf9fc;
	color: var(--imeo-public-muted);
}

.imeo-payment-form .imeo-payment-form__section {
	padding: 1.15rem 0;
	border: 0;
	border-top: 1px solid var(--imeo-public-rule);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	transform: none;
}

.imeo-payment-form .imeo-payment-form__section:first-of-type {
	padding-top: 1rem;
}

.imeo-payment-form .imeo-public-form__section-heading {
	margin-bottom: .85rem;
}

.imeo-payment-form__method-picker {
	margin: .9rem 0 0;
	padding: 0;
	border: 0;
}

.imeo-payment-form__method-options {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .65rem;
}

.imeo-payment-form__method-option {
	display: flex;
	align-items: center;
	gap: .55rem;
	min-height: 3.4rem;
	margin: 0;
	padding: .7rem .8rem;
	border: 1px solid var(--imeo-public-rule);
	border-radius: .5rem;
	background: #fff;
	color: var(--imeo-public-ink);
	cursor: pointer;
	font-size: .9375rem;
	font-weight: 700;
	transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.imeo-payment-form__method-option input {
	flex: 0 0 auto;
	margin: 0;
	accent-color: var(--imeo-public-purple);
}

.imeo-payment-form__method-option small {
	display: block;
	color: var(--imeo-public-muted);
	font-size: .75rem;
	font-weight: 400;
}

.imeo-payment-form__method-option:has(input:checked) {
	border-color: var(--imeo-public-purple);
	background: #f8f0fa;
	box-shadow: inset 0 0 0 1px var(--imeo-public-purple);
}
.imeo-payment-form__method-option:focus-within { outline: 2px solid var(--imeo-public-purple); outline-offset: 2px; }

.imeo-payment-form__method-option:has(input:disabled) {
	background: #f7f5f7;
	color: var(--imeo-public-muted);
	cursor: not-allowed;
}

/* The uploader is a Workspace-owned frame. Its panel is visually part of the
 * payment sheet, but no document bytes, links, or file names enter WordPress. */
.imeo-payment-form__tax-panel {
	padding: .8rem 0;
	border-top: 1px solid var(--imeo-public-rule);
}

.imeo-payment-form__tax-panel .imeo-public-form__section-heading {
	margin-bottom: .35rem;
}

.imeo-payment-form__tax-panel .imeo-public-form__section-heading h2 { font-size: .9rem; }

.imeo-payment-form__tax-panel .imeo-public-form__section-heading p {
	margin: .3rem 0 0;
	color: var(--imeo-public-muted);
	font-size: .875rem;
}

.imeo-payment-form__tax-status {
	margin: 0;
	padding: .55rem .7rem;
	border: 1px solid var(--imeo-public-rule);
	border-radius: .45rem;
	background: #fcf9fc;
	color: var(--imeo-public-muted);
	font-size: .875rem;
	line-height: 1.45;
}

.imeo-payment-form__tax-status strong {
	color: var(--imeo-public-ink);
}

.imeo-payment-form__tax-status.is-verified {
	border-color: #d9e3bb;
	background: #f6f9e8;
}

.imeo-payment-form__tax-uploader {
	display: block;
	width: 100%;
	min-height: 18rem;
	margin-top: .85rem;
	border: 1px solid var(--imeo-public-rule);
	border-radius: .5rem;
	background: #fff;
}

.imeo-payment-form__tax-uploader[hidden] { display: none; }

.imeo-payment-form__submit-row {
	display: flex;
	justify-content: flex-end;
	padding: 1.15rem 0 .1rem;
	border-top: 1px solid var(--imeo-public-rule);
}

.imeo-payment-form__submit-row .imeo-public-form__submit {
	margin: 0;
}

.imeo-payment-form__submit-row .imeo-public-form__submit:disabled { cursor: not-allowed; opacity: .55; box-shadow: none; transform: none; }

body:has(.imeo-payment-form) .wp-block-post-title { font-size: clamp(1.8rem, 3vw, 2.25rem); }

@media (hover: hover) {
	.imeo-public-form.imeo-payment-form .imeo-public-form__section:hover {
		transform: none;
		box-shadow: none;
	}
}

@media (hover: hover) {
	.imeo-public-form.imeo-pitch-form .imeo-public-form__section:hover {
		transform: none;
		box-shadow: none;
	}
}

/* The application is one calm sheet: regular sections use dividers, while
 * experience options retain cards because they are a direct choice. */
.imeo-application-form {
	padding: 0;
	border-radius: .85rem;
	background: transparent;
	box-shadow: none;
}

.imeo-application-form .imeo-public-form__sheet {
	position: relative;
	overflow: hidden;
	padding: clamp(1rem, 2.5vw, 1.45rem);
	border: 1px solid var(--imeo-public-rule);
	border-radius: .85rem;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 .8rem 2rem rgba(70, 39, 76, .07);
}

.imeo-application-form .imeo-public-form__sheet::before {
	position: absolute;
	top: 0;
	left: 1rem;
	right: 1rem;
	height: 2px;
	border-radius: 0 0 2px 2px;
	background: var(--imeo-public-purple);
	content: "";
}

.imeo-application-form .imeo-public-form__required-note--inline {
	margin: 0;
	text-align: right;
	font-size: .75rem;
}

.imeo-application-form .imeo-application-form__section {
	padding: 1.15rem 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	transform: none;
	/* Avoid recompositing large blurred panels while the two-column Join page
	 * crosses responsive widths. The application retains its white sheet and
	 * gentle shadow without this expensive glass layer. */
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

.imeo-application-form .imeo-application-form__section:first-of-type {
	padding-top: .35rem;
}

.imeo-application-form .imeo-application-form__section + .imeo-application-form__section {
	border-top: 1px solid var(--imeo-public-rule);
}

.imeo-application-form .imeo-public-form__section-heading {
	margin-bottom: .85rem;
}

.imeo-application-form .imeo-public-form__choice {
	min-height: 5.4rem;
	border-color: #ded7df;
	background: #fff;
	box-shadow: none;
}

.imeo-application-form .imeo-public-form__choice:has(input:checked) {
	background: rgba(127, 43, 146, .045);
	box-shadow: inset 0 0 0 1px var(--imeo-public-purple), 0 .35rem .8rem rgba(70, 39, 76, .06);
}

.imeo-application-form .imeo-public-form__section--submit {
	display: flex;
	justify-content: flex-end;
	padding-bottom: .1rem;
}

.imeo-application-form .imeo-public-form__section--submit .imeo-public-form__submit {
	margin: 0;
}

/* Join IMEO page: copy comes first in source, mobile, and the wider layout. */
.wp-block-group.imeo-join-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas:
		"copy"
		"form";
	gap: clamp(1.75rem, 5vw, 3.75rem);
	align-items: start;
}

.wp-block-group.imeo-join-layout > .wp-block-group__inner-container {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: inherit;
	grid-template-areas: inherit;
	gap: inherit;
	align-items: inherit;
}

.wp-block-group.imeo-join-layout > * {
	margin-block: 0 !important;
}

.wp-block-group.imeo-join-layout > .wp-block-group__inner-container > * {
	margin-block: 0 !important;
}

.imeo-join-layout__copy {
	grid-area: copy;
	min-width: 0;
	max-width: 42rem;
}

.imeo-join-layout__form {
	grid-area: form;
	min-width: 0;
}

.imeo-join-layout__form .imeo-application-form {
	max-width: none;
	margin: 0;
}

.imeo-join-layout-page .wp-block-post-title,
.imeo-join-layout-page .td-page-header {
	display: none;
}

.imeo-join-layout__title {
	margin: 0 0 1.4rem !important;
}

.imeo-join-layout__intro {
	margin: 0 !important;
	color: var(--imeo-public-ink);
	font-size: clamp(1.1rem, 1.3vw, 1.24rem);
	font-weight: 400;
	line-height: 1.45;
}

.imeo-join-layout__copy > .wp-block-heading {
	margin: 2.1rem 0 .8rem !important;
	color: var(--imeo-public-ink);
}

.imeo-join-layout__copy > .wp-block-heading + p,
.imeo-join-layout__copy > .wp-block-heading + .wp-block-list {
	margin-top: 0 !important;
}

.imeo-join-layout__copy .wp-block-list {
	display: grid;
	gap: .7rem;
	margin-bottom: 0 !important;
	padding: 0;
	list-style: none;
}

.imeo-join-layout__copy .wp-block-list li {
	position: relative;
	padding-left: 1.45rem;
}

.imeo-join-layout__copy .wp-block-list li::before {
	position: absolute;
	left: 0;
	color: var(--imeo-public-purple);
	font-weight: 700;
	content: "✓";
}

@media (min-width: 960px) {
	.wp-block-group.imeo-join-layout {
		grid-template-columns: minmax(22rem, .96fr) minmax(0, 1.04fr);
		grid-template-areas: "copy form";
	}

	/*
	 * The card should begin beside the Join IMEO heading, rather than above
	 * it. em keeps this offset proportionate to the active theme's type scale.
	 */
	.imeo-join-layout__form {
		margin-block-start: 1.25em !important;
	}
}

@media (max-width: 640px) {
	.imeo-join-layout-page {
		--wp--style--root--padding-right: 1rem;
		--wp--style--root--padding-left: 1rem;
	}

	.imeo-application-form .imeo-public-form__sheet {
		padding: 1rem;
	}

	.imeo-pitch-form {
		padding: 0;
	}

	.imeo-pitch-form .imeo-public-form__sheet {
		padding: 1rem;
	}

	.imeo-payment-form {
		padding: 0;
	}

	.imeo-payment-form .imeo-public-form__sheet {
		padding: 1rem;
	}

	.imeo-payment-form__current dl {
		grid-template-columns: 1fr;
	}

	.imeo-payment-form__tax-uploader {
		min-height: 20rem;
	}

	.imeo-payment-form__method-options {
		grid-template-columns: 1fr;
	}

	.imeo-application-form .imeo-public-form__section--submit {
		display: block;
	}

	.imeo-pitch-form__submit-row {
		display: block;
	}

	.imeo-pitch-form__planning-grid {
		grid-template-columns: 1fr;
	}

	.imeo-payment-form__submit-row {
		display: block;
	}
}

@media (max-width: 640px) {
	.imeo-public-form {
		margin: .8rem 0;
		padding: .35rem;
	}

	.imeo-public-form__grid--two,
	.imeo-public-form__choice-grid {
		grid-template-columns: 1fr;
	}

	.imeo-public-form__section {
		padding: .9rem;
	}

	.imeo-public-form input[type="date"] {
		max-width: none;
	}

	.imeo-public-form input:not([type="radio"]):not([type="checkbox"]),
	.imeo-public-form select,
	.imeo-public-form textarea {
		font-size: 1rem;
	}

	.imeo-public-form__submit {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.imeo-public-form__section,
	.imeo-public-form__choice,
	.imeo-public-form__submit {
		transition: none;
	}
}
