/*
Theme Name: Jimmy Marvel Bookings
Theme URI: https://bookings.jimmymarvel.co.nz/
Description: Child theme for the Jimmy Marvel booking form site using Twenty Twenty-Five and Gravity Forms.
Author: Jimmy Marvel
Template: twentytwentyfive
Version: 1.0.2
Text Domain: jimmy-marvel-bookings
*/

/************************************************************/
/* JIMMY MARVEL DESIGN SETTINGS                             */
/************************************************************/

:root {
	/* Brand palette */
	--jm-coral-red: #ee484c;
	--jm-coral-red-dark: #c3383c;
	--jm-marvel-gold: #fdbf36;
	--jm-marvel-gold-dark: #c78c10;
	--jm-party-pink: #ec3f81;
	--jm-party-pink-dark: #b92d67;
	--jm-party-pink-rgb: 236, 63, 129;
	--jm-sky-blue: #27c4e3;
	--jm-sky-blue-dark: #1789a3;
	--jm-grass-green: #57b46f;
	--jm-grass-green-dark: #2f7f46;
	--jm-brand-purple: #3b1f5c;
	--jm-brand-purple-dark: #24113d;
	--jm-brand-purple-rgb: 59, 31, 92;
	--jm-black: #000000;
	--jm-white: #ffffff;
	--jm-dark-grey: #222222;
	--jm-medium-grey: #4e4852;
	--jm-soft-grey: #8a8a8a;
	--jm-placeholder-grey: #777077;
	--jm-light-grey: #f2f2f2;
	--jm-panel-grey: rgba(238, 238, 238, 0.96);

	/* Text roles */
	--jm-page-text-color: var(--jm-dark-grey);
	--jm-muted-text-color: var(--jm-medium-grey);
	--jm-helper-text-color: var(--jm-white);
	--jm-helper-text-shadow-color: rgba(0, 0, 0, 0.75);
	--jm-label-text-color: var(--jm-brand-purple);
	--jm-field-text-color: var(--jm-dark-grey);
	--jm-placeholder-text-color: var(--jm-placeholder-grey);
	--jm-choice-text-color: var(--jm-dark-grey);
	--jm-button-text-color: var(--jm-brand-purple);
	--jm-button-hover-text-color: var(--jm-party-pink);
	--jm-button-active-text-color: var(--jm-coral-red);
	--jm-previous-button-text-color: var(--jm-sky-blue);
	--jm-submit-button-text-color: var(--jm-grass-green);
	--jm-disabled-text-color: var(--jm-soft-grey);

	/* Surface roles */
	--jm-control-background-color: var(--jm-white);
	--jm-panel-background-color: var(--jm-panel-grey);
	--jm-disabled-background-color: var(--jm-light-grey);

	/* Border and interaction roles */
	--jm-border-color: var(--jm-black);
	--jm-inner-control-border-color: var(--jm-soft-grey);
	--jm-hover-border-color: var(--jm-brand-purple);
	--jm-focus-border-color: var(--jm-party-pink);
	--jm-selected-color: var(--jm-party-pink);
	--jm-disabled-border-color: var(--jm-placeholder-grey);
	--jm-control-focus-ring-color: rgba(var(--jm-party-pink-rgb), 0.30);
	--jm-button-focus-ring-color: rgba(var(--jm-party-pink-rgb), 0.35);

	/* Package roles */
	--jm-package-heading-color: var(--jm-brand-purple);
	--jm-package-price-color: var(--jm-coral-red);
	--jm-package-time-color: var(--jm-party-pink);
	--jm-package-panel-border-color: var(--jm-brand-purple);
	--jm-package-panel-shadow-color: var(--jm-brand-purple-dark);
	--jm-package-bunny-accent: var(--jm-sky-blue);
	--jm-package-bunny-shadow: var(--jm-sky-blue-dark);
	--jm-package-magic-accent: var(--jm-marvel-gold);
	--jm-package-magic-shadow: var(--jm-marvel-gold-dark);
	--jm-package-meet-accent: var(--jm-party-pink);
	--jm-package-meet-shadow: var(--jm-party-pink-dark);
	--jm-package-balloon-accent: var(--jm-grass-green);
	--jm-package-balloon-shadow: var(--jm-grass-green-dark);
	--jm-package-surface-start: var(--jm-white);
	--jm-package-surface-end: #f7f4fa;
	--jm-package-soft-shadow: rgba(0, 0, 0, 0.18);

	/* Shape and sizing */
	--jm-main-border-width: 5px;
	--jm-panel-border-width: 4px;
	--jm-small-border-width: 3px;
	--jm-inner-control-border-width: 2px;
	--jm-pill-radius: 999px;
	--jm-panel-radius: 24px;
	--jm-consent-radius: 22px;
	--jm-mobile-panel-radius: 18px;
	--jm-control-min-height: 56px;
	--jm-button-min-height: 52px;
	--jm-footer-button-size: 58px;
	--jm-form-content-max-width: 720px;
	--jm-package-content-max-width: 980px;
	--jm-package-feature-gap: 0.8rem;
	--jm-package-card-gap: 1rem;
	--jm-package-feature-min-height: 108px;
	--jm-package-icon-size: 3.25rem;
	--jm-list-icon-color: var(--jm-marvel-gold);
}

/************************************************************/
/* Gravity Forms variables                                  */
/************************************************************/

