/* ────────────────────────────────────────────────────────────
   03-text-form-right.css — Text + Form: Form Right
   Class chain: core/group outer (bg via Style panel, alignfull)
                → gb element .text-form-right (section)
                → gb element .text-form-right__row (2-col grid)
                  → gb element .text-form-right__content (left)
                  → gb element .text-form-right__form-card (right)
                    → .text-form-right__form-heading (h3)
                    → gform_wrapper
   ──────────────────────────────────────────────────────────── */

/* ── Section wrapper ──────────────────────────────────────── */
.text-form-right {
	padding: var(--spacing-4xl) var(--spacing-md);
}

/* ── Row — two equal columns ──────────────────────────────── */
.text-form-right__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--spacing-2xl);
	max-width: var(--container-max-width);
	margin-inline: auto;
	align-items: start;
}

/* ── Left: text content ───────────────────────────────────── */
.text-form-right__content {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-md);
}

.text-form-right h2 {
	font-family: var(--font-primary);
	font-size: var(--text-heading-xl);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-tight);
	color: var(--color-text-heading);
	margin: 0;
}

.text-form-right h3 {
	color: var(--color-text-heading-alt);
    font-size: var(--text-heading-md);
    line-height: var(--line-height-snug);
    font-weight: var(--font-weight-bold);	
}

.text-form-right__body {
	font-family: var(--font-body);
	font-size: var(--text-body-base);
	line-height: var(--line-height-relaxed);
	color: var(--color-text-body);
	margin: 0;
}

/* ── Right: form card ─────────────────────────────────────── */
.text-form-right__form-card {
	background-color: var(--color-white);
	padding: var(--spacing-xl);
	box-shadow: var(--shadow-card);
}

/* ── Form card heading ────────────────────────────────────── */
.text-form-right__form-heading {
	font-family: var(--font-primary);
	font-size: var(--text-heading-md);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-snug);
	color: var(--color-text-heading);
	text-align: center;
	margin: 0 0 var(--spacing-lg) 0;
}

/* ── GF: hide required legend ─────────────────────────────── */
.text-form-right .gform_heading {
	display: none;
}

/* ── GF: submit button — full width, primary button style ─── */
.text-form-right .gform_footer {
	padding-top: var(--spacing-sm);
}

.text-form-right .gform_button {
	display: block;
	width: 100%;
	min-height: 48px;
	padding: var(--spacing-xs) var(--spacing-xl);
	background-color: var(--color-orange-primary);
	color: var(--color-white);
	border: 0;
	font-family: var(--font-primary);
	font-size: var(--text-body-base);
	font-weight: var(--font-weight-medium);
	line-height: var(--line-height-snug);
	cursor: pointer;
	transition: background-color 0.2s ease-in-out;
}

.text-form-right .gform_button:hover {
	background-color: #B74A1E;
}

.text-form-right .gform_button:active {
	background-color: #9A3F19;
}

/* ── Dark-bg overrides ────────────────────────────────────── */
.is-style-bg-dark .text-form-right__heading,
.is-style-bg-dark .text-form-right__content h3 {
	color: var(--color-text-body-inverse);
}

/* body p: caught by global .is-style-bg-dark p — correct */

/* Card always white — re-pin all interior text to dark-on-white */
.is-style-bg-dark .text-form-right__form-card h3,
.is-style-bg-dark .text-form-right__form-heading {
	color: var(--color-black-soft);
}

.is-style-bg-dark .text-form-right__form-card .gfield_label {
	color: var(--color-text-body);
}

/* Submit button stays orange inside white card */
.is-style-bg-dark .text-form-right .gform_button {
	background-color: var(--color-orange-primary);
	color: var(--color-white);
}

.is-style-bg-dark .text-form-right .gform_button:hover {
	background-color: #B74A1E;
}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width: 1023px) {
	.text-form-right {
		padding: var(--spacing-xl) var(--spacing-sm);
	}

	.text-form-right__row {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--spacing-xl);
	}

	/* Form card above content when stacked */
	.text-form-right__form-card {
		order: -1;
	}
}

@media (max-width: 767px) {
	.text-form-right__form-card {
		padding: var(--spacing-sm);
	}
}
