:root {
	--fields-size: 15px;
	--fields-border: 2px;
	--form-color: black;
	--form-row-gap: 30px;
	--form-column-gap: 30px;
}
input {color-scheme: dark;}
.gfield--type-fileupload, textarea {width: 100% !important;}
label, legend {color: black;}
option {background-color: var(--ast-global-color-2);}
.admin-hidden-markup {display: none;}

/* INPUTS */
	.gfield--type-hidden, .field_sublabel_hidden_label legend, .hidden_label >  label, .hidden_label legend, .field_sublabel_hidden_label label, .gfield--type-honeypot {
		display: none;
	}
	input[type="text"], input[type="number"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type=reset], input[type=tel], input[type=date], select, textarea, 
	input[type=email]:focus, input[type=password]:focus, input[type=reset]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, input[type=url]:focus, select:focus, textarea:focus {
		background-color: #ff080800;
		border: 0px;
		border-bottom: 4px solid black;
		border-radius: 0px;
		padding: 0px;
		font-size: 18px;
		color: black;
	}
	input::placeholder, textarea::placeholder {
		color: rgba(0, 0, 0) !important; 
		font-weight: 300 !important;
		text-transform: uppercase !important;
	}
	input, select, textarea {
		border-bottom: 1px solid rgb(0 0 0) !important;
		padding: 0px !important;
		font-size: 18px !important;
		font-style: normal !important;
		font-weight: 400 !important;
		line-height: normal !important;
	}
	textarea {
		min-height: 1.8em;
		height: 0;
		max-height: 50vh;
	}
/* END INPUTS */

/* Submit */
	[type="submit"]  {
		--color-btn-idle: var(--ast-global-color-2) !important;
		--color-btn-border: var(--ast-global-color-0) !important;
		--color-btn-hover: var(--ast-global-color-0) !important;
		background-color: var(--color-btn-idle) !important;
		border: 0px !important;
		border-radius: 0;
		color: black !important;
		padding: 10px 15px !important;
		font-size: 16px;
		font-style: italic;
		font-weight: 800;
		line-height: normal;
		text-transform: uppercase;
		transition: all var(--cavalleretti-animation);
		border-radius: 0px !important;
	}
	.form-contattaci .gform-footer.gform_footer.top_label:hover [type="submit"] {font-weight: 700 !important;}
/* END Submit */

/* Date-Picker */
	div#ui-datepicker-div {
		background-color: var(--ast-global-color-2);
		padding: 5px 10px 10px 10px;
		border: 1px solid black;
		display: none;
	}
	a.ui-datepicker-next.ui-corner-all, a.ui-datepicker-prev.ui-corner-all {
		background-image: url("/wp-content/uploads/2025/01/bi_arrow-up.svg");
		background-position: center;
		background-repeat: no-repeat;
		cursor: pointer;
		width: 40px;
		height: auto;
		aspect-ratio: 1/1;
		display: flex;
	}
	a.ui-datepicker-prev.ui-corner-all {rotate: 180deg;}
	a.ui-datepicker-next.ui-corner-all > span, a.ui-datepicker-prev.ui-corner-all > span {display: none;}
	select.ui-datepicker-month, select.ui-datepicker-year {
		padding: 0px !important;
		width: fit-content;
		background: transparent !important;
		border: 0px !important;
		box-shadow: none !important;
		outline: none !important;
	}
	table.ui-datepicker-calendar {
		border: 2px solid var(--ast-global-color-0) !important;
		min-width: 300px !important;
		margin: 0px;
		border-radius: 0px;
		overflow: hidden;
	}
	.ui-datepicker table th {
		background-color: var(--ast-global-color-0) !important;
		color: black !important;
		width: calc(100% / 7);
	}
	.ui-datepicker-calendar td {
		padding: 0px !important;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center !important;
		width: 100%;
		aspect-ratio: 1 / 1;
		height: 100%;
		box-sizing: content-box;
	}
	.ui-datepicker-calendar a, .ui-datepicker-calendar  span {
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 15px;
		color: black;
	}
	.ui-datepicker-calendar tr {
		display: flex;
		width: 100% !important;
		flex-direction: row;
		justify-content: flex-end;
	}
	.ui-datepicker-other-month.ui-datepicker-unselectable.ui-state-disabled span {color: var(--ast-global-color-4) !important;}
	.ui-datepicker-calendar a.ui-state-active {background-color: var(--ast-global-color-3);color: var(--ast-border-color);}
	.ui-datepicker-calendar a:hover {
		background-color: var(--ast-global-color-1);
		color: black;
	}

	td, th {border: 0px;}
	.ui-datepicker-header.ui-widget-header.ui-helper-clearfix.ui-corner-all {
		display: flex;
		justify-content: space-between;
		margin-bottom: 10px;
	}
	a.ui-datepicker-prev.ui-corner-all {order: 1;} .ui-datepicker-title {order: 2;display: flex;} a.ui-datepicker-next.ui-corner-all {order: 3;}
	.ui-datepicker-calendar td:not(:first-child) {border-left: 1px solid var(--ast-border-color);} .ui-datepicker-calendar tr:not(:first-child) {border-top: 1px solid var(--ast-border-color);}
/* END Date-Picker */