#gform-conversational {
	--gf-color-primary: var(--jm-brand-purple);
	--gf-color-primary-rgb: var(--jm-brand-purple-rgb);
	--gf-local-color-primary: var(--jm-brand-purple);
	--gf-local-color-primary-rgb: var(--jm-brand-purple-rgb);
	--gf-ctrl-choice-check-color: var(--jm-selected-color);
	--gf-ctrl-choice-check-bg-color: var(--jm-selected-color);
	--gf-ctrl-choice-check-border-color: var(--jm-selected-color);
	--gf-ctrl-choice-check-focus-border-color: var(--jm-selected-color);
}

/************************************************************/
/* Labels and helper text                                   */
/************************************************************/

#gform-conversational :is(.gfield_label, .gform-field-label, legend.gfield_label) {
	color: var(--jm-page-text-color);
	font-weight: 800;
	line-height: 1.25;
}

#gform-conversational :is(.gfield_description:not(.gfield_consent_description), .instruction, .gform-field__description) {
	color: var(--jm-helper-text-color) !important;
	font-weight: 700 !important;
	line-height: 1.4;
	opacity: 1 !important;
	text-shadow: 0 1px 2px var(--jm-helper-text-shadow-color) !important;
}

#gform-conversational .gchoice_description {
	color: var(--jm-muted-text-color) !important;
	font-weight: 600;
	line-height: 1.4;
	opacity: 1 !important;
	text-shadow: none !important;
}

#gform-conversational :is(.gfield_description, .gchoice_description) p {
	margin: 0 0 0.45rem;
}

#gform-conversational :is(.gfield_description, .gchoice_description) p:last-child {
	margin-bottom: 0;
}

#gform-conversational :is(label.gfield_label, legend.gfield_label, .gfield_label) {
	display: inline-block !important;
	width: fit-content;
	max-width: 100%;
	color: var(--jm-label-text-color) !important;
	background: var(--jm-control-background-color) !important;
	border: var(--jm-main-border-width) solid var(--jm-border-color) !important;
	border-radius: var(--jm-panel-radius) !important;
	padding: 0.4rem 1rem !important;
	margin-bottom: 1rem !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
	box-shadow: none !important;
	filter: none !important;
	text-shadow: none !important;
}

#gform-conversational .gform-field-label--type-sub {
	display: inline-block !important;
	width: fit-content !important;
	max-width: 100%;
	color: var(--jm-label-text-color) !important;
	background: var(--jm-control-background-color) !important;
	border: var(--jm-small-border-width) solid var(--jm-border-color) !important;
	border-radius: var(--jm-pill-radius) !important;
	padding: 0.2rem 0.65rem !important;
	margin-top: 0.6rem !important;
	font-size: 0.9rem !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
	filter: none !important;
	text-shadow: none !important;
	opacity: 1 !important;
}

/************************************************************/
/* Inputs, selects and textareas                            */
/************************************************************/

#gform-conversational :is(
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="number"],
	input[type="url"],
	input[type="date"],
	input[type="time"],
	input[type="password"],
	select,
	textarea
) {
	box-sizing: border-box !important;
	color: var(--jm-field-text-color) !important;
	-webkit-text-fill-color: var(--jm-field-text-color) !important;
	background-color: var(--jm-control-background-color) !important;
	border: var(--jm-main-border-width) solid var(--jm-border-color) !important;
	border-radius: var(--jm-pill-radius) !important;
	min-height: var(--jm-control-min-height);
	padding: 0.85rem 1.15rem !important;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.25;
	opacity: 1 !important;
	box-shadow: none !important;
	filter: none !important;
	transition: border-color 150ms ease, background-color 150ms ease;
}

#gform-conversational textarea {
	min-height: 130px;
	border-radius: var(--jm-panel-radius) !important;
	resize: vertical;
}

#gform-conversational :is(input, textarea)::placeholder {
	color: var(--jm-placeholder-text-color) !important;
	-webkit-text-fill-color: var(--jm-placeholder-text-color) !important;
	font-weight: 600;
	opacity: 1 !important;
}

#gform-conversational :is(.ginput_container_select, .gfield_time_hour, .gfield_time_minute, .gfield_time_ampm) {
	width: 100% !important;
}

#gform-conversational :is(
	.ginput_container_select select,
	.gfield_time_hour select,
	.gfield_time_minute select,
	.gfield_time_ampm select
) {
	display: block !important;
	width: 100% !important;
	min-height: var(--jm-control-min-height) !important;
	color: var(--jm-field-text-color) !important;
	-webkit-text-fill-color: var(--jm-field-text-color) !important;
	background-color: var(--jm-control-background-color) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	text-indent: 0 !important;
	text-shadow: none !important;
	opacity: 1 !important;
	visibility: visible !important;
	color-scheme: light !important;
}

#gform-conversational :is(
	.ginput_container_select select,
	.gfield_time_hour select,
	.gfield_time_minute select,
	.gfield_time_ampm select
) option {
	color: var(--jm-field-text-color) !important;
	-webkit-text-fill-color: var(--jm-field-text-color) !important;
	background-color: var(--jm-control-background-color) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	opacity: 1 !important;
	visibility: visible !important;
}

#gform-conversational :is(input[type="date"], input[type="time"]) {
	color: var(--jm-field-text-color) !important;
	-webkit-text-fill-color: var(--jm-field-text-color) !important;
	color-scheme: light !important;
	opacity: 1 !important;
}

