/**
 * GTC event submission page.
 * Scoped to .gtc-submit (the [gtc_event_submit] shortcode wrapper).
 * Brand: Inter + Source Serif 4, blue #166DFC, ink #101828, border #E4E7EC, tint #F4F7FB.
 */

.gtc-submit {
	--gtc-blue: #166DFC;
	--gtc-blue-dark: #0B4FC4;
	--gtc-blue-soft: #F5F9FF;
	--gtc-ink: #101828;
	--gtc-text: #344054;
	--gtc-muted: #475467;
	--gtc-line: #E4E7EC;
	--gtc-input: #D0D5DD;
	--gtc-tint: #F4F7FB;
	--gtc-red: #B42318;
	--gtc-green: #067647;
	--gtc-radius: 12px;

	/* Gravity Forms Orbital theme variables. */
	--gf-color-primary: #166DFC;
	--gf-color-primary-darker: #0B4FC4;
	--gf-ctrl-border-color: #D0D5DD;
	--gf-ctrl-radius: 10px;
	--gf-radius: 10px;
	--gf-ctrl-size: 48px;
	--gf-font-size-primary: 16px;

	box-sizing: border-box;
	max-width: 1400px;
	margin: 0 auto;
	padding: 32px 20px 72px;
	font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
	color: var(--gtc-ink);
}

.gtc-submit *,
.gtc-submit *::before,
.gtc-submit *::after {
	box-sizing: border-box;
}

.gtc-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* ---------- Header ---------- */

.gtc-submit__intro {
	max-width: 760px;
	margin-bottom: 28px;
}

.gtc-submit__kicker {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gtc-blue);
}

.gtc-submit .gtc-submit__title {
	margin: 0 0 10px;
	font-family: Inter, system-ui, sans-serif;
	font-size: clamp(30px, 4.4vw, 44px);
	line-height: 1.1;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--gtc-ink);
}

.gtc-submit__dek {
	margin: 0;
	font-family: "Source Serif 4", Georgia, serif;
	font-size: 19px;
	line-height: 1.55;
	color: var(--gtc-text);
}

/* ---------- Layout ---------- */

.gtc-submit__layout {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 32px 40px;
}

.gtc-submit__main {
	flex: 999 1 560px;
	min-width: 0;
}

.gtc-submit__side {
	flex: 1 1 280px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.gtc-submit__card {
	padding: 22px;
	border: 1px solid var(--gtc-line);
	border-radius: var(--gtc-radius);
	background: #FFFFFF;
}

.gtc-submit__card--tint {
	border-color: transparent;
	background: var(--gtc-tint);
}

.gtc-submit__card[hidden] {
	display: none;
}

.gtc-submit .gtc-submit__card h2 {
	margin: 0 0 12px;
	font-family: Inter, system-ui, sans-serif;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.3;
	color: var(--gtc-ink);
}

.gtc-submit__card ul,
.gtc-submit__card ol {
	margin: 0;
	padding: 0 0 0 18px;
	display: grid;
	gap: 8px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--gtc-text);
}

.gtc-submit__help {
	margin: 12px 0 0;
	font-size: 14px;
	color: var(--gtc-muted);
}

.gtc-submit a {
	color: var(--gtc-blue);
}

.gtc-submit a:hover {
	color: var(--gtc-blue-dark);
}

/* ---------- Progress steps (Gravity Forms "steps" indicator) ---------- */

.gtc-submit .gform_wrapper .gf_page_steps {
	display: flex;
	gap: 8px;
	margin: 0 0 24px;
	padding: 0;
	border: 0;
}

.gtc-submit .gform_wrapper .gf_step {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 12px 0 0;
	border-top: 4px solid var(--gtc-line);
	border-radius: 2px;
	opacity: 1;
	font-size: 14px;
	font-weight: 600;
	color: var(--gtc-muted);
}

.gtc-submit .gform_wrapper .gf_step_active,
.gtc-submit .gform_wrapper .gf_step_completed {
	border-top-color: var(--gtc-blue);
}

.gtc-submit .gform_wrapper .gf_step_active {
	font-weight: 800;
	color: var(--gtc-ink);
}

.gtc-submit .gform_wrapper .gf_step_number {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border: 0;
	border-radius: 999px;
	background: #F2F4F7;
	font-size: 12px;
	font-weight: 800;
	color: var(--gtc-muted);
}

.gtc-submit .gform_wrapper .gf_step_active .gf_step_number {
	background: var(--gtc-blue);
	color: #FFFFFF;
}

.gtc-submit .gform_wrapper .gf_step_completed .gf_step_number {
	background: #E8F0FF;
	color: var(--gtc-blue);
}

.gtc-submit .gform_wrapper .gf_step_completed .gf_step_number::before,
.gtc-submit .gform_wrapper .gf_step_completed .gf_step_number::after {
	display: none;
}

.gtc-submit .gform_wrapper .gf_step_label {
	min-width: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

@media (max-width: 560px) {
	.gtc-submit .gform_wrapper .gf_step:not(.gf_step_active) .gf_step_label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}

	.gtc-submit .gform_wrapper .gf_step_active {
		flex-grow: 3;
	}
}

/* ---------- Page card ---------- */

.gtc-submit .gform_wrapper .gform_page_fields,
.gtc-submit .gform_wrapper .gform-body > .gform_fields {
	padding: 28px;
	border: 1px solid var(--gtc-line);
	border-radius: var(--gtc-radius);
	background: #FFFFFF;
}

@media (max-width: 560px) {
	.gtc-submit {
		padding: 24px 16px 56px;
	}

	.gtc-submit .gform_wrapper .gform_page_fields {
		padding: 20px 16px;
	}
}

.gtc-submit .gform_wrapper .gform_fields {
	row-gap: 22px;
	column-gap: 14px;
}

.gtc-submit .gtc-step-head__title {
	margin: 0;
	font-family: Inter, system-ui, sans-serif;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.25;
	color: var(--gtc-ink);
}

.gtc-submit .gtc-step-head__sub {
	margin: 6px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--gtc-muted);
}

/* ---------- Labels, descriptions, inputs ---------- */

.gtc-submit .gform_wrapper fieldset.gfield {
	margin: 0;
	padding: 0;
	border: 0;
	min-width: 0;
}

.gtc-submit .gform_wrapper .gfield_label,
.gtc-submit .gform_wrapper legend.gfield_label {
	margin-bottom: 8px;
	padding: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--gtc-ink);
}

.gtc-submit .gform_wrapper .gfield_required {
	margin-left: 4px;
	font-size: 13px;
	font-weight: 500;
	color: var(--gtc-muted);
}

.gtc-submit .gform_wrapper .gfield_description {
	padding-top: 0;
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.45;
	color: var(--gtc-muted);
}

