/*
Theme Name: Rush Bedrock
Theme URI: https://rush.example/
Author: Rush
Author URI: https://rush.example/
Description: Rush agency base block theme (Full Site Editing). Parent theme — client sites use a thin child theme that overrides brand tokens. Design system, templates, parts, patterns and fonts live here.
Version: 0.4.52
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rush
Tags: full-site-editing, block-patterns, editor-style, custom-colors, custom-logo, custom-menu
*/

/*
 * Most styling lives in theme.json (the design system).
 * Add only what theme.json cannot express below — keep it minimal.
 */

/* ==========================================================================
   Accessibility — interactive states theme.json can't express
   ========================================================================== */

/*
 * No custom focus rings — suppress theme + browser outlines on interactive
 * controls. Skip-link below still becomes visible on keyboard focus.
 */
:is( a, button, summary, input, select, textarea, .wp-element-button ):focus,
:is( a, button, summary, input, select, textarea, .wp-element-button ):focus-visible,
[tabindex]:not( [tabindex="-1"] ):focus,
[tabindex]:not( [tabindex="-1"] ):focus-visible,
.wp-block-search__input:focus,
.wp-block-search__input:focus-visible,
.wp-block-search__button:focus,
.wp-block-search__button:focus-visible {
	outline: none;
	box-shadow: none;
}

/*
 * Button states. :hover is a colour change and lives in theme.json (its
 * strength); :active (tactile press) and :disabled need transform/opacity,
 * which theme.json can't express.
 */
.wp-element-button {
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.wp-element-button:active {
	transform: translateY( 1px );
}

button:disabled,
input:disabled,
.wp-element-button[aria-disabled="true"] {
	opacity: 0.5;
	cursor: not-allowed;
}

/*
 * Skip link: WordPress core auto-injects one for block themes (to
 * #wp--skip-link--target before <main>). Core's default is grey #eee/#444 —
 * rebrand it. Specificity bumped (leading `a`) so it beats core's inline rule
 * regardless of load order.
 */
a.skip-link.screen-reader-text:focus {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	padding: var(--wp--custom--spacing--3) var(--wp--custom--spacing--4);
	font-size: var(--wp--preset--font-size--small);
	font-weight: var(--wp--custom--font-weight--medium);
	text-decoration: none;
	z-index: 100000;
}

/*
 * Button arrow + inverted-hover borders live in inc/button-styles.php
 * (button_parity_css) — enqueued on the front end and injected into the editor iframe.
 */

.rush-icon {
	display: inline-block;
	width: 1.25rem;
	height: 1.25rem;
	background-color: currentColor;
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
}

.rush-icon--search {
	mask-image: url("assets/icons/search.svg");
}

/* ==========================================================================
   Forms — shared input chrome (tokens: --wp--custom--form--*)
   Parent defaults match Figma/shadcn inputs. Override in child theme.json
   under settings.custom.form (and settings.custom.shadow).
   Search, native forms, Gravity Forms inherit the same look.
   ========================================================================== */

:where(
	input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="image"]):not([type="range"]):not([type="color"]),
	textarea,
	select
),
.wp-block-search__input,
.gform_wrapper :where(
	input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="image"]),
	textarea,
	select
) {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-height: var(--wp--custom--form--height);
	height: var(--wp--custom--form--height);
	padding: var(--wp--custom--form--padding-y) var(--wp--custom--form--padding-x);
	border: var(--wp--custom--form--border-width) solid var(--wp--custom--form--border-color);
	border-radius: var(--wp--custom--form--radius);
	background-color: var(--wp--custom--form--bg);
	color: var(--wp--custom--form--color);
	box-shadow: var(--wp--custom--form--shadow);
	font-family: inherit;
	font-size: var(--wp--custom--form--font-size);
	line-height: var(--wp--custom--line-height--snug, 1.25);
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

textarea,
.gform_wrapper textarea {
	height: auto;
	min-height: var(--wp--custom--form--textarea-min-height);
	padding-top: var(--wp--custom--form--padding-y-textarea);
	padding-bottom: var(--wp--custom--form--padding-y-textarea);
	resize: vertical;
}

:where(input, textarea, select)::placeholder {
	color: var(--wp--custom--form--placeholder);
	opacity: 1;
}

/*
 * Explicit GF field chrome (not :where) — Orbital/theme-framework in the editor
 * beats zero-specificity :where() for text/email/select. Textarea + choices already
 * use stronger selectors and look correct in the canvas.
 */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="search"],
.gform_wrapper input[type="date"],
.gform_wrapper input[type="time"],
.gform_wrapper input[type="datetime-local"],
.gform_wrapper input:not([type]),
.gform_wrapper select,
.gform_wrapper .ginput_container input[type="text"],
.gform_wrapper .ginput_container input[type="email"],
.gform_wrapper .ginput_container input[type="tel"],
.gform_wrapper .ginput_container input[type="url"],
.gform_wrapper .ginput_container input[type="number"],
.gform_wrapper .ginput_container input[type="password"],
.gform_wrapper .ginput_container input[type="search"],
.gform_wrapper .ginput_container select,
.gform_wrapper.gform-theme--framework input[type="text"],
.gform_wrapper.gform-theme--framework input[type="email"],
.gform_wrapper.gform-theme--framework input[type="tel"],
.gform_wrapper.gform-theme--framework input[type="url"],
.gform_wrapper.gform-theme--framework input[type="number"],
.gform_wrapper.gform-theme--framework input[type="password"],
.gform_wrapper.gform-theme--framework input[type="search"],
.gform_wrapper.gform-theme--framework input:not([type]),
.gform_wrapper.gform-theme--framework select,
.editor-styles-wrapper .gform_wrapper input[type="text"],
.editor-styles-wrapper .gform_wrapper input[type="email"],
.editor-styles-wrapper .gform_wrapper input[type="tel"],
.editor-styles-wrapper .gform_wrapper input[type="url"],
.editor-styles-wrapper .gform_wrapper input[type="number"],
.editor-styles-wrapper .gform_wrapper input[type="password"],
.editor-styles-wrapper .gform_wrapper input[type="search"],
.editor-styles-wrapper .gform_wrapper input:not([type]),
.editor-styles-wrapper .gform_wrapper select,
.block-editor-iframe__body .gform_wrapper input[type="text"],
.block-editor-iframe__body .gform_wrapper input[type="email"],
.block-editor-iframe__body .gform_wrapper input[type="tel"],
.block-editor-iframe__body .gform_wrapper input[type="url"],
.block-editor-iframe__body .gform_wrapper input[type="number"],
.block-editor-iframe__body .gform_wrapper input[type="password"],
.block-editor-iframe__body .gform_wrapper input[type="search"],
.block-editor-iframe__body .gform_wrapper input:not([type]),
.block-editor-iframe__body .gform_wrapper select {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-height: var(--wp--custom--form--height);
	height: var(--wp--custom--form--height);
	padding: var(--wp--custom--form--padding-y) var(--wp--custom--form--padding-x);
	border: var(--wp--custom--form--border-width) solid var(--wp--custom--form--border-color) !important;
	border-radius: var(--wp--custom--form--radius) !important;
	background-color: var(--wp--custom--form--bg) !important;
	color: var(--wp--custom--form--color);
	box-shadow: var(--wp--custom--form--shadow) !important;
	font-family: inherit;
	font-size: var(--wp--custom--form--font-size);
	line-height: var(--wp--custom--line-height--snug, 1.25);
	outline: none;
	appearance: none;
	-webkit-appearance: none;
}

