/*
 * Gravity Forms styling for the BoostEvents theme.
 * Works with the current Gravity Forms markup (2.5+, div based) and the old "legacy" markup (ul/li).
 * Scoped to .form-container (the quote form on the contact page).
 */

/* ---------- Container & intro ---------- */
.form-container {
	padding: 28px;
}
.form-container .form-meta {
	padding-bottom: 1.6rem;
}
.form-container .form-meta .required-notification {
	float: none;
	display: block;
	margin-bottom: 1rem;
	color: #888584;
}
.form-container .form-meta h3 {
	padding-bottom: .4rem;
}

/* ---------- Grid layout ---------- */
.form-container .gform_wrapper form .gform_fields {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: 18px 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.form-container .gform_wrapper form .gform_fields .gfield {
	grid-column: 1 / -1;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}
.form-container .gform_wrapper form .gform_fields .gfield.gfield--width-half,
.form-container .gform_wrapper form .gform_fields .gfield.gf_left_half,
.form-container .gform_wrapper form .gform_fields .gfield.gf_right_half {
	grid-column: span 6;
}
.form-container .gform_wrapper form .gform_fields .gfield.gfield--width-third,
.form-container .gform_wrapper form .gform_fields .gfield.gf_left_third,
.form-container .gform_wrapper form .gform_fields .gfield.gf_middle_third,
.form-container .gform_wrapper form .gform_fields .gfield.gf_right_third {
	grid-column: span 4;
}
.form-container .gform_wrapper form .gform_fields .gfield.gfield--width-quarter {
	grid-column: span 3;
}
.form-container .gform_wrapper form .gform_fields .gfield.gfield--width-two-thirds {
	grid-column: span 8;
}
.form-container .gform_wrapper form .gform_fields .gfield.gfield--width-three-quarter {
	grid-column: span 9;
}
.form-container .gform_wrapper .gform_validation_container,
.form-container .gform_wrapper .gfield--type-honeypot,
.form-container .gform_wrapper .gform_hidden,
.form-container .gform_wrapper .gfield_visibility_hidden {
	display: none !important;
}

/* Fields side by side: keep the input boxes on one line, even when a label wraps */
.form-container .gform_wrapper form .gform_fields .gfield[class*="gfield--width-"]:not(.gfield--width-full):not(fieldset),
.form-container .gform_wrapper form .gform_fields .gfield[class*="gf_left_"]:not(fieldset),
.form-container .gform_wrapper form .gform_fields .gfield[class*="gf_middle_"]:not(fieldset),
.form-container .gform_wrapper form .gform_fields .gfield[class*="gf_right_"]:not(fieldset) {
	display: flex;
	flex-direction: column;
}
.form-container .gform_wrapper form .gform_fields .gfield[class*="gfield--width-"]:not(.gfield--width-full):not(fieldset) > .ginput_container,
.form-container .gform_wrapper form .gform_fields .gfield[class*="gf_left_"]:not(fieldset) > .ginput_container,
.form-container .gform_wrapper form .gform_fields .gfield[class*="gf_middle_"]:not(fieldset) > .ginput_container,
.form-container .gform_wrapper form .gform_fields .gfield[class*="gf_right_"]:not(fieldset) > .ginput_container {
	margin-top: auto;
}

/* ---------- Labels ---------- */
.form-container .gform_wrapper form .gform_fields .gfield .gfield_label,
.form-container .gform_wrapper form .gform_fields .gfield legend.gfield_label {
	display: block;
	float: none;
	width: 100%;
	margin: 0 0 6px;
	padding: 0;
	font-family: proxima-nova, Helvetica, Arial, sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	font-style: normal;
	line-height: 1.3;
	color: #5a2d0f;
}
.form-container .gform_wrapper .gfield_required {
	margin-left: 3px;
	color: #ED1C24;
	font-weight: 700;
}
.form-container .gform_wrapper .gfield_required .gfield_required_text {
	font-size: 1.2rem;
	font-weight: 400;
	color: #888584;
}
/* "Hidden" label setting in the form editor: keep it for screen readers only */
.form-container .gform_wrapper .gfield.hidden_label .gfield_label,
.form-container .gform_wrapper .gfield .screen-reader-text,
.form-container .gform_wrapper .hidden_sub_label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
}
.form-container .gform_wrapper .gfield_description {
	padding: 6px 0 0;
	font-size: 1.3rem;
	line-height: 1.4;
	color: #888584;
}
.form-container .gform_wrapper .ginput_container,
.form-container .gform_wrapper form .gform_fields .gfield .ginput_container {
	margin: 0;
}
.form-container .gform_wrapper .ginput_complex {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 16px;
}
.form-container .gform_wrapper .ginput_complex > span {
	flex: 1 1 180px;
}
.form-container .gform_wrapper .ginput_complex label {
	display: block;
	padding-top: 4px;
	font-size: 1.3rem;
	color: #888584;
}