/* Choice input */
	fieldset.gfield--input-type-radio {
		display: flex;
		align-items: center;
	}
	input[type='radio']:after {
		width: 100%;
		height: auto;
		border-radius: 15px;
		background-color: var(--ast-global-color-2);
		content: '';
		border: 1px solid black;
		box-sizing: content-box;
		aspect-ratio: 1 / 1;
		position: relative;
	}
	input[type='radio']:checked:after {background-color: var(--ast-global-color-0);}
	.gfield_radio label {display: block;}
	.gfield_checkbox {
		display: flex;
		flex-direction: column;
		gap: 5px;
	}
	.gchoice {
		position: relative;
		display: flex;
		flex-direction: row;
		gap: 8px;
	}
	input.gfield-choice-input {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 18px;
	}
	/* Checkbox */
		.gform_wrapper input[type="checkbox"] {visibility: hidden;}
		[type="checkbox"] {
			width: auto !important;
			height: 18px !important;
			aspect-ratio: 1 / 1 !important;
		}
		.gform_wrapper input[type="checkbox"]:after {
			content: "";
			display: flex;
			width: auto;
			height: 100%;
			aspect-ratio: 1/1;
			background-color: transparent;
			border-radius: 4px;
			border: 1px solid black;
			visibility: visible;
			justify-content: center;
			align-items: center;
			transition: all var(--cavalleretti-animation);
			background-size: 10px;
			background-repeat: no-repeat;
			background-position: center;
		}
		.gform_wrapper input[type="checkbox"]:checked:after {
			background-color: white;
			background-image: url("/wp-content/uploads/2025/07/check.png");
		}
	/* END Checkbox */
	.gfield_consent_label {font-weight: 300;}
/* END Choice input */

/* Error validation */
	.gfield:has( .validation_message) input {border-color: red !important;}
	.gfield .validation_message, .gform_submission_error {display: none !important;}
	.gfield:has( .validation_message) .ginput_container:after {
		content: "Questo campo \00E8 obbligatorio";
		font-size: 12px;
		line-height: 1em;
		color: red;
		display: flex !important;
		padding-top: 5px;
	}
	.gform-body.gform_body:has( .gfield_error):before {
		content: "\0022*\0022  indica i campi obbligatori";
		color: black;
	}
/* END Error validation */

/* Remove unwanted default ugly css-style */
	legend {
		padding: 0 !important;
		margin: 0 !important;
	}

	fieldset {
		border: 0px !important;
		padding: 0px !important;
		margin: 0px !important;
	}
/* END Remove unwanted default ugly css-style */

/* Modulo Contattaci */
	.form-contattaci .gform_fields {
		--fields-gap: 30px;
		display: flex;
		flex-wrap: wrap;
		gap: 20px var(--fields-gap);
	}
	.gfield--width-full {--field-size: 1;}
	.gfield--width-half {--field-size: 2;}
	.gfield--width-third {--field-size: 3;}
	.gfield--width-quarter {--field-size: 4;}

	@media screen and (max-width: 1000px) {
		.gfield--width-third, .gfield--width-quarter {--field-size: 2;}
	}
	@media screen and (max-width: 767px) {
		.gfield--width-half, .gfield--width-third, .gfield--width-quarter, .ginput_full, .ginput_left, .ginput_right {--field-size: 1;}
	}

	.form-contattaci .gfield {
		--gap-width-spare: calc(calc(calc(100% + calc(var(--fields-gap) * calc(var(--field-size) - 1))) / var(--field-size)) - calc(100% / var(--field-size)));
		--column-width: calc(100% / var(--field-size) - var(--gap-width-spare)) !important;
		width: var(--column-width);
	}
	.form-contattaci .ginput_container_address {
		--fields-gap: 30px;
		display: flex;
		flex-wrap: wrap;
		position: relative;
		flex-direction: row;
		gap: 20px var(--fields-gap);
	}
	.form-contattaci .gfield_description {
		font-size: 14px;
		line-height: 1.3em;
		padding-bottom: 10px;
	}
	.ginput_full {--field-size: 1;}
	.ginput_left, .ginput_right {--field-size: 2;}
	.ginput_full, .ginput_left, .ginput_right {
		--gap-width-spare: calc(calc(calc(100% + calc(var(--fields-gap) * calc(var(--field-size) - 1))) / var(--field-size)) - calc(100% / var(--field-size)));
		--column-width: calc(100% / var(--field-size) - var(--gap-width-spare)) !important;
		width: var(--column-width);
	}
	.form-contattaci option {background-color: var(--ast-global-color-2);}
	.form-contattaci .gfield_radio {
		display: flex;
		gap: 30px;
	}
	.form-contattaci .ginput_container.ginput_container_consent {
		display: flex;
		gap: 10px;
	}
	.form-contattaci .gfield--type-consent {
		display: flex;
		align-items: flex-start;
		gap: 10px;
		flex-direction: column;
	}
	.form-contattaci .gform-footer.gform_footer.top_label {
		margin-top: 30px;
		display: flex;
		gap: 8px;
	}
	.form-contattaci .gform-footer.gform_footer.top_label:before {
		content: "";
		display: flex;
		height: 34px;
		width: auto;
		aspect-ratio: 1/1;
		background-image: url("/wp-content/uploads/2025/08/freccia-cerchiata.svg");
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
	}
	.form-contattaci legend {
		font-size: 16px;
		padding-bottom: 10px !important;
	}
/* END Modulo Contattaci */