.gform_wrapper select,
.editor-styles-wrapper .gform_wrapper select,
.block-editor-iframe__body .gform_wrapper select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23737373' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right var(--wp--custom--form--padding-x) center;
	background-size: 0.75rem;
	padding-right: calc(var(--wp--custom--form--padding-x) * 2 + 0.75rem);
}

.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper input[type="password"]:focus,
.gform_wrapper input[type="search"]:focus,
.gform_wrapper input:not([type]):focus,
.gform_wrapper select:focus,
.gform_wrapper input[type="text"]:focus-visible,
.gform_wrapper input[type="email"]:focus-visible,
.gform_wrapper input[type="tel"]:focus-visible,
.gform_wrapper input[type="url"]:focus-visible,
.gform_wrapper input[type="number"]:focus-visible,
.gform_wrapper input[type="password"]:focus-visible,
.gform_wrapper input[type="search"]:focus-visible,
.gform_wrapper input:not([type]):focus-visible,
.gform_wrapper select:focus-visible {
	border-color: var(--wp--custom--form--border-color);
	box-shadow: var(--wp--custom--form--shadow);
	outline: none;
}

/* Focus: keep site-wide no-ring policy, but restore input shadow after :focus { box-shadow: none }. */
:where(
	input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="image"]):not([type="range"]):not([type="color"]),
	textarea,
	select
):focus,
:where(
	input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="image"]):not([type="range"]):not([type="color"]),
	textarea,
	select
):focus-visible,
.wp-block-search__input:focus,
.wp-block-search__input:focus-visible,
.gform_wrapper :where(
	input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="image"]),
	textarea,
	select
):focus,
.gform_wrapper :where(
	input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):not([type="image"]),
	textarea,
	select
):focus-visible {
	border-color: var(--wp--custom--form--focus-color);
	box-shadow: var(--wp--custom--form--shadow);
}

/* —— Gravity Forms (token-driven; Orbital vars remapped to Rush form tokens) —— */

.gform_wrapper {
	--gf-ctrl-border-color: var(--wp--custom--form--border-color);
	--gf-ctrl-desc-color: var(--wp--custom--form--description-color);
	--gf-ctrl-label-color-primary: var(--wp--custom--form--label-color);
	--gf-ctrl-label-color-secondary: var(--wp--custom--form--label-color);
	--gf-radius: var(--wp--custom--form--radius);
	--gf-color-primary: var(--wp--custom--form--submit-bg);
	--gf-color-primary-contrast: var(--wp--custom--form--submit-color);
	--gf-color-primary-darker: var(--wp--custom--form--submit-hover-bg);
	--gf-color-in-ctrl: var(--wp--custom--form--bg);
	--gf-color-in-ctrl-contrast: var(--wp--custom--form--color);
	--gf-font-size-secondary: var(--wp--custom--form--font-size);
	width: 100%;
	max-width: 100%;
}

/*
 * Orbital injects #gform_wrapper_N { --gf-ctrl-border-color:#686e77; --gf-radius:3px }.
 * Force Rush tokens so editor + framework controls match the frontend.
 */
.gform_wrapper.gform-theme,
.gform_wrapper.gform-theme--framework,
.gform_wrapper.gform-theme--orbital {
	--gf-ctrl-border-color: var(--wp--custom--form--border-color) !important;
	--gf-ctrl-border-color-hover: var(--wp--custom--form--border-color) !important;
	--gf-ctrl-border-color-focus: var(--wp--custom--form--border-color) !important;
	--gf-ctrl-bg-color: var(--wp--custom--form--bg) !important;
	--gf-ctrl-shadow: var(--wp--custom--form--shadow) !important;
	--gf-ctrl-radius: var(--wp--custom--form--radius) !important;
	--gf-radius: var(--wp--custom--form--radius) !important;
	--gf-color-in-ctrl-dark-lighter: var(--wp--custom--form--border-color) !important;
}

.gform_wrapper .gform_required_legend {
	display: none !important;
}

.gform_wrapper .gform_heading {
	margin: 0 0 var(--wp--custom--form--field-gap);
}

/* 12-col grid so editor field widths (half / third / …) work with gform_disable_css. */
.gform_wrapper .gform_fields,
.gform_wrapper .gform_body .gform_fields {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: var(--wp--custom--form--column-gap, var(--wp--custom--spacing--3, 0.75rem));
	row-gap: var(--wp--custom--form--field-gap);
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
}

.gform_wrapper .gfield {
	grid-column: 1 / -1;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0; /* fieldsets (checkbox/radio/name/…) get a UA border otherwise */
	min-inline-size: 0;
}

.gform_wrapper fieldset.gfield > legend.gfield_label {
	padding: 0;
	float: none; /* some UAs float legend oddly inside fieldset */
}

.gform_wrapper .gfield--width-full {
	grid-column: span 12;
}

.gform_wrapper .gfield--width-eleven-twelfths {
	grid-column: span 11;
}