.gtc-submit .gform_wrapper .gfield .ginput_complex label,
.gtc-submit .gform_wrapper .gfield .gform-field-label--type-sub {
	font-size: 13px;
	font-weight: 600;
	color: var(--gtc-text);
}

.gtc-submit .gform_wrapper input[type="text"],
.gtc-submit .gform_wrapper input[type="email"],
.gtc-submit .gform_wrapper input[type="url"],
.gtc-submit .gform_wrapper input[type="tel"],
.gtc-submit .gform_wrapper input[type="number"],
.gtc-submit .gform_wrapper input[type="search"],
.gtc-submit .gform_wrapper select,
.gtc-submit .gform_wrapper textarea {
	width: 100%;
	min-height: 48px;
	padding: 11px 14px;
	border: 1px solid var(--gtc-input);
	border-radius: 10px;
	background-color: #FFFFFF;
	box-shadow: none;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.4;
	color: var(--gtc-ink);
}

.gtc-submit .gform_wrapper textarea {
	min-height: 150px;
	line-height: 1.5;
	resize: vertical;
}

.gtc-submit .gform_wrapper select {
	padding-right: 44px;
	cursor: pointer;
}

.gtc-submit .gform_wrapper input:focus,
.gtc-submit .gform_wrapper select:focus,
.gtc-submit .gform_wrapper textarea:focus {
	border-color: var(--gtc-blue);
	outline: none;
	box-shadow: 0 0 0 4px rgba(22, 109, 252, 0.16);
}

.gtc-submit .gform_wrapper .gfield_error input,
.gtc-submit .gform_wrapper .gfield_error select,
.gtc-submit .gform_wrapper .gfield_error textarea,
.gtc-submit .gform_wrapper [aria-invalid="true"] {
	border-color: #D92D20;
}

.gtc-submit .gform_wrapper .gfield_error .gfield_label {
	color: var(--gtc-ink);
}

.gtc-submit .gform_wrapper .gfield_validation_message,
.gtc-submit .gform_wrapper .validation_message {
	margin-top: 8px;
	padding: 0;
	border: 0;
	background: none;
	font-size: 14px;
	font-weight: 600;
	color: var(--gtc-red);
}

.gtc-submit .gform_wrapper .gform_validation_errors {
	margin: 0 0 20px;
	padding: 14px 16px;
	border: 1px solid #FECDCA;
	border-radius: 10px;
	background: #FEF3F2;
	box-shadow: none;
}

.gtc-submit .gform_wrapper .gform_validation_errors h2 {
	font-size: 15px;
	font-weight: 700;
	color: var(--gtc-red);
}

.gtc-submit .gform_wrapper .ginput_counter {
	margin-top: 6px;
	font-size: 13px;
	color: var(--gtc-muted);
	text-align: right;
}

/* Address and new-organizer fields sit in a tinted box. */
.gtc-submit .gform_wrapper .gtc-subfield {
	padding: 14px 16px;
	border-radius: 10px;
	background: #F9FAFB;
}

/* ---------- Cost: Free / Paid segmented control ---------- */

.gtc-submit .gform_wrapper .gtc-segmented .gfield_radio {
	display: inline-flex;
	gap: 0;
	padding: 4px;
	border-radius: 12px;
	background: #F2F4F7;
}

.gtc-submit .gform_wrapper .gtc-segmented .gchoice {
	position: relative;
	margin: 0;
}

.gtc-submit .gform_wrapper .gtc-segmented input[type="radio"] {
	position: absolute;
	inset: 0;
	opacity: 0;
	margin: 0;
	cursor: pointer;
}

.gtc-submit .gform_wrapper .gtc-segmented label {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	margin: 0;
	padding: 0 22px;
	border-radius: 9px;
	font-size: 15px;
	font-weight: 700;
	color: var(--gtc-muted);
	cursor: pointer;
}

.gtc-submit .gform_wrapper .gtc-segmented input:checked + label {
	background: #FFFFFF;
	box-shadow: 0 1px 3px rgba(16, 24, 40, 0.12);
	color: var(--gtc-ink);
}

.gtc-submit .gform_wrapper .gtc-segmented input:focus-visible + label {
	outline: 3px solid rgba(22, 109, 252, 0.4);
	outline-offset: 1px;
}

.gtc-submit .gform_wrapper .gtc-field-price .ginput_container {
	position: relative;
	max-width: 220px;
}

.gtc-submit .gform_wrapper .gtc-field-price .ginput_container::before {
	content: "$";
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 16px;
	font-weight: 600;
	color: var(--gtc-muted);
	pointer-events: none;
}

.gtc-submit .gform_wrapper .gtc-field-price input {
	padding-left: 30px;
}

/* ---------- All-day switch ---------- */

.gtc-submit .gform_wrapper .gtc-switch .gchoice {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

.gtc-submit .gform_wrapper .gtc-switch input[type="checkbox"] {
	position: absolute;
	left: 0;
	top: 8px;
	width: 48px;
	height: 28px;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.gtc-submit .gform_wrapper .gtc-switch label {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	margin: 0;
	padding-left: 60px;
	font-size: 15px;
	font-weight: 600;
	color: var(--gtc-ink);
	cursor: pointer;
}

.gtc-submit .gform_wrapper .gtc-switch label::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 48px;
	height: 28px;
	border-radius: 999px;
	background: var(--gtc-input);
	transition: background 0.15s;
}

.gtc-submit .gform_wrapper .gtc-switch label::after {
	content: "";
	position: absolute;
	left: 3px;
	top: 3px;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: #FFFFFF;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.2);
	transition: left 0.15s;
}

.gtc-submit .gform_wrapper .gtc-switch input:checked + label::before {
	background: var(--gtc-blue);
}

.gtc-submit .gform_wrapper .gtc-switch input:checked + label::after {
	left: 23px;
}

.gtc-submit .gform_wrapper .gtc-switch input:focus-visible + label::before {
	outline: 3px solid rgba(22, 109, 252, 0.4);
	outline-offset: 2px;
}

/* ---------- Notes ---------- */

.gtc-submit .gtc-note {
	padding: 14px 16px;
	border-radius: 10px;
	background: var(--gtc-tint);
	font-size: 14px;
	line-height: 1.5;
	color: var(--gtc-text);
}

.gtc-submit .gtc-note strong {
	color: var(--gtc-ink);
}

.gtc-when {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border-radius: 10px;
	background: var(--gtc-tint);
	font-size: 15px;
	color: var(--gtc-text);
}

.gtc-when[hidden] {
	display: none;
}

.gtc-when svg {
	flex-shrink: 0;
	color: var(--gtc-blue);
}

.gtc-when strong {
	color: var(--gtc-ink);
}

/* ---------- Buttons ---------- */

.gtc-submit .gform_wrapper .gform_page_footer,
.gtc-submit .gform_wrapper .gform_footer {
	display: flex;
	flex-wrap: wrap-reverse;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin: 20px 0 0;
	padding: 0;
	border: 0;
}

.gtc-submit .gform_wrapper .gform_next_button,
.gtc-submit .gform_wrapper .gform_button,
.gtc-submit .gform_wrapper button[type="submit"] {
	min-height: 52px;
	min-width: 200px;
	margin: 0 0 0 auto;
	padding: 0 24px;
	border: 0;
	border-radius: 10px;
	background: var(--gtc-blue);
	font-family: inherit;
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
	color: #FFFFFF;
	cursor: pointer;
}

.gtc-submit .gform_wrapper .gform_next_button:hover,
.gtc-submit .gform_wrapper .gform_button:hover,
.gtc-submit .gform_wrapper button[type="submit"]:hover {
	background: var(--gtc-blue-dark);
}

.gtc-submit .gform_wrapper .gform_previous_button {
	min-height: 52px;
	margin: 0;
	padding: 0 18px;
	border: 1px solid var(--gtc-input);
	border-radius: 10px;
	background: #FFFFFF;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	color: var(--gtc-ink);
	cursor: pointer;
}

.gtc-submit .gform_wrapper .gform_previous_button:hover {
	background: #F9FAFB;
}

@media (max-width: 560px) {
	.gtc-submit .gform_wrapper .gform_next_button,
	.gtc-submit .gform_wrapper .gform_button,
	.gtc-submit .gform_wrapper button[type="submit"] {
		flex: 1 1 100%;
		min-width: 0;
	}
}

.gtc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 16px;
	border: 1px solid var(--gtc-input);
	border-radius: 10px;
	background: #FFFFFF;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	color: var(--gtc-ink);
	cursor: pointer;
}

