/* CSS dedicato solo per l'Header del clienti */
/* MODALE */
/* EstimateForm */

#modal-estimate-form-container {
    position: fixed;
    display: table;
    height: 100%;
    width: 100%;
    max-width: 100%;
    top: 0;
    right: 0px;
    bottom: 0px;
    left: 0;
    transform: scale(0);
    z-index: 1;
}

body.sow-require-estimate {
    margin-right: 15px;
    overflow: hidden;
}

body.sow-require-estimate #modal-estimate-form-container {
    max-height: 100vh;
    transform: scaleY(0.01) scaleX(0);
    animation: unfoldInEstimate .5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;

}

body.sow-require-estimate #modal-estimate-form-container .modal-background .modal {

    transform: scale(0);
    animation: zoomInEstimate 0.3s 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;

}


body #modal-estimate-form-container .modal-background .modal>.require-estimate-loader {
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 4;
    visibility: hidden;
    opacity: 0;
    transition: visibility .1s linear, opacity .1s linear;
    max-height: inherit;
}

body #modal-estimate-form-container .modal-background .modal>.require-estimate-loader>img {
    display: block;
    width: 150px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -75px;
    margin-top: -75px;
}

body.show-require-estimate-loader #modal-estimate-form-container .modal-background .modal>.require-estimate-loader {
    opacity: 1;
    visibility: visible;
}

body #modal-estimate-form-container .modal-background .modal>div>.require-estimate-success {
    display: none;
}

body.require-estimate-success #modal-estimate-form-container .modal-background .modal>div>.require-estimate-success {
    display: block;
}

body.require-estimate-success #modal-estimate-form-container .modal-background .modal>div>.modal-content {
    display: none;
}

body #modal-estimate-form-container .modal-background .modal>div>.require-estimate-success>.logo {
    width: 100%;
    display: block;
    text-align: center;
    padding-bottom: 30px;
}

body #modal-estimate-form-container .modal-background .modal>div>.require-estimate-success>.logo>img {
    display: inline-block;
    max-width: 200px;
}

body #modal-estimate-form-container .modal-background .modal>div>.require-estimate-success>.title {
    font-size: 20px;
    line-height: 22px;
    font-weight: 500;
    text-align: center;
    padding-bottom: 10px;

}

body #modal-estimate-form-container .modal-background .modal>div>.require-estimate-success>.description {
    font-size: 16px;
    line-height: 18px;
    font-weight: 400;
    text-align: center;
    padding-bottom: 30px;
}

body #modal-estimate-form-container .modal-background .modal>div>.require-estimate-success>.button {
    text-align: center;
    padding-bottom: 10px;
    background: transparent !important;
    border: 0px;

}

body #modal-estimate-form-container .modal-background .modal>div>.require-estimate-success>.button>button {
    display: inline-block;
    min-width: 190px;
    font-size: 22px;
    line-height: 28px;
    color: #ffffff;
    background: #008bee;
    padding: 15px 30px;
    border-radius: 4px;
    font-weight: 500;
    text-decoration: none;
    text-transform: uppercase;
    opacity: 1;
    height: 40px;
    padding: 0px 15px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    border: 0px;
    cursor: pointer;
}

body #modal-estimate-form-container .modal-background .modal>div>.require-estimate-success>.button>button:before {
    display: block;
    position: absolute;
    top: 0px;
    right: 0px;
    height: 100%;
    width: 0px;
    z-index: -1;
    border-radius: 4px;
    content: '';
    transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
    background-color: #ff0000 ;  
    z-index: -1;
}


body #modal-estimate-form-container .modal-background .modal>div>.require-estimate-success>.button>button:hover:before {
    left: 0%;
    right: auto;
    width: 100%;
}