.gform_wrapper .gfield--width-five-sixths {
	grid-column: span 10;
}

.gform_wrapper .gfield--width-three-quarter {
	grid-column: span 9;
}

.gform_wrapper .gfield--width-two-thirds {
	grid-column: span 8;
}

.gform_wrapper .gfield--width-seven-twelfths {
	grid-column: span 7;
}

.gform_wrapper .gfield--width-half {
	grid-column: span 6;
}

.gform_wrapper .gfield--width-five-twelfths {
	grid-column: span 5;
}

.gform_wrapper .gfield--width-third {
	grid-column: span 4;
}

.gform_wrapper .gfield--width-quarter {
	grid-column: span 3;
}

.gform_wrapper .gfield--width-one-sixth {
	grid-column: span 2;
}

.gform_wrapper .gfield--width-one-twelfth {
	grid-column: span 1;
}

@media (max-width: 640px) {
	.gform_wrapper .gfield:not(.gfield--width-full) {
		grid-column: 1 / -1;
	}
}

.gform_wrapper .gfield_label,
.gform_wrapper .gform-field-label:not(.gform-field-label--type-inline) {
	display: block;
	margin: 0 0 var(--wp--custom--form--label-gap);
	color: var(--wp--custom--form--label-color);
	font-size: var(--wp--custom--form--label-size);
	font-weight: var(--wp--custom--form--label-weight);
	line-height: var(--wp--custom--line-height--snug, 1.25);
}

.gform_wrapper .gfield_required {
	color: inherit;
	margin-left: 0.15em;
}

.gform_wrapper .gfield_description,
.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
	margin: 0;
	color: var(--wp--custom--form--description-color);
	font-size: var(--wp--custom--form--font-size);
	line-height: var(--wp--custom--line-height--normal, 1.5);
}

.gform_wrapper .field_description_above .gfield_label {
	margin-bottom: var(--wp--custom--spacing--2, 0.5rem);
}

.gform_wrapper .field_description_above .gfield_description {
	margin: 0 0 var(--wp--custom--form--label-gap);
}

.gform_wrapper .field_description_below .gfield_description,
.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
	margin-top: var(--wp--custom--spacing--2, 0.5rem);
}

.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message,
.gform_wrapper .gform_validation_errors {
	color: var(--wp--custom--form--error-color);
}

.gform_wrapper .ginput_container {
	margin: 0;
}

.gform_wrapper .ginput_complex,
.gform_wrapper .gform-grid-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--custom--spacing--3, 0.75rem);
}

.gform_wrapper .ginput_complex > span,
.gform_wrapper .gform-grid-col {
	flex: 1 1 10rem;
	min-width: 0;
}

.gform_wrapper .ginput_complex label,
.gform_wrapper .ginput_complex .gform-field-label {
	margin: var(--wp--custom--spacing--2, 0.5rem) 0 0;
	font-size: var(--wp--custom--font-size--xs, 0.75rem);
	font-weight: var(--wp--custom--font-weight--regular, 400);
	color: var(--wp--custom--form--description-color);
}

.gform_wrapper .gfield--type-consent,
.gform_wrapper .gfield--type-checkbox,
.gform_wrapper .gfield--type-radio {
	font-size: var(--wp--custom--form--font-size);
}