/* ---------- Text inputs, textarea, select ---------- */
.form-container .gform_wrapper input[type=text],
.form-container .gform_wrapper input[type=email],
.form-container .gform_wrapper input[type=tel],
.form-container .gform_wrapper input[type=number],
.form-container .gform_wrapper input[type=url],
.form-container .gform_wrapper input[type=date],
.form-container .gform_wrapper input[type=password],
.form-container .gform_wrapper textarea,
.form-container .gform_wrapper select:not([multiple]) {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-height: 50px;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid #d1cdcb;
	border-radius: 0;
	background-color: #fff;
	font-family: proxima-nova, Helvetica, Arial, sans-serif;
	font-size: 1.6rem; /* 16px: prevents zooming on iPhone */
	line-height: 1.375;
	color: #5a2d0f;
	box-shadow: none;
	transition: border-color .2s, box-shadow .2s;
}
.form-container .gform_wrapper textarea {
	min-height: 140px;
	resize: vertical;
}
.form-container .gform_wrapper select:not([multiple]) {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 44px;
	background-image: url(../images/select-icon.svg);
	background-repeat: no-repeat;
	background-position: right 14px center;
}
.form-container .gform_wrapper input[type=text]:hover,
.form-container .gform_wrapper input[type=email]:hover,
.form-container .gform_wrapper input[type=tel]:hover,
.form-container .gform_wrapper input[type=number]:hover,
.form-container .gform_wrapper textarea:hover,
.form-container .gform_wrapper select:not([multiple]):hover {
	border-color: #b9b3af;
}
.form-container .gform_wrapper input[type=text]:focus,
.form-container .gform_wrapper input[type=email]:focus,
.form-container .gform_wrapper input[type=tel]:focus,
.form-container .gform_wrapper input[type=number]:focus,
.form-container .gform_wrapper input[type=url]:focus,
.form-container .gform_wrapper input[type=date]:focus,
.form-container .gform_wrapper textarea:focus,
.form-container .gform_wrapper select:not([multiple]):focus {
	border-color: #5a2d0f;
	box-shadow: 0 0 0 3px rgba(236, 131, 5, .25);
	outline: 0;
}
.form-container .gform_wrapper ::placeholder {
	color: #888584;
	opacity: 1;
}
/* Date picker icon: always inside the right-hand side of the date box.
   Gravity Forms renders it as an image or as a button, inside or right after the input box,
   depending on the version; this covers all of those. */