#gform-conversational input[type="date"]::-webkit-datetime-edit,
#gform-conversational input[type="date"]::-webkit-datetime-edit-fields-wrapper,
#gform-conversational input[type="date"]::-webkit-datetime-edit-text,
#gform-conversational input[type="date"]::-webkit-datetime-edit-month-field,
#gform-conversational input[type="date"]::-webkit-datetime-edit-day-field,
#gform-conversational input[type="date"]::-webkit-datetime-edit-year-field,
#gform-conversational input[type="time"]::-webkit-datetime-edit,
#gform-conversational input[type="time"]::-webkit-datetime-edit-fields-wrapper,
#gform-conversational input[type="time"]::-webkit-datetime-edit-text,
#gform-conversational input[type="time"]::-webkit-datetime-edit-hour-field,
#gform-conversational input[type="time"]::-webkit-datetime-edit-minute-field,
#gform-conversational input[type="time"]::-webkit-datetime-edit-ampm-field {
	color: var(--jm-field-text-color) !important;
	-webkit-text-fill-color: var(--jm-field-text-color) !important;
	opacity: 1 !important;
}

#gform-conversational :is(
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="number"],
	input[type="url"],
	input[type="date"],
	input[type="time"],
	input[type="password"],
	select,
	textarea
):hover {
	border-color: var(--jm-hover-border-color) !important;
}

#gform-conversational :is(
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="number"],
	input[type="url"],
	input[type="date"],
	input[type="time"],
	input[type="password"],
	select,
	textarea
):focus {
	color: var(--jm-field-text-color) !important;
	-webkit-text-fill-color: var(--jm-field-text-color) !important;
	background-color: var(--jm-control-background-color) !important;
	border-color: var(--jm-focus-border-color) !important;
	outline: none !important;
	opacity: 1 !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
}

/************************************************************/
/* Address fields                                           */
/************************************************************/

#gform-conversational .gfield--type-address,
#gform-conversational .gfield--type-address :is(.ginput_container_address, .ginput_complex) {
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box !important;
}

#gform-conversational .gfield--type-address:has(.copy_values_option_container) {
	display: block !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	max-width: var(--jm-form-content-max-width) !important;
	box-sizing: border-box !important;
}

#gform-conversational .gfield--type-address:has(.copy_values_option_container) > legend.gfield_label {
	display: block !important;
	float: none !important;
	clear: both !important;
	width: fit-content !important;
	max-width: 100% !important;
	margin: 0 0 0.75rem !important;
}

#gform-conversational .gfield--type-address .copy_values_option_container {
	position: static !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 0.7rem !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	color: var(--jm-choice-text-color) !important;
	background: var(--jm-control-background-color) !important;
	border: var(--jm-panel-border-width) solid var(--jm-border-color) !important;
	border-radius: var(--jm-pill-radius) !important;
	padding: 0.7rem 1rem !important;
	margin: 0 0 0.85rem !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
}

#gform-conversational .gfield--type-address .copy_values_option_container input[type="checkbox"] {
	-webkit-appearance: none !important;
	appearance: none !important;
	display: block !important;
	flex: 0 0 auto !important;
	width: 1.45rem !important;
	height: 1.45rem !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: var(--jm-control-background-color) !important;
	border: var(--jm-inner-control-border-width) solid var(--jm-inner-control-border-color) !important;
	border-radius: 0.35rem !important;
	box-shadow: none !important;
	filter: none !important;
}

#gform-conversational .gfield--type-address .copy_values_option_container input[type="checkbox"]:checked {
	border-color: var(--jm-selected-color) !important;
	background-color: var(--jm-selected-color) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='white' d='M6.4 11.4 3.3 8.3l-1.1 1.1 4.2 4.2L13.8 6.2l-1.1-1.1z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 0.95rem 0.95rem !important;
}

#gform-conversational .gfield--type-address .copy_values_option_container :is(label, .gform-field-label--type-inline) {
	display: block !important;
	flex: 1 1 auto !important;
	width: auto !important;
	max-width: none !important;
	color: var(--jm-label-text-color) !important;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

#gform-conversational .gfield--type-address:has(.copy_values_option_container) :is(.ginput_container_address, .ginput_complex) {
	position: static !important;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	column-gap: 0.9rem !important;
	row-gap: 0.75rem !important;
	align-items: start !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

#gform-conversational .gfield--type-address:has(.copy_values_option_container) :is(.ginput_container_address, .ginput_complex) > span {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
}

#gform-conversational .gfield--type-address:has(.copy_values_option_container) :is(.address_line_1, .address_line_2) {
	grid-column: 1 / -1 !important;
}

#gform-conversational .gfield--type-address:has(.copy_values_option_container) :is(.address_city, .address_zip) {
	grid-column: 1 !important;
}

#gform-conversational .gfield--type-address:has(.copy_values_option_container) :is(.address_state, .address_country) {
	grid-column: 2 !important;
}

#gform-conversational .gfield--type-address:has(.copy_values_option_container) :is(.ginput_container_address, .ginput_complex) :is(input, select) {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
}

/************************************************************/
/* Radio and checkbox choices                               */
/************************************************************/

#gform-conversational :is(.gfield_radio, .gfield_checkbox) {
	display: grid !important;
	gap: 0.75rem !important;
}

#gform-conversational .gchoice {
	display: flex !important;
	align-items: center !important;
	gap: 0 !important;
	width: 100% !important;
	color: var(--jm-choice-text-color) !important;
	background: var(--jm-control-background-color) !important;
	border: var(--jm-main-border-width) solid var(--jm-border-color) !important;
	border-radius: var(--jm-pill-radius) !important;
	padding: 0.8rem 1rem !important;
	margin: 0 !important;
	font-weight: 800;
	box-sizing: border-box !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
	transition: border-color 150ms ease, color 150ms ease;
}

