/* =========================================================================
 * Contact Split 001 — Invitation Beside the Inquiry Form
 *
 * The block's own two equal columns on a white band. The form is Fluent
 * Forms; its own stylesheet draws boxed fields, so every rule here is scoped
 * under the pattern (three classes) to out-weigh it, and redraws the fields as
 * the draft's quiet lines: a small capital label, a borderless input, a hairline
 * that fades at both ends. Price Split 001 holds the same form, so the form
 * rules match inside either section (`:is()` keeps the same weight).
 * ========================================================================= */

.contact-split-001 {
	background: var(--color-surface);
}

.contact-split-001 .contact-split-001__inner {
	column-gap: 7%;
	align-items: start;
}

.contact-split-001__copy > * {
	margin-block: 0;
}

.contact-split-001__copy h2 {
	margin-block: var(--space-sm) var(--space-md);
}

.contact-split-001__copy .is-muted {
	line-height: 1.8;
}

/* The host note, led by a small smiling face (a mask, in the text colour). */
.contact-split-001__note {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	margin-top: var(--space-md) !important;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 1.7;
}

.contact-split-001__note::before {
	content: "";
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	background-color: currentColor;
	-webkit-mask: url("../../assets/masks/smile.svg") center / contain no-repeat;
	mask: url("../../assets/masks/smile.svg") center / contain no-repeat;
}

/* The form. */
:is(.contact-split-001, .price-split-001) .contact-split-001__form .fluentform {
	font-family: var(--font-body);
	color: var(--color-text);
}

:is(.contact-split-001, .price-split-001) .contact-split-001__form .ff-el-group {
	margin: 0 0 var(--space-xs);
	padding: var(--space-sm) 0 var(--space-xs);
	background: linear-gradient(to right, transparent, var(--color-border) 12%, var(--color-border) 88%, transparent) bottom / 100% 1px no-repeat;
}

:is(.contact-split-001, .price-split-001) .contact-split-001__form .ff-t-container {
	gap: var(--space-md);
	margin: 0;
}

:is(.contact-split-001, .price-split-001) .contact-split-001__form .ff-t-cell {
	padding: 0;
	min-width: 0;
}

:is(.contact-split-001, .price-split-001) .contact-split-001__form .ff-el-input--label {
	margin-bottom: var(--space-xs);
}

:is(.contact-split-001, .price-split-001) .contact-split-001__form .ff-el-input--label label {
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 400;
	letter-spacing: 0.11em;
	text-transform: uppercase;
	color: var(--color-text);
}

/* No asterisks: the draft marks only the optional field, in its label. */
:is(.contact-split-001, .price-split-001) .contact-split-001__form .ff-el-is-required.asterisk-right label::after {
	content: none;
}

:is(.contact-split-001, .price-split-001) .contact-split-001__form .ff-el-form-control {
	width: 100%;
	min-height: 2.2rem;
	padding: var(--space-xs) 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--color-text);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--base);
	line-height: 1.4;
}

:is(.contact-split-001, .price-split-001) .contact-split-001__form .ff-el-form-control::placeholder {
	color: var(--color-border-alt);
	opacity: 1;
}

:is(.contact-split-001, .price-split-001) .contact-split-001__form .ff-el-form-control:focus {
	outline: 2px solid var(--color-accent);
	outline-offset: 4px;
	border-radius: 4px;
}

:is(.contact-split-001, .price-split-001) .contact-split-001__form textarea.ff-el-form-control {
	min-height: 3.5rem;
	resize: vertical;
}

/* The send button: full width, ink, the label left and the arrow right. */
:is(.contact-split-001, .price-split-001) .contact-split-001__form .ff_submit_btn_wrapper {
	margin: var(--space-md) 0 0;
}

:is(.contact-split-001, .price-split-001) .contact-split-001__form .ff-btn-submit {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 1.2em 1.5em;
	border: 0;
	border-radius: var(--radius-sm);
	background: var(--color-primary);
	color: var(--color-on-dark);
	font-family: var(--font-body);
	font-size: var(--wp--preset--font-size--base);
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: background-color 0.35s ease;
}

/* The arrow is the shared slot reel (inc/button-arrow.php, site.css §3d). */
:is(.contact-split-001, .price-split-001) .contact-split-001__form .ff-btn-submit .button-arrow {
	--arrow: 20px;
}

:is(.contact-split-001, .price-split-001) .contact-split-001__form .ff-btn-submit:hover {
	background: color-mix(in srgb, var(--color-primary) 82%, var(--color-on-dark));
	opacity: 1;
}



/* Errors and the thank-you message. */
:is(.contact-split-001, .price-split-001) .contact-split-001__form .error {
	margin-top: var(--space-xs);
	font-size: var(--wp--preset--font-size--xs);
	color: var(--color-error);
}

:is(.contact-split-001, .price-split-001) .contact-split-001__form .ff-message-success {
	padding: var(--space-md);
	border: 0;
	border-radius: var(--radius);
	background: var(--color-background);
	box-shadow: none;
	color: var(--color-text);
	font-size: var(--wp--preset--font-size--lg);
}

@media (max-width: 48rem) {
	.contact-split-001 .contact-split-001__inner {
		grid-template-columns: minmax(0, 1fr);
		row-gap: var(--space-md);
	}
}