.gform_wrapper .gfield_checkbox,
.gform_wrapper .gfield_radio,
.gform_wrapper .gfield--type-consent .ginput_container {
	display: flex;
	flex-direction: column;
	gap: var(--wp--custom--spacing--3, 0.75rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

/* GF places input + label as siblings inside .gchoice (not input nested in label). */
.gform_wrapper .gchoice {
	display: flex;
	align-items: flex-start;
	gap: var(--wp--custom--spacing--3, 0.75rem);
	margin: 0;
}

.gform_wrapper .gchoice .gform-field-label,
.gform_wrapper .gchoice .gform-field-label--type-inline,
.gform_wrapper .gfield_checkbox label,
.gform_wrapper .gfield_radio label,
.gform_wrapper .gfield--type-consent label {
	display: inline;
	margin: 0;
	padding: 0;
	color: var(--wp--custom--form--description-color);
	font-size: var(--wp--custom--form--font-size);
	font-weight: var(--wp--custom--font-weight--regular, 400);
	line-height: var(--wp--custom--line-height--normal, 1.5);
	cursor: pointer;
}

.gform_wrapper .gfield-choice-input[type="checkbox"],
.gform_wrapper .gfield-choice-input[type="radio"],
.gform_wrapper .gfield--type-consent input[type="checkbox"],
.gform_wrapper .gfield_checkbox input[type="checkbox"],
.gform_wrapper .gfield_radio input[type="radio"] {
	-webkit-appearance: none;
	appearance: none;
	flex-shrink: 0;
	box-sizing: border-box;
	width: var(--wp--custom--form--checkbox-size);
	height: var(--wp--custom--form--checkbox-size);
	min-width: var(--wp--custom--form--checkbox-size);
	min-height: var(--wp--custom--form--checkbox-size);
	margin: 0.15rem 0 0;
	padding: 0;
	border: var(--wp--custom--form--border-width) solid var(--wp--custom--form--choice-border-color);
	background-color: var(--wp--custom--form--choice-bg);
	box-shadow: none;
	outline: none;
	color: transparent; /* kill UA check glyph / focus paint */
	display: inline-grid;
	place-content: center;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.gform_wrapper .gfield-choice-input[type="checkbox"],
.gform_wrapper .gfield--type-consent input[type="checkbox"],
.gform_wrapper .gfield_checkbox input[type="checkbox"] {
	border-radius: var(--wp--custom--form--checkbox-radius);
}

.gform_wrapper .gfield-choice-input[type="radio"],
.gform_wrapper .gfield_radio input[type="radio"] {
	border-radius: var(--wp--custom--radius--full, 9999px);
}

.gform_wrapper .gfield-choice-input[type="checkbox"]::before,
.gform_wrapper .gfield--type-consent input[type="checkbox"]::before,
.gform_wrapper .gfield_checkbox input[type="checkbox"]::before {
	content: "";
	width: 0.7rem;
	height: 0.7rem;
	transform: scale(0);
	transform-origin: center;
	transition: transform 0.12s ease-in-out;
	background-color: var(--wp--custom--form--choice-checked-color);
	clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0%, 43% 62%);
}

.gform_wrapper .gfield-choice-input[type="radio"]::before,
.gform_wrapper .gfield_radio input[type="radio"]::before {
	content: "";
	width: 0.625rem;
	height: 0.625rem;
	border-radius: var(--wp--custom--radius--full, 9999px);
	transform: scale(0);
	transform-origin: center;
	transition: transform 0.12s ease-in-out;
	background-color: var(--wp--custom--form--choice-checked-color);
}

/* Checked: light box; indicator (check / radio dot) uses choice-checked-color. */
.gform_wrapper .gfield-choice-input[type="checkbox"]:checked,
.gform_wrapper .gfield--type-consent input[type="checkbox"]:checked,
.gform_wrapper .gfield_checkbox input[type="checkbox"]:checked,
.gform_wrapper .gfield-choice-input[type="radio"]:checked,
.gform_wrapper .gfield_radio input[type="radio"]:checked {
	background-color: var(--wp--custom--form--choice-checked-bg);
	border-color: var(--wp--custom--form--choice-checked-border-color);
	box-shadow: none;
}

.gform_wrapper .gfield-choice-input[type="checkbox"]:checked::before,
.gform_wrapper .gfield--type-consent input[type="checkbox"]:checked::before,
.gform_wrapper .gfield_checkbox input[type="checkbox"]:checked::before,
.gform_wrapper .gfield-choice-input[type="radio"]:checked::before,
.gform_wrapper .gfield_radio input[type="radio"]:checked::before {
	transform: scale(1);
}

.gform_wrapper .gfield-choice-input:focus,
.gform_wrapper .gfield-choice-input:focus-visible,
.gform_wrapper .gfield--type-consent input[type="checkbox"]:focus,
.gform_wrapper .gfield--type-consent input[type="checkbox"]:focus-visible,
.gform_wrapper .gfield_checkbox input[type="checkbox"]:focus,
.gform_wrapper .gfield_checkbox input[type="checkbox"]:focus-visible,
.gform_wrapper .gfield_radio input[type="radio"]:focus,
.gform_wrapper .gfield_radio input[type="radio"]:focus-visible {
	outline: none;
	border-color: var(--wp--custom--form--choice-checked-border-color);
	box-shadow: none;
}

.gform_wrapper .gfield--type-consent a,
.gform_wrapper .gfield_checkbox a,
.gform_wrapper .gchoice a {
	color: var(--wp--custom--form--color);
	text-decoration: underline;
}

.gform_wrapper .gform_footer,
.gform_wrapper .gform_page_footer {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--custom--spacing--3, 0.75rem);
	margin: var(--wp--custom--form--field-gap) 0 0;
	padding: 0;
	border: 0;
}

.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"],
.gform_wrapper input[type="button"].gform_button,
.gform_wrapper .gform-theme-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	min-height: var(--wp--custom--form--submit-height);
	height: var(--wp--custom--form--submit-height);
	margin: 0;
	padding: 0 var(--wp--custom--form--submit-padding-x);
	border: var(--wp--custom--form--border-width) solid var(--wp--custom--form--submit-bg);
	border-radius: var(--wp--custom--form--submit-radius);
	background-color: var(--wp--custom--form--submit-bg);
	color: var(--wp--custom--form--submit-color);
	box-shadow: none;
	font-family: inherit;
	font-size: var(--wp--custom--form--submit-font-size);
	font-weight: var(--wp--custom--form--submit-font-weight);
	line-height: 1;
	cursor: pointer;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.gform_wrapper .gform_button:hover,
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper input[type="button"].gform_button:hover,
.gform_wrapper .gform-theme-button:hover {
	background-color: var(--wp--custom--form--submit-hover-bg);
	border-color: var(--wp--custom--form--submit-hover-bg);
	color: var(--wp--custom--form--submit-hover-color);
}

.gform_wrapper .gform_ajax_spinner {
	margin-left: var(--wp--custom--spacing--2, 0.5rem);
}

/* Search block: only the inside-button variant shares one control shell. */
.wp-block-search__button-inside .wp-block-search__inside-wrapper {
	display: flex;
	align-items: stretch;
	border: var(--wp--custom--form--border-width) solid var(--wp--custom--form--border-color);
	border-radius: var(--wp--custom--form--radius);
	background-color: var(--wp--custom--form--bg);
	box-shadow: var(--wp--custom--form--shadow);
	overflow: hidden;
}

.wp-block-search__button-inside .wp-block-search__input {
	border: 0;
	border-radius: 0;
	min-height: var(--wp--custom--form--height);
}

.wp-block-search__button-inside .wp-block-search__button {
	margin: 0;
	border: 0;
	border-radius: 0;
	border-left: var(--wp--custom--form--border-width) solid var(--wp--custom--form--border-color);
	min-height: var(--wp--custom--form--height);
}

.wp-block-search__button-outside .wp-block-search__inside-wrapper {
	gap: var(--wp--custom--spacing--2);
}

.wp-block-search__button-outside .wp-block-search__button {
	margin-left: 0;
}

/* Hide native search clear; replace with .rush-search-reset chip. */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}

.rush-search-field {
	position: relative;
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	width: 100%;
}

.rush-search-field input[type="search"],
.rush-search-field .wp-block-search__input {
	width: 100%;
	padding-right: 5.5rem;
}

.rush-search-reset {
	position: absolute;
	top: 50%;
	right: var(--wp--custom--form--padding-x);
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	margin: 0;
	padding: 0.125rem 0.375rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--sm);
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--secondary);
	font-family: inherit;
	font-size: 0.75rem;
	font-weight: var(--wp--custom--font-weight--medium);
	line-height: 1.2;
	cursor: pointer;
	z-index: 1;
}

.rush-search-reset[hidden] {
	display: none !important;
}

.rush-search-reset__x {
	font-size: 0.875rem;
	font-weight: var(--wp--custom--font-weight--semibold);
	line-height: 1;
	color: var(--wp--preset--color--contrast);
}

.wp-block-search__button-inside .rush-search-field .wp-block-search__input {
	padding-right: 5.5rem;
}