.gtc-btn:hover {
	background: #F9FAFB;
}

.gtc-btn--primary {
	border-color: var(--gtc-blue);
	background: var(--gtc-blue);
	color: #FFFFFF;
}

.gtc-btn--primary:hover {
	background: var(--gtc-blue-dark);
}

.gtc-btn--danger {
	color: var(--gtc-red);
}

.gtc-link {
	min-height: 40px;
	padding: 0 6px;
	border: 0;
	background: transparent;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	color: var(--gtc-blue);
	cursor: pointer;
}

.gtc-link:hover {
	text-decoration: underline;
}

.gtc-btn:focus-visible,
.gtc-link:focus-visible,
.gtc-submit .gform_wrapper button:focus-visible,
.gtc-submit .gform_wrapper input[type="submit"]:focus-visible,
.gtc-submit .gform_wrapper input[type="button"]:focus-visible {
	outline: 3px solid rgba(22, 109, 252, 0.45);
	outline-offset: 2px;
}

/* ---------- Venue / organizer picker ---------- */

.gtc-cbx {
	position: relative;
}

.gtc-cbx__box {
	position: relative;
}

.gtc-cbx__box[hidden],
.gtc-cbx__chip[hidden],
.gtc-cbx__list[hidden] {
	display: none;
}

.gtc-cbx__icon {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	color: var(--gtc-muted);
	pointer-events: none;
}

.gtc-submit .gform_wrapper input.gtc-cbx__input {
	padding-left: 42px;
}

.gtc-cbx__list {
	position: absolute;
	z-index: 30;
	left: 0;
	right: 0;
	top: calc(100% + 6px);
	max-height: 320px;
	overflow-y: auto;
	margin: 0;
	padding: 6px;
	list-style: none;
	border: 1px solid var(--gtc-line);
	border-radius: 12px;
	background: #FFFFFF;
	box-shadow: 0 12px 28px rgba(16, 24, 40, 0.12);
}

.gtc-cbx__opt {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-height: 48px;
	margin: 0;
	padding: 10px 12px;
	border-radius: 8px;
	cursor: pointer;
}

.gtc-cbx__opt strong {
	font-size: 15px;
	font-weight: 700;
	color: var(--gtc-ink);
}

.gtc-cbx__opt span {
	font-size: 13px;
	color: var(--gtc-muted);
}

.gtc-cbx__opt:hover,
.gtc-cbx__opt[aria-selected="true"] {
	background: var(--gtc-blue-soft);
}

.gtc-cbx__opt--new {
	flex-direction: row;
	align-items: center;
	gap: 10px;
	margin-top: 4px;
	border-top: 1px solid var(--gtc-line);
	border-radius: 0 0 8px 8px;
	font-size: 15px;
	font-weight: 700;
	color: var(--gtc-blue);
}

.gtc-cbx__empty {
	padding: 10px 12px;
	font-size: 14px;
	color: var(--gtc-muted);
}

.gtc-cbx__chip {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 8px 12px 16px;
	border: 1px solid var(--gtc-blue);
	border-radius: 10px;
	background: var(--gtc-blue-soft);
}

.gtc-cbx__chip-icon {
	display: flex;
	flex-shrink: 0;
	color: var(--gtc-blue);
}

.gtc-cbx__chip-text {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.gtc-cbx__chip-text strong {
	font-size: 16px;
	font-weight: 700;
	color: var(--gtc-ink);
}

.gtc-cbx__chip-text span {
	font-size: 14px;
	color: var(--gtc-muted);
}

/* ---------- Image step ---------- */

.gtc-img__drop {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 44px 24px;
	border: 2px dashed #98A2B3;
	border-radius: var(--gtc-radius);
	background: var(--gtc-tint);
	text-align: center;
	transition: border-color 0.15s, background 0.15s;
}

.gtc-img__drop.is-over {
	border-color: var(--gtc-blue);
	background: #EAF1FF;
}

.gtc-img__drop[hidden],
.gtc-img__busy[hidden],
.gtc-img__editor[hidden],
.gtc-img__error[hidden] {
	display: none;
}

.gtc-img__drop-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border: 1px solid var(--gtc-line);
	border-radius: 999px;
	background: #FFFFFF;
	color: var(--gtc-blue);
}

.gtc-img__drop p {
	margin: 0;
}

.gtc-img__drop-title {
	font-size: 18px;
	font-weight: 800;
	color: var(--gtc-ink);
}

.gtc-img__drop-or {
	font-size: 15px;
	color: var(--gtc-muted);
}

.gtc-img__drop-help {
	max-width: 420px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--gtc-muted);
}

.gtc-img__busy {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 200px;
	border-radius: var(--gtc-radius);
	background: var(--gtc-tint);
	font-size: 15px;
	font-weight: 600;
	color: var(--gtc-text);
}

