/* Autogenerated by richieste-it for form ID 6370 */
/* =========================================================
   PRESET 5 (FINAL): TRANSPARENT • FIELDS FILLED • SOFT RADIUS
   Scope: SOLO .form-richieste (non interferisce con altre form)
   ========================================================= */

:root {
	--fr-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;

	--fr-link-color: #E05431;
	--fr-icon-color: #E05431;

	--fr-accent-color: #E05431;
	--fr-border-focus: #E1EBFF;

	--fr-placeholder-color: #999999;

	--fr-bg-form: transparent;
	--fr-field-bg: #f8fafc;
	--fr-field-text-color: #193854;
	--fr-border-color: #a9a9a9;
	--fr-label-color: #000;

	--fr-button-bg: #E05431;
	--fr-button-bg-hover: #E05431;
	--fr-button-text-color: #ffffff;
}

/* =========================================================
   CONTENITORE
   ========================================================= */
.form-richieste {
	max-width: 600px;
	margin: 20px auto;
	padding: 25px;
	background-color: var(--fr-bg-form);
	font-family: var(--fr-font-family);
	box-sizing: border-box;
	border-radius: 8px;
	box-shadow: none;
}

/* Link */
.form-richieste a {
	color: var(--fr-link-color);
	text-decoration: underline;
}

.form-richieste a:hover {
	text-decoration: none;
}

/* Label */
.form-richieste label {
	display: block;
	margin: 2px 15px 7px 0px;
	font-weight: 600;
	color: var(--fr-label-color);
	line-height: 1.25;
}

/* NO LABEL (accessibile) */
.form-richieste.fr-no-label label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* =========================================================
   CAMPI INPUT / SELECT / TEXTAREA
   ========================================================= */
.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%;
	height: 50px;
	padding: 0 12px;
	border: 1px solid var(--fr-border-color);
	background-color: var(--fr-field-bg);
	color: var(--fr-field-text-color);
	box-sizing: border-box;
	border-radius: 6px;
	transition: border-color .2s ease-in-out, box-shadow .2s ease-in-out, background-color .2s ease-in-out;
}

.form-richieste textarea {
	height: auto;
	min-height: 120px;
	padding: 10px 12px;
	resize: vertical;
	line-height: 1.5;
}

.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(255, 106, 89, .18);
}

.form-richieste ::placeholder {
	color: var(--fr-placeholder-color);
	opacity: 1;
}

/* =========================================================
   CHECKBOX / RADIO (base)
   ========================================================= */
.form-richieste input[type="checkbox"],
.form-richieste input[type="radio"] {
	cursor: pointer;
	vertical-align: middle;
	accent-color: var(--fr-accent-color);
}

.form-richieste input[type="checkbox"] {
	transform: scale(1.15);
	margin-right: 10px;
}

.form-richieste input[type="radio"] {
	transform: scale(1.12);
	margin-right: 6px;
}

/* =========================================================
   UTILITY OPZIONI (RIUTILIZZABILI)
   - Default: verticale (nessuna classe)
   - .fr-inline  => opzioni in linea
   - .fr-stack   => input sopra al testo (solo se vuoi)
   - .fr-inline.fr-stack => entrambe
   ========================================================= */

/* Contenitori lista opzioni: diventano flex SOLO se c'è .fr-inline */
.form-richieste .fr-inline .radio-group,
.form-richieste .fr-inline .form-check,
.form-richieste .fr-inline .wpcf7-radio,
.form-richieste .fr-inline .wpcf7-checkbox,
.form-richieste .fr-inline .gfield_radio,
.form-richieste .fr-inline .gfield_checkbox,
.form-richieste .fr-inline .ff-el-group,
.form-richieste .fr-inline ul,
.form-richieste .fr-inline ol {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

/* Singola opzione: copre markup diversi (label / li / span / div) */
.form-richieste .fr-inline label,
.form-richieste .fr-inline li,
.form-richieste .fr-inline .wpcf7-list-item,
.form-richieste .fr-inline .gchoice,
.form-richieste .fr-inline .ff-el-form-check,
.form-richieste .fr-inline .form-check {
	display: inline-flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 !important;
	white-space: nowrap;
}

/* Input puliti dentro inline */
.form-richieste .fr-inline input[type="radio"],
.form-richieste .fr-inline input[type="checkbox"] {
	margin: 0 !important;
}

/* STACK: input sopra al testo (solo se aggiungi .fr-stack) */
.form-richieste .fr-stack label,
.form-richieste .fr-stack li,
.form-richieste .fr-stack .wpcf7-list-item,
.form-richieste .fr-stack .gchoice,
.form-richieste .fr-stack .ff-el-form-check,
.form-richieste .fr-stack .form-check {
	flex-direction: column !important;
	align-items: center !important;
	gap: 6px !important;
	white-space: normal;
	text-align: center;
}

/* ======================================================================
   RADIO “TIPO CLIENTE” INLINE
   ====================================================================== */

.form-richieste .tipo-soggetto-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
}

.form-richieste .tipo-soggetto-wrapper .ts-label-titolo {
	margin: 0 12px 0 0;
}

.form-richieste .tipo-soggetto-wrapper .ts-label-opzione {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-weight: 600;
	color: var(--fr-label-color);
}