/* ==========================================================================
   Search results — minimal list rows
   ========================================================================== */

.rush-search-results .wp-block-post-template {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}

.rush-search-results .wp-block-post {
	margin: 0;
	padding: var(--wp--custom--spacing--6) 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.rush-search-results .wp-block-post:first-child {
	padding-top: 0;
}

.rush-search-results .rush-search-results__item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	text-align: left;
}

.rush-search-results .rush-search-results__row {
	display: grid;
	grid-template-columns: 100px minmax(0, 1fr);
	gap: var(--wp--custom--spacing--4);
	align-items: start;
	width: 100%;
	text-align: left;
}

.rush-search-results .rush-search-results__media {
	width: 100px;
	height: 100px;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--md);
	background-color: var(--wp--preset--color--muted);
}

.rush-search-results .wp-block-post-featured-image {
	margin: 0;
	width: 100%;
	height: 100%;
}

.rush-search-results .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.rush-search-results .rush-search-results__body {
	min-width: 0;
	margin: 0;
	margin-block-start: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--custom--spacing--1);
	text-align: left;
}

.rush-search-results .rush-search-results__body > *,
.rush-search-results .wp-block-post-title,
.rush-search-results .wp-block-post-excerpt,
.rush-search-results .wp-block-post-excerpt p {
	width: 100%;
	text-align: left;
}

.rush-search-results .wp-block-rush-post-type-label,
.rush-search-results .rush-post-type-label {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	font-size: 0.75rem;
	color: var(--wp--custom--color--neutral-400);
	line-height: var(--wp--custom--line-height--snug);
}

.rush-search-results .wp-block-post-title {
	margin: 0;
	font-size: var(--wp--preset--font-size--large);
	font-weight: var(--wp--custom--font-weight--semibold);
	line-height: var(--wp--custom--line-height--snug);
}

.rush-search-results .wp-block-post-title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.rush-search-results .wp-block-post-title a:hover {
	text-decoration: underline;
}

.rush-search-results .wp-block-post-excerpt {
	margin: 0;
}

.rush-search-results .wp-block-post-excerpt p {
	margin: 0;
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--medium);
}

/* ==========================================================================
   CTA media cards — shared shell (two distinct layouts: right vs. left)
   ========================================================================== */

.rush-cta-media-card {
	position: relative;
	overflow: hidden;
}

.rush-cta-media-card--right .rush-cta-media-card__media {
	min-height: 320px;
}

.rush-cta-media-card--right .rush-cta-media-card__cover {
	position: absolute !important;
	right: 0 !important;
	bottom: 0 !important;
	width: calc(48% - var(--wp--custom--spacing--16)) !important;
	margin: 0 !important;
	min-height: 320px;
	border-radius: var(--wp--custom--radius--lg) 0 var(--wp--custom--radius--lg) 0 !important;
}

@media (max-width: 781px) {
	.rush-cta-media-card--right .rush-cta-media-card__media {
		min-height: 280px;
	}

	.rush-cta-media-card--right .rush-cta-media-card__cover {
		width: 70% !important;
		min-height: 280px;
	}

	.rush-cta-media-card--right .wp-block-columns > .wp-block-column:not(.rush-cta-media-card__media) {
		padding-right: var(--wp--custom--spacing--6) !important;
		padding-bottom: var(--wp--custom--spacing--12) !important;
	}
}

@media (max-width: 781px) {
	.rush-cta-media-card--left .rush-cta-media-card__media {
		padding: var(--wp--custom--spacing--6) var(--wp--custom--spacing--6) var(--wp--custom--spacing--4) var(--wp--custom--spacing--6) !important;
	}

	.rush-cta-media-card--left .wp-block-columns > .wp-block-column:not(.rush-cta-media-card__media) {
		padding-top: var(--wp--custom--spacing--6) !important;
		padding-left: var(--wp--custom--spacing--6) !important;
		padding-right: var(--wp--custom--spacing--6) !important;
	}
}

.editor-styles-wrapper .rush-cta-media-card--right .wp-block-columns,
.editor-styles-wrapper .rush-cta-media-card--right .wp-block-column,
.block-editor-iframe__body .rush-cta-media-card--right .wp-block-columns,
.block-editor-iframe__body .rush-cta-media-card--right .wp-block-column {
	position: static !important;
}

/* —— Header section patterns —— */