.gtc-spinner {
	width: 22px;
	height: 22px;
	border: 3px solid #C7D7FE;
	border-top-color: var(--gtc-blue);
	border-radius: 999px;
	animation: gtc-spin 0.8s linear infinite;
}

@keyframes gtc-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.gtc-spinner {
		animation-duration: 2.4s;
	}
}

.gtc-img__error {
	margin: 0 0 12px;
	padding: 12px 14px;
	border-radius: 10px;
	background: #FEF3F2;
	font-size: 14px;
	font-weight: 600;
	color: var(--gtc-red);
}

.gtc-img__editor {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.gtc-img__work {
	flex: 999 1 360px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.gtc-img__stage {
	height: 440px;
	overflow: hidden;
	border-radius: var(--gtc-radius);
	background: #1D2939;
}

@media (max-width: 560px) {
	.gtc-img__stage {
		height: 340px;
	}
}

.gtc-img__stage img {
	display: block;
	max-width: 100%;
}

.gtc-img__presets {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.gtc-img__presets button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid var(--gtc-input);
	border-radius: 10px;
	background: #FFFFFF;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	color: var(--gtc-text);
	cursor: pointer;
}

.gtc-img__presets button[aria-checked="true"] {
	border-color: var(--gtc-blue);
	background: var(--gtc-blue-soft);
	color: var(--gtc-blue);
}

.gtc-img__shape {
	display: inline-block;
	border: 2px solid currentColor;
	border-radius: 3px;
}

.gtc-img__tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
}

.gtc-img__zoom {
	flex: 1 1 220px;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	font-weight: 600;
	color: var(--gtc-text);
}

.gtc-img__zoom input {
	flex: 1 1 auto;
	accent-color: var(--gtc-blue);
}

.gtc-img__side {
	flex: 1 1 240px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.gtc-img__status,
.gtc-img__uploaded {
	padding: 14px 16px;
	border: 1px solid #B7E4C7;
	border-radius: var(--gtc-radius);
	background: #ECFDF3;
}

.gtc-img__uploaded {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 12px;
}

.gtc-img__uploaded img {
	width: 88px;
	height: 66px;
	flex-shrink: 0;
	border-radius: 8px;
	object-fit: cover;
}

.gtc-img__ready {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 15px;
	font-weight: 800;
	color: #054F31;
}

.gtc-img__meta {
	margin: 4px 0 0;
	font-size: 14px;
	color: #085D3A;
}

.gtc-img__label {
	margin: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gtc-muted);
}

.gtc-img__row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px;
	border: 1px solid var(--gtc-line);
	border-radius: 10px;
}

.gtc-img__row img {
	width: 88px;
	height: 66px;
	flex-shrink: 0;
	border-radius: 8px;
	object-fit: cover;
	background: var(--gtc-tint);
}