.form-richieste .tipo-soggetto-wrapper input[type="radio"] {
	transform: scale(1.15);
	margin: 0;
}


/* =========================================================
   FIX MULTISELECT (se il builder usa <select multiple>
    )
    ========================================================= */
    .form-richieste select[multiple] {
    width: 100%;
    height: auto;
    min-height: 50px;
    padding: 8px 12px;
    line-height: 1.3;
    }

    .form-richieste select[multiple] option {
    padding: 6px 10px;
    }

    /* =========================================================
    SELECT (freccia custom) — solo per select NON multiple
    ========================================================= */
    .form-richieste select:not([multiple]) {
    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;
    }


    /* =========================================================
    UTILITY: fr-rows
    Opzioni UNA SOTTO L'ALTRA ma con input allineato al testo
    (nessun inline, solo righe ordinate)
    ========================================================= */

    .form-richieste .fr-rows label,
    .form-richieste .fr-rows li,
    .form-richieste .fr-rows .wpcf7-list-item,
    .form-richieste .fr-rows .gchoice,
    .form-richieste .fr-rows .ff-el-form-check,
    .form-richieste .fr-rows .form-check {
    display: flex !important;
    align-items: flex-start !important;
    /* allinea checkbox con inizio testo */
    gap: 10px !important;
    margin: 0 0 5px 0 !important;
    /* spazio tra righe */
    white-space: normal !important;
    }

    /* input senza margin che sposta */
    .form-richieste .fr-rows input[type="radio"],
    .form-richieste .fr-rows input[type="checkbox"] {
    margin: 2px 0 0 0 !important;
    /* micro allineamento con prima riga testo */
    }


    /* =========================================================
    UTILITY: Controllo Margini
    ========================================================= */


    .form-richieste .fr-m {
    margin: var(--fr-m) !important;
    }

    .form-richieste .fr-mt {
    margin-top: var(--fr-mt) !important;
    }

    .form-richieste .fr-mb {
    margin-bottom: var(--fr-mb) !important;
    }

    .form-richieste .fr-ml {
    margin-left: var(--fr-ml) !important;
    }

    .form-richieste .fr-mr {
    margin-right: var(--fr-mr) !important;
    }

    /* =========================================================
    FIX fr-wrap (privacy/marketing): testo lungo WRAPPA bene
    - niente spezzatura dentro le parole
    - checkbox allineato alla prima riga
    ========================================================= */

    .form-richieste .fr-inline.fr-wrap .checkbox-wrapper {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    /* fondamentale per evitare overflow in flex */
    }

    .form-richieste .fr-inline.fr-wrap .checkbox-wrapper input[type="checkbox"] {
    margin-top: 2px !important;
    flex: 0 0 auto !important;
    }

    .form-richieste .fr-inline.fr-wrap .checkbox-wrapper label {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: block !important;

    /* WRAP “normale” (non spezza le parole) */
    white-space: normal !important;
    overflow-wrap: break-word !important;
    /* va a capo solo se necessario */
    word-break: normal !important;
    /* evita spezzatura brutale */
    hyphens: auto;
    /* opzionale, migliora sillabazione */
    }

    /* Importante: annulla eventuali regole precedenti che spezzano troppo */
    .form-richieste .fr-inline.fr-wrap .checkbox-wrapper label,
    .form-richieste .fr-inline.fr-wrap .checkbox-wrapper label a {
    letter-spacing: normal !important;
    }


    /* =========================================================
    PULSANTI
    ========================================================= */
    .form-richieste button[type="submit"],
    .form-richieste input[type="submit"] {
    display: inline-block;
    background-color: var(--fr-button-bg);
    color: var(--fr-button-text-color);
    font-weight: 600;
    padding: 0 25px;
    height: 45px;
    line-height: 45px;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color .2s ease;
    width: 100%;
    text-align: center;
    }

    .form-richieste button[type="submit"]:hover,
    .form-richieste input[type="submit"]:hover {
    background-color: var(--fr-button-bg-hover);
    }

    @media (min-width:768px) {

    .form-richieste button[type="submit"],
    .form-richieste input[type="submit"] {
    width: auto;
    min-width: 150px;
    }
    }

    /* =========================================================
    INPUT CON ICONA
    ========================================================= */
    .form-richieste .input-icon {
    position: relative;
    }

    .form-richieste .input-icon svg {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    fill: var(--fr-icon-color);
    opacity: .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 (griglia)
    ========================================================= */
    .form-richieste .riga {
    display: flex;
    flex-wrap: wrap;
    }

    .form-richieste .campo {
    padding: 5px 5px 0px 5px;
    box-sizing: border-box;
    }

    .form-richieste .w-100 {
    width: 100%;
    }

    .form-richieste .w-50 {
    width: 50%;
    }

    .form-richieste .w-70 {
    width: 70%;
    }

    .form-richieste .w-30 {
    width: 30%;
    }

    .form-richieste .w-25 {
    width: 25%;
    }

    @media (max-width:600px) {

    .form-richieste .w-100,
    .form-richieste .w-50,
    .form-richieste .w-70,
    .form-richieste .w-30,
    .form-richieste .w-25 {
    width: 100%;
    }
    }