/* Pill badge (Hero / announcements) */
.wp-block-paragraph.is-style-badge,
p.is-style-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	width: fit-content;
	max-width: 100%;
	margin: 0;
	padding: 0.25rem 0.75rem;
	font-size: var(--wp--preset--font-size--small, 0.875rem);
	font-weight: var(--wp--custom--font-weight--medium, 500);
	line-height: 1.25;
	color: var(--wp--preset--color--contrast, #0a0a0a) !important;
	background-color: var(--wp--preset--color--base, #fff);
	border: 1px solid var(--wp--preset--color--border, #e5e5e5);
	border-radius: var(--wp--custom--radius--full, 9999px);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.wp-block-paragraph.is-style-badge.has-text-align-center,
p.is-style-badge.has-text-align-center {
	margin-left: auto;
	margin-right: auto;
}

.wp-block-paragraph.is-style-badge::before,
p.is-style-badge::before {
	content: "";
	flex-shrink: 0;
	width: 0.375rem;
	height: 0.375rem;
	border-radius: 9999px;
	background-color: var(--wp--preset--color--primary, #66cc99);
}

.wp-block-paragraph.is-style-badge::after,
p.is-style-badge::after {
	content: "↗";
	flex-shrink: 0;
	font-size: 0.875em;
	line-height: 1;
	color: var(--wp--preset--color--secondary, #737373);
}

.wp-block-paragraph.is-style-badge .rush-badge__muted,
p.is-style-badge .rush-badge__muted {
	color: var(--wp--preset--color--secondary, #737373) !important;
}

.has-contrast-background-color .wp-block-paragraph.is-style-badge,
.has-contrast-background-color p.is-style-badge {
	color: var(--wp--preset--color--base, #fff) !important;
	background-color: transparent;
	border-color: rgba(255, 255, 255, 0.2);
	box-shadow: none;
}

.has-contrast-background-color .wp-block-paragraph.is-style-badge::after,
.has-contrast-background-color p.is-style-badge::after,
.has-contrast-background-color .wp-block-paragraph.is-style-badge .rush-badge__muted,
.has-contrast-background-color p.is-style-badge .rush-badge__muted {
	color: rgba(255, 255, 255, 0.7) !important;
}

/* Collapse white block-gap when two muted full-bleed sections stack. */
.wp-block-post-content > .has-muted-background-color + .has-muted-background-color,
.is-root-container > .has-muted-background-color + .has-muted-background-color,
.editor-styles-wrapper .wp-block-post-content > .has-muted-background-color + .has-muted-background-color,
.block-editor-iframe__body .wp-block-post-content > .has-muted-background-color + .has-muted-background-color,
.editor-styles-wrapper .is-root-container > .has-muted-background-color + .has-muted-background-color,
.block-editor-iframe__body .is-root-container > .has-muted-background-color + .has-muted-background-color {
	margin-block-start: 0 !important;
}

@media (max-width: 781px) {
	/* Text */
	.rush-header-mobile-center .wp-block-heading,
	.rush-header-mobile-center p,
	.rush-header-mobile-center .wp-block-paragraph {
		text-align: center !important;
	}

	/* Flex stacks (copy groups): center children horizontally */
	.rush-header-mobile-center .is-layout-flex {
		align-items: center !important;
	}

	/* Buttons row */
	.rush-header-mobile-center .wp-block-buttons,
	.rush-header-mobile-center .wp-block-buttons.is-layout-flex {
		justify-content: center !important;
		align-items: center !important;
		width: 100%;
	}

	/* Badge pill / rush/badge */
	.rush-header-mobile-center .is-style-badge,
	.rush-header-mobile-center p.is-style-badge {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.rush-header-mobile-center .rush-badge-block {
		justify-content: center !important;
	}

	/* Constrained / left-justified inner blocks → center */
	.rush-header-mobile-center.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
	.rush-header-mobile-center .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	.rush-header-left.rush-header-mobile-center {
		margin-left: auto !important;
		margin-right: auto !important;
	}

	/* Columns: keep stacked content centered */
	.rush-header-mobile-center .wp-block-column {
		text-align: center;
	}

	.rush-header-mobile-center .wp-block-column .is-layout-flex {
		align-items: center !important;
	}
}

/* —— Feature patterns (minimal helpers) —— */

/* Check row: keep icon + text tight in editor and front */
.rush-feature-check-row {
	align-items: flex-start !important;
	gap: 0.5rem !important;
}

.rush-feature-check,
.rush-feature-check.wp-block-image,
.rush-feature-check img {
	display: block;
	flex-shrink: 0;
	width: 1.25rem !important;
	max-width: 1.25rem !important;
	height: 1.25rem !important;
	margin: 0.15rem 0 0 !important;
	line-height: 0;
}

.rush-feature-check figure,
.rush-feature-check.wp-block-image {
	margin: 0.15rem 0 0 !important;
}

.rush-icon-check {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	color: var(--wp--preset--color--contrast, #0a0a0a);
}

/*
 * Feature icons = Image block inside a 40×40 framed box (border + radius).
 * Icon keeps original aspect ratio, capped inside the box.
 * Variant `.rush-feature-icon` (no box) — used by “Media left with icon rows”.
 */
.rush-feature-icon-box.wp-block-image,
figure.rush-feature-icon-box {
	box-sizing: border-box;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 2.5rem !important;
	height: 2.5rem !important;
	min-width: 2.5rem;
	min-height: 2.5rem;
	max-width: 2.5rem;
	margin: 0 !important;
	padding: 0.5rem;
	line-height: 0;
	flex-shrink: 0;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border, #e5e5e5);
	border-radius: var(--wp--custom--radius--md, 0.5rem);
	background-color: var(--wp--preset--color--base, #fff);
}

.rush-feature-icon-box.wp-block-image img,
figure.rush-feature-icon-box img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 1.25rem !important;
	max-height: 1.25rem !important;
	object-fit: contain;
	margin: 0 auto;
}

/* No frame — icon only (feature-09) */
.rush-feature-icon.wp-block-image,
figure.rush-feature-icon {
	margin: 0 !important;
	line-height: 0;
	flex-shrink: 0;
	width: auto !important;
	max-width: 2.5rem;
	height: auto !important;
}

.rush-feature-icon.wp-block-image img,
figure.rush-feature-icon img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 2.5rem !important;
	max-height: none !important;
	object-fit: contain;
}

/* Title + text stack: tight gap (theme heading margins otherwise inflate it) */
.rush-feature-copy {
	gap: 0.25rem !important;
}

.rush-feature-copy .wp-block-heading,
.rush-feature-item > .wp-block-heading,
.rush-feature-check-row .wp-block-heading {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.rush-feature-copy > .wp-block-heading + p,
.rush-feature-copy > .wp-block-heading + .wp-block-paragraph,
.rush-feature-item > .wp-block-heading + p,
.rush-feature-item > .wp-block-heading + .wp-block-paragraph {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Feature 02: media left on desktop, text first on mobile */
@media (max-width: 781px) {
	.rush-feature-media-left.wp-block-columns {
		flex-direction: column !important;
	}

	.rush-feature-media-left.wp-block-columns > .wp-block-column:first-child {
		order: 2;
	}

	.rush-feature-media-left.wp-block-columns > .wp-block-column:last-child {
		order: 1;
	}
}

/* Feature 05: 1 col → md 2 cols → lg 4 cols */
.rush-feature-cols-4.wp-block-columns {
	flex-wrap: wrap !important;
}

.rush-feature-cols-4.wp-block-columns > .wp-block-column {
	flex-basis: 100% !important;
	max-width: 100% !important;
}

@media (min-width: 768px) {
	.rush-feature-cols-4.wp-block-columns > .wp-block-column {
		flex-basis: calc(50% - var(--wp--custom--spacing--3, 0.75rem)) !important;
		max-width: calc(50% - var(--wp--custom--spacing--3, 0.75rem)) !important;
	}
}

@media (min-width: 1024px) {
	.rush-feature-cols-4.wp-block-columns > .wp-block-column {
		flex-basis: calc(25% - var(--wp--custom--spacing--5, 1.25rem)) !important;
		max-width: calc(25% - var(--wp--custom--spacing--5, 1.25rem)) !important;
	}
}

/* Feature 08 list: one column until lg, then two */
@media (max-width: 1023px) {
	.rush-feature-checks-grid.wp-block-columns {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
	}

	.rush-feature-checks-grid.wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}
}

.rush-feature-checks-list {
	gap: var(--wp--custom--spacing--6, 1.5rem) !important;
}

.rush-feature-checks-list > .rush-feature-check-row,
.rush-feature-checks-list > .wp-block-group.rush-feature-check-row {
	margin-bottom: 0 !important;
}

/* Feature 10 rows: stay within the outer constrained band (do not break out). */
.rush-feature-rows {
	width: 100%;
	max-width: 100%;
}

/* Testimonial accent — mobile drops the rule */
.rush-feature-testimonial {
	box-sizing: border-box;
}

@media (max-width: 781px) {
	.rush-feature-testimonial {
		border-left: 0 !important;
		padding-left: 0 !important;
	}
}

/* Editor: check-row children must not stretch the flex gap */
.editor-styles-wrapper .rush-feature-check-row > .wp-block,
.block-editor-iframe__body .rush-feature-check-row > .wp-block,
.editor-styles-wrapper .rush-feature-check-row > .block-editor-block-list__block,
.block-editor-iframe__body .rush-feature-check-row > .block-editor-block-list__block {
	margin: 0 !important;
	width: auto !important;
	max-width: none !important;
	flex-shrink: 0;
}

.editor-styles-wrapper .rush-feature-check-row > .wp-block:last-child,
.block-editor-iframe__body .rush-feature-check-row > .wp-block:last-child,
.editor-styles-wrapper .rush-feature-check-row > .block-editor-block-list__block:last-child,
.block-editor-iframe__body .rush-feature-check-row > .block-editor-block-list__block:last-child {
	flex: 1 1 auto;
	min-width: 0;
	width: auto !important;
}

.editor-styles-wrapper .rush-feature-testimonial > .wp-block,
.block-editor-iframe__body .rush-feature-testimonial > .wp-block,
.editor-styles-wrapper .rush-feature-testimonial .acf-block-component,
.block-editor-iframe__body .rush-feature-testimonial .acf-block-component,
.editor-styles-wrapper .rush-feature-testimonial .acf-block-preview,
.block-editor-iframe__body .rush-feature-testimonial .acf-block-preview {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100%;
}

/* —— Testimonial patterns —— */

/* Single centered: roomier quote → meta gap (matches Figma spacing/8). */
.rush-testimonial-single .rush-testimonial__body {
	gap: var(--wp--custom--spacing--8, 2rem);
}

.rush-testimonial-single .rush-testimonial__photo {
	width: 3.5rem;
	height: 3.5rem;
}

/* Split: vertical rule desktop, horizontal mobile (spacing owned here, not blockGap). */
@media (min-width: 782px) {
	.rush-testimonial-split.wp-block-columns > .wp-block-column:not(:last-child) {
		border-right: 1px solid var(--wp--preset--color--border, #e5e5e5);
		padding-right: var(--wp--custom--spacing--12, 3rem);
	}

	.rush-testimonial-split.wp-block-columns > .wp-block-column:not(:first-child) {
		padding-left: var(--wp--custom--spacing--12, 3rem);
	}
}

@media (max-width: 781px) {
	.rush-testimonial-split.wp-block-columns > .wp-block-column:not(:last-child) {
		border-bottom: 1px solid var(--wp--preset--color--border, #e5e5e5);
		padding-bottom: var(--wp--custom--spacing--8, 2rem);
		margin-bottom: var(--wp--custom--spacing--8, 2rem);
	}
}

/* Card grid: smaller circular avatar. */
.rush-testimonial-cards.wp-block-columns > .wp-block-column {
	display: flex;
}

.rush-testimonial-cards .rush-testimonial-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
}

.rush-testimonial-card .rush-testimonial__photo {
	width: 2.5rem;
	height: 2.5rem;
}

.rush-testimonial-card .rush-testimonial__body {
	gap: var(--wp--custom--spacing--6, 1.5rem);
}

/* Media + quote: slightly larger/bolder quote (Figma ~24px semibold). */
.rush-testimonial-media-copy .rush-testimonial__quote {
	font-size: 1.5rem;
	font-weight: var(--wp--custom--font-weight--semibold, 600);
	line-height: var(--wp--custom--line-height--snug, 1.35);
}
 
.rush-testimonial-media-copy .rush-testimonial__body {
	gap: var(--wp--custom--spacing--6, 1.5rem);
}

.rush-testimonial-media-layout.wp-block-columns > .wp-block-column:first-child .wp-block-cover {
	overflow: hidden;
}

@media (min-width: 782px) {
	.rush-testimonial-media-layout.wp-block-columns {
		gap: var(--wp--custom--spacing--16, 8rem);
	}
}

/* Split-left: center on mobile like Figma. */
@media (max-width: 781px) {
	.rush-testimonial-mobile-center .rush-testimonial--align-left .rush-testimonial__body,
	.rush-testimonial-mobile-center .rush-testimonial--align-left .rush-testimonial__quote {
		text-align: center;
	}

	.rush-testimonial-mobile-center .rush-testimonial--align-left .rush-testimonial__meta {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	.rush-testimonial-mobile-center .rush-testimonial--align-left .rush-testimonial__identity {
		justify-content: center;
		text-align: center;
	}
}

/* —— Contact patterns —— */

/* Contact 02/03: wide band (1280) centered inside alignfull.
 * Do NOT zero horizontal margins — that kills constrained layout centering. */
.rush-contact-02,
.rush-contact-03 {
	box-sizing: border-box;
}

.rush-contact-02__columns,
.rush-contact-03__columns {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1280px);
	margin-block: 0 !important;
	margin-inline: auto !important;
	align-items: stretch;
	column-gap: var(--wp--custom--spacing--16, 4rem) !important;
	row-gap: var(--wp--custom--spacing--16, 4rem) !important;
}

.rush-contact-02__columns > .wp-block-column,
.rush-contact-03__columns > .wp-block-column {
	margin: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
}

/*
 * Padding: spacing--32 only on desktop.
 * Mobile left + gray: spacing--8 (top and bottom).
 */
.rush-contact-02__copy,
.rush-contact-03__form,
.rush-contact-02__form.has-background,
.rush-contact-03__aside.has-background {
	padding-top: var(--wp--custom--spacing--8, 2rem) !important;
	padding-bottom: var(--wp--custom--spacing--8, 2rem) !important;
}

@media (min-width: 782px) {
	.rush-contact-02__copy,
	.rush-contact-03__form {
		padding-top: var(--wp--custom--spacing--32, 8rem) !important;
		padding-bottom: var(--wp--custom--spacing--fluid-lg, 4rem) !important;
	}

	.rush-contact-02__form.has-background,
	.rush-contact-03__aside.has-background {
		padding-top: var(--wp--custom--spacing--32, 8rem) !important;
		padding-bottom: var(--wp--custom--spacing--32, 8rem) !important;
	}
}

/* Left column: no max-width — fill the half. */
.rush-contact-02__copy > .wp-block-group,
.rush-contact-03__form > .wp-block-group {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

/* Right (gray) column: keep a readable content stack width. */
.rush-contact-02__form > .wp-block-group,
.rush-contact-03__aside > .wp-block-group {
	width: 100%;
	max-width: 448px;
	margin-left: auto;
	margin-right: auto;
}

/* Gray panel: radius on all four corners (Woodtli-style card). */
.rush-contact-02__form.has-muted-background-color,
.rush-contact-02__form.has-background,
.rush-contact-03__aside.has-muted-background-color,
.rush-contact-03__aside.has-background {
	border-radius: var(--wp--custom--radius--lg, 0.75rem);
	overflow: hidden;
}

.rush-contact-02__form .rush-contact-form,
.rush-contact-02__form .gform_wrapper,
.rush-contact-03__form .rush-contact-form,
.rush-contact-03__form .gform_wrapper {
	width: 100%;
}

/* Contact 01: form band = content size (beats :where() layout specificity + alignfull). */
.rush-contact-01__form,
.rush-contact-01 .rush-contact-01__form {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--wp--style--global--content-size, 720px);
	margin-left: auto;
	margin-right: auto;
}

.rush-contact-01__form .rush-contact-form,
.rush-contact-01__form .gform_wrapper,
.rush-contact-01__form .wp-block-gravityforms-form {
	width: 100%;
	max-width: 100%;
}

/* Contact 03 aside rules: equal space above/below, slightly darker than border token. */
.rush-contact-03__aside-inner > .wp-block-separator {
	box-sizing: border-box;
	display: block;
	width: 100% !important;
	max-width: none !important;
	height: 0;
	margin-block: var(--wp--custom--spacing--8, 2rem) !important;
	margin-inline: 0 !important;
	padding: 0;
	border: 0;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast, #0a0a0a) 18%, var(--wp--preset--color--muted, #f5f5f5));
	background: none !important;
	color: inherit;
	opacity: 1;
}

.rush-contact-04__cover {
	min-height: 0 !important;
	width: 100%;
	overflow: hidden;
}

.rush-contact-04__columns {
	column-gap: var(--wp--custom--spacing--16, 4rem) !important;
	row-gap: var(--wp--custom--spacing--16, 4rem) !important;
}

.rush-contact-04__cover.wp-block-cover {
	aspect-ratio: 1 / 1;
}

@media (max-width: 781px) {
	.rush-contact-04__columns {
		flex-direction: column-reverse;
	}
}

/* Front-end quick Edit (logged-in, can edit) — admin bar is off by default. */
.edit--this--post {
	position: fixed;
	bottom: 0;
	left: 1.25rem;
	z-index: 100000;
	margin: 0;
	color: #ffffff !important;
	font-size: 12px !important;
	line-height: 1.4 !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	background-color: #000000 !important;
	padding: 0.25rem 2rem 0.25rem 1rem !important;
	border-radius: 0 !important;
	box-shadow: 1px -5px 10px 2px rgba(0, 0, 0, 0.05);
	transition: color 0.25s, background-color 0.25s;
}

.edit--this--post::after {
	content: "";
	position: absolute;
	top: 7px;
	right: 0.75rem;
	width: 14px;
	height: 14px;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='501' height='501' viewBox='0 0 501 501'%3E%3Cg fill='none' stroke='%23fff' stroke-width='43' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M250.333 17H150.333C87.479 17 56.052 17 36.526 36.526 17 56.052 17 87.479 17 150.333v200c0 62.854 0 94.28 19.526 113.807C56.052 483.667 87.479 483.667 150.333 483.667h200c62.854 0 94.28 0 113.807-19.527C483.667 444.614 483.667 413.187 483.667 350.333v-100M161 273.37l197.654-195.436c15.767-15.587 40.86-16.447 57.653-1.976 18.497 15.937 19.804 44.141 2.86 61.72L224.763 339.34 150.333 350.333 161 273.37z'/%3E%3C/g%3E%3C/svg%3E") no-repeat 50% 50%;
	mask-size: contain;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='501' height='501' viewBox='0 0 501 501'%3E%3Cg fill='none' stroke='%23fff' stroke-width='43' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M250.333 17H150.333C87.479 17 56.052 17 36.526 36.526 17 56.052 17 87.479 17 150.333v200c0 62.854 0 94.28 19.526 113.807C56.052 483.667 87.479 483.667 150.333 483.667h200c62.854 0 94.28 0 113.807-19.527C483.667 444.614 483.667 413.187 483.667 350.333v-100M161 273.37l197.654-195.436c15.767-15.587 40.86-16.447 57.653-1.976 18.497 15.937 19.804 44.141 2.86 61.72L224.763 339.34 150.333 350.333 161 273.37z'/%3E%3C/g%3E%3C/svg%3E") no-repeat 50% 50%;
	-webkit-mask-size: contain;
	background-color: #ffffff !important;
	transition: background-color 0.25s;
}

.edit--this--post:hover {
	color: #bbd4ff !important;
}

.edit--this--post:hover::after {
	background-color: #bbd4ff !important;
}

.rush-frontend-edit {
	margin: 0;
	padding: 0;
}