/* body .require-estimate-button
{
	display: inline-block;
    min-width: 190px;
    font-size: 18px;
    line-height: 22px;
    color: #ffffff;
    background: #008bee;
    padding: 15px 30px;
    border-radius: 4px;
    font-weight: 500;
    text-decoration: none;
    /* text-transform: uppercase; 
    opacity: 1;
    height: 40px;
    padding: 0px 20px;
    position: relative;
    overflow: hidden;
    z-index: 1;
	border:0px;
	cursor: pointer;
}

body .require-estimate-button.small
{
	line-height: 16px;
	min-width: 100px;
    font-size: 14px;
    color: #008bee;
    background: transparent;
    height: 20px;
    padding: 0px 15px;
	bottom: 3px;
    text-decoration: underline;
}

body .require-estimate-button.small:hover
{
    color: #fff;
}

body .require-estimate-button:before
{
	display: block;
    position: absolute;
    top: 0px;
    right: 0px;
    height: 100%;
    width: 0px;
    z-index: -1;
    border-radius: 4px;
    content: '';
    background: rgba(0,0,0,0.05);
    -webkit-transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
    -o-transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
    transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1);
    background: #006dbb;
    z-index: -1;
}

body .require-estimate-button.small:before
{
    background: transparent;
}

body .require-estimate-button:hover:before
{
	left: 0%;
    right: auto;
    width: 100%;
} */




/* body.sow-require-estimate #modal-estimate-form-container .modal-background .modal > div >   */

body.hide-require-estimate #modal-estimate-form-container {
    transform: scale(1);
    animation: unfoldOutEstimate 1s 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

body.hide-require-estimate #modal-estimate-form-container .modal-background .modal {
    animation: zoomOutEstimate 0.5s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

body #modal-estimate-form-container {
    z-index: 99999999;
}

body #modal-estimate-form-container .modal-background {
    display: table-cell;
    background: rgba(0, 0, 0, 0.8);
    text-align: center;
    vertical-align: middle;
}

body #modal-estimate-form-container .modal-background .modal {
    background: white;
    display: inline-block;
    font-family: Inter, 'sans-serif';
    font-weight: 300;
    position: relative;
    max-width: 750px;
    width: 90%;
    position: relative;
    margin: 0 auto;
    padding: 35px 50px;
    background-color: #fff;
    border-radius: 30px;
    box-sizing: border-box;
    height: auto;
    /* min-height: 495px ; */
}

body #modal-estimate-form-container .modal-background .modal>div {
    max-height: 90vh;
    overflow: auto;
}

body #modal-estimate-form-container .modal-background .modal>div>button.close-modal-estimate {
      position: absolute;
    top: 20px;
    right: 40px;
    font-size: 22px;
    border: none;
    background: transparent;
    cursor: pointer;
    color: rgb(0, 0, 0);
    font-weight: bold;
    z-index: 9999;
}

body #modal-estimate-form-container .modal-background .modal>div>button.close-modal-estimate:hover {
    color: rgba(0, 0, 0, 1);

}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content {
    padding: 0px;
    margin: 0px;
    border: 0px;
    text-align: left;

}

body #modal-estimate-form-container .modal-background .modal>div>.error {
    position: relative;
    color: #721c24;
    background-color: #f8d7da;
    border: 1px solid #f5c6cb;
    font-size: 16px;
    line-height: 18px;
    padding: 10px 20px;
    position: relative;
    border-radius: 4px;
    display: none;
}

body.require-estimate-error #modal-estimate-form-container .modal-background .modal>div>.error {
    display: block
}

body #modal-estimate-form-container .modal-background .modal>div>.error>button.close-error {
    position: absolute;
    right: 5px;
    top: 8px;
    font-size: 12px;
    line-height: 12px;
    background-color: transparent;
    color: #721c24;
    opacity: .9;
    padding: 5px;
    cursor: pointer;
}