.form-container .gform_wrapper .gfield,
.form-container .gform_wrapper .ginput_container_date {
	position: relative;
}
.form-container .gform_wrapper .ui-datepicker-trigger,
.form-container .gform_wrapper .gform-datepicker-trigger {
	position: absolute !important;
	top: auto !important;
	right: 1px !important;
	bottom: 1px !important;
	left: auto !important;
	z-index: 2;
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 48px !important;
	height: 48px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	transform: none !important;
	border: 0 !important;
	border-left: 1px solid #eeeae7 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: hidden;
	white-space: nowrap;
	font-size: 18px !important;
	line-height: 1 !important;
	color: #5a2d0f !important;
	cursor: pointer;
}
.form-container .gform_wrapper img.ui-datepicker-trigger {
	padding: 14px !important;
	object-fit: contain;
}
.form-container .gform_wrapper .ui-datepicker-trigger:hover,
.form-container .gform_wrapper .ui-datepicker-trigger:focus {
	background: #f7f4f2 !important;
	color: #ec8305 !important;
}
.form-container .gform_wrapper .ui-datepicker-trigger:focus-visible {
	outline: 2px solid #ec8305;
	outline-offset: -2px;
}
.form-container .gform_wrapper .ui-datepicker-trigger img,
.form-container .gform_wrapper .ui-datepicker-trigger svg {
	display: block;
	width: 20px;
	height: 20px;
	max-width: 20px;
	max-height: 20px;
	margin: 0;
	fill: currentColor;
}
.form-container .gform_wrapper .ui-datepicker-trigger .gform-icon,
.form-container .gform_wrapper .ui-datepicker-trigger [class*="icon"] {
	margin: 0;
	font-size: 18px;
	line-height: 1;
	color: inherit;
}
.form-container .gform_wrapper .ginput_container_date input[type=text],
.form-container .gform_wrapper input.datepicker {
	padding-right: 60px;
}
/* Error text under a date field: keep the icon on the input box */
.form-container .gform_wrapper .gfield_error .ginput_container_date ~ .ui-datepicker-trigger {
	bottom: auto !important;
	top: calc(1.5rem * 1.3 + 6px + 1px) !important;
}

/* ---------- Calendar popup (jQuery UI datepicker, placed at the end of the page) ---------- */
#ui-datepicker-div.ui-datepicker {
	width: 252px;
	margin: 4px 0 0;
	padding: 0;
	border: 1px solid #d1cdcb;
	background: #fff;
	box-shadow: 0 6px 18px rgba(90, 45, 15, .2);
}
#ui-datepicker-div .ui-datepicker-header {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 40px !important;
	padding: 0;
	background: #5a2d0f;
	box-shadow: none;
}
#ui-datepicker-div .ui-datepicker-prev,
#ui-datepicker-div .ui-datepicker-next {
	position: relative;
	order: 0;
	float: none;
	width: 40px;
	height: 40px;
	overflow: hidden;
	background: #5a2d0f none; /* the theme pointed to an arrow image that does not exist */
	line-height: 40px;
	text-indent: 100px;
	white-space: nowrap;
}
#ui-datepicker-div .ui-datepicker-next {
	order: 2;
}
#ui-datepicker-div .ui-datepicker-prev:before,
#ui-datepicker-div .ui-datepicker-next:before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	font-size: 26px;
	line-height: 38px;
	text-align: center;
	text-indent: 0;
	color: #fff;
}
#ui-datepicker-div .ui-datepicker-prev:before {
	content: "\2039";
}
#ui-datepicker-div .ui-datepicker-next:before {
	content: "\203A";
}
#ui-datepicker-div .ui-datepicker-prev:hover,
#ui-datepicker-div .ui-datepicker-next:hover {
	background-color: #74533d;
}
#ui-datepicker-div .ui-datepicker-prev.ui-state-disabled,
#ui-datepicker-div .ui-datepicker-next.ui-state-disabled {
	opacity: .35;
	cursor: default;
}
#ui-datepicker-div .ui-datepicker-title {
	order: 1;
	flex: 1;
	display: flex;
	justify-content: center;
	gap: 6px;
	margin: 0;
	line-height: 40px;
	color: #fff;
	font-size: 1.5rem;
}
#ui-datepicker-div .ui-datepicker-title select {
	margin: 0;
	padding: 3px 4px;
	border: 0;
	background: #fff;
	font-size: 1.4rem;
	color: #5a2d0f;
}
#ui-datepicker-div td a,
#ui-datepicker-div td span {
	width: 36px;
	height: 34px;
	line-height: 34px;
	font-size: 1.4rem;
}
#ui-datepicker-div .ui-datepicker-calendar .ui-state-highlight {
	color: #ec8305;
}
#ui-datepicker-div .ui-datepicker-calendar .ui-state-hover,
#ui-datepicker-div .ui-datepicker-calendar .ui-state-highlight.ui-state-hover {
	background: #ec8305;
	color: #fff;
}
#ui-datepicker-div .ui-datepicker-calendar td:first-child .ui-state-active,
#ui-datepicker-div .ui-datepicker-calendar td:last-child .ui-state-active {
	width: 35px;
}

