.elementor-kit-7{--e-global-color-primary:#DD171F;--e-global-color-secondary:#012269;--e-global-color-text:#535353;--e-global-color-accent:#DD171F;--e-global-color-7f3d8a5:#FFFFFF;--e-global-color-33119c1:#333333;--e-global-color-0801a38:#EDF2FD;--e-global-typography-primary-font-family:"DM Sans";--e-global-typography-primary-font-weight:800;--e-global-typography-primary-letter-spacing:-1px;--e-global-typography-secondary-font-family:"DM Sans";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"DM Sans";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"DM Sans";--e-global-typography-accent-font-weight:700;--e-global-typography-5714615-font-family:"Great Vibes";--e-global-typography-5714615-font-weight:600;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );border-radius:100px 100px 100px 100px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//*-------------------*\
-------- TEXT --------
\*-------------------*/

h1 {
    font-size: clamp(2rem, 3rem, 5.5vw);
    line-height: 1.25em !important;
}

h2, .head2 {
    font-size: clamp(1.55rem, 2rem, 5vw) !important;
    line-height: 1.125em !important;
}

h3, .head3 {
    font-size: 1.375rem;
    line-height: 1.1em !important;
}

h4, .head4 {
    font-size: 1.5rem;
}

.copy-l {
    font-size: clamp(1.125rem, 1.25vw, 1.25rem) !important;
    line-height: 1.25em;
    text-wrap: balance;
}

.copy-xl {
    font-size: clamp(1.25rem, 1.75vw, 1.75rem) !important;
    line-height: 1.25em;
    text-wrap: balance;
}

.title-line h1, .title-line h2, .title-line h3 {
    position: relative;
    display: inline-block;
    margin-bottom: 0.75rem;
}

.title-line h1::after, .title-line h2::after, .title-line h3::after {
    content: '';
    position: absolute;
    width: 6rem;
    border-bottom: 4px solid rgba(218, 16, 33, 1);
    bottom: -0.75rem;
    left: 0;
}

.banner-title h1{
    font-size: clamp(3.5rem, 10vw, 5rem);
}

/*-------------------*\
------- LAYOUT -------
\*-------------------*/

/* Section */
.section {
    padding: 1.5rem;
}

@media only screen and (min-width: 768px) {
    .section {
    padding: 2.5rem;}
}

@media only screen and (min-width: 1024px) {
    .section {
    padding: 3rem;}
}

/* Padding orizzontale */

.px {
    padding: 0 1.5rem;
}

@media only screen and (min-width: 768px) {
    .px {
    padding: 0 2.5rem;}
}

@media only screen and (min-width: 1024px) {
    .px {
    padding: 0 3rem;}
}

/* Padding Top */

.pt {
    padding-top: 1.5rem;
}

@media only screen and (min-width: 768px) {
    .pt {
    padding-top: 2.5rem;
    }
}

@media only screen and (min-width: 1024px) {
    .pt {
    padding-top: 3rem;
    }
}

/* Padding Bottom */

.pb {
    padding-bottom: 1.5rem;
}

@media only screen and (min-width: 768px) {
    .pb {
    padding-bottom: 2.5rem;
    }
}

@media only screen and (min-width: 1024px) {
    .pb {
    padding-bottom: 3rem;
    }
}

/*-------------------*\
------ MARGINS -------
\*-------------------*/

/* Margin Top */

.mt {
    margin-top: 1.5rem;
}

@media only screen and (min-width: 768px) {
    .mt {
        margin-top: 2.5rem;
    }
}

@media only screen and (min-width: 1024px) {
    .mt {
        margin-top: 3rem;
    }
}

/* Margin Bottom */

.mb {
    margin-bottom: 1.5rem;
}

@media only screen and (min-width: 768px) {
    .mb {
        margin-bottom: 2.5rem;
    }
}

@media only screen and (min-width: 1024px) {
    .mb {
        margin-bottom: 3rem;
    }
}

/* Margin Bottom Responsive */

.mb-4{
   margin-bottom: clamp(1.5rem, 2vh, 4rem) !important;
}

/* Margin Top Auto */

.mt-auto {
    margin-top: auto;
}

/*-------------------*\
----- HERO BANNER -----
\*-------------------*/

/* Labels */

.label-white {
    display: inline-block;
    color: var(--e-global-color-primary);
    background-color: white;
    padding: 0.25rem 0.75rem;
}

.label-red {
    display: inline-block;
    color: white;
    background-color: var(--e-global-color-secondary);
    padding: 0.25rem 0.75rem;
    margin-bottom: 0.5rem;
}

/*-------------------*\
-------- FIXES --------
\*-------------------*/

/* Line Break Desktop */

.br-desktop br {
            display: none;
    }

@media (min-width: 1024px) {
.br-desktop br {
            display: inline;
        }
    }
    
/* TESTO BILANCIATO */
.balanced {
    text-wrap: balance !important;
}

/* Margine Elenchi */
.content ul, .content ol {
    margin-bottom: 1.5rem;
}

/* Link rossi */
p > a {
    color: var( --e-global-color-primary );
    transition: .2s ease-in-out;
}
p > a:hover {
    color: var( --e-global-color-secondary );
    text-decoration: underline;
}

/* Link bold in articoli*/
.content p > a {
    font-weight: 800 !important;
}

.content sup {
    font-weight: 800 !important;
    margin-left: 0.125rem;
}

/* Margine Paragrafo 0 */
.pm0 p {
    margin-bottom: 0 !important;
}

/*-------------------*\
------- COLORI -------
\*-------------------*/


.red {
    color: var( --e-global-color-primary );
}

.blue {
    color: var( --e-global-color-secondary );
}

/*-------------------*\
----- STILI VARI -----
\*-------------------*/
.img-box img{
    -moz-border-radius: 0.5rem;
    -webkit-border-radius: 0.5rem;
    border-radius: 0.5rem;
    -webkit-box-shadow: 0px 24px 32px -24px rgba(0,0,0,0.16); 
    box-shadow: 0px 24px 32px -24px rgba(0,0,0,0.24);
}

.soft-shadow-blue {
-webkit-box-shadow: 0px 24px 32px -8px rgba(1,34,105,0.24); 
box-shadow: 0px 24px 32px -8px rgba(1,34,105,0.24);
}

.prod-cat-card h2{
    font-size: 1.125rem !important;
}

/*-------------------*\
  Effetto Titolo Banner
\*-------------------*/

.banner-title{
  position: relative;
  display: inline-block;
  padding: 16px 24px;
  z-index: 1;
  transform: translateX(-8px);
}

.banner-title::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: white;
  border: 2px solid var(--e-global-color-primary);
  transform: skew(-23deg);
  z-index: -1;
}

.banner-title::after {
  content: '';
  position: absolute;
  top: 16px;
  left: 16px;
  width: 100%;
  height: 100%;
  background: var(--e-global-color-primary);
  transform: skew(-23deg);
  z-index: -2;
}

/* Ottimizzazione Mobile */

@media (max-width: 768px) {
  .banner-title {
    padding: 10px 20px; 
    width: max-content; 
    max-width: 90%;
    display: block;
    margin: 0 auto;
    width: fit-content;
  }

  .banner-title::before,
  .banner-title::after {
    transform: skew(-10deg);
  }
}/* End custom CSS */