@font-face {
    font-family: 'Bodoni Moda';
    src: url('../fonts/BodoniModa-Italic-Variable.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

/* Stili generali */
html, body, p {
    font-size: 18px !important;
    font-family: "Bodoni Moda", serif;
    font-style: italic;
}

:root {
    /* Dimensioni font */
    --fs14: 0.778rem;
    --fs18: 1rem;
    --fs20: 1.111rem;
    --fs22: 1.222rem;
    --fs28: 1.556rem;
    --fs30: 1.667rem;
    --fs32: 1.778rem;
    --fs35: 1.944rem;
    --fs40: 2.222rem;
    --fs50: 2.778rem;
    --fs65: 3.611rem;
    --fs80: 4.444rem;

    /* Line height */
    --lh100: 1em;

    /* Colori */
    --white: #FFFFFF;
    --gray: #C4C4C4;
    --lightgray: #FBFBFB;
    --mediumgray: #F0F4F8;
    --black: #292E43;
    --black-text: #4B4B4B;
}

/* Classi font-size */
    .fs14 {
        font-size: var(--fs14);
    }

    .fs18 {
        font-size: var(--fs18);
    }

    .fs20 {
        font-size: var(--fs20);
    }

    .fs30 {
        font-size: var(--fs30);
    }

    .fs35 {
        font-size: var(--fs35);
    }

    .fs40 {
        font-size: var(--fs40);
    }

    .fs65{
        font-size: var(--fs65);
    }

    .fs80 {
        font-size: var(--fs80);
    }

    /* Font-size responsive */

    .fs32-22 {
        font-size: clamp(var(--fs22), 4vw + var(--fs18), var(--fs32));
    }

    .fs40-28 {
        font-size: clamp(var(--fs28), 4vw + var(--fs18), var(--fs40)); 
    }

    .fs65-35 {
        font-size: clamp(var(--fs35), 4vw + var(--fs18), var(--fs65)); 
    }

    .fs80-50 {
        font-size: clamp(var(--fs50), 4vw + var(--fs18), var(--fs80));
    }

    .lh100 {
        line-height: var(--lh100);
    }


/* Fine classi font-size */


/* Classi color e backgroundcolor */
    .white {
        color: var(--white);
    }

    .lightgray {
        color: var(--lightgray);
    }

    .mediumgray {
        color: var(--mediumgray);
    }

    .black {
        color: var(--black);
    }

    .gray {
        color: var(--gray);
    }

    .black-text {
        color: var(--black-text);
    }

    .bg-mediumgray {
        background-color: var(--mediumgray);
    }

    .bg-white {
        background-color: var(--white);
    }

/* Fine classi colori */

.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    max-width: 1440px;
}


#site-header{
    display: none; /* Nasconde Footer dinamico del Elementor */
}


.ew-logo img {
    width: 200px;
    filter: invert(1) sepia(1) brightness(2);
}

.ew-btn-contattaci {
    border-color: var(--white);
    padding: 10px 25px;
}

.ew-btn-contattaci:hover {
    background-color: transparent;
}

.ew-btn-contattaci a{
    text-decoration: none;
    color: var(--white);
}

#btn_invia {
    width: 150px !important; 
    height: 50px !important; 
    padding: 10px;
    transition: none !important;
    text-align: center !important;
}

#btn_invia:hover,
#btn_invia:focus {
    outline: none;
}

/* Spazi custom */
    .ew-logo {
        margin-top: 1.111rem;
    }

    .ew-titolo {
        margin-top: -24%;
        line-height: 1em;
    }

    .ew-content-padding {
        padding-left: 2.778rem;
        padding-right: 2.778rem;
    }

    .ew-footer-padding {
        padding-top: 2.778rem;
        padding-bottom: 2.778rem;
    }
/* Fine Spazi custom */


/* Stili Contenitore principale del Header con image */

    .container-backgroundimage {
        background-color: #B1C3FF;
        background-size: cover;
        opacity: 1;
        background-position: center;
        background-repeat: no-repeat;
        background-blend-mode: multiply;
        aspect-ratio: 1;
    }


/* Stili contact form */

    #contact-form-custom input {
        font-size: var(--fs30);
        color: var(--gray);
        box-sizing: border-box;
        border: none; 
        border-bottom: 1px solid var(--gray);
        padding-left: 0;
        padding-right: 0;
    }

    #contact-form-custom {
        text-align: left; 
    }

    .elementor-field-option label {
        font-size: var(--fs14);
    }

/* Fine stili contact form */


/* Stili Servizi */

    .servizi-background {
        background-size: cover;
        background-repeat: no-repeat;
        aspect-ratio: 0.625;
        max-width: 100%;
        background-position: center;
    }

/* Fine Stili Servizi */


/* Stili Sedi */

    .negozio1 {
        order: 1;
    }

    .negozio2 {
        order: 4;
    }

    .fotosede1 {
        aspect-ratio: 0.43;
        order: 2;
    }

    .fotosede2 {
        aspect-ratio: 0.43;
        order: 3;
    }

    .ew-sedi {
        margin-top: 8rem;
    }
/* Fine Stili Sedi */


/* Prodotti */

.ew-prodotti {
    padding-top: 8.333rem;
    padding-bottom: 11rem;
}

.image-prod {
    aspect-ratio: 1;
    width: 220px;
}

.price-prod {
    margin-top: 11px;
}

.brand-prod {
    margin-top: 18px;
}

/* Breakpoint Mobile */
@media (max-width: 767px) {

    .ew-logo {
        margin-top: 1.667rem !important;
    }

    .ew-titolo {
        margin-top: -35%;
        line-height: 1.6em !important;
    }

    .ew-content-padding {
        padding-left: 1.111rem !important;
        padding-right: 1.111rem !important;
    }

    .ew-footer-padding {
        padding-top: 1.111rem !important;
        padding-bottom: 2.778rem;
    }

    .container-backgroundimage {
        height: 100vh !important;
    }

    .negozio1 {
        order: 2;
    }

    .fotosede1 {
        aspect-ratio: 1.95;
        order: 1;
    }

    .fotosede2 {
        aspect-ratio: 1.95;
    }

    .ew-sedi {
        margin-top: 7.2rem;
    }

    .ew-prodotti {
        padding-top: 3.333rem;
        padding-bottom: 3.333rem;
    }

}


/* Keen slider impostazioni */
#ew-slider-servizi {
    max-width: 100%;
}

span {
    display: inline-block;
}

.keen-slider {
    height: max-content;
  }
  
[class^="slider-item"],
[class*="slider-item"] {
display: flex;
align-items: center;
justify-content: center;
}
  
.min-width-item {
    min-width: 200px;
}
  
.dots {
    display: flex;
    padding: 20px 0 10px 0;
    justify-content: center;
}
  
.dot {
    border: none;
    width: 12px;
    height: 12px;
    background: #D5D6D6;
    border-radius: 50%;
    margin: 0 5px;
    padding: 5px;
    cursor: pointer;
}
  
.dot:focus {
    outline: none;
}

.dot--active {
    background: #292E43;
}

.wp-google-name {
    display: none !important;
}