/* Autogenerated by richieste-it for form ID 555 */
:root {
	--fr-font-family: inherit;
	
	/* 🎨 DA PERSONALIZZARE COLORI BRAND */
	--fr-label-color: #1a1a1a;
	--fr-field-text-color: #1a1a1a;
	--fr-placeholder-color: #6c757d;
	--fr-link-color: #d26e32;
	--fr-icon-color: #d26e32;
	--fr-accent-color: #d26e32;
	--fr-bg-form: #f8f9fa; /* Sfondo form — usare colore brand chiaro */
	--fr-field-bg: #ffffff;
	--fr-border-color: #ced4da;
	--fr-border-focus: #d26e32;
	--fr-button-bg: #d26e32;
	--fr-button-bg-hover: #ac5a29;
	--fr-button-text-color: #ffffff;

	/* RADIUS */
	--fr-border-radius: 6px;
	--fr-button-border-radius: 6px;

	/* ⛔ MAI CAMBIARE I FONT SIZE (devono essere inherit) */
	--fr-label-font-size: inherit;
	--fr-labelcheck-font-size: inherit;
	--fr-field-text-font-size: inherit;
}

/* ======================================================================
   CSS SPECIFICI FORM RICHIESTE (SIDEBAR VERSION)
   ====================================================================== */

.form-richieste {
	width: 100%;
	margin: 0 auto;
	padding: 15px; /* Padding ridotto per sidebar */
	background-color: var(--fr-bg-form);
	font-family: var(--fr-font-family);
	box-sizing: border-box;
	border-radius: 12px;
	border: 1px solid var(--fr-border-color); /* Spesso la sidebar richiede un bordo */
	box-shadow: 0 4px 10px rgba(0,0,0,0.06);
}

.form-richieste div:not(.campo):not(.riga):not(.campo *):not(.riga *) {
    margin: 8px auto; /* Margini ridotti */
}

.form-richieste a { color: var(--fr-link-color); text-decoration: underline; }
.form-richieste a:hover { text-decoration: none; }

.form-richieste label {
	display: block;
	margin-bottom: 4px; /* Ridotto */
	font-weight: 600;
	color: var(--fr-label-color);
	font-size: var(--fr-label-font-size);
}

.form-richieste label#label-check { font-size: var(--fr-labelcheck-font-size); }

/* Modalità NO LABEL - Nasconde visivamente ma mantiene accessibilità */
.form-richieste.fr-no-label label,
.form-richieste .fr-no-label label {
	visibility: hidden;
}

/* ======================================================================
   CAMPI / BORDI
   ====================================================================== */