/* ---------- Gravity Forms 3 date picker (button + calendar inside the date field) ---------- */
.form-container .gform_wrapper .ginput_container_date {
	position: relative;
}
.form-container .gform_wrapper .ginput_container_date input.datepicker {
	padding-right: 60px;
}
.form-container .gform_wrapper .ginput_container_date .gform-datepicker-toggle {
	position: absolute !important;
	top: 1px !important;
	right: 1px !important;
	z-index: 2;
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 48px !important;
	height: 48px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-left: 1px solid #eeeae7 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #5a2d0f !important;
	cursor: pointer;
}
.form-container .gform_wrapper .ginput_container_date .gform-datepicker-toggle:hover,
.form-container .gform_wrapper .ginput_container_date .gform-datepicker-toggle[aria-expanded="true"] {
	background: #f7f4f2 !important;
	color: #ec8305 !important;
}
.form-container .gform_wrapper .ginput_container_date .gform-datepicker-toggle:focus-visible {
	outline: 2px solid #ec8305;
	outline-offset: -2px;
}
.form-container .gform_wrapper .gform-datepicker-toggle .gform-datepicker-toggle-icon,
.form-container .gform_wrapper .gform-datepicker-toggle .dashicons {
	width: 20px;
	height: 20px;
	font-size: 20px;
	line-height: 1;
	color: inherit;
}

