/* Miglioramenti tecnici SEO, accessibilità e rendering. */
html{scroll-behavior:smooth}
img{max-width:100%}
img[width][height]{height:auto}
.elementor-heading-title.reca-typography-h4{
  font-family:var(--e-global-typography-vamtam_h4-font-family),Sans-serif;
  font-size:var(--e-global-typography-vamtam_h4-font-size);
  font-weight:var(--e-global-typography-vamtam_h4-font-weight);
  text-transform:var(--e-global-typography-vamtam_h4-text-transform);
  font-style:var(--e-global-typography-vamtam_h4-font-style);
  line-height:var(--e-global-typography-vamtam_h4-line-height);
  letter-spacing:var(--e-global-typography-vamtam_h4-letter-spacing);
}
.elementor-heading-title.reca-typography-h5{
  font-family:var(--e-global-typography-vamtam_h5-font-family),Sans-serif;
  font-size:var(--e-global-typography-vamtam_h5-font-size);
  font-weight:var(--e-global-typography-vamtam_h5-font-weight);
  text-transform:var(--e-global-typography-vamtam_h5-text-transform);
  font-style:var(--e-global-typography-vamtam_h5-font-style);
  line-height:var(--e-global-typography-vamtam_h5-line-height);
  letter-spacing:var(--e-global-typography-vamtam_h5-letter-spacing);
}
.elementor-heading-title.reca-typography-h6,
.reca-typography-h6{
  font-family:var(--e-global-typography-vamtam_h6-font-family),Sans-serif;
  font-size:var(--e-global-typography-vamtam_h6-font-size);
  font-weight:var(--e-global-typography-vamtam_h6-font-weight);
  text-transform:var(--e-global-typography-vamtam_h6-text-transform);
  font-style:var(--e-global-typography-vamtam_h6-font-style);
  line-height:var(--e-global-typography-vamtam_h6-line-height);
  letter-spacing:var(--e-global-typography-vamtam_h6-letter-spacing);
}
.sp-page>section:not(:first-child),
.pp-page>section:not(:first-child),
.rq-page main>section:not(:first-child){
  content-visibility:auto;
  contain-intrinsic-size:1px 900px;
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Pagine legacy ripulite: gerarchia leggibile e navigazione coerente. */
body.reca-clean-page{
  --reca-clean-orange:#ff7f2a;
  --reca-clean-ink:#191817;
  background:#fff;
  color:var(--reca-clean-ink);
  font-family:"Manrope","Segoe UI",Arial,sans-serif;
}
body.reca-clean-page .fixed-header-box{
  position:relative!important;
  width:100%;
  background:rgba(255,255,255,.97);
  border-bottom:1px solid rgba(25,24,23,.1);
  box-shadow:none!important;
}
body.reca-clean-page .main-header,
body.reca-clean-page .header-maybe-limit-wrapper,
body.reca-clean-page .header-contents{
  min-height:82px;
  background:transparent!important;
}
body.reca-clean-page .header-contents{
  width:min(1180px,calc(100% - 44px));
  margin:0 auto;
  padding:0!important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
}
body.reca-clean-page .first-row,
body.reca-clean-page .second-row{
  width:auto!important;
  min-height:0!important;
  padding:0!important;
}
body.reca-clean-page .logo.text-logo{
  color:var(--reca-clean-orange)!important;
  font-size:30px!important;
  line-height:1!important;
  font-weight:500!important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.reca-clean-page .reca-clean-nav{
  display:flex;
  align-items:center;
  gap:clamp(18px,2vw,32px);
}
body.reca-clean-page .reca-clean-nav a,
body.reca-clean-page .reca-clean-lang{
  color:rgba(25,24,23,.78)!important;
  font-size:14px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:.055em;
  text-decoration:none!important;
  text-transform:uppercase;
  white-space:nowrap;
}
body.reca-clean-page .reca-clean-nav a:hover,
body.reca-clean-page .reca-clean-nav a:focus{
  color:var(--reca-clean-orange)!important;
}
body.reca-clean-page .reca-clean-lang{
  color:rgba(25,24,23,.48)!important;
}
body.reca-clean-page .reca-clean-lang>span{
  padding:0 4px;
  color:var(--reca-clean-orange);
}
body.reca-clean-page .reca-clean-quote{
  padding:12px 17px;
  border:1px solid rgba(255,127,42,.55);
  border-radius:999px;
  color:var(--reca-clean-orange)!important;
}
body.reca-clean-page #sub-header{
  background:
    radial-gradient(circle at 84% 10%,rgba(255,127,42,.16),transparent 31%),
    linear-gradient(135deg,#f7f5f2,#fff);
  border-bottom:1px solid rgba(25,24,23,.08);
}
body.reca-clean-page #sub-header .limit-wrapper,
body.reca-clean-page #main>.limit-wrapper{
  width:min(1180px,calc(100% - 44px))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.reca-clean-page #sub-header .page-header{
  padding:clamp(64px,8vw,112px) 0!important;
}
body.reca-clean-page #sub-header h1{
  max-width:820px;
  margin:0!important;
  color:var(--reca-clean-ink)!important;
  font-size:clamp(42px,6vw,78px)!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
  text-transform:uppercase;
}
body.reca-clean-page #main{
  padding:clamp(58px,7vw,96px) 0!important;
}
body.reca-clean-page .page-wrapper,
body.reca-clean-page .page-content,
body.reca-clean-page .vgblk-rw-wrapper{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.reca-clean-page .vgblk-rw-wrapper{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
  column-gap:clamp(48px,8vw,110px);
  align-items:start;
}
body.reca-clean-page .vgblk-rw-wrapper>p,
body.reca-clean-page .vgblk-rw-wrapper>h2,
body.reca-clean-page .vgblk-rw-wrapper>h3,
body.reca-clean-page .vgblk-rw-wrapper>ul{
  grid-column:1;
}
body.reca-clean-page .vgblk-rw-wrapper>h2:nth-of-type(n+2),
body.reca-clean-page .vgblk-rw-wrapper>h2:nth-of-type(n+2)+p,
body.reca-clean-page .vgblk-rw-wrapper>h2:nth-of-type(n+2)+ul{
  grid-column:2;
}
body.reca-clean-page .vgblk-rw-wrapper>p:first-child{
  margin-top:0;
  font-size:clamp(22px,2.3vw,31px);
  line-height:1.32;
}
body.reca-clean-page .vgblk-rw-wrapper p,
body.reca-clean-page .vgblk-rw-wrapper li{
  color:rgba(25,24,23,.76);
  font-size:17px;
  line-height:1.7;
}
body.reca-clean-page .vgblk-rw-wrapper h2{
  margin:42px 0 12px;
  color:var(--reca-clean-ink);
  font-size:clamp(27px,3vw,41px);
  line-height:1.05;
  letter-spacing:-.025em;
  text-transform:uppercase;
}
body.reca-clean-page .vgblk-rw-wrapper h3{
  margin:22px 0 4px;
  color:var(--reca-clean-ink);
  font-size:15px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.reca-clean-page .vgblk-rw-wrapper a{
  color:var(--reca-clean-orange);
  text-underline-offset:3px;
}
body.reca-clean-page .vgblk-rw-wrapper ul{
  margin-top:10px;
  padding-left:22px;
}
html body.reca-clean-page #main-footer.reca-footer{
  width:100%!important;
  max-width:none!important;
  background:
    radial-gradient(circle at 14% 0%,rgba(245,130,50,.18),transparent 34%),
    linear-gradient(135deg,#171513 0%,#0d0d0d 100%)!important;
  color:#fff!important;
}
@media(max-width:1024px){
  body.reca-clean-page .header-contents{
    min-height:72px;
  }
  body.reca-clean-page .reca-clean-nav{
    display:none;
  }
  body.reca-clean-page .vgblk-rw-wrapper{
    grid-template-columns:1fr;
  }
  body.reca-clean-page .vgblk-rw-wrapper>h2:nth-of-type(n+2),
  body.reca-clean-page .vgblk-rw-wrapper>h2:nth-of-type(n+2)+p,
  body.reca-clean-page .vgblk-rw-wrapper>h2:nth-of-type(n+2)+ul{
    grid-column:1;
  }
}
@media(max-width:640px){
  body.reca-clean-page .header-contents,
  body.reca-clean-page #sub-header .limit-wrapper,
  body.reca-clean-page #main>.limit-wrapper{
    width:min(100% - 30px,1180px)!important;
  }
  body.reca-clean-page #sub-header .page-header{
    padding:52px 0!important;
  }
  body.reca-clean-page #sub-header h1{
    font-size:clamp(38px,13vw,56px)!important;
  }
  body.reca-clean-page .vgblk-rw-wrapper p,
  body.reca-clean-page .vgblk-rw-wrapper li{
    font-size:16px;
  }
}

