/* Override estetico di FluentForm per farlo combaciare con il resto del sito.
   Le classi qui sotto sono quelle standard del tema "Default" di FluentForm:
   se il tuo form usa un layout diverso, verifica le classi reali con
   l'ispettore del browser (tasto destro > Ispeziona sul campo) e aggiorna
   i selettori di conseguenza. */

.form-contatto__intro{margin-bottom:8px}
.form-contatto__intro h2{margin:0 0 8px;font-size:clamp(20px,2.4vw,26px);font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.form-contatto__intro p{margin:0;font-size:14.5px;line-height:1.55;color:rgba(26,26,28,.66)}

.form-contatto .fluentform{font-family:inherit}

.form-contatto .ff-el-group{margin-bottom:17px}

.form-contatto .ff-el-input--label label,
.form-contatto label{
	font-weight:700;
	font-size:13px;
	color:var(--ink);
	margin-bottom:6px;
	display:inline-block;
}

.form-contatto input[type="text"],
.form-contatto input[type="email"],
.form-contatto input[type="tel"],
.form-contatto input[type="number"],
.form-contatto textarea,
.form-contatto select,
.form-contatto .ff-el-form-control{
	width:100%;
	padding:12px 14px;
	border:1.5px solid rgba(26,26,28,.18);
	border-radius:var(--radius);
	background:#fff;
	font-family:inherit;
	font-size:15px;
	color:var(--ink);
	box-sizing:border-box;
}

.form-contatto textarea{resize:vertical}

.form-contatto input:focus,
.form-contatto textarea:focus,
.form-contatto select:focus{
	outline:2px solid #2b3a67;
	outline-offset:1px;
	border-color:#2b3a67;
}

/* Due colonne (Email / Telefono) se il form usa il componente "Container" a due colonne */
.form-contatto .ff-t-container-inp{display:flex;flex-wrap:wrap;gap:14px}
.form-contatto [class*="col-"]{flex:1 1 180px;min-width:180px}

/* Radio / checkbox */
.form-contatto .ff-el-form-check{
	display:flex;
	align-items:flex-start;
	gap:8px;
	font-size:13.5px;
	line-height:1.35;
	margin-bottom:6px;
}
.form-contatto .ff-el-form-check input[type="radio"],
.form-contatto .ff-el-form-check input[type="checkbox"]{
	accent-color:var(--accent);
	width:16px;
	height:16px;
	margin-top:2px;
	flex:none;
}

/* Bottone submit */
.form-contatto button[type="submit"],
.form-contatto .ff-btn-submit{
	width:100%;
	background:var(--ink);
	color:var(--bg);
	border:0;
	font-family:inherit;
	font-weight:700;
	font-size:15px;
	padding:16px;
	border-radius:var(--radius);
	cursor:pointer;
	min-height:54px;
	margin-top:4px;
}
.form-contatto button[type="submit"]:hover,
.form-contatto .ff-btn-submit:hover{
	background:#2b2a2e;
}

/* Messaggi di esito */
.form-contatto .ff-message-success,
.form-contatto .ff_success_message{
	background:rgba(43,58,103,.08);
	border:1.5px solid #2b3a67;
	color:var(--ink);
	padding:14px 16px;
	border-radius:var(--radius);
	font-size:14px;
	font-weight:600;
}

.form-contatto .error,
.form-contatto .text-danger{
	color:#c0331a;
	font-size:12.5px;
	font-weight:600;
	margin-top:5px;
	display:block;
}

/* --- Radio "Il tuo profilo" trasformati in pulsanti pillola --- */
.form-contatto .ff-el-form-check-label:has(input[type="radio"]),
.form-contatto .ff-el-form-check:has(input[type="radio"]){
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
	border:1.5px solid rgba(26,26,28,.22);
	background:#fff;
	color:var(--ink);
	border-radius:var(--radius);
	padding:13px 12px;
	cursor:pointer;
	font-weight:700;
	font-size:14px;
	min-width:100px;
	min-height:48px;
	box-sizing:border-box;
	transition:border-color .15s ease,background .15s ease;
	gap:0;
}

/* nasconde il pallino nativo del radio ma lo mantiene cliccabile/accessibile */
.form-contatto .ff-el-form-check:has(input[type="radio"]) input[type="radio"]{
	position:absolute;
	inset:0;
	opacity:0;
	margin:0;
	cursor:pointer;
	width:100%;
	height:100%;
}

/* stato "premuto" quando selezionato */
.form-contatto .ff-el-form-check:has(input[type="radio"]:checked){
	border-color:var(--accent);
	background:rgba(224,90,43,.09);
}

/* il gruppo di 3 pulsanti in riga */
.form-contatto .ff-el-form-check-wrapper:has(input[type="radio"]),
.form-contatto [data-name="profilo"] .ff-el-group{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}

/* --- Checkbox "Cosa ti interessa?" stile card, fedele all'originale --- */
.form-contatto .ff-el-form-check:has(input[type="checkbox"]):not(.ff-el-tc){
	display:flex;
	gap:10px;
	align-items:flex-start;
	font-size:13.5px;
	line-height:1.35;
	padding:11px 12px;
	border:1px solid rgba(26,26,28,.16);
	border-radius:var(--radius);
	cursor:pointer;
	min-height:44px;
	box-sizing:border-box;
	background:#fff;
	margin-bottom:8px;
}
.ff-default .ff-el-form-check label.ff-el-form-check-label {
    margin-bottom: 0 !important;
}
.form-contatto .ff_list_inline .ff-el-form-check-label:has(input[type="radio"]){
	border: 0 !important;
}
.form-contatto .ff-el-form-check-label:has(input[type="radio"]){
    background: transparent !important;
}
.form-contatto .ff-el-form-check:has(input[type="radio"]){
	padding: 5px 10px !important;
}

.form-contatto .ff-el-form-check:has(input[type="checkbox"]:checked){
	border-color:var(--accent);
	background:rgba(224,90,43,.06);
}

.form-contatto input[type="checkbox"]{
	accent-color:var(--accent);
	margin-top:1px;
	width:16px;
	height:16px;
	flex:none;
}

.form-contatto input[type="radio"]{
	accent-color:var(--accent);
}

/* Pulsante submit Fluent Forms */
.form-contatto form.fluent_form_3 .ff-btn-submit:not(.ff_btn_no_style),
.form-contatto .ff-btn-submit {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    min-height: 52px;
    padding: 15px 26px;
    box-sizing: border-box;

    background-color: var(--ink);
    color: var(--bg);
    border: 0;
    border-radius: var(--radius);

    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;

    cursor: pointer;
    margin-top: 4px;

    transition:
        background-color 0.15s ease,
        color 0.15s ease,
        opacity 0.15s ease;
}

/* Hover e focus */
.form-contatto form.fluent_form_3 .ff-btn-submit:not(.ff_btn_no_style):hover,
.form-contatto form.fluent_form_3 .ff-btn-submit:not(.ff_btn_no_style):focus-visible,
.form-contatto .ff-btn-submit:hover,
.form-contatto .ff-btn-submit:focus-visible {
    background-color: #a5340f;
    color: var(--bg);
    border-color: transparent;
    outline: none;
}

/* Focus da tastiera */
.form-contatto .ff-btn-submit:focus-visible {
    box-shadow: 0 0 0 3px rgba(165, 52, 15, 0.25);
}

/* Stato disabilitato o durante l'invio */
.form-contatto .ff-btn-submit:disabled,
.form-contatto .ff-btn-submit.ff-working {
    opacity: 0.6;
    cursor: not-allowed;
}