#gform-conversational .gchoice:has(.gchoice_description) {
	border-radius: var(--jm-panel-radius) !important;
}

#gform-conversational .gchoice label {
	display: block !important;
	flex: 1 1 auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--jm-choice-text-color) !important;
	background: transparent !important;
	border: 0 !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

#gform-conversational .gchoice :is(input[type="radio"], input[type="checkbox"]) {
	-webkit-appearance: none !important;
	appearance: none !important;
	display: inline-block !important;
	flex: 0 0 auto !important;
	width: 1.45rem !important;
	height: 1.45rem !important;
	min-height: 0 !important;
	margin: 0 0.85rem 0 0 !important;
	padding: 0 !important;
	background: var(--jm-control-background-color) !important;
	border: var(--jm-inner-control-border-width) solid var(--jm-inner-control-border-color) !important;
	vertical-align: middle !important;
	position: relative !important;
	box-shadow: none !important;
	filter: none !important;
	transform: none !important;
}

#gform-conversational .gchoice :is(input[type="radio"], input[type="checkbox"])::before,
#gform-conversational .gchoice :is(input[type="radio"], input[type="checkbox"])::after {
	content: none !important;
	display: none !important;
}

#gform-conversational .gchoice input[type="radio"] {
	border-radius: 50% !important;
}

#gform-conversational .gchoice input[type="radio"]:checked {
	border-color: var(--jm-selected-color) !important;
	background-color: var(--jm-selected-color) !important;
	background-image: radial-gradient(circle, var(--jm-white) 0 24%, transparent 27%) !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
}

#gform-conversational .gchoice input[type="checkbox"] {
	border-radius: 0.35rem !important;
}

#gform-conversational .gchoice input[type="checkbox"]:checked {
	border-color: var(--jm-selected-color) !important;
	background-color: var(--jm-selected-color) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='white' d='M6.4 11.4 3.3 8.3l-1.1 1.1 4.2 4.2L13.8 6.2l-1.1-1.1z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 0.95rem 0.95rem !important;
}

#gform-conversational .gchoice :is(input[type="radio"], input[type="checkbox"]):focus {
	outline: 3px solid var(--jm-control-focus-ring-color) !important;
	outline-offset: 2px !important;
}

#gform-conversational .gchoice:is(:hover, :focus-within) {
	border-color: var(--jm-hover-border-color) !important;
}

#gform-conversational .gchoice:has(input:checked) {
	border-color: var(--jm-selected-color) !important;
}

/************************************************************/
/* Buttons                                                  */
/************************************************************/

#gform-conversational :is(
	input[type="submit"],
	input[type="button"],
	button,
	.gform_button,
	.gform_next_button,
	.gform_previous_button,
	a[role="button"],
	.gform-conversational__button,
	.gform-conversational__navigation-button,
	.gform-conversational__welcome-cta button,
	.gform-conversational__welcome-cta a
) {
	-webkit-appearance: none !important;
	appearance: none !important;
	color: var(--jm-button-text-color) !important;
	background: var(--jm-control-background-color) !important;
	border: var(--jm-main-border-width) solid var(--jm-border-color) !important;
	border-radius: var(--jm-pill-radius) !important;
	min-height: var(--jm-button-min-height);
	padding: 0.7rem 1.45rem !important;
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: 0.01em;
	cursor: pointer;
	box-shadow: none !important;
	filter: none !important;
	text-shadow: none !important;
	transform: none !important;
	transition: color 140ms ease, border-color 140ms ease, background-color 140ms ease;
}

#gform-conversational :is(
	input[type="submit"],
	input[type="button"],
	button,
	.gform_button,
	.gform_next_button,
	.gform_previous_button,
	a[role="button"],
	.gform-conversational__button,
	.gform-conversational__navigation-button,
	.gform-conversational__welcome-cta button,
	.gform-conversational__welcome-cta a
):is(:hover, :focus-visible) {
	color: var(--jm-button-hover-text-color) !important;
	border-color: var(--jm-border-color) !important;
	outline: 4px solid var(--jm-button-focus-ring-color) !important;
	outline-offset: 3px;
}

#gform-conversational :is(
	input[type="submit"],
	input[type="button"],
	button,
	.gform_button,
	.gform_next_button,
	.gform_previous_button,
	a[role="button"],
	.gform-conversational__button,
	.gform-conversational__navigation-button,
	.gform-conversational__welcome-cta button,
	.gform-conversational__welcome-cta a
):active {
	color: var(--jm-button-active-text-color) !important;
}

#gform-conversational .gform_previous_button {
	color: var(--jm-previous-button-text-color) !important;
}

#gform-conversational :is(input[type="submit"], .gform_button[type="submit"]) {
	color: var(--jm-submit-button-text-color) !important;
}

#gform-conversational :is(.gform-conversational__footer, .gform-conversational__navigation) :is(button, a[role="button"]) {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: var(--jm-footer-button-size) !important;
	height: var(--jm-footer-button-size) !important;
	min-width: var(--jm-footer-button-size) !important;
	min-height: var(--jm-footer-button-size) !important;
	padding: 0 !important;
	border-radius: 50% !important;
}

#gform-conversational :is(button, input[type="submit"], input[type="button"], .gform_button):disabled,
#gform-conversational [aria-disabled="true"] {
	color: var(--jm-disabled-text-color) !important;
	-webkit-text-fill-color: var(--jm-disabled-text-color) !important;
	background: var(--jm-disabled-background-color) !important;
	border-color: var(--jm-disabled-border-color) !important;
	opacity: 0.75;
	cursor: not-allowed;
}