.gtc-img__row div {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.gtc-img__row-time {
	font-size: 12px;
	font-weight: 700;
	color: var(--gtc-blue);
}

.gtc-img__row-title {
	font-size: 14px;
	font-weight: 800;
	line-height: 1.25;
	color: var(--gtc-ink);
}

.gtc-img__note {
	margin: 0;
	font-size: 14px;
	color: var(--gtc-muted);
}

.gtc-img__actions {
	display: flex;
	gap: 8px;
}

.gtc-img__actions .gtc-btn {
	flex: 1 1 0;
}

/* Gravity Forms' own "uploaded file" line, shown after moving between steps. */
.gtc-submit .gform_wrapper .ginput_preview {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: var(--gtc-text);
}

/* Cropper.js on brand. */
.gtc-img .cropper-view-box {
	outline: 2px solid #FFFFFF;
	outline-color: rgba(255, 255, 255, 0.9);
}

.gtc-img .cropper-line,
.gtc-img .cropper-point {
	background-color: #FFFFFF;
}

.gtc-img .cropper-point {
	width: 10px;
	height: 10px;
	opacity: 1;
}

.gtc-img .cropper-modal {
	background-color: #101828;
	opacity: 0.62;
}

/* ---------- Review ---------- */

.gtc-review__head h2 {
	margin: 0;
	font-family: Inter, system-ui, sans-serif;
	font-size: 22px;
	font-weight: 800;
	color: var(--gtc-ink);
}

.gtc-review__head p {
	margin: 6px 0 20px;
	font-size: 15px;
	color: var(--gtc-muted);
}

.gtc-review__preview {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-bottom: 8px;
	padding: 16px;
	border-radius: var(--gtc-radius);
	background: var(--gtc-tint);
}

.gtc-review__day {
	margin: 0;
	font-size: 13px;
	font-weight: 800;
	color: var(--gtc-ink);
}

.gtc-review__row {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px;
	border: 1px solid var(--gtc-line);
	border-radius: var(--gtc-radius);
	background: #FFFFFF;
}

.gtc-review__thumb {
	width: 128px;
	height: 96px;
	flex-shrink: 0;
	border-radius: 8px;
	object-fit: cover;
	background: #E4E7EC;
}

@media (max-width: 480px) {
	.gtc-review__thumb {
		width: 96px;
		height: 72px;
	}
}

.gtc-review__row p {
	margin: 0;
}

.gtc-review__time {
	font-size: 13px;
	font-weight: 700;
	color: var(--gtc-blue);
}

.gtc-review__title {
	margin: 4px 0 !important;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.25;
	color: var(--gtc-ink);
}

.gtc-review__place {
	font-size: 14px;
	color: var(--gtc-muted);
}

.gtc-review__list {
	margin: 0;
}

.gtc-review__list > div {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 4px 16px;
	padding: 14px 0;
	border-bottom: 1px solid var(--gtc-line);
}

.gtc-review__list dt {
	flex: 0 0 120px;
	font-size: 14px;
	font-weight: 700;
	color: var(--gtc-muted);
}

.gtc-review__list dd {
	flex: 1 1 220px;
	min-width: 0;
	margin: 0;
	font-size: 15px;
	line-height: 1.45;
	color: var(--gtc-ink);
	overflow-wrap: anywhere;
}

.gtc-review__list .gtc-link {
	min-height: 32px;
	font-size: 14px;
}

.gtc-submit .gform_wrapper .gtc-field-consent .ginput_container_consent {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 15px;
	line-height: 1.45;
	color: var(--gtc-text);
}

.gtc-submit .gform_wrapper .gtc-field-consent input[type="checkbox"] {
	width: 22px;
	height: 22px;
	margin: 0;
	flex-shrink: 0;
	accent-color: var(--gtc-blue);
}

/* Confirmation fallback (when the Promote page doesn't exist yet). */
.gtc-done {
	padding: 24px;
	border: 1px solid #B7E4C7;
	border-radius: var(--gtc-radius);
	background: #ECFDF3;
}

.gtc-done h2 {
	margin: 0 0 6px;
	font-size: 22px;
	font-weight: 800;
	color: #054F31;
}

.gtc-done p {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
	color: #085D3A;
}


/* =====================================================================
 * Page shell: Hello Elementor theme (title removed in PHP; width here).
 * ===================================================================== */

body.gtc-submit-page .site-main,
body.gtc-submit-page:not([class*="elementor-page-"]) .site-main {
	max-width: 1440px;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

body.gtc-submit-page .page-header {
	display: none;
}

body.gtc-submit-page .page-content > .gtc-submit:first-child {
	padding-top: 24px;
}

@media (min-width: 1200px) {
	.gtc-submit__side {
		flex-basis: 320px;
	}
}

/* =====================================================================
 * Gravity Forms 3 (Orbital theme) overrides.
 * Orbital's own selectors are very specific, so the properties that
 * must win are marked !important. Everything stays scoped to .gtc-submit.
 * ===================================================================== */

/* Steps */
.gtc-submit .gform_wrapper .gf_page_steps {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 0 24px !important;
}

.gtc-submit .gform_wrapper .gf_step {
	margin: 0 !important;
	padding: 12px 0 0 !important;
	border-top: 4px solid var(--gtc-line) !important;
}

.gtc-submit .gform_wrapper .gf_step_active,
.gtc-submit .gform_wrapper .gf_step_completed {
	border-top-color: var(--gtc-blue) !important;
}

.gtc-submit .gform_wrapper .gf_step .gf_step_number {
	width: 26px !important;
	height: 26px !important;
	min-width: 26px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #F2F4F7 !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 26px !important;
	color: var(--gtc-muted) !important;
}

.gtc-submit .gform_wrapper .gf_step .gf_step_number::before,
.gtc-submit .gform_wrapper .gf_step .gf_step_number::after {
	display: none !important;
	content: none !important;
}

.gtc-submit .gform_wrapper .gf_step_active .gf_step_number {
	background: var(--gtc-blue) !important;
	color: #FFFFFF !important;
}

.gtc-submit .gform_wrapper .gf_step_completed .gf_step_number {
	background: #E8F0FF !important;
	color: var(--gtc-blue) !important;
}

.gtc-submit .gform_wrapper .gf_step_label {
	padding: 0 !important;
	font-size: 14px !important;
	line-height: 1.3 !important;
}

/* Labels, required marker, descriptions */
.gtc-submit .gform_wrapper .gfield_label,
.gtc-submit .gform_wrapper .gform-field-label {
	margin: 0 0 6px !important;
	padding: 0 !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--gtc-ink) !important;
}

.gtc-submit .gform_wrapper .gfield_required,
.gtc-submit .gform_wrapper .gfield_required_text,
.gtc-submit .gform_wrapper .gfield_required .gfield_required_text {
	margin-left: 4px !important;
	font-size: 13px !important;
	font-style: normal !important;
	font-weight: 500 !important;
	color: var(--gtc-muted) !important;
}

.gtc-submit .gform_wrapper .gfield_description {
	margin: 0 0 10px !important;
	padding: 0 !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	color: var(--gtc-muted) !important;
}

.gtc-submit .gform_wrapper .gfield_validation_message {
	margin: 8px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	color: var(--gtc-red) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
}

/* Fields that repeat what the page already says. */
.gtc-submit .gform_wrapper .gtc-field-image > .gfield_description,
.gtc-submit .gform_wrapper .gtc-field-title .ginput_counter {
	display: none !important;
}

.gtc-submit .gform_wrapper textarea {
	height: 180px !important;
	min-height: 140px !important;
}

/* Inputs with an icon or a $ inside */
.gtc-submit .gform_wrapper input.gtc-cbx__input {
	padding-left: 44px !important;
}

.gtc-submit .gform_wrapper .gtc-field-price input {
	padding-left: 30px !important;
}

/* Date fields: input fills the space, calendar icon sits beside it */
.gtc-submit .gform_wrapper .ginput_container_date {
	display: flex !important;
	align-items: center;
	gap: 8px;
}

.gtc-submit .gform_wrapper .ginput_container_date input {
	flex: 1 1 auto;
	width: auto !important;
	max-width: none !important;
}

/* Free / Paid */
.gtc-submit .gform_wrapper .gtc-segmented .gfield_radio {
	display: inline-flex !important;
	flex-direction: row !important;
	gap: 0 !important;
	padding: 4px !important;
	border-radius: 12px !important;
	background: #F2F4F7 !important;
}

.gtc-submit .gform_wrapper .gtc-segmented .gchoice {
	position: relative !important;
	display: block !important;
	margin: 0 !important;
}

.gtc-submit .gform_wrapper .gtc-segmented input[type="radio"] {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	opacity: 0 !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	z-index: 1;
	cursor: pointer;
}

.gtc-submit .gform_wrapper .gtc-segmented input[type="radio"]::before,
.gtc-submit .gform_wrapper .gtc-segmented input[type="radio"]::after {
	display: none !important;
}

.gtc-submit .gform_wrapper .gtc-segmented label {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 0 22px !important;
	border-radius: 9px !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--gtc-muted) !important;
}

.gtc-submit .gform_wrapper .gtc-segmented input[type="radio"]:checked + label {
	background: #FFFFFF !important;
	box-shadow: 0 1px 3px rgba(16, 24, 40, 0.14) !important;
	color: var(--gtc-ink) !important;
}

/* All-day switch */
.gtc-submit .gform_wrapper .gtc-switch input[type="checkbox"] {
	opacity: 0 !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	z-index: 1;
}

.gtc-submit .gform_wrapper .gtc-switch input[type="checkbox"]::before,
.gtc-submit .gform_wrapper .gtc-switch input[type="checkbox"]::after {
	display: none !important;
}

.gtc-submit .gform_wrapper .gtc-switch label {
	max-width: none !important;
	width: auto !important;
	white-space: nowrap !important;
	padding-left: 60px !important;
	margin: 0 !important;
	font-size: 15px !important;
	font-weight: 600 !important;
}

/* Buttons */
.gtc-submit .gform_wrapper .gform_previous_button,
.gtc-submit .gform_wrapper .gform_previous_button.button {
	min-height: 52px !important;
	padding: 0 20px !important;
	border: 1px solid var(--gtc-input) !important;
	border-radius: 10px !important;
	background: #FFFFFF !important;
	box-shadow: none !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: var(--gtc-ink) !important;
}

