form {
    --form-main-color: #3682AE;
    --form-error-bg-color: #ff00004a;
    --form-row-gap: 0.5rem;
    --form-label-font-size: 14px;
    --form-label-pb: 8px;
    --form-elements-font-size: 14px;
    --form-elements-radius: 8px;
    --form-submit-font-size: 15px;
    --form-submit-w: 150px;
    --form-submit-h: 40px;
    --form-submit-color: white;
    --form-submit-bg: black;
    --form-submit-hover-bg: 15px;
    --form-submit-hover-color: #454545;
    --form--input-bg-focus: white;
    margin-block: 32px;
}
p{
    margin:0
}

label{
    font-weight: 600;
    padding-bottom:var(--form-label-pb, 16px);
    font-size: var(--form-label-font-size);
}
label:not(.ignore-form-main-color),
.recaptcha-thing{
    color: var(--form-main-color);
}

.recaptcha-thing{
    font-size: 14px;
}

.necessary-field{
    color:red;
}

/**** Privacy ****/

.wpcf7-list-item:last-of-type > label{
    display:inline-flex;
    align-items: center;
}
/**Privacy**/
span.wpcf7-list-item:last-of-type{
    margin:0;
}

/**** FINE PRIVACY ****/



/**** Errori ****/
.wpcf7-not-valid-tip{
    margin-bottom: 0;
    background:var(--form-error-bg-color, none);
    padding:8px 16px;
    border-radius: var(--form-elements-radius, 0);
}
/**** FINE ERRORI ****/


/***CAMPI DI INPUT***/
input,textarea,select{
    font-size:var(--form-elements-font-size, inherit) !important;
    margin-block:0.25rem;
}

input:not([type="submit"],[type="checkbox"]), textarea, select{
    border-radius:var(--form-elements-radius, 0);
    padding:.5rem 2.5rem .5rem .5rem;
    border-color: var(--form-main-color);
    background:var(--form-main-color);
    color:black


}

input[type="file"]{
    border:none !important;
}


input:not([type="submit"],[type="checkbox"]):focus,
input:not([type="submit"],[type="checkbox"]):active,
textarea:focus,
textarea:active,
select:focus,
select:active {
    background: var(--form--input-bg-focus)
}

/**** FINE CAMPI DI INPUT ****/




/**** SUBMIT ****/
input[type="submit"]{

    transition: all 300ms ease;
    cursor: pointer;
    width:var(--form-submit-w, 150px);
    border-radius: 8px;
    color: var(--form-submit-color);
    background: var(--form-submit-bg);
    font-size: var(--form-submit-font-size, inherit);
    font-weight: 700;
    height:var(--form-submit-h, 57px);

}

input[type="submit"]:hover{
    background: var(--form-submit-hover-bg, inherit);
    color: var(--form-submit-hover-color, inherit);
}

/**** FINE SUBMIT ****/



/**** LAYOUT ****/

form .row{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px, auto));
    gap: 0.5rem;

}

form .row--full{
    grid-column: 1/-1;

}

form .row--half{
    grid-column: span 2;
}

form .row br{
    display: none;
}

/**** FINE LAYOUT****/

/* Base wrapper */
.wpcf7-form-control-wrap {
    position: relative;
    display: block;
}


/* Icona generica */
.wpcf7-form-control-wrap::after {
    content: '';
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    pointer-events: none;
    z-index: 1;
}

/* Icona errori — riporta l'icona al centro dell'input (escluso il tip) */
.wpcf7-form-control-wrap:has(.wpcf7-not-valid-tip)::after {
    transform: translateY(calc(-50% - 20px));
}

/* Eccezione textarea — resta ancorata in alto */
.wpcf7-form-control-wrap[data-name="your-message"]:has(.wpcf7-not-valid-tip)::after {
    transform: none;
}

/* Persona — campo nome */
.wpcf7-form-control-wrap[data-name="your-name"]::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24'%3E%3Cpath d='M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z'/%3E%3C/svg%3E");
}

/* Busta — campo email */
.wpcf7-form-control-wrap[data-name="your-email"]::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}

/* Matita — textarea */
.wpcf7-form-control-wrap[data-name="your-message"]::after {
    top: 16px;
    transform: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24'%3E%3Cpath d='M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z'/%3E%3C/svg%3E");
}

/* Punto interrogativo — campo oggetto */
.wpcf7-form-control-wrap[data-name="your-subject"]::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z'/%3E%3C/svg%3E");
}