/************************************************************/
/* HTML panels and Consent field                            */
/************************************************************/

#gform-conversational :is(.gfield--type-html, .gfield_html) {
	display: block !important;
	flex: 0 0 auto !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
}

#gform-conversational .jm-info-panel {
	display: block;
	width: 100%;
	max-width: var(--jm-form-content-max-width);
	color: var(--jm-page-text-color);
	background: var(--jm-panel-background-color);
	border: var(--jm-panel-border-width) solid var(--jm-border-color);
	border-radius: var(--jm-panel-radius);
	padding: 1.1rem 1.3rem;
	margin: 0 0 1rem;
	font-size: 1.05rem;
	line-height: 1.45;
	box-sizing: border-box;
	box-shadow: none;
}

#gform-conversational .jm-info-panel p {
	margin: 0 0 0.85rem !important;
}

#gform-conversational .jm-info-panel p:last-child {
	margin-bottom: 0 !important;
}

#gform-conversational .jm-info-panel strong {
	color: var(--jm-label-text-color) !important;
	font-weight: 900 !important;
}

#gform-conversational .gfield--type-consent {
	display: block !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	max-width: var(--jm-form-content-max-width) !important;
	box-sizing: border-box !important;
}

#gform-conversational .gfield--type-consent > legend.gfield_label {
	display: block !important;
	width: fit-content !important;
	max-width: 100% !important;
	margin: 0 0 1rem !important;
}

#gform-conversational .gfield--type-consent .ginput_container_consent {
	display: grid !important;
	grid-template-columns: 1.5rem minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 0.85rem !important;
	width: 100% !important;
	color: var(--jm-page-text-color) !important;
	background: var(--jm-control-background-color) !important;
	border: var(--jm-panel-border-width) solid var(--jm-border-color) !important;
	border-radius: var(--jm-consent-radius) !important;
	padding: 0.9rem 1.1rem !important;
	margin: 0 !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
}

#gform-conversational .gfield--type-consent .ginput_container_consent input[type="checkbox"] {
	-webkit-appearance: none !important;
	appearance: none !important;
	grid-column: 1 !important;
	display: block !important;
	width: 1.45rem !important;
	height: 1.45rem !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: var(--jm-control-background-color) !important;
	border: var(--jm-inner-control-border-width) solid var(--jm-inner-control-border-color) !important;
	border-radius: 0.35rem !important;
}

#gform-conversational .gfield--type-consent .ginput_container_consent input[type="checkbox"]:checked {
	border-color: var(--jm-selected-color) !important;
	background-color: var(--jm-selected-color) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='white' d='M6.4 11.4 3.3 8.3l-1.1 1.1 4.2 4.2L13.8 6.2l-1.1-1.1z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 0.95rem 0.95rem !important;
}

#gform-conversational .gfield--type-consent .gfield_consent_label {
	grid-column: 2 !important;
	display: block !important;
	color: var(--jm-label-text-color) !important;
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 1rem !important;
	font-weight: 900 !important;
	line-height: 1.3 !important;
	box-shadow: none !important;
}

#gform-conversational .gfield--type-consent:has(input[type="checkbox"]:checked) .ginput_container_consent {
	border-color: var(--jm-selected-color) !important;
}

#gform-conversational .gfield--type-consent .gfield_consent_description {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	max-height: none !important;
	color: var(--jm-page-text-color) !important;
	background: var(--jm-panel-background-color) !important;
	border: var(--jm-panel-border-width) solid var(--jm-border-color) !important;
	border-radius: var(--jm-consent-radius) !important;
	padding: 0.85rem 1rem !important;
	margin: 0.85rem 0 0 !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	overflow: visible !important;
	white-space: normal !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
}

#gform-conversational .gfield--type-consent .gfield_consent_description p {
	margin: 0 0 0.75rem !important;
	padding: 0 !important;
}

#gform-conversational .gfield--type-consent .gfield_consent_description p:last-child {
	margin-bottom: 0 !important;
}

#gform-conversational .gfield--type-consent .gfield_consent_description strong {
	display: inline !important;
	color: var(--jm-label-text-color) !important;
	font-weight: 900 !important;
}

/************************************************************/
/* Outdoor requirements sparkle list                        */
/************************************************************/

#gform-conversational .gfield--type-consent :is(.jm-outdoor-note, .jm-outdoor-list) {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	white-space: normal !important;
}

#gform-conversational .gfield--type-consent .jm-outdoor-list {
	list-style: none !important;
}

#gform-conversational .gfield--type-consent .jm-outdoor-list > li {
	display: block !important;
	position: relative !important;
	margin: 0 0 0.55rem !important;
	padding: 0 0 0 1.65rem !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}

#gform-conversational .gfield--type-consent .jm-outdoor-list > li:last-child {
	margin-bottom: 0 !important;
}

#gform-conversational .gfield--type-consent .jm-outdoor-list > li::before {
	content: "✦" !important;
	position: absolute !important;
	top: 0.05rem !important;
	left: 0 !important;
	width: 1.15rem !important;
	color: var(--jm-list-icon-color) !important;
	font-size: 1.1rem !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	text-align: center !important;
}

/************************************************************/
/* Colourful private package comparison                     */
/************************************************************/