/* Calendar: opens as a panel just below the date field */
.form-container .gform_wrapper .gform-datepicker-calendar {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 50;
	box-sizing: border-box;
	width: 320px;
	max-width: 100%;
	margin-top: 4px;
	padding: 0;
	border: 1px solid #d1cdcb;
	background: #fff;
	box-shadow: 0 8px 20px rgba(90, 45, 15, .18);
	font-family: proxima-nova, Helvetica, Arial, sans-serif;
	color: #5a2d0f;
}
.form-container .gform_wrapper .gform-datepicker-calendar table.calendar {
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	table-layout: fixed;
}
.form-container .gform_wrapper .gform-datepicker-calendar tr.yearSelector td,
.form-container .gform_wrapper .gform-datepicker-calendar tr.monthSelector td {
	padding: 4px 0;
	border: 0;
	background: #5a2d0f;
	text-align: center;
	vertical-align: middle;
}
.form-container .gform_wrapper .gform-datepicker-calendar tr.yearSelector td {
	padding-top: 8px;
}
.form-container .gform_wrapper .gform-datepicker-calendar tr.monthSelector td {
	padding-bottom: 8px;
}
.form-container .gform_wrapper .gform-datepicker-calendar td.nav.btn {
	height: 34px;
	font-size: 18px;
	line-height: 34px;
	color: #fff;
	cursor: pointer;
	user-select: none;
}
.form-container .gform_wrapper .gform-datepicker-calendar td.nav.btn:hover,
.form-container .gform_wrapper .gform-datepicker-calendar td.nav.btn:focus {
	background: #74533d;
	outline: 0;
}
.form-container .gform_wrapper .gform-datepicker-calendar td.nav.btn:focus-visible {
	box-shadow: inset 0 0 0 2px #ec8305;
}
.form-container .gform_wrapper .gform-datepicker-calendar select.nav.current {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	width: 100%;
	max-width: 160px;
	height: 34px;
	min-height: 0;
	margin: 0;
	padding: 0 30px 0 10px;
	border: 0;
	border-radius: 0;
	background: #fff url(../images/select-icon.svg) no-repeat right 10px center;
	background-size: 10px auto;
	box-shadow: none;
	font-family: proxima-nova, Helvetica, Arial, sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 34px;
	color: #5a2d0f;
	cursor: pointer;
}
.form-container .gform_wrapper .gform-datepicker-calendar select.nav.current:focus {
	outline: 2px solid #ec8305;
	outline-offset: 0;
}
.form-container .gform_wrapper .gform-datepicker-calendar th.week {
	padding: 8px 0 6px;
	background: #f7f4f2;
	font-size: 1.2rem;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
	color: #888584;
}
.form-container .gform_wrapper .gform-datepicker-calendar td.day,
.form-container .gform_wrapper .gform-datepicker-calendar td.empty {
	height: 38px;
	padding: 0;
	border: 1px solid #eeeae7;
	text-align: center;
	vertical-align: middle;
	font-size: 1.5rem;
	line-height: 1;
}
.form-container .gform_wrapper .gform-datepicker-calendar td.empty {
	background: #faf8f7;
}
.form-container .gform_wrapper .gform-datepicker-calendar td.day {
	color: #5a2d0f;
	cursor: pointer;
	transition: background-color .15s, color .15s;
}
.form-container .gform_wrapper .gform-datepicker-calendar td.day:hover {
	background: #ec8305;
	color: #fff;
}
.form-container .gform_wrapper .gform-datepicker-calendar td.day:focus {
	outline: 2px solid #ec8305;
	outline-offset: -2px;
}
.form-container .gform_wrapper .gform-datepicker-calendar td.dayToday {
	font-weight: 700;
	color: #ec8305;
}
.form-container .gform_wrapper .gform-datepicker-calendar td.day.selected,
.form-container .gform_wrapper .gform-datepicker-calendar td.day.selected:hover {
	background: #5a2d0f;
	font-weight: 700;
	color: #fff;
}
.form-container .gform_wrapper .gform-datepicker-calendar td.disabled,
.form-container .gform_wrapper .gform-datepicker-calendar td[aria-disabled="true"] {
	background: transparent;
	color: #c9c3bf;
	cursor: default;
}
/* "Press F1 for help": only for screen readers */
.form-container .gform_wrapper .gform-datepicker-calendar .monthMessage {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
}
/* Calendar icon drawn in CSS: the WordPress icon font (Dashicons) is only loaded for logged-in users */
.form-container .gform_wrapper .gform-datepicker-toggle .gform-datepicker-toggle-icon {
	display: block;
	width: 20px !important;
	height: 20px !important;
	font-size: 0 !important;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect x='2' y='4' width='16' height='14' rx='1' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M2 8.5h16M6.5 2v4M13.5 2v4' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M5.5 11.5h2v2h-2zM9 11.5h2v2H9zM12.5 11.5h2v2h-2z' fill='black'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Crect x='2' y='4' width='16' height='14' rx='1' fill='none' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M2 8.5h16M6.5 2v4M13.5 2v4' stroke='black' stroke-width='1.8'/%3E%3Cpath d='M5.5 11.5h2v2h-2zM9 11.5h2v2H9zM12.5 11.5h2v2h-2z' fill='black'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
}
.form-container .gform_wrapper .gform-datepicker-toggle .gform-datepicker-toggle-icon:before {
	content: none !important;
}