.gtc-submit .gform_wrapper .gform_next_button,
.gtc-submit .gform_wrapper .gform_next_button.button,
.gtc-submit .gform_wrapper .gform_button,
.gtc-submit .gform_wrapper .gform_button.button {
	min-height: 52px !important;
	min-width: 200px !important;
	padding: 0 24px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--gtc-blue) !important;
	box-shadow: none !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	color: #FFFFFF !important;
}

.gtc-submit .gform_wrapper .gform_next_button:hover,
.gtc-submit .gform_wrapper .gform_button:hover {
	background: var(--gtc-blue-dark) !important;
}

/* Placeholders */
.gtc-submit .gform_wrapper ::placeholder {
	color: #667085 !important;
	opacity: 1 !important;
}


/* =====================================================================
 * Fix 2: centering, steps spacing, our own Free/Paid and All-day controls
 * ===================================================================== */

.gtc-submit {
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100%;
}

body.gtc-submit-page .site-main,
body.gtc-submit-page .page-content {
	margin-left: auto !important;
	margin-right: auto !important;
}

.gtc-submit .gform_wrapper .gf_step {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
}

.gtc-submit .gform_wrapper .gf_step .gf_step_number {
	flex-shrink: 0;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
}

.gtc-submit .gform_wrapper .gf_step_label {
	margin: 0 !important;
}

/* Free / Paid */
.gtc-seg {
	display: inline-flex;
	padding: 4px;
	border-radius: 12px;
	background: #F2F4F7;
}

.gtc-seg button {
	min-height: 40px;
	padding: 0 22px;
	border: 0;
	border-radius: 9px;
	background: transparent;
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	color: var(--gtc-muted);
	cursor: pointer;
}

.gtc-seg button[aria-checked="true"] {
	background: #FFFFFF;
	box-shadow: 0 1px 3px rgba(16, 24, 40, 0.14);
	color: var(--gtc-ink);
}

.gtc-seg button:focus-visible {
	outline: 3px solid rgba(22, 109, 252, 0.45);
	outline-offset: 2px;
}

/* All-day */
.gtc-sw {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	font: inherit;
	cursor: pointer;
}

.gtc-sw__track {
	position: relative;
	width: 48px;
	height: 28px;
	flex-shrink: 0;
	border-radius: 999px;
	background: var(--gtc-input);
	transition: background 0.15s;
}

.gtc-sw__knob {
	position: absolute;
	top: 3px;
	left: 3px;
	width: 22px;
	height: 22px;
	border-radius: 999px;
	background: #FFFFFF;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.2);
	transition: left 0.15s;
}

.gtc-sw[aria-checked="true"] .gtc-sw__track {
	background: var(--gtc-blue);
}

.gtc-sw[aria-checked="true"] .gtc-sw__knob {
	left: 23px;
}

.gtc-sw__label {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--gtc-ink);
}

.gtc-sw:focus-visible .gtc-sw__track {
	outline: 3px solid rgba(22, 109, 252, 0.45);
	outline-offset: 2px;
}

/* Confirm checkbox on the review step: plain, large, on brand */
.gtc-submit .gform_wrapper .gtc-field-consent input[type="checkbox"] {
	appearance: auto !important;
	-webkit-appearance: checkbox !important;
	width: 22px !important;
	height: 22px !important;
	margin: 2px 0 0 !important;
	accent-color: var(--gtc-blue);
}

.gtc-submit .gform_wrapper .gtc-field-consent input[type="checkbox"]::before,
.gtc-submit .gform_wrapper .gtc-field-consent input[type="checkbox"]::after {
	display: none !important;
}

.gtc-submit .gform_wrapper .gtc-field-consent label {
	font-size: 15px !important;
	font-weight: 500 !important;
	color: var(--gtc-text) !important;
}

.gtc-submit .gform_wrapper .gtc-hidden,
.gtc-hidden {
	display: none !important;
}


/* =====================================================================
 * Fix 3: hide the native Free/Paid + All-day groups our controls replace,
 * neutralize the theme's default (pink) button/link styles, brand links.
 * ===================================================================== */

.gtc-submit .gform_wrapper .gfield .gfield_radio.gtc-hidden,
.gtc-submit .gform_wrapper .gfield .gfield_checkbox.gtc-hidden,
.gtc-submit .gform_wrapper .gtc-segmented .gfield_radio.gtc-hidden {
	display: none !important;
}

/* Links: brand blue everywhere in the form page */
.gtc-submit a,
.gtc-submit a:visited {
	color: var(--gtc-blue) !important;
}

.gtc-submit a:hover,
.gtc-submit a:focus {
	color: var(--gtc-blue-dark) !important;
	background: none !important;
}

/* Our buttons: reset the theme's default button look (pink border/hover) */
.gtc-submit .gtc-sw,
.gtc-submit .gtc-seg button,
.gtc-submit .gtc-link,
.gtc-submit .gtc-btn,
.gtc-submit .gtc-img__presets button,
.gtc-submit .gtc-cbx__chip button {
	border-radius: 10px;
	text-decoration: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

.gtc-submit .gtc-sw,
.gtc-submit .gtc-sw:hover,
.gtc-submit .gtc-sw:focus,
.gtc-submit .gtc-sw:active {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--gtc-ink) !important;
	padding: 0 !important;
}

.gtc-submit .gtc-link,
.gtc-submit .gtc-link:hover,
.gtc-submit .gtc-link:focus,
.gtc-submit .gtc-link:active,
.gtc-submit .gtc-cbx__chip button,
.gtc-submit .gtc-cbx__chip button:hover,
.gtc-submit .gtc-cbx__chip button:focus {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--gtc-blue) !important;
	padding: 0 8px !important;
}

.gtc-submit .gtc-link:hover,
.gtc-submit .gtc-cbx__chip button:hover {
	color: var(--gtc-blue-dark) !important;
	text-decoration: underline !important;
}

.gtc-submit .gtc-seg button {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--gtc-muted) !important;
	padding: 0 22px !important;
}

.gtc-submit .gtc-seg button:hover {
	color: var(--gtc-ink) !important;
	background: rgba(255, 255, 255, 0.6) !important;
}

.gtc-submit .gtc-seg button[aria-checked="true"],
.gtc-submit .gtc-seg button[aria-checked="true"]:hover,
.gtc-submit .gtc-seg button[aria-checked="true"]:focus {
	background: #FFFFFF !important;
	box-shadow: 0 1px 3px rgba(16, 24, 40, 0.14) !important;
	color: var(--gtc-ink) !important;
}

.gtc-submit .gtc-btn,
.gtc-submit .gtc-img__presets button {
	border: 1px solid var(--gtc-input) !important;
	background: #FFFFFF !important;
	color: var(--gtc-ink) !important;
	padding: 0 16px !important;
}