#gform-conversational .jm-package-info {
	width: 100% !important;
	max-width: var(--jm-package-content-max-width) !important;
	margin: 0 auto !important;
	color: var(--jm-page-text-color) !important;
}

#gform-conversational .jm-package-info h3 {
	margin: 0 0 0.9rem !important;
	color: var(--jm-white) !important;
	font-size: 1.8rem !important;
	font-weight: 900 !important;
	line-height: 1.1 !important;
	text-align: center !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.50) !important;
}

#gform-conversational .jm-package-shared {
	color: var(--jm-page-text-color) !important;
	background: linear-gradient(180deg, var(--jm-package-surface-start) 0%, var(--jm-package-surface-end) 100%) !important;
	border: var(--jm-main-border-width) solid var(--jm-package-panel-border-color) !important;
	border-radius: 28px !important;
	padding: 1.1rem 1rem 1rem !important;
	margin: 0 0 1.35rem !important;
	box-sizing: border-box !important;
	box-shadow: 0 8px 0 var(--jm-package-panel-shadow-color), 0 16px 28px var(--jm-package-soft-shadow) !important;
}

#gform-conversational .jm-package-shared h4 {
	margin: 0 0 0.9rem !important;
	color: var(--jm-package-heading-color) !important;
	font-size: 1.45rem !important;
	font-weight: 900 !important;
	line-height: 1.15 !important;
	text-align: center !important;
}

#gform-conversational .jm-package-feature-list {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: var(--jm-package-feature-gap) !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

#gform-conversational .jm-package-feature {
	--jm-feature-accent: var(--jm-package-bunny-accent);
	--jm-feature-shadow: var(--jm-package-bunny-shadow);
	display: flex !important;
	align-items: flex-start !important;
	gap: 0.75rem !important;
	min-width: 0 !important;
	min-height: var(--jm-package-feature-min-height) !important;
	color: var(--jm-feature-accent) !important;
	background: linear-gradient(180deg, var(--jm-white) 0%, #f8fbfc 100%) !important;
	border: var(--jm-panel-border-width) solid var(--jm-feature-accent) !important;
	border-radius: var(--jm-panel-radius) !important;
	padding: 0.85rem 0.9rem !important;
	font-size: 1.05rem !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	overflow-wrap: anywhere !important;
	box-sizing: border-box !important;
	box-shadow: 0 6px 0 var(--jm-feature-shadow), 0 11px 18px rgba(0, 0, 0, 0.12) !important;
}

#gform-conversational .jm-package-feature:nth-child(1) {
	--jm-feature-accent: var(--jm-package-bunny-accent);
	--jm-feature-shadow: var(--jm-package-bunny-shadow);
}

#gform-conversational .jm-package-feature:nth-child(2) {
	--jm-feature-accent: var(--jm-package-magic-accent);
	--jm-feature-shadow: var(--jm-package-magic-shadow);
}

#gform-conversational .jm-package-feature:nth-child(3) {
	--jm-feature-accent: var(--jm-package-meet-accent);
	--jm-feature-shadow: var(--jm-package-meet-shadow);
}

#gform-conversational .jm-package-feature:nth-child(4):last-child {
	--jm-feature-accent: var(--jm-package-balloon-accent);
	--jm-feature-shadow: var(--jm-package-balloon-shadow);
	grid-column: 1 / -1 !important;
	min-height: 0 !important;
}

#gform-conversational .jm-package-icon {
	flex: 0 0 var(--jm-package-icon-size) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: var(--jm-package-icon-size) !important;
	height: var(--jm-package-icon-size) !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--jm-feature-accent) !important;
	background: var(--jm-white) !important;
	border: var(--jm-small-border-width) solid var(--jm-feature-accent) !important;
	border-radius: 50% !important;
	font-size: 0 !important;
	line-height: 1 !important;
	box-sizing: border-box !important;
	box-shadow: 0 4px 0 var(--jm-feature-shadow) !important;
}

#gform-conversational .jm-package-icon::before {
	display: block !important;
	width: 2rem !important;
	height: 2rem !important;
	background-color: currentColor !important;
	content: "" !important;
	-webkit-mask-repeat: no-repeat !important;
	mask-repeat: no-repeat !important;
	-webkit-mask-position: center !important;
	mask-position: center !important;
	-webkit-mask-size: contain !important;
	mask-size: contain !important;
}

#gform-conversational .jm-package-feature:nth-child(1) .jm-package-icon::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M20 27C11 20 9 7 14 4c6-3 14 11 16 19 1-11 5-22 11-22 7 1 5 16-2 27 9 3 15 11 15 20 0 10-9 16-22 16S10 58 10 48c0-9 4-17 10-21Zm5 18a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-15 8c4 4 8 4 12 0' fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M20 27C11 20 9 7 14 4c6-3 14 11 16 19 1-11 5-22 11-22 7 1 5 16-2 27 9 3 15 11 15 20 0 10-9 16-22 16S10 58 10 48c0-9 4-17 10-21Zm5 18a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm16 0a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm-15 8c4 4 8 4 12 0' fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

#gform-conversational .jm-package-feature:nth-child(2) .jm-package-icon::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='m11 53 28-28 8 8-28 28-8-8Zm31-38 3-9 3 9 9 3-9 3-3 9-3-9-9-3 9-3Zm9 29 2-6 2 6 6 2-6 2-2 6-2-6-6-2 6-2Z'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='m11 53 28-28 8 8-28 28-8-8Zm31-38 3-9 3 9 9 3-9 3-3 9-3-9-9-3 9-3Zm9 29 2-6 2 6 6 2-6 2-2 6-2-6-6-2 6-2Z'/%3E%3C/svg%3E") !important;
}