/* ---------- Multi-select (workshops) with Chosen ---------- */
.form-container .gform_wrapper select[multiple] {
	width: 100%;
	min-height: 160px;
	padding: 6px;
	border: 1px solid #d1cdcb;
	background: #fff;
	font-size: 1.6rem;
	color: #5a2d0f;
}
.form-container .chosen-container-multi .chosen-choices {
	min-height: 50px;
	padding: 6px 40px 6px 8px;
	border: 1px solid #d1cdcb;
	background-color: #fff;
	background-position: right 14px center;
}
.form-container .chosen-container-active .chosen-choices {
	border-color: #5a2d0f;
	box-shadow: 0 0 0 3px rgba(236, 131, 5, .25);
}
.form-container .chosen-container-multi .chosen-choices li.search-field input[type=text] {
	height: 36px;
	min-height: 0;
	padding: 0 6px;
	border: 0;
	box-shadow: none;
	font-weight: 400;
}
.form-container .chosen-container-multi .chosen-choices li.search-choice {
	margin: 4px 6px 4px 0;
	padding: 6px 26px 6px 10px;
	border: 0;
	border-radius: 2px;
	background: #5a2d0f;
	box-shadow: none;
	font-size: 1.4rem;
	line-height: 1.2;
	color: #fff;
}
.form-container .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
	top: 50%;
	right: 6px;
	margin-top: -6px;
	filter: invert(1);
}
.form-container .chosen-container .chosen-drop {
	border-color: #5a2d0f;
	box-shadow: 0 6px 16px rgba(90, 45, 15, .15);
}
.form-container .chosen-container .chosen-results {
	max-height: 280px;
	font-size: 1.5rem;
	color: #5a2d0f;
}
.form-container .chosen-container .chosen-results li {
	padding: 8px 12px;
}
.form-container .chosen-container .chosen-results li.highlighted {
	background: #ec8305;
	background-image: none;
	color: #fff;
}

/* ---------- Checkboxes & radio buttons ---------- */
.form-container .gform_wrapper .gfield_checkbox,
.form-container .gform_wrapper .gfield_radio {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
/* Long lists (7+ options): neat columns instead of one long row */
.form-container .gform_wrapper .gfield_checkbox:has(> :nth-child(7)),
.form-container .gform_wrapper .gfield_radio:has(> :nth-child(7)) {
	display: block;
	columns: 2;
	column-gap: 20px;
}
.form-container .gform_wrapper .gfield_checkbox > .gchoice,
.form-container .gform_wrapper .gfield_checkbox > li,
.form-container .gform_wrapper .gfield_radio > .gchoice,
.form-container .gform_wrapper .gfield_radio > li {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0 0 8px;
	padding: 0;
	break-inside: avoid;
	list-style: none;
}
.form-container .gform_wrapper input[type=checkbox],
.form-container .gform_wrapper input[type=radio] {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	margin: 2px 0 0;
	accent-color: #ec8305;
	cursor: pointer;
}
.form-container .gform_wrapper .gchoice label,
.form-container .gform_wrapper .gfield_checkbox label,
.form-container .gform_wrapper .gfield_radio label {
	margin: 0;
	padding: 0;
	max-width: none;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.4;
	color: #5a2d0f;
	cursor: pointer;
}

/* ---------- Checkboxes & radio buttons in house style ---------- */
.form-container .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox,
.form-container .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	gap: 10px 20px;
	margin: 0;
	padding: 0;
	columns: auto;
	list-style: none;
}
.form-container .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox > .gchoice,
.form-container .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox > li,
.form-container .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio > .gchoice,
.form-container .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio > li {
	display: flex !important;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.form-container .gform_wrapper .gform_body input[type=checkbox],
.form-container .gform_wrapper .gform_body input[type=radio] {
	-webkit-appearance: none;
	appearance: none;
	position: relative;
	flex: 0 0 auto;
	box-sizing: border-box;
	width: 22px !important;
	height: 22px !important;
	margin: 0 !important;
	padding: 0;
	border: 1px solid #b9b3af;
	border-radius: 0;
	background: #fff;
	cursor: pointer;
	transition: background-color .15s, border-color .15s, box-shadow .15s;
}
.form-container .gform_wrapper .gform_body input[type=radio] {
	border-radius: 50%;
}
.form-container .gform_wrapper .gform_body input[type=checkbox]:hover,
.form-container .gform_wrapper .gform_body input[type=radio]:hover {
	border-color: #5a2d0f;
}
.form-container .gform_wrapper .gform_body input[type=checkbox]:focus-visible,
.form-container .gform_wrapper .gform_body input[type=radio]:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 3px rgba(236, 131, 5, .35);
	border-color: #5a2d0f;
}
.form-container .gform_wrapper .gform_body input[type=checkbox]:checked {
	border-color: #5a2d0f;
	background: #5a2d0f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px 16px no-repeat;
}
.form-container .gform_wrapper .gform_body input[type=radio]:checked {
	border-color: #5a2d0f;
	background: #fff;
	box-shadow: inset 0 0 0 5px #5a2d0f;
}
.form-container .gform_wrapper .gform_body input[type=checkbox]:disabled,
.form-container .gform_wrapper .gform_body input[type=radio]:disabled {
	opacity: .45;
	cursor: default;
}
.form-container .gform_wrapper .gform_body .gchoice label,
.form-container .gform_wrapper .gform_body .gfield_checkbox label,
.form-container .gform_wrapper .gform_body .gfield_radio label {
	display: inline;
	width: auto;
	max-width: none;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 1.5rem !important;
	font-weight: 400;
	line-height: 1.35;
	color: #5a2d0f;
	cursor: pointer;
}
.form-container .gform_wrapper .gform_body .gfield_error input[type=checkbox],
.form-container .gform_wrapper .gform_body .gfield_error input[type=radio] {
	border-color: #ED1C24;
}
.form-container .gform_wrapper .gform_body .ginput_container_consent input[type=checkbox] {
	margin-top: 1px !important;
}
@media (max-width: 400px) {
	.form-container .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox,
	.form-container .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio {
		grid-template-columns: 1fr;
	}
}