.gtc-submit .gtc-btn:hover,
.gtc-submit .gtc-btn:focus,
.gtc-submit .gtc-img__presets button:hover,
.gtc-submit .gtc-img__presets button:focus {
	border-color: #98A2B3 !important;
	background: #F9FAFB !important;
	color: var(--gtc-ink) !important;
}

.gtc-submit .gtc-img__presets button[aria-checked="true"],
.gtc-submit .gtc-img__presets button[aria-checked="true"]:hover {
	border-color: var(--gtc-blue) !important;
	background: var(--gtc-blue-soft) !important;
	color: var(--gtc-blue) !important;
}

.gtc-submit .gtc-btn--primary,
.gtc-submit .gtc-btn--primary:focus {
	border-color: var(--gtc-blue) !important;
	background: var(--gtc-blue) !important;
	color: #FFFFFF !important;
}

.gtc-submit .gtc-btn--primary:hover {
	border-color: var(--gtc-blue-dark) !important;
	background: var(--gtc-blue-dark) !important;
	color: #FFFFFF !important;
}

.gtc-submit .gtc-btn--danger,
.gtc-submit .gtc-btn--danger:hover,
.gtc-submit .gtc-btn--danger:focus {
	color: var(--gtc-red) !important;
}

/* Gravity Forms' own buttons keep their look on hover */
.gtc-submit .gform_wrapper .gform_previous_button:hover,
.gtc-submit .gform_wrapper .gform_previous_button:focus {
	border-color: #98A2B3 !important;
	background: #F9FAFB !important;
	color: var(--gtc-ink) !important;
}

.gtc-submit .gform_wrapper .gform_next_button:focus,
.gtc-submit .gform_wrapper .gform_button:focus {
	color: #FFFFFF !important;
}

/* Visible focus for keyboard users, in brand blue */
.gtc-submit button:focus-visible,
.gtc-submit a:focus-visible {
	outline: 3px solid rgba(22, 109, 252, 0.45) !important;
	outline-offset: 2px !important;
}


/* =====================================================================
 * Fix 4: even spacing between labels and boxes; address sub-labels.
 * ===================================================================== */

/* One rhythm for every field: label → 6px → (description → 10px) → input */
.gtc-submit .gform_wrapper .gfield > .gfield_label,
.gtc-submit .gform_wrapper .gfield > legend.gfield_label,
.gtc-submit .gform_wrapper fieldset.gfield > legend {
	display: block !important;
	float: none !important;
	width: 100% !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
}

.gtc-submit .gform_wrapper .gfield > .gfield_description {
	margin: 0 0 10px !important;
}

.gtc-submit .gform_wrapper .ginput_container {
	margin-top: 0 !important;
}

/* New venue / organizer fields: no separate tinted boxes, same spacing as the rest */
.gtc-submit .gform_wrapper .gtc-subfield,
.gtc-submit .gform_wrapper fieldset.gtc-subfield {
	padding: 0 !important;
	border-radius: 0 !important;
	background: none !important;
}

/* Address: small labels above each box, even gaps */
.gtc-submit .gform_wrapper .ginput_complex {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 14px !important;
	margin: 0 !important;
}

.gtc-submit .gform_wrapper .ginput_complex > span,
.gtc-submit .gform_wrapper .ginput_complex > div {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.gtc-submit .gform_wrapper .ginput_complex .ginput_full,
.gtc-submit .gform_wrapper .ginput_complex .address_line_1 {
	grid-column: 1 / -1 !important;
}

.gtc-submit .gform_wrapper .ginput_complex label,
.gtc-submit .gform_wrapper .ginput_complex .gform-field-label--type-sub {
	order: -1;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: var(--gtc-text) !important;
}

@media (max-width: 560px) {
	.gtc-submit .gform_wrapper .ginput_complex {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* Time fields stay on one line: HH : MM AM/PM */
.gtc-submit .gform_wrapper .ginput_container_time {
	display: inline-flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 6px !important;
}

.gtc-submit .gform_wrapper .gfield--type-time .ginput_complex {
	display: flex !important;
	grid-template-columns: none !important;
	align-items: center !important;
	gap: 8px !important;
}

.gtc-submit .gform_wrapper .gfield--type-time .ginput_complex > * {
	flex-direction: row !important;
}

/* =====================================================================
 * Promote page ([gtc_event_promote]) — banner, cards, summary, thank-you.
 * Shares everything above through the .gtc-submit wrapper.
 * ===================================================================== */

.gtc-promote__banner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 18px;
	margin-bottom: 28px;
	padding: 18px 20px;
	border: 1px solid #B7E4C7;
	border-radius: var(--gtc-radius);
	background: #ECFDF3;
}

.gtc-promote__banner-icon {
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #067647;
	color: #FFFFFF;
}

.gtc-promote__banner-text {
	flex: 1 1 260px;
	min-width: 0;
}

.gtc-promote__banner-text p {
	margin: 0;
	font-size: 15px;
	color: #085D3A;
}

.gtc-promote__banner .gtc-promote__banner-title {
	font-size: 17px;
	font-weight: 800;
	color: #054F31;
}

.gtc-promote__event {
	flex: 0 1 auto;
	padding: 10px 14px;
	border: 1px solid #B7E4C7;
	border-radius: 10px;
	background: #FFFFFF;
}

.gtc-promote__event p {
	margin: 0;
}

.gtc-promote__event-title {
	font-size: 14px;
	font-weight: 800;
	color: var(--gtc-ink);
}

.gtc-promote__event-meta {
	font-size: 13px;
	color: var(--gtc-muted);
}

/* Cards */
.gtc-promo-cards {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.gtc-promo-card {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 20px;
	padding: 20px 22px;
	border: 1px solid var(--gtc-line);
	border-radius: var(--gtc-radius);
	background: #FFFFFF;
}

.gtc-promo-card.is-on {
	border: 2px solid var(--gtc-blue);
	padding: 19px 21px;
	background: var(--gtc-blue-soft);
}

.gtc-promo-card__text {
	flex: 1 1 280px;
	min-width: 0;
}

.gtc-promo-card__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 4px 10px;
}

.gtc-submit .gtc-promo-card__head h3 {
	margin: 0;
	font-family: Inter, system-ui, sans-serif;
	font-size: 20px;
	font-weight: 800;
	color: var(--gtc-ink);
}

.gtc-promo-card__head span {
	font-size: 15px;
	font-weight: 700;
	color: var(--gtc-text);
}

.gtc-promo-card__text p {
	margin: 6px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--gtc-muted);
}

.gtc-promo-card__control {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
}

.gtc-promo-card__unit {
	font-size: 12px;
	color: var(--gtc-muted);
}

.gtc-stepper {
	display: flex;
	align-items: center;
	overflow: hidden;
	border: 1px solid var(--gtc-input);
	border-radius: 10px;
	background: #FFFFFF;
}

.gtc-submit .gtc-stepper button,
.gtc-submit .gtc-stepper button:hover,
.gtc-submit .gtc-stepper button:focus {
	width: 44px;
	height: 44px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font: inherit;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	color: var(--gtc-text) !important;
	cursor: pointer;
}

.gtc-submit .gtc-stepper button:hover {
	background: #F2F4F7 !important;
}

.gtc-stepper output {
	min-width: 36px;
	text-align: center;
	font-size: 16px;
	font-weight: 800;
	color: var(--gtc-ink);
}

.gtc-submit .gtc-promo-card__add,
.gtc-submit .gtc-promo-card__add:focus {
	min-height: 44px;
	padding: 0 18px !important;
	border: 1px solid var(--gtc-input) !important;
	border-radius: 10px !important;
	background: #FFFFFF !important;
	box-shadow: none !important;
	font: inherit;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--gtc-ink) !important;
	cursor: pointer;
}