#gform-conversational .jm-package-feature:nth-child(3) .jm-package-icon::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 27C22 19 15 14 10 20 4 28 15 40 32 51c17-11 28-23 22-31-5-6-12-1-22 7Zm-22 25h19c7 0 12-2 17-7l11-10c3-3 0-8-4-6L40 37c-2 1-4 2-7 2H22c-3 0-3-4 0-4h10c5 0 5-8 0-8H19c-5 0-8 2-12 6l-5 5'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 27C22 19 15 14 10 20 4 28 15 40 32 51c17-11 28-23 22-31-5-6-12-1-22 7Zm-22 25h19c7 0 12-2 17-7l11-10c3-3 0-8-4-6L40 37c-2 1-4 2-7 2H22c-3 0-3-4 0-4h10c5 0 5-8 0-8H19c-5 0-8 2-12 6l-5 5'/%3E%3C/svg%3E") !important;
}

#gform-conversational .jm-package-feature:nth-child(4) .jm-package-icon::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 3C17 3 9 15 12 29c2 9 9 17 17 21l-4 6h14l-4-6c8-4 15-12 17-21C55 15 47 3 32 3Zm0 51c3 4 5 5 3 8M20 18c2-5 7-8 12-8' fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M32 3C17 3 9 15 12 29c2 9 9 17 17 21l-4 6h14l-4-6c8-4 15-12 17-21C55 15 47 3 32 3Zm0 51c3 4 5 5 3 8M20 18c2-5 7-8 12-8' fill='none' stroke='black' stroke-width='5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

#gform-conversational .jm-package-feature > span:last-child {
	display: block !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

#gform-conversational .jm-package-note {
	margin: 1rem 0 0 !important;
	padding: 0 0.4rem !important;
	color: var(--jm-package-heading-color) !important;
	font-size: 1rem !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	text-align: center !important;
}

#gform-conversational .jm-package-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	align-items: stretch !important;
	gap: var(--jm-package-card-gap) !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

#gform-conversational .jm-package-card {
	--jm-card-accent: var(--jm-package-bunny-accent);
	--jm-card-shadow: var(--jm-package-bunny-shadow);
	display: flex !important;
	flex-direction: column !important;
	position: relative !important;
	min-width: 0 !important;
	height: 100% !important;
	color: var(--jm-page-text-color) !important;
	background: linear-gradient(180deg, var(--jm-package-surface-start) 0%, var(--jm-package-surface-end) 100%) !important;
	border: var(--jm-panel-border-width) solid var(--jm-card-accent) !important;
	border-radius: 28px !important;
	padding: 1.2rem 1rem 1rem !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	box-shadow: 0 8px 0 var(--jm-card-shadow), 0 15px 26px var(--jm-package-soft-shadow) !important;
}

#gform-conversational .jm-package-card::before {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	height: 14px !important;
	background: var(--jm-card-accent) !important;
}

#gform-conversational .jm-package-card:nth-child(1) {
	--jm-card-accent: var(--jm-package-bunny-accent);
	--jm-card-shadow: var(--jm-package-bunny-shadow);
}

#gform-conversational .jm-package-card:nth-child(2) {
	--jm-card-accent: var(--jm-package-magic-accent);
	--jm-card-shadow: var(--jm-package-magic-shadow);
}

#gform-conversational .jm-package-card:nth-child(3) {
	--jm-card-accent: var(--jm-package-meet-accent);
	--jm-card-shadow: var(--jm-package-meet-shadow);
}

#gform-conversational .jm-package-card h4 {
	margin: 0.35rem 0 0.25rem !important;
	color: var(--jm-package-heading-color) !important;
	font-size: 1.8rem !important;
	font-weight: 900 !important;
	line-height: 1.05 !important;
	text-align: center !important;
}

#gform-conversational .jm-package-price {
	margin: 0 0 0.7rem !important;
	color: var(--jm-package-price-color) !important;
	font-size: 1.5rem !important;
	font-weight: 900 !important;
	line-height: 1.05 !important;
	text-align: center !important;
}

#gform-conversational .jm-package-time {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 72px !important;
	margin: 0 0 1rem !important;
	padding: 0.55rem 0.85rem !important;
	color: var(--jm-package-time-color) !important;
	background: var(--jm-white) !important;
	border: var(--jm-panel-border-width) solid var(--jm-card-accent) !important;
	border-radius: var(--jm-pill-radius) !important;
	font-size: 1.08rem !important;
	font-weight: 900 !important;
	line-height: 1.15 !important;
	text-align: center !important;
	box-sizing: border-box !important;
	box-shadow: 0 5px 0 var(--jm-card-shadow) !important;
}

#gform-conversational .jm-package-card p {
	margin: 0 0 0.65rem !important;
	color: var(--jm-page-text-color) !important;
	font-size: 1.02rem !important;
	font-weight: 700 !important;
	line-height: 1.34 !important;
}

#gform-conversational .jm-package-card p:last-child {
	margin-bottom: 0 !important;
}

/************************************************************/
/* Welcome screen                                           */
/************************************************************/

#gform-conversational.gform-conversational--welcome-active
.gform-conversational__screen--welcome.active
.gform-conversational__screen-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start !important;
	padding-block-start: clamp(16px, 3vh, 32px) !important;
	padding-block-end: 24px !important;
	gap: clamp(10px, 1.5vh, 18px);
	box-sizing: border-box;
}