/* ---------- Consent (privacy) checkbox ---------- */
.form-container .gform_wrapper .ginput_container_consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 14px;
	background: #fff;
	border: 1px solid #d1cdcb;
}
.form-container .gform_wrapper .ginput_container_consent label,
.form-container .gform_wrapper .gfield_consent_label {
	font-size: 1.4rem;
	line-height: 1.45;
	color: #5a2d0f;
	cursor: pointer;
}
.form-container .gform_wrapper .gfield_consent_label a,
.form-container .gform_wrapper .gfield_consent_description a {
	color: #ec8305;
	text-decoration: underline;
}
.form-container .gform_wrapper .gfield_consent_description {
	max-height: 140px;
	overflow: auto;
	margin-top: 8px;
	padding: 10px 12px;
	border: 1px solid #d1cdcb;
	background: #f7f4f2;
	font-size: 1.3rem;
	color: #888584;
}

/* ---------- Errors ---------- */
.form-container .gform_wrapper .gform_validation_errors,
.form-container .gform_wrapper .validation_error {
	margin: 0 0 20px;
	padding: 14px 16px;
	border: 0;
	border-left: 4px solid #ED1C24;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	text-align: left;
}
.form-container .gform_wrapper .gform_validation_errors > h2,
.form-container .gform_wrapper .gform_submission_error {
	margin: 0;
	padding: 0;
	font-family: proxima-nova, Helvetica, Arial, sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	font-style: normal;
	line-height: 1.4;
	color: #ED1C24;
}
.form-container .gform_wrapper .gform_validation_errors > h2 .gform-icon {
	display: none;
}
.form-container .gform_wrapper .gfield_error .gfield_label,
.form-container .gform_wrapper .gfield_error legend.gfield_label {
	color: #ED1C24;
}
.form-container .gform_wrapper .gfield_error input[type=text],
.form-container .gform_wrapper .gfield_error input[type=email],
.form-container .gform_wrapper .gfield_error input[type=tel],
.form-container .gform_wrapper .gfield_error input[type=number],
.form-container .gform_wrapper .gfield_error textarea,
.form-container .gform_wrapper .gfield_error select,
.form-container .gform_wrapper .gfield_error .chosen-choices,
.form-container .gform_wrapper .gfield_error .ginput_container_consent {
	border-color: #ED1C24;
}
.form-container .gform_wrapper form .gform_fields .gfield .validation_message,
.form-container .gform_wrapper .gfield_validation_message {
	margin: 6px 0 0;
	padding: 0;
	border: 0;
	background: none;
	font-size: 1.4rem;
	line-height: 1.4;
	color: #ED1C24;
	text-align: left;
}