/* Navigazione e tipografia responsive per Azienda e pagine informative. */
body.reca-clean-page .reca-clean-menu-toggle{
  display:none;
  width:46px;
  height:46px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--reca-clean-ink)!important;
  cursor:pointer;
}
body.reca-clean-page .reca-clean-menu-toggle span{
  display:block;
  width:22px;
  height:2px;
  margin:5px auto;
  background:var(--reca-clean-ink)!important;
  transition:transform .2s ease,opacity .2s ease;
}
@media(max-width:1024px){
  body.reca-clean-page .fixed-header-box{position:sticky!important;top:0;z-index:9999}
  body.reca-clean-page .header-contents{position:relative;min-height:72px}
  body.reca-clean-page .first-row{width:100%!important}
  body.reca-clean-page .logo-wrapper{display:flex;align-items:center;justify-content:space-between;width:100%}
  body.reca-clean-page .mobile-logo-additions{display:block!important;margin-left:auto}
  body.reca-clean-page .reca-clean-menu-toggle{display:block}
  body.reca-clean-page .second-row{
    display:none!important;
    position:fixed!important;
    top:72px!important;
    left:15px!important;
    right:auto!important;
    z-index:9998!important;
    width:calc(100vw - 30px)!important;
    max-height:calc(100dvh - 87px)!important;
    padding:14px!important;
    overflow-y:auto!important;
    background:#fff!important;
    border:1px solid rgba(25,24,23,.1);
    box-shadow:0 22px 45px rgba(25,24,23,.14);
  }
  body.reca-clean-page .main-header.reca-clean-menu-open .second-row{display:block!important}
  body.reca-clean-page .main-header.reca-clean-menu-open #menus,
  body.reca-clean-page .main-header.reca-clean-menu-open #main-menu,
  body.reca-clean-page .main-header.reca-clean-menu-open .reca-clean-nav{
    display:block!important;
    width:100%!important;
    height:auto!important;
    overflow:visible!important;
  }
  body.reca-clean-page .reca-clean-nav{
    display:flex;
    align-items:stretch;
    flex-direction:column;
    gap:0;
  }
  body.reca-clean-page .main-header.reca-clean-menu-open .reca-clean-nav{
    display:flex!important;
  }
  html body.reca-clean-page .fixed-header-box .main-header.reca-clean-menu-open .second-row{
    background-color:#fff!important;
    background-image:none!important;
  }
  body.reca-clean-page .reca-clean-nav a,
  body.reca-clean-page .reca-clean-lang{
    display:flex;
    align-items:center;
    min-height:48px;
    padding:12px 14px;
    border-bottom:1px solid rgba(25,24,23,.08);
    white-space:normal;
  }
  body.reca-clean-page .reca-clean-nav .reca-clean-quote{
    justify-content:center;
    margin-top:12px;
    border:1px solid rgba(255,127,42,.55);
    border-radius:0;
  }
  body.reca-clean-page .main-header.reca-clean-menu-open .reca-clean-menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.reca-clean-page .main-header.reca-clean-menu-open .reca-clean-menu-toggle span:nth-child(2){opacity:0}
  body.reca-clean-page .main-header.reca-clean-menu-open .reca-clean-menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
@media(max-width:640px){
  body.reca-clean-page #sub-header h1{font-size:clamp(38px,11vw,46px)!important}
  body.reca-clean-page #main{padding:52px 0!important}
  body.reca-clean-page .vgblk-rw-wrapper>p:first-child{font-size:22px}
  body.reca-clean-page .vgblk-rw-wrapper h2{font-size:clamp(28px,9vw,36px)}
}