.form-richieste input[type="text"],
.form-richieste input[type="tel"],
.form-richieste input[type="email"],
.form-richieste input[type="number"],
.form-richieste input[type="date"],
.form-richieste select,
.form-richieste textarea {
	width: 100%;
	max-width: 100%;
	padding: 0 12px;
	height: 40px; /* Più compatto in sidebar */
	border: 1px solid var(--fr-border-color);
	background-color: var(--fr-field-bg);
	color: var(--fr-field-text-color);
	font-size: var(--fr-field-text-font-size);
	box-sizing: border-box;
	border-radius: var(--fr-border-radius);
	transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

.form-richieste textarea {
	height: auto;
	min-height: 80px;
	padding: 10px 12px;
	resize: none;
	overflow: hidden;
	line-height: 1.5;
}

/* Focus stato */
.form-richieste input:focus,
.form-richieste select:focus,
.form-richieste textarea:focus {
	outline: none;
	border-color: var(--fr-border-focus);
	box-shadow: 0 0 0 3px rgba(210, 110, 50, 0.2); /* rgba sostituita dallo script genera_form.py */
}

.form-richieste ::placeholder { color: var(--fr-placeholder-color); opacity: 1; }

/* ======================================================================
   CHECKBOX / RADIO
   ====================================================================== */

.form-richieste input[type="checkbox"],
.form-richieste input[type="radio"] {
	cursor: pointer;
	vertical-align: middle;
}

.form-richieste input[type="checkbox"]:not(#fr-x) {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	width: 17px !important;
	height: 17px !important;
	min-width: 17px !important;
	border: 2px solid #ced4da !important;
	border-radius: 3px !important;
	background-color: #ffffff !important;
	background-image: none !important;
	cursor: pointer !important;
	flex-shrink: 0 !important;
	vertical-align: middle !important;
	transition: background-color 0.15s ease, border-color 0.15s ease !important;
}
.form-richieste input[type="checkbox"]:checked::before { display: none !important; }
.form-richieste input[type="checkbox"]:checked:not(#fr-x) {
	background-color: #d26e32 !important;
	border-color: #d26e32 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M2.5 8l3.5 3.5 7.5-7'/%3E%3C/svg%3E") !important;
	background-size: 11px !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
}
.form-richieste input[type="radio"] { transform: scale(1.1); margin-right: 6px; accent-color: #d26e32 !important; }

.form-richieste .form-check { display: flex; flex-direction: row; align-items: flex-start; gap: 5px; }

/* TIPO CLIENTE SIDEBAR */
.form-richieste .tipo-soggetto-wrapper {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.form-richieste .tipo-soggetto-wrapper .ts-label-titolo { margin: 0; font-weight: 600; }
.form-richieste .ts-option { display: flex; align-items: center; gap: 5px; margin: 0 !important; }
.form-richieste .tipo-soggetto-wrapper .ts-label-opzione { margin: 0; font-weight: normal; cursor: pointer; }
.form-richieste .tipo-soggetto-wrapper input[type="radio"] { transform: scale(1.1); margin: 0; }
/* CONSENSI */
.form-richieste .checkbox-wrapper { display: flex; align-items: flex-start; gap: 8px; padding: 2px 0; }
.form-richieste .checkbox-wrapper label,
.form-richieste .checkbox-wrapper span { white-space: normal; line-height: 1.4; font-weight: normal; margin: 0; font-size: 0.7em; }
.form-richieste .checkbox-wrapper label#label-check { font-size: 0.7em !important; }

/* ======================================================================
   SELECT
   ====================================================================== */
.form-richieste select {
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23cccccc%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
	background-repeat: no-repeat;
	background-position: right 12px top 50%;
	background-size: 10px auto;
	padding-right: 30px;
}

/* ======================================================================
   PULSANTI
   ====================================================================== */
.form-richieste button[type="submit"],
.form-richieste input[type="submit"] {
	display: block;
	background-color: var(--fr-button-bg);
	color: var(--fr-button-text-color);
	font-size: 13px;
	font-weight: 700;
	padding: 0 10px;
	height: 48px;
	line-height: 48px;
	border: none;
	border-radius: var(--fr-button-border-radius);
	cursor: pointer;
	transition: background-color 0.2s ease;
	width: 100%;
	text-align: center;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.form-richieste button[type="submit"]:hover,
.form-richieste input[type="submit"]:hover { background-color: var(--fr-button-bg-hover); }

/* ======================================================================
   ICONE INPUT
   ====================================================================== */
.form-richieste .input-icon { position: relative; }
.form-richieste .input-icon svg {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	max-width: 18px;
	max-height: 18px;
	fill: var(--fr-icon-color);
	opacity: 0.8;
	pointer-events: none;
}
.form-richieste .input-icon input[type="text"],
.form-richieste .input-icon input[type="tel"],
.form-richieste .input-icon input[type="email"],
.form-richieste .input-icon input[type="number"],
.form-richieste .input-icon input[type="date"],
.form-richieste .input-icon select,
.form-richieste .input-icon textarea { padding-left: 40px; }

/* ======================================================================
   LAYOUT BASE E RIGA SISTEMA (OBBLIGATORIA)
   ====================================================================== */
.form-richieste .riga { display: flex; flex-wrap: wrap; }
.form-richieste .campo { padding: 4px 5px; box-sizing: border-box; } /* Padding ridotto */

/* NELLA SIDEBAR TUTTO È INCOLONNATO */
.form-richieste .w-100 { width: 100%; }
.form-richieste .w-50 { width: 100%; } /* Forza a 100% per sidebar */
.form-richieste .w-70 { width: 100%; }
.form-richieste .w-30 { width: 100%; }
.form-richieste .w-25 { width: 100%; }

/* IMPORTANTE: Nascosta, ma NON usare display:none */
.form-richieste .riga-sistema {
	overflow: hidden;
	height: 0;
	padding: 0;
	margin: 0;
}

/* RECAPTCHA INVISIBILE */
.grecaptcha-badge { visibility: hidden; opacity: 0; }

/* ======================================================================
   BOT E SUBMIT SECURITY (Honeypot)
   ====================================================================== */

.form-richieste.is-submitting button[type="submit"],
.form-richieste.is-submitting input[type="submit"] {
    opacity: 0.7;
    cursor: wait;
    pointer-events: none;
}

.hp-field {
    position: absolute;
    left: -9999px;
    top: -9999px;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

/* HONEYPOT AND SUBMIT BUTTON RULES */
.form-richieste.is-submitting button[type="submit"],
.form-richieste.is-submitting input[type="submit"] {
    opacity: 0.7;
    cursor: wait;
    pointer-events: none;
}

.hp-field {
    position: absolute;
    left: -9999px;
    top: -9999px;
    height: 1px;
    width: 1px;
    overflow: hidden;
}