/* ---------- Submit ---------- */
.form-container .gform_wrapper form .gform_footer:before,
.form-container .gform_wrapper form .gform_footer:after {
	display: none;
}
.form-container .gform_wrapper .gform_footer,
.form-container .gform_wrapper .gform_page_footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 24px 0 0;
	padding: 0;
}
.form-container .gform_wrapper form .gform_footer input[type=submit],
.form-container .gform_wrapper form .gform_footer button[type=submit],
.form-container .gform_wrapper form .gform_footer .gform_button {
	float: none;
	min-height: 52px;
	margin: 0;
	padding: 12px 32px;
	border: 0;
	border-radius: 0;
	background-color: #5a2d0f;
	font-family: proxima-nova, Helvetica, Arial, sans-serif;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
	cursor: pointer;
	transition: background-color .2s;
}
.form-container .gform_wrapper form .gform_footer input[type=submit]:hover,
.form-container .gform_wrapper form .gform_footer input[type=submit]:focus,
.form-container .gform_wrapper form .gform_footer button[type=submit]:hover,
.form-container .gform_wrapper form .gform_footer button[type=submit]:focus,
.form-container .gform_wrapper form .gform_footer .gform_button:hover,
.form-container .gform_wrapper form .gform_footer .gform_button:focus {
	background-color: #74533d;
	color: #fff;
}
.form-container .gform_wrapper .gform_footer input[type=submit]:focus-visible,
.form-container .gform_wrapper .gform_footer .gform_button:focus-visible {
	outline: 3px solid rgba(90, 45, 15, .4);
	outline-offset: 2px;
}
.form-container .gform_wrapper .gform_ajax_spinner {
	width: 24px;
	height: 24px;
}

/* ---------- Thank-you message ---------- */
.form-container .gform_confirmation_message {
	padding: 18px 20px;
	border-left: 4px solid #ec8305;
	background: #fff;
	font-size: 1.7rem;
	line-height: 1.5;
	color: #5a2d0f;
}

/* ---------- Map below the addresses ---------- */
.maps-wrapper iframe.maps-container {
	display: block;
	border: 0;
}
.maps-route {
	padding-top: 10px;
	text-align: center;
}
.maps-route a {
	color: #ec8305;
	font-weight: 700;
}

/* ---------- Small screens ---------- */
@media (max-width: 767px) {
	.form-container {
		padding: 20px 16px;
	}
	.form-container .gform_wrapper form .gform_fields .gfield,
	.form-container .gform_wrapper form .gform_fields .gfield[class*="gfield--width-"],
	.form-container .gform_wrapper form .gform_fields .gfield[class*="gf_left_"],
	.form-container .gform_wrapper form .gform_fields .gfield[class*="gf_middle_"],
	.form-container .gform_wrapper form .gform_fields .gfield[class*="gf_right_"] {
		grid-column: 1 / -1;
	}
	.form-container .gform_wrapper .gfield_checkbox:has(> :nth-child(7)),
	.form-container .gform_wrapper .gfield_radio:has(> :nth-child(7)) {
		columns: 1;
	}
	.form-container .gform_wrapper form .gform_footer input[type=submit],
	.form-container .gform_wrapper form .gform_footer button[type=submit],
	.form-container .gform_wrapper form .gform_footer .gform_button {
		width: 100%;
	}
	.maps-wrapper {
		height: 300px;
	}
}