body #modal-estimate-form-container .modal-background .modal>div>.error>button.close-error:hover {
    opacity: 1;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form {
    display: none;
    padding: 0px;
    margin: 0px;
    border: 0px;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form.show {
    display: block;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.modal-title {
    color: #000;
    font-size: 26px;
    font-weight: 600;
    line-height: 32px;
    padding-bottom: 5px;
    text-align: center;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.modal-description {
    padding-bottom: 0px;
    color: #8c8c8c;
    font-weight: 400;
    font-size: 12px;
    line-height: 20px;
    text-align: center;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content {

    display: block;
    margin: 0px;
    padding: 0px;
    border: 0px;
    padding-top: 10px;
    overflow: hidden;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form {
    display: flex;
    flex-wrap: wrap;
    gap:0px 10px;
    margin: 0;
    padding: 0;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.nome,
body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.cognome,
body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.email,
body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.cellulare {
    flex: 1 1 calc(50% - 5px);
    min-width: 150px;
    float: none;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>textarea {
    flex: 1 1 100%;
    max-width: 150px;
    width: 100%;
}


body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.check-richiesta-leasing>.form-group>input[type="checkbox"],
body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.check-acconsento>.form-group>input[type="checkbox"] {
    margin: 0px;
    display: block;
    width: 16px;
    height: 16px;
    position: absolute;
    top: 0px;
    left: 0px;
    border-width: 1px;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.check-richiesta-leasing>.form-group>label,
body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.check-acconsento>.form-group>label {
    font-size: 14px;
    line-height: 16px;
    font-weight: 400;
    padding-left: 25px;

}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.check-richiesta-leasing>.form-group>input[type="checkbox"]:checked+label,
body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.check-acconsento>.form-group>input[type="checkbox"]:checked+label {
    color: #000;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.check-acconsento>.form-group>label {
    line-height: 18px;
    font-size: 12px;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.check-richiesta-leasing>.form-group>.input-description,
body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.check-acconsento>.form-group>.input-description {
    line-height: 16px;
    padding-left: 25px;
    padding-top: 5px;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.nome,
body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.cognome,
body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.email,
body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.cellulare {
    width: 50%;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group {
    display: block;
    min-height: inherit;
    height: auto;
    margin: 0px;
    padding: 0px;
    padding-bottom: 20px;
    position: relative;
    line-height: 18px;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group>input[type="text"] {
    box-shadow: none !important;
    background: transparent !important;
    color: rgb(0, 0, 0) !important;
    padding: 10px 20px 10px;
    border-radius: 6px !important;
    width: 100%;
    font-family: 'Inter', sans-serif;
    font-size: 13px;
}

/* body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.prodotto .form-group>label {
    position: relative;
} */
/* Wrapper per il select prodotto */
body #modal-estimate-form-container .modal-background .modal > div > .modal-content > .modal-form > .form-content > form > .col-input.prodotto.custom-select-wrapper {
    position: relative;
    width: 100%;
}

/* body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.prodotto .form-group>label:after {
    position: absolute;
    top: 34px;
    right: 15px;
    content: "";
    justify-self: end;
    width: 0.8em;
    height: 0.5em;
    background-color: #8f8f8f;
    -webkit-clip-path: polygon(100% 0%, 0 0%, 50% 100%);
    clip-path: polygon(100% 0%, 0 0%, 50% 100%);
} */

body #modal-estimate-form-container .modal-background .modal > div > .modal-content > .modal-form > .form-content > form > .col-input.prodotto.custom-select-wrapper::after {
    content: '';
    position: absolute;
    right: 30px;
    top: 36%;
    transform: translateY(-50%) rotate(90deg);
    pointer-events: none;
    width: 11px;  
    height: 11px;
    background: url('data:image/svg+xml;utf8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 15"><path d="M6.086 7.5L.293 1.707A1 1 0 0 1 1.707.293l6.5 6.5a1 1 0 0 1 0 1.414l-6.5 6.5a1 1 0 1 1-1.414-1.414L6.086 7.5z" fill="%23393939"/></svg>') no-repeat center;
    background-size: contain;
    z-index: 2;
    cursor: pointer;
    color: #ccc !important;
}

/* body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group>select {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    background-color: #fff;
    border: none;
    border-bottom: 1px solid #ccc;
    color: #393939;
    padding-left: 15px;

    height: 36px;
    font-size: 13px;
    line-height: 19px;
    border-radius: 0px;
    margin: 0px;
    font-weight: 300;

    background-color: transparent;
    z-index: 1;
    outline: none;
}
 */

 body #modal-estimate-form-container 
.modal-background 
.modal > div 
.modal-content 
.modal-form 
.form-content 
form 
.col-input.prodotto 
.form-group {
    position: relative;
}



body #modal-estimate-form-container 
.modal-background 
.modal > div 
.modal-content 
.modal-form 
.form-content 
form 
.col-input.prodotto 
.form-group > select {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    padding: 10px 20px 10px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 6px;
    background-color: transparent;
    outline: none;
    cursor: pointer;
    box-sizing: border-box;
    font-family: Inter, sans-serif;
    color: black;
}

body #modal-estimate-form-container 
.modal-background 
.modal > div 
.modal-content 
.modal-form 
.form-content 
form 
.col-input.prodotto 
.form-group > select:focus {
    border-color: #008bee; /* bordo blu al click/focus */
    outline: none;          /* rimuove eventuale contorno di default */
}


body #modal-estimate-form-container 
.modal-background 
.modal > div 
.modal-content 
.modal-form 
.form-content 
form 
.col-input.prodotto 
.form-group > label {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: #777;
    background: #fff;
    padding: 0 6px;
    pointer-events: none;
    transition: 0.2s ease all;
}

/* 
body #modal-estimate-form-container 
.modal-background 
.modal > div 
.modal-content 
.modal-form 
.form-content 
form 
.col-input.prodotto 
.form-group > select:focus + label,
body #modal-estimate-form-container 
.modal-background 
.modal > div 
.modal-content 
.modal-form 
.form-content 
form 
.col-input.prodotto 
.form-group > select:not([value=""]) + label {
    top: -8px;
    font-size: 12px;
    color: #000;
} */


/* .col-input.prodotto select.has-value + label,
.col-input.prodotto select:focus + label {
    top: -8px;
    font-size: 12px;
    color: #000;
} */


/* body #modal-estimate-form-container .modal-background .modal > div > .modal-content > .modal-form > .form-content > form > .col-input.prodotto .form-group > select:active {
    color: #000;
} */


/* body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group>select::-ms-expand {
    display: none;
} */

/* Nascondi la freccia di default su IE */
body #modal-estimate-form-container .modal-background .modal > div > .modal-content > .modal-form > .form-content > form > .col-input.prodotto .form-group > select::-ms-expand {
    display: none;
}




body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group>textarea {
    overflow: hidden;
    resize: none;
    max-height: 100px;
    font-family: Inter, 'sans-serif';
    border: none;
    padding: 15px 21px 10px;
    width: 100%;
    display: block;
    box-sizing: border-box;
    resize: none;
    font-size: 13px;

}


body #modal-estimate-form-container 
.modal-background 
.modal > div 
.modal-content 
.modal-form 
.form-content 
form 
.col-input.messaggio 
.form-group {
    position: relative !important;
}


body #modal-estimate-form-container 
.modal-background 
.modal > div 
.modal-content 
.modal-form 
.form-content 
form 
.col-input.messaggio 
.form-group > textarea {
    width: 100% !important;
    padding: 18px 12px 14px !important; 
    font-size: 14px !important;
    border: 1px solid #ccc !important;
    background: transparent !important;
    outline: none !important;
    resize: vertical !important;
    min-height: 100px !important;
    box-sizing: border-box !important;
    font-family: Inter, sans-serif !important;
    color: #000 !important;
}

body #modal-estimate-form-container 
.modal-background 
.modal > div 
.modal-content 
.modal-form 
.form-content 
form 
.col-input.messaggio 
.form-group > label {
    position: absolute !important;
    left: 12px !important;
    top: 18px !important;              
    font-size: 14px !important;
    color: #777 !important;
    background: #fff !important;
    padding: 0 6px !important;
    pointer-events: none !important;
    transition: 0.2s ease all !important;
}

body #modal-estimate-form-container 
.modal-background 
.modal > div 
.modal-content 
.modal-form 
.form-content 
form 
.col-input.messaggio 
.form-group > textarea:focus + label,
body #modal-estimate-form-container 
.modal-background 
.modal > div 
.modal-content 
.modal-form 
.form-content 
form 
.col-input.messaggio 
.form-group > textarea:not(:placeholder-shown) + label {
    top: -8px !important;
    font-size: 12px !important;
    color: #000 !important;
}

body #modal-estimate-form-container 
.modal-background 
.modal > div 
.modal-content 
.modal-form 
.form-content 
form 
.col-input.messaggio 
.form-group > textarea:focus {
    border-color: #000 !important;
} 


body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group>label {
    margin: 0px;
    padding: 0px;
    color: #666;
    margin-bottom: 0px;
    font-weight: 400;
    font-size: 14px;
    line-height: 18px;
    padding-bottom: 15px;
max-width: 85% !important
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group>.errors {
    position: absolute;
    right: 5px;
    bottom: 0px;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group>.errors>div {
    display: none;
    color: #ea5858;
    font-size: 10px;
    font-weight: 400;
    line-height: 16px;
    background: #fff;
    padding-bottom: 3px;
    position: relative;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group.required>label,
body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group.format-not-valid>label {
    color: #ea5858;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group.required>.errors>div.required {
    display: block;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group.format-not-valid>.errors>div.format-not-valid {
    display: block;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group.required>input,
body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group.required>textarea,
body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group.format-not-valid>input {
    border-color: #ea5858;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.modal-button {
    text-align: center;
    float: left;
    width: 100%;
}

/* Bottone base */
body #modal-estimate-form-container .modal-background .modal > div > .modal-content > .modal-form > .form-content > form > .modal-button > button {
    background-color: #008bee; 
    color: white;
    border: none;
    border-radius: 30px;
    padding: 8px 30px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    text-transform: uppercase;
    font-family: Inter, 'sans-serif';
    transition: background-color 0.3s ease; 
}

body #modal-estimate-form-container .modal-background .modal > div > .modal-content > .modal-form > .form-content > form > .modal-button > button:hover {
    background-color: #0067b0; 
}


/* Cambia il colore quando selezionato */
input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #008bee;
}




@keyframes unfoldInEstimate {
    0% {
        transform: scaleY(0.005) scaleX(0);
    }

    50% {
        transform: scaleY(0.005) scaleX(1);
    }

    100% {
        transform: scaleY(1) scaleX(1);
    }
}

@keyframes unfoldOutEstimate {
    0% {
        transform: scaleY(1) scaleX(1);
    }

    50% {
        transform: scaleY(0.005) scaleX(1);
    }

    100% {
        transform: scaleY(0.005) scaleX(0);
    }
}

@keyframes zoomInEstimate {
    0% {
        transform: scale(0);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes zoomOutEstimate {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(0);
    }
}


/* Media query per schermi molto piccoli 
@media (min-width: 700px) and (max-width: 870px) {
    body #modal-estimate-form-container .modal-background .modal {
        width: 90%;
        padding: 60px 30px;
        border-radius: 20px;
    }
}

/* Media query per schermi molto piccoli 
@media (min-width: 410px) and (max-width: 699px) {
    body #modal-estimate-form-container .modal-background .modal {
        width: 90%;
        padding: 60px 50px;
        border-radius: 20px;
    }
} 

@media (max-width: 409px) {
    body #modal-estimate-form-container .modal-background .modal {
        width: 90%;
        padding: 60px 30px;
        border-radius: 20px;
    }
} */

@media (max-width: 450px) {
    body #modal-estimate-form-container {
        display: block;
        overflow: auto;

    }

    body #modal-estimate-form-container .modal-background {
        padding-top: 10px;
        padding-bottom: 10px;
        min-height: 100vh;
        display: block;
align-content: center;
    }

    body.require-estimate-success #modal-estimate-form-container .modal-background {
        padding-top: 150px;
    }

    body #modal-estimate-form-container .modal-background .modal {
        max-height: inherit;
        height: auto;
        padding: 20px 47px;
    }

    body #modal-estimate-form-container .modal-background .modal>div {
        max-height: inherit;
    }

    body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.nome,
    body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.cognome,
    body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.email,
    body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.cellulare {
        width: 100%;
    }
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group>input[type="text"]:focus {
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group>textarea:focus {
    border: none !important;
    outline: none !important;
    background: transparent !important;
    box-shadow: none !important;
} */

/* MODALE TITOLO */

/* @media (max-width: 369px) {
    body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.modal-title {
        font-size: 26px;
        line-height: 32px;
    }
}

@media (min-width: 370px) and (max-width: 375px) {
    body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.modal-title {
        font-size: 24px;
        line-height: 30px;
    }
}

@media (min-width: 376px) and (max-width: 409px) {
    body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.modal-title {
        font-size: 27px;
        line-height: 33px;
    }
}

@media (min-width: 410px) and (max-width: 414px) {
    body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.modal-title {
        font-size: 28px;
        line-height: 34px;
    }
}

@media (min-width: 415px) and (max-width: 430px) {
    body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.modal-title {
        font-size: 29px;
        line-height: 35px;
    }
}

@media (min-width: 431px) and (max-width: 791px) {
    body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.modal-title {
        font-size: 30px;
        line-height: 36px;
    }
}

@media (min-width: 792px) and (max-width: 810px) {
    body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.modal-title {
        font-size: 31px;
        line-height: 37px;
    }
}

@media (min-width: 811px) and (max-width: 830px) {
    body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.modal-title {
        font-size: 32px;
        line-height: 38px;
    }
}

@media (min-width: 831px) and (max-width: 849px) {
    body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.modal-title {
        font-size: 33px;
        line-height: 39px;
    }
}


@media (min-width: 850px) and (max-width: 964px) {
    body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.modal-title {
        font-size: 35px;
        line-height: 41px;
    }
} */

/* MODALE X */
body #modal-estimate-form-container .modal-background .modal>div>button.close-modal-estimate:hover {
    color: #625c5c;
}

body #modal-estimate-form-container .privacy-note_preventivo {
    font-size: 9px !important;
    line-height: 13px !important;
    font-family: Inter, sans-serif !important;
    color: #393939 !important;
    font-weight: 400 !important;
    margin-bottom: 10px !important;
    margin-top: 0px !important;
    text-align: center !important;
}

body #modal-estimate-form-container a.quote-privacy-link_preventivo {
    text-decoration: underline !important;
    color: #000 !important;
    font-size: 9px !important;
    line-height: 13px !important;
    font-family: Inter, sans-serif !important;
    font-weight: 500 !important;
}


/* Impostazioni base input e label */
body #modal-estimate-form-container .modal-form .form-group {
    position: relative;
    margin-bottom: 25px;
}

body #modal-estimate-form-container .modal-form .form-group input {
    width: 100%;
    border: none;
    padding: 10px 0;
    font-size: 13px;
    background: transparent;
    outline: none;
    transition: border-color 0.3s;
}

/* Label posizionata sopra l'input */
body #modal-estimate-form-container .modal-form .form-group label {
    position: absolute;
    left: 0;
    top: 10px;
    font-size: 13px;
    color: #666;
    pointer-events: none;
    transition: all 0.3s ease;
}

/* Quando input in focus o ha valore */
body #modal-estimate-form-container .modal-form .form-group input:focus + label,
body #modal-estimate-form-container .modal-form .form-group input:not(:placeholder-shown) + label {
    top: -1px;          /* sposta la label sopra */
    font-size: 11px;     /* riduci la dimensione */
    color: #008bee;      /* colore evidenziato */
    margin-top: 30px;
}

.form-group {
    position: relative;
    margin-bottom: 28px;
}

.form-group input,
.form-group textarea {
    width: 100%;
    padding: 18px 12px 14px;
    font-size: 14px;
    border: 1px solid #ccc !important;
    border-radius: 6px;
    background: transparent;
    outline: none;
    font-family: Inter, sans-serif;
    box-sizing: border-box;
}


.form-group label {
    position: absolute !important;
    left: 15px !important;
    top: 34% !important;
    transform: translateY(-50%) !important;
    font-size: 13px !important;
    color: #777 !important;
    pointer-events: none !important;
    background: #fff !important;
    padding: 0 6px !important;
    transition: all 0.2s ease !important;
}


.form-group input:focus + label,
.form-group input:not(:placeholder-shown) + label,
.form-group textarea:focus + label,
.form-group textarea:not(:placeholder-shown) + label {
    top: -1px !important;
    font-size: 13px !important;
    color: #008bee !important;
}


.form-group input:focus,
.form-group textarea:focus {
    border-color: #008bee !important;
}

.form-group.required input,
.form-group.required textarea,
.form-group.format-not-valid input {
    border-color: #ea5858 !important; 
}

/* .form-group:focus-within label {
    top: -8px !important;
    font-size: 0.85em !important;
    color: #008bee !important;
}
 */
.form-group textarea.messaggio-textarea + label {
    top: 20% !important;
}





/* .form-group.required label,
.form-group.format-not-valid label {
    color: #ea5858 !important;
} */


/* .modal-form .form-group {
  position: relative;
  margin-bottom: 25px;
}

.modal-form .form-group input {
  width: 100%;
  border: none;
  border-bottom: 1px solid #ccc;
  padding: 10px 0;
  font-size: 13px;
  background: transparent;
  outline: none;
}

.modal-form .form-group label {
  position: absolute;
  left: 0;
  top: 10px;
  font-size: 13px;
  color: #666;
  transition: all 0.3s ease;
}

.modal-form .form-group input:focus + label,
.modal-form .form-group input:not(:placeholder-shown) + label {
  top: -20px;
  font-size: 13px;
  color: #008bee;
}
 */

/* Campo obbligatorio vuoto */
.form-group.required input,
.form-group.required textarea,
.form-group.required select {
    border: 1px solid #e74c3c !important; /* rosso per errore */
    outline: none !important;
}

/* Label fluttuante in rosso */
.form-group.required label {
    /* color: #e74c3c !important; */
    transform: translateY(-8px) !important; /* fa “saltare” label sopra */
    font-size: 0.85em !important;
}



/* Quando l’utente scrive qualcosa o il campo non è vuoto 
.form-group input:not(:placeholder-shown) + label,
.form-group textarea:not(:placeholder-shown) + label,
.form-group select:not([value=""]) + label {
    color: #008bee !important; /* label normale 
    transform: translateY(-8px) !important;  fa “saltare” label sopra 
    font-size: 0.85em !important;
}
    
/* Assicura che .form-group sia il riferimento */
.form-group {
    position: relative;
    margin-bottom: 40px; /* spazio extra per mostrare errori sotto */
}

/* input e textarea */
.form-group input,
.form-group textarea {
    width: 100%;
    padding: 18px 12px 14px;
    font-size: 14px;
    border: 1px solid #ccc !important;
    border-radius: 6px;
    background: transparent;
    outline: none;
    font-family: Inter, sans-serif;
    box-sizing: border-box;
}

/* label fluttuante */
.form-group label {
    position: absolute !important;
    left: 15px !important;
    top: 34% !important;
    transform: translateY(-50%) !important;
    font-size: 13px !important;
    color: #777 !important;
    pointer-events: none !important;
    background: #fff !important;
    padding: 0 6px !important;
    transition: all 0.2s ease !important;
}

.form-group input:focus + label,
.form-group input:not(:placeholder-shown) + label,
.form-group textarea:focus + label,
.form-group textarea:not(:placeholder-shown) + label {
    top: -1px !important;
    font-size: 13px !important;
    color: #008bee !important;
}

/* bordo blu al focus */
.form-group input:focus,
.form-group textarea:focus {
    border-color: #008bee !important;
}

/* bordo rosso se errore */
.form-group.required input,
.form-group.required textarea,
.form-group.format-not-valid input,
.form-group.format-not-valid textarea {
    border-color: #ea5858 !important;
}

/* Assicura che .form-group sia il riferimento */
.form-group {
    position: relative;
    margin-bottom: 40px; /* spazio extra per mostrare errori sotto */
}

/* input e textarea */
.form-group input,
.form-group textarea {
    width: 100%;
    padding: 18px 12px 14px;
    font-size: 14px;
    border: 1px solid #ccc !important;
    border-radius: 6px;
    background: transparent;
    outline: none;
    font-family: Inter, sans-serif;
    box-sizing: border-box;
}

/* label fluttuante */
.form-group label {
    position: absolute !important;
    left: 15px !important;
    top: 34% !important;
    transform: translateY(-50%) !important;
    font-size: 13px !important;
    color: #777 !important;
    pointer-events: none !important;
    background: #fff !important;
    padding: 0 6px !important;
    transition: all 0.2s ease !important;
}

/* Fluttuante quando focus o valore presente */
.form-group input:focus + label,
.form-group input:not(:placeholder-shown) + label,
.form-group textarea:focus + label,
.form-group textarea:not(:placeholder-shown) + label {
/* .form-group:focus-within label {  <-- importante */ 
    top: -1px !important;
    font-size: 13px !important;
    color: #008bee !important;
}


/* bordo blu al focus */
.form-group input:focus,
.form-group textarea:focus {
    border-color: #008bee !important;
}

/* bordo rosso se errore */
.form-group.required input,
.form-group.required textarea,
.form-group.format-not-valid input,
.form-group.format-not-valid textarea {
    border-color: #ea5858 !important;
}


.col-input.prodotto .form-group select:focus + label,
.col-input.prodotto .form-group select.has-value + label {
    top: -8px !important;
    font-size: 12px !important;
    color: #008bee !important;
    transform: translateY(0) !important;
}

.demo-close-btn_p2 {
    position: absolute !important;
    top: 15px !important;
    right: 20px !important;
    font-size: 32px !important;
    line-height: 1 !important;
    color: #333 !important;
    cursor: pointer !important;
z-index: 10;
    transition: color 0.2s ease, transform 0.2s ease !important;
}

.demo-close-btn_p2:hover {
    color: red !important;
}

@media (max-width: 699px) {
.form-group label {
font-size: 13px !important 
}

@supports (-webkit-touch-callout: none) {
    #modal-estimate-form-container .form-group input,
    #modal-estimate-form-container .form-group textarea,
    #modal-estimate-form-container .form-group select {
        font-size: 16px !important;
        transform: scale(1.0); /* 13px visivi: 13/16 = 0.8125 */
        transform-origin: center center;
    }

body #modal-estimate-form-container .modal-background .modal {
padding: 25px;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group {
padding-bottom: 25px;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.nome, body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.cognome, body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.email, body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input.cellulare {
width: 100%;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form {
flex-direction: column;
}

body #modal-estimate-form-container .modal-background .modal>div>.modal-content>.modal-form>.form-content>form>.col-input .form-group>textarea {
padding: 20px 21px 20px;
}


}
}
/* Fix autocomplete background - iOS e Chrome */
#modal-estimate-form-container .form-group input:-webkit-autofill,
#modal-estimate-form-container .form-group input:-webkit-autofill:hover,
#modal-estimate-form-container .form-group input:-webkit-autofill:focus,
#modal-estimate-form-container .form-group textarea:-webkit-autofill,
#modal-estimate-form-container .form-group textarea:-webkit-autofill:hover,
#modal-estimate-form-container .form-group textarea:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0px 1000px transparent inset !important;
    box-shadow: 0 0 0px 1000px transparent inset !important;
    -webkit-text-fill-color: inherit !important;
    transition: background-color 5000s ease-in-out 0s !important;
}



#modal-estimate-form-container.theme-noleggio .modal-button button {
    background-color: #E73D1F !important;
}
#modal-estimate-form-container.theme-noleggio .modal-button button:hover {
    background-color: #b6311a !important;
}

#modal-estimate-form-container.theme-noleggio .form-group input:focus {
    border: 1px solid #E73D1F !important;
}

#modal-estimate-form-container.theme-noleggio .form-group input:focus + label,
#modal-estimate-form-container.theme-noleggio .form-group input:not(:placeholder-shown) + label,
#modal-estimate-form-container.theme-noleggio .form-group textarea:focus + label,
#modal-estimate-form-container.theme-noleggio .form-group textarea:not(:placeholder-shown) + label {
    color: #E73D1F !important;
}
#modal-estimate-form-container.theme-noleggio .form-group input:focus,
#modal-estimate-form-container.theme-noleggio .form-group textarea:focus {
    border-color: #E73D1F !important;
}