.gtc-submit .gtc-promo-card__add:hover {
	background: #F9FAFB !important;
	color: var(--gtc-ink) !important;
}

.gtc-submit .gtc-promo-card__add[aria-pressed="true"],
.gtc-submit .gtc-promo-card__add[aria-pressed="true"]:hover {
	border-color: var(--gtc-blue) !important;
	background: var(--gtc-blue) !important;
	color: #FFFFFF !important;
}

.gtc-promo-error {
	margin: 0 0 14px;
	padding: 12px 14px;
	border-radius: 10px;
	background: #FEF3F2;
	font-size: 15px;
	font-weight: 600;
	color: var(--gtc-red);
}

.gtc-submit .gtc-promo-cards-field {
	margin: 0;
}

/* Summary column */
.gtc-promote__summary {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.gtc-submit .gtc-promote__summary h2 {
	margin: 0;
	font-size: 18px;
}

.gtc-promote__empty {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--gtc-muted);
}

.gtc-promote__line {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px solid var(--gtc-line);
	font-size: 15px;
	color: var(--gtc-text);
}

.gtc-promote__line strong {
	color: var(--gtc-ink);
}

.gtc-promote__featured {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--gtc-blue);
}

.gtc-promote__featured[hidden] {
	display: none;
}

.gtc-promote__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	font-size: 15px;
	font-weight: 700;
	color: var(--gtc-text);
}

.gtc-promote__total strong {
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -0.01em;
	color: var(--gtc-ink);
}

.gtc-submit .gtc-promote__go {
	width: 100%;
	min-height: 52px;
	font-size: 16px !important;
	font-weight: 800 !important;
}

.gtc-submit .gtc-promote__go:disabled,
.gtc-submit .gtc-promote__go:disabled:hover {
	border-color: var(--gtc-line) !important;
	background: var(--gtc-line) !important;
	color: var(--gtc-muted) !important;
	cursor: not-allowed;
}

.gtc-promote__secure {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	margin: 0;
	font-size: 12px;
	color: var(--gtc-muted);
}

.gtc-promote__badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 9px;
	border-radius: 999px;
	background: var(--gtc-blue);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #FFFFFF;
}

.gtc-promote__badge-note {
	margin: 0 0 8px;
}

.gtc-submit__card--tint p {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--gtc-text);
}

.gtc-promote__skip {
	margin: 16px 0 0;
	text-align: center;
	font-size: 15px;
	font-weight: 600;
}

.gtc-promote__skip[hidden] {
	display: none;
}

.gtc-promote__notice {
	max-width: 760px;
}

.gtc-promote__notice p {
	margin: 0 0 12px;
	font-size: 16px;
	line-height: 1.55;
	color: var(--gtc-text);
}

.gtc-submit .gform_wrapper .gtc-promo-total .ginput_total,
.gtc-submit .gform_wrapper .gtc-promo-total .ginput_container_total span {
	font-size: 28px !important;
	font-weight: 800 !important;
	color: var(--gtc-ink) !important;
}

/* Thank-you */
.gtc-thanks {
	max-width: 820px;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.gtc-thanks__icon {
	width: 56px;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: #067647;
	color: #FFFFFF;
}

.gtc-submit .gtc-thanks__title {
	margin: 0;
	font-size: clamp(30px, 4.4vw, 44px);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--gtc-ink);
}

.gtc-thanks__dek {
	margin: 0;
	font-family: "Source Serif 4", Georgia, serif;
	font-size: 19px;
	line-height: 1.55;
	color: var(--gtc-text);
}

.gtc-thanks__dek strong {
	font-family: Inter, system-ui, sans-serif;
	color: var(--gtc-ink);
}

.gtc-thanks__card {
	padding: 8px 24px;
	border: 1px solid var(--gtc-line);
	border-radius: var(--gtc-radius);
}

.gtc-thanks__event {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 6px 16px;
	padding: 14px 0;
}

.gtc-submit .gtc-thanks__event h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 800;
	color: var(--gtc-ink);
}

.gtc-thanks__event span {
	font-size: 14px;
	color: var(--gtc-muted);
}

.gtc-thanks__row {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	padding: 14px 0;
	border-top: 1px solid var(--gtc-line);
}

.gtc-thanks__row strong {
	flex: 1 1 240px;
	font-size: 15px;
	color: var(--gtc-ink);
}

.gtc-thanks__row span {
	flex: 2 1 300px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--gtc-muted);
}

.gtc-thanks__featured {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.gtc-submit .gtc-thanks__next-title {
	margin: 0;
	font-size: 18px;
	font-weight: 800;
	color: var(--gtc-ink);
}

.gtc-thanks__steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.gtc-thanks__steps li {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px;
	border-radius: var(--gtc-radius);
	background: var(--gtc-tint);
}

.gtc-thanks__steps li span {
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--gtc-blue);
	font-size: 13px;
	font-weight: 800;
	color: #FFFFFF;
}

.gtc-thanks__steps strong {
	font-size: 15px;
	color: var(--gtc-ink);
}

.gtc-thanks__steps em {
	font-style: normal;
	font-size: 14px;
	line-height: 1.5;
	color: var(--gtc-muted);
}

.gtc-thanks__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.gtc-thanks__actions .gtc-btn {
	min-height: 52px;
	padding: 0 22px !important;
	text-decoration: none !important;
}

.gtc-submit .gtc-thanks__actions .gtc-btn--primary,
.gtc-submit .gtc-thanks__actions .gtc-btn--primary:visited {
	color: #FFFFFF !important;
}

.gtc-thanks__help {
	margin: 0;
	font-size: 14px;
	color: var(--gtc-muted);
}

.gtc-submit [hidden] {
	display: none !important;
}