#gform-conversational .gform-conversational__screen--welcome .gform-conversational__welcome-title {
	order: 1;
	margin: 0 !important;
	text-align: center;
}

#gform-conversational .gform-conversational__screen--welcome .gform-conversational__welcome-message {
	order: 2;
	max-width: 800px;
	margin: 0 !important;
	padding-inline: 1rem;
	text-align: center;
}

#gform-conversational .gform-conversational__screen--welcome .gform-conversational__welcome-message-copy {
	margin: 0 !important;
}

#gform-conversational .gform-conversational__screen--welcome .gform-conversational__welcome-image {
	order: 3;
	margin: 0 !important;
}

#gform-conversational .gform-conversational__screen--welcome .gform-conversational__welcome-cta {
	order: 4;
	margin: 0 !important;
}

.gform-conversational--welcome-active .gform-conversational__welcome-image img {
	display: block;
	animation: jm-welcome-entrance 1.3s cubic-bezier(0.18, 0.89, 0.32, 1.2) 0.15s both;
	transform-origin: center center;
	will-change: transform, opacity;
}

@keyframes jm-welcome-entrance {
	0% {
		opacity: 0;
		transform: scale(0.18) rotate(-8deg);
	}

	55% {
		opacity: 1;
		transform: scale(1.07) rotate(4deg);
	}

	72% {
		transform: scale(0.97) rotate(-2.5deg);
	}

	86% {
		transform: scale(1.02) rotate(1deg);
	}

	100% {
		opacity: 1;
		transform: scale(1) rotate(0deg);
	}
}

/************************************************************/
/* Responsive layout                                        */
/************************************************************/

@media screen and (max-width: 760px) {
	#gform-conversational .jm-package-info h3 {
		font-size: 1.45rem !important;
	}

	#gform-conversational .jm-package-shared {
		padding: 0.95rem 0.85rem 0.85rem !important;
		border-radius: 22px !important;
	}

	#gform-conversational .jm-package-shared h4 {
		font-size: 1.2rem !important;
	}

	#gform-conversational :is(.jm-package-feature-list, .jm-package-grid) {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	#gform-conversational .jm-package-feature {
		min-height: 0 !important;
		padding: 0.8rem !important;
		border-radius: 20px !important;
	}

	#gform-conversational .jm-package-feature:nth-child(4):last-child {
		grid-column: 1 !important;
	}

	#gform-conversational .jm-package-icon {
		--jm-package-icon-size: 2.9rem;
	}

	#gform-conversational .jm-package-icon::before {
		width: 1.75rem !important;
		height: 1.75rem !important;
	}

	#gform-conversational .jm-package-card {
		padding: 1.05rem 0.9rem 0.9rem !important;
		border-radius: 22px !important;
	}

	#gform-conversational .jm-package-card h4 {
		font-size: 1.55rem !important;
	}

	#gform-conversational .jm-package-price {
		font-size: 1.35rem !important;
	}

	#gform-conversational .jm-package-time {
		min-height: 64px !important;
		font-size: 1rem !important;
	}

	#gform-conversational .jm-info-panel {
		padding: 1rem;
		border-width: var(--jm-small-border-width);
		border-radius: 20px;
		font-size: 1rem;
	}

	#gform-conversational .gfield--type-consent .ginput_container_consent {
		grid-template-columns: 1.4rem minmax(0, 1fr) !important;
		gap: 0.7rem !important;
		padding: 0.85rem !important;
		border-radius: var(--jm-mobile-panel-radius) !important;
	}

	#gform-conversational .gfield--type-consent .gfield_consent_description {
		padding: 0.8rem !important;
		border-radius: var(--jm-mobile-panel-radius) !important;
	}

	#gform-conversational .gfield--type-address .copy_values_option_container {
		padding: 0.7rem 0.85rem !important;
		border-radius: var(--jm-mobile-panel-radius) !important;
	}

	#gform-conversational.gform-conversational--welcome-active
	.gform-conversational__screen--welcome.active
	.gform-conversational__screen-content {
		padding-block-start: 12px !important;
		padding-block-end: 18px !important;
		gap: 10px;
	}

	#gform-conversational .gform-conversational__screen--welcome .gform-conversational__welcome-message {
		padding-inline: 0.75rem;
	}

	#gform-conversational :is(.gform-conversational__footer, .gform-conversational__navigation) :is(button, a[role="button"]) {
		--jm-footer-button-size: 52px;
	}
}

@media screen and (max-width: 640px) {
	#gform-conversational .gfield--type-address:has(.copy_values_option_container) :is(.ginput_container_address, .ginput_complex) {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	#gform-conversational .gfield--type-address:has(.copy_values_option_container) :is(
		.address_line_1,
		.address_line_2,
		.address_city,
		.address_state,
		.address_zip,
		.address_country
	) {
		grid-column: 1 / -1 !important;
	}
}

@media screen and (max-height: 720px) {
	#gform-conversational.gform-conversational--welcome-active
	.gform-conversational__screen--welcome.active
	.gform-conversational__screen-content {
		padding-block-start: 8px !important;
		padding-block-end: 12px !important;
		gap: 8px;
	}

	#gform-conversational .gform-conversational__screen--welcome .gform-conversational__welcome-image img {
		width: auto;
		max-height: 52vh;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gform-conversational--welcome-active .gform-conversational__welcome-image img {
		animation: none;
	}

	#gform-conversational :is(input, select, textarea, button, .gchoice) {
		transition: none;
	}
}