
@font-face {
font-family: 'Libre Baskerville';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/librebaskerville-italic-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Libre Baskerville';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/librebaskerville-italic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/librebaskerville-regular-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/librebaskerville-regular-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/librebaskerville-bold-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Libre Baskerville';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/librebaskerville-bold-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Quicksand';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/quicksand-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Quicksand';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url('../fonts/quicksand-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/quicksand-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Quicksand';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/quicksand-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Quicksand';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/quicksand-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Quicksand';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/quicksand-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Quicksand';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/quicksand-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Quicksand';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/quicksand-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: 'Quicksand';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/quicksand-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
font-family: 'Quicksand';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/quicksand-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root {
  --rosa: #BC004D;          
  --verde: #15BC00;         
  --oro: #E8BB00;           
  --rosa-acceso: #EF488C;   
  --bianco: #FFFFFF;
  --nero: #000000;
  --grigio-testo: #333333;  
--serif: "Libre Baskerville", sans-serif;   
  --tondo: "Quicksand", sans-serif;
  --sistema: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
*, *::before, *::after { box-sizing: border-box; }
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
body {
  margin: 0;
  background-color: var(--bianco);
  color: var(--grigio-testo);
  font-family: var(--sistema);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}
body.home { background-color: var(--rosa); }
main { overflow-x: clip; }
h1, h2, h3, h4, h5, h6 {
  margin-block: .5rem 1rem;
  font-family: inherit;
  font-weight: 500;
  line-height: 1.2;
  color: inherit;
}
h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }
p { margin-block: 0 .9rem; }
a { background-color: transparent; color: var(--oro); text-decoration: none; }
a:hover { color: var(--nero); }
a:not([href]):not([tabindex]) { color: inherit; text-decoration: none; }
b, strong { font-weight: bolder; }
img { border-style: none; height: auto; max-width: 100%; }
figure { margin: 0; }
label { display: inline-block; line-height: 1; vertical-align: middle; }
button, input, textarea { font-family: inherit; font-size: 1rem; line-height: 1.5; margin: 0; }
textarea { overflow: auto; resize: vertical; }
[type=checkbox] { box-sizing: border-box; padding: 0; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
  box-shadow: 0 0 0 4px var(--bianco);
  outline: 2px solid var(--nero);
  outline-offset: 2px;
}
a:not(.skip-link):focus-visible,
.elementor-icon:focus-visible { box-shadow: none; }
a:focus:not(:focus-visible), button:focus:not(:focus-visible),
input:focus:not(:focus-visible), textarea:focus:not(:focus-visible) {
  box-shadow: none;
  outline: none;
}
.skip-link {
  position: absolute;
  top: -10000em;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.skip-link:focus {
  top: 5px;
  left: 5px;
  z-index: 100000;
  display: block;
  width: auto;
  height: auto;
  padding: 12px 24px;
  clip: auto;
  background-color: #eee;
  color: var(--grigio-testo);
  font-size: 1rem;
  line-height: normal;
}
.testata__scatola > *,
.apertura > *, .apertura__testi > *,
.punti__riga > *,
.sapevi__riga > *, .sapevi__testo > *,
.chi__riga > *, .chi__testo > *,
.affitta__riga > *, .affitta__testo > *,
.tasse__riga > *, .tasse__testo > *,
.servizio__intro > *, .servizio__griglia > *,
.continua__riga > *, .continua__colonna > *,
.contatti__riga > *, .contatti__sx > *, .contatti__bottoni > *,
.modulo > * { min-width: 0; }
.ancora { scroll-margin-top: 100px; }
.occhiello { font: 600 32px/1.5 var(--serif); }          
.titolo-sezione { font: 500 40px/43px var(--serif); }    
.testo-corrente { font: 400 22px/1.5 var(--tondo); }
.sottolineato { text-decoration: underline; }
.pesante { font-weight: 900; }                            
.apertura__testi > .elementor-button,
.sapevi__testo > .elementor-button,
.tasse__testo > .elementor-button {
  display: inline-block;
  padding: 12px 24px;
  border-radius: 40px;
  background-color: var(--verde);
  color: var(--bianco);
  font: 600 20px/1 var(--tondo);
  text-align: center;
  transform: perspective(0px);
  transition: all .3s, transform .4s, margin 0s;
}
.apertura__testi > .elementor-button:hover,
.sapevi__testo > .elementor-button:hover,
.tasse__testo > .elementor-button:hover { color: var(--bianco); transform: perspective(0px) scale(1.04); }
@media (max-width: 767px) {
  .occhiello { font-size: 30px; }
  .titolo-sezione { font-size: 38px; }
  .testo-corrente { font-size: 21px; }
}
.testata {
  position: sticky;
  top: 0;
  z-index: 99;
  padding: 10px;
}
.testata__scatola {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  max-width: 1140px;
  margin-inline: auto;
  padding: 20px 30px;
  border-radius: 20px;
  background-color: var(--bianco);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, .5);
}
.testata__scatola > a { flex: 0 1 auto; width: 18%; max-width: 18%; }
.testata__scatola > a img { display: block; }
.testata__menu { flex: 1 0 auto; align-self: center; }
.testata__menu ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin: 0 -25px;
  padding: 0;
  list-style: none;
}
.testata__menu li { display: flex; align-items: center; margin: 0 25px; }   
.testata__menu a {
  display: flex;
  align-items: center;
  color: var(--rosa);
  font: 600 22px/1.5 var(--tondo);
  transition: color .3s;
}
.testata__menu a:hover { color: var(--nero); }
.testata__menu svg { flex-shrink: 0; width: 21px; height: 21px; margin-right: 10.25px; fill: var(--verde); }
.testata__scatola > .elementor-icon { display: none; }
@media (max-width: 1024px) {
  .testata { padding: 20px 50px; }
  .testata__menu { display: none; }
.testata__scatola > .elementor-icon {
    display: block;
    align-self: center;
    width: 35px;
    height: 35px;
    margin-bottom: 6px;
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
  }
  .testata__scatola > .elementor-icon svg { display: block; width: 35px; height: 35px; fill: var(--rosa); }
}
@media (max-width: 767px) {
.testata { margin-top: -40px; padding: 20px 15px; }
  .testata__scatola { flex-wrap: wrap; }
  .testata__scatola > a { width: 127px; max-width: 127px; }
}
.apertura-tel,
.mani-tel,
.apertura__frase-tel { display: none; }
.apertura {
  display: flex;
  background-color: var(--rosa);
  color: var(--bianco);
}
.apertura__mano-sx {
  display: flex;
  flex-direction: column;
  width: 34%;
  padding: 10px;
}
.apertura__mano-sx img { align-self: flex-start; }
.apertura__testi {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  width: 55%;
  padding: 10px;
  text-align: center;
}
.apertura__mano-dx {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  width: 30%;
  padding: 10px;
}
.apertura__mano-dx img { align-self: center; width: 91%; }
.apertura__domanda { font: 400 27px/1.5 var(--tondo); }
.apertura__frasi { font: 500 43px/46px var(--serif); }
.apertura__frasi p { margin-bottom: 60px; }
.apertura__testi > .elementor-button {
  align-self: center;
  margin-bottom: 20px;
  font-size: 22px;
  font-weight: 800;          
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .apertura-tel {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding-top: 50px;
    background-color: var(--rosa);
    color: var(--bianco);
    text-align: center;
  }
  .apertura-tel__domanda { font: 400 27px/1.5 var(--tondo); }
.apertura-tel__frase { margin-bottom: 20px; font: 500 40px/46px var(--serif); }
.mani-tel {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding: 10px;
    background-color: var(--rosa);
  }
  .mani-tel img { justify-self: center; }
.apertura { flex-wrap: wrap; }
  .apertura__mano-sx,
  .apertura__mano-dx,
  .apertura__domanda,
  .apertura__frasi { display: none; }
  .apertura__testi { width: 100%; margin-bottom: 10px; padding: 0; }
.apertura__frase-tel { display: block; margin-bottom: 40px; font: 500 40px/46px var(--serif); }
  .apertura__testi > .elementor-button { margin-bottom: 40px; }
}
.punti { background-color: var(--rosa); }
.punti__riga {
  display: flex;
  flex-direction: column;
  max-width: 1140px;
  margin-inline: auto;
  padding-block: 50px;
}
.fa-wrap{container-type:inline-size;margin:24px 0;}
.fa-grid{
--fa-magenta:#c8156d;
  --fa-magenta-soft:#fbeaf0;
  --fa-magenta-deep:#993556;
  --fa-text:#1a1a1a;
  --fa-text-muted:#666;
  --fa-border:rgba(0,0,0,.08);
display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
.fa-grid *{box-sizing:border-box;}
.fa-card{
  background:#fff;border:1px solid var(--fa-border);border-radius:16px;
  padding:24px 22px;display:flex;flex-direction:column;gap:12px;
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.fa-card:hover{
  border-color:var(--fa-magenta);
  transform:translateY(-3px);
  box-shadow:0 8px 24px rgba(200,21,109,.1);
}
.fa-icon{
  width:48px;height:48px;border-radius:12px;
  background:var(--fa-magenta-soft);color:var(--fa-magenta-deep);
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease,color .2s ease;
}
.fa-icon svg{width:26px;height:26px;}
.fa-card:hover .fa-icon{background:var(--fa-magenta);color:#fff;}
.fa-title{
  font-size:16px;font-weight:600;color:var(--fa-text);
  margin:4px 0 0;line-height:1.3;letter-spacing:-0.01em;
}
.fa-sub{
  font-size:13.5px;color:var(--fa-text-muted);
  margin:0;line-height:1.55;
}
.fa-accent{
  display:block;width:28px;height:2px;background:var(--fa-magenta);
  border-radius:2px;margin-top:auto;opacity:.35;
  transition:width .25s ease,opacity .25s ease;
}
.fa-card:hover .fa-accent{width:56px;opacity:1;}
@container (max-width: 780px){
  .fa-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
  .fa-card{padding:22px 20px;}
}
@container (max-width: 420px){
  .fa-grid{grid-template-columns:1fr;}
  .fa-card{padding:20px 18px;}
}
@media (max-width: 767px) {
.punti { height: 933.61px; }
  .punti__riga { max-width: 95%; }
.punti .fa-wrap { margin-top: 4px; }
}
.sapevi { background-color: var(--bianco); }
.sapevi__riga {
  display: flex;
  align-items: center;
  max-width: 1140px;
  margin-inline: auto;
  padding-block: 50px;
}
.sapevi__img {
  display: flex;
  flex-direction: column;
  width: 50%;
  padding: 10px;
}
.sapevi__img img { align-self: center; }
.sapevi__testo {
  display: flex;
  flex-direction: column;
  width: 60%;
  padding: 10px;
  color: var(--nero);
}
.sapevi .occhiello,
.sapevi .titolo-sezione { color: var(--rosa); }
.sapevi .testo-corrente { padding-top: 20px; }
.sapevi .nota { font: 400 16px/1.5 var(--tondo); }
.sapevi__domanda { margin-top: 30px; color: var(--rosa); font: 500 20px/1.5 var(--serif); }
.sapevi__testo > .elementor-button { align-self: flex-start; }
@media (max-width: 767px) {
  .sapevi__riga { flex-wrap: wrap; padding-block: 20px; }
  .sapevi__img,
  .sapevi__testo { width: 100%; }
}
.chi {
  padding-inline: 10px;
  background-color: var(--rosa);
  color: var(--bianco);
}
.chi__riga {
  display: flex;
  max-width: 1140px;
  margin-inline: auto;
  padding-block: 10px;
}
.chi__testo {
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex-shrink: 0;
  width: 68.485%;
  margin-top: 20px;
  padding: 10px;
}
.chi h1 { margin: 8px 0 16px; font: 500 40px/1.2 var(--serif); }
.chi__logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 50%;
  padding: 10px;
}
.chi__logo-riquadro { width: 213px; max-width: 100%; }
.chi__logo img { display: block; width: 85%; margin-inline: auto; }
@media (max-width: 767px) {
  .chi__riga { flex-wrap: wrap; }
  .chi__testo,
  .chi__logo { width: 100%; }
  .chi__logo { margin-bottom: 20px; }
}
.affitta { background-color: var(--bianco); }
.affitta__riga {
  display: flex;
  align-items: center;
  max-width: 1140px;
  margin-inline: auto;
  padding-block: 50px;
}
.affitta__testo {
  display: flex;
  flex-direction: column;
  width: 60%;
  padding: 10px;
  color: var(--nero);
}
.affitta .titolo-sezione { color: var(--rosa); }
.affitta .testo-corrente { padding-top: 20px; }
.affitta__img {
  display: flex;
  flex-direction: column;
  width: 50%;
  padding: 10px;
}
.affitta__img img { align-self: center; }
@media (max-width: 767px) {
  .affitta__riga { flex-wrap: wrap; }
  .affitta__testo,
  .affitta__img { width: 100%; }
  .affitta__img { order: -1; }        
}
.tasse { background-color: var(--bianco); }
.tasse__riga {
  display: flex;
  align-items: center;
  max-width: 1140px;
  margin-inline: auto;
  padding-block: 50px;
}
.tasse__img {
  display: flex;
  flex-direction: column;
  width: 50%;
  padding: 10px;
}
.tasse__img img { align-self: center; }
.tasse__testo {
  display: flex;
  flex-direction: column;
  width: 60%;
  padding: 10px;
  color: var(--nero);
}
.tasse .occhiello,
.tasse .titolo-sezione { color: var(--rosa); }
.tasse .testo-corrente { padding-top: 20px; }
.tasse__testo > .elementor-button { align-self: flex-start; }
@media (max-width: 767px) {
  .tasse__riga { flex-wrap: wrap; padding-block: 0 50px; }
  .tasse__img,
  .tasse__testo { width: 100%; }
}
.servizio { background-color: var(--rosa); color: var(--bianco); }
.servizio__intro {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 1140px;
  margin-inline: auto;
  padding: 50px 0 20px;
  text-align: center;
}
.servizio__titolo { padding-top: 30px; font: 500 40px/43px var(--serif); }
.servizio__sotto { margin-top: -20px; font: 600 32px/1.5 var(--serif); }
.servizio__griglia {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, 1fr);
  gap: 20px;
  width: calc(100% - 20px);
  max-width: 1140px;
  margin-inline: auto;
  padding-block: 10px;
}
.riquadro {
  align-self: start;
  margin: 10px;
  border-radius: 40px;
  background-color: var(--rosa);
  text-align: center;
  transition: background .3s;
}
.riquadro__figura {
  display: inline-block;
  width: 48%;
}
.riquadro__figura img { display: block; }
.riquadro__titolo {
  margin: 8px 0 16px;
  color: var(--bianco);
  font: 600 32px/35px var(--serif);
}
.riquadro__titolo a { color: inherit; }
.riquadro__nota { margin: 0; font: 400 18px/1.5 var(--tondo); }
.riquadro:hover { background-color: var(--bianco); }
.riquadro:has(:hover) .riquadro__titolo,
.riquadro:has(:focus) .riquadro__titolo { color: var(--nero); }
.riquadro:hover .riquadro__nota { color: var(--nero); }
@media (max-width: 767px) {
  .servizio__titolo { font-size: 38px; }
  .servizio__sotto { font-size: 30px; line-height: 37px; }
  .servizio__griglia { grid-template-columns: repeat(2, 1fr); gap: 0; }
  .riquadro__figura { width: 100%; }
  .riquadro__titolo { font-size: 20px; line-height: 27px; }
  .riquadro__nota { font-size: 16px; }
}
.continua { background-color: var(--rosa); color: var(--bianco); }
.continua__riga {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 20px;
  max-width: 1140px;
  margin-inline: auto;
  padding-top: 10px;
}
.continua__colonna {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 55%;
  padding: 10px;
}
.continua__riquadro { padding: 20px 0 90px; border-radius: 40px; text-align: center; }
.continua__figura { width: 48%; margin: 0 auto; }
.continua__figura img { display: block; }
.continua__titolo { margin: 14px 0 3px; font: 600 32px/35px var(--serif); }
.continua__testo { margin: 0; font: 600 22px/1.5 var(--tondo); }
@media (max-width: 767px) {
  .continua__riga { flex-wrap: wrap; }
.continua__colonna { flex-wrap: wrap; width: 100%; }
  .continua__figura { width: 70%; }
  .continua__testo { font-size: 20px; line-height: 24px; }
}
.contatti { background-color: var(--bianco); }
.contatti__riga {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  max-width: 1140px;
  margin-inline: auto;
  padding-block: 100px;
}
.contatti__sx {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  width: 52.732%;
  padding: 10px;
  color: var(--nero);
}
.contatti .occhiello { color: var(--rosa); }
.contatti__titolo { color: var(--rosa); font: 500 40px/45px var(--serif); }
.contatti__oppure { margin-top: 70px; }
.contatti__bottoni {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(1, 1fr);
  gap: 20px;
  padding: 10px;
}
.contatti__bottoni > .elementor-button {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 20px;
  padding: 12px 24px;
  border-radius: 40px;
  font: 600 25px/1 var(--tondo);
  text-align: center;
  transform: perspective(0px);     
  transition: all .3s, transform .4s, margin 0s;
}
.contatti__bottoni > .elementor-button svg { flex-shrink: 0; width: 1em; height: 1em; }   
.contatti__bottoni > .elementor-button:hover { transform: perspective(0px) scale(1.04); }
.contatti__bottoni > [href^="tel:"] {
  align-self: start;
  background-color: var(--verde);
  color: var(--bianco);
  fill: var(--bianco);
}
.contatti__bottoni > [href^="tel:"]:hover { color: var(--bianco); }
.contatti__bottoni > [href^="https://wa.me/"] {
  border: 2px solid var(--verde);
  background-color: var(--bianco);
  color: var(--verde);
  fill: var(--verde);
}
.contatti__bottoni > [href^="https://wa.me/"]:hover { color: var(--verde); }
.modulo {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 10px;
  border-radius: 40px;
  background-color: var(--rosa);
  color: var(--bianco);
}
.modulo__titolo {
  margin-bottom: -15px;
  padding: 20px 20px .9rem;
  font: 500 32px/1.5 var(--tondo);
}
.modulo__sotto {
  width: 87%;
  max-width: 87%;
  padding: 0 20px;
  font: 600 22px/1.5 var(--tondo);
}
.modulo__form { position: relative; padding: 20px; }
.modulo__campi {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -5px -15px;
}
.modulo__gruppo {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  width: 100%;
  margin-bottom: 15px;
  padding: 0 5px;
}
.modulo__gruppo > label {
  padding-bottom: 6px;
  color: var(--bianco);
  font: 500 20px/1 var(--tondo);
  cursor: pointer;
}
.modulo__gruppo input[type=text],
.modulo__gruppo input[type=tel],
.modulo__gruppo textarea {
  flex: 1 1 100%;
  width: 100%;
  max-width: 100%;
  min-height: 47px;
  padding: 6px 16px;
  border: 0;
  border-radius: 20px;
  background-color: var(--bianco);
  color: var(--nero);
  font: 400 18px/1.4 var(--tondo);
  vertical-align: middle;
  transition: all .3s;
}
.modulo__gruppo textarea::placeholder { color: inherit; font-family: inherit; opacity: .6; }
.modulo__gruppo input[type=text]:focus,
.modulo__gruppo input[type=tel]:focus,
.modulo__gruppo textarea:focus { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1); outline: 0; }
.modulo__gruppo > .modulo__privacy {
  display: block;
  font-size: 14px;
  line-height: 1.5;
  cursor: default;
}
.modulo__privacy a { cursor: pointer; }
.modulo__gruppo--invia { justify-content: flex-end; align-items: flex-end; }
.modulo__gruppo--invia > .elementor-button {
  min-height: 40px;
  padding: 0 24px;
  border: 0;
  border-radius: 20px;
  background-color: var(--verde);
  color: var(--bianco);
  font: 600 22px/1 var(--tondo);
  white-space: nowrap;
  cursor: pointer;
  transition: all .3s;
}
.campo-trappola,
.campo-trappola * { opacity: 0; }
.campo-trappola {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 260px;
  pointer-events: none;
}
.campo-trappola label { display: block; }
.campo-trappola input { display: block; width: 100%; }
@media (max-width: 767px) {
  .contatti__riga { flex-wrap: wrap; padding-block: 40px 70px; }
  .contatti__sx { width: 100%; }
  .contatti__titolo { font-size: 38px; }
  .contatti__oppure { margin-top: 20px; text-align: center; }
  .contatti__bottoni { grid-template-columns: repeat(1, 1fr); }
  .contatti__bottoni > .elementor-button { font-size: 20px; }
  .contatti__bottoni > [href^="tel:"] { align-self: center; }
  .contatti__bottoni > [href^="https://wa.me/"] { margin-top: 0; }
.modulo { margin: 0 5px; padding: 0; }
  .modulo__titolo { font-size: 28px; }
  .modulo__sotto { width: 100%; max-width: 100%; font-size: 20px; }
  .modulo__gruppo > label { font-size: 18px; }
  .modulo__gruppo input[type=text],
  .modulo__gruppo input[type=tel],
  .modulo__gruppo textarea { font-size: 16px; }
}
.piede {
  padding-top: 70px;
  background-color: var(--rosa);
overflow-x: clip;
}
.piede__riga {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  width: calc(100% - 20px);       
  max-width: 1140px;
  margin: 0 auto 30px;
  padding-block: 10px;
}
.piede__colonna-logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex-shrink: 0;
  width: 50%;
  padding: 10px;
}
.piede__logo { width: 60%; }
.piede__contatti {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(2, 1fr);
  gap: 20px;
  justify-items: center;
  width: 50%;
  padding: 10px;
}
.piede__colonna-logo, .piede__contatti, .piede__contatto { min-width: 0; }
.piede__contatto { display: flex; align-items: center; align-self: start; gap: 17px; max-width: 100%; }
.piede__contatto > .elementor-icon { display: block; flex: 0 0 auto; }   
.piede__contatto > .elementor-icon svg { display: block; width: 44px; height: 44px; fill: var(--bianco); }
.piede__titolo {
  margin: 8px 0 0;
  color: var(--bianco);
  font: 600 20px/1.2 var(--tondo);
}
.piede__titolo a { color: inherit; }
.piede__contatto--email .piede__titolo { margin-bottom: 5px; }
.piede__fondo {
  display: flex;
  flex-direction: column;
  max-width: 1140px;
  margin-inline: auto;
  padding: 60px 0 30px;
}
.piede__copyright {
  color: var(--bianco);
  font: 400 15px/1.5 var(--tondo);
  text-align: center;
}
@media (max-width: 1024px) {
  .piede__riga {
    justify-content: space-between;
    width: calc(100% - 60px);
    padding-block: 0;
  }
  .piede__logo { width: 100%; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .piede__colonna-logo { width: 32.72%; }
  .piede__contatti { width: 295.516px; }
}
@media (max-width: 767px) {
  .piede__riga { flex-wrap: wrap; }
  .piede__colonna-logo { width: 100%; }
  .piede__logo { width: 77%; align-self: center; }
  .piede__contatti { width: 100%; margin-top: 50px; }
  .piede__contatto--email .piede__titolo { margin-bottom: 0; }
}
body.senza-scorrimento { overflow: hidden; }
[data-parallasse] { transition: transform var(--durata-parallasse, .4s) ease; }
.menu-tel {
  position: fixed;
  inset: 0;
  z-index: 10001;
}
.menu-tel[hidden] { display: none; }
@media (min-width: 1025px) {
  .menu-tel { display: none; }
}
.menu-tel__velo {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, .5);
}
.menu-tel__principale {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  pointer-events: none;
}
.menu-tel__pannello {
  width: 400px;
  height: 100vh;
  overflow: auto;
  background-color: var(--bianco);
  box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, .2);
  pointer-events: auto;
}
.menu-tel__colonna {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  padding: 80px 0;
}
.menu-tel__logo { display: block; width: 18%; height: auto; }   
.menu-tel__voci { margin: 0; padding: 0; list-style: none; }
.menu-tel__voci li { display: flex; align-items: center; }
.menu-tel__voci li + li { margin-top: 5px; }                     
.menu-tel__voci li:not(:last-child) { padding-bottom: 5px; }     
.menu-tel__voci a {
  display: flex;
  align-items: center;
  width: 100%;
  font: 400 22px/33px var(--tondo);
}
.menu-tel__icona { display: flex; }
.menu-tel__icona svg { width: 14px; height: 14px; margin-right: 3.5px; fill: var(--nero); }
.menu-tel__testo {
  align-self: center;
  padding-left: 5px;
  color: var(--rosa);
  transition: color .3s;
}
.menu-tel__voci li:hover .menu-tel__testo { color: var(--nero); }
.menu-tel__colonna > .elementor-button {
  display: inline-block;
  padding: 12px 24px;
  border-radius: 20px;
  background-color: var(--rosa);
  color: var(--bianco);
  font: 600 20px/1 var(--tondo);
  text-align: center;
  transition: all .3s;
}
.menu-tel__colonna > .elementor-button:hover,
.menu-tel__colonna > .elementor-button:focus { color: var(--bianco); }
.menu-tel__social { display: flex; gap: 19px; }
.e--ua-appleWebkit .menu-tel__social { margin-inline: calc(-.5 * 19px); }
.e--ua-appleWebkit .elementor-social-icon { margin-inline: calc(.5 * 19px); }
.elementor-social-icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  border-radius: 100px;
  background-color: var(--verde);
  transition: all .3s;
}
.elementor-social-icon:hover { opacity: .9; }
.elementor-social-icon svg { width: 24px; height: 24px; fill: var(--bianco); }
.menu-tel__colonna > .elementor-icon {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 1;
  display: block;
  width: 26px;
  height: 26px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.menu-tel__colonna > .elementor-icon svg { display: block; width: 26px; height: 26px; fill: var(--rosa); }
.popup {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(0, 0, 0, .8);
}
.popup[hidden] { display: none; }
.popup__contenuto {
  position: absolute;
  max-width: 100%;
  max-height: 100%;
  animation-duration: .5s;
}
.popup__messaggio {
  display: flex;
  width: 1200px;
  max-width: 100vw;
  max-height: 100vh;
  overflow: auto;
  line-height: 1.5;
}
.popup__guscio {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0 10px;
}
.popup__riga {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  align-items: center;
  gap: 20px;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 10px 0;
}
.popup__scatola {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: 50%;
  padding: 10px;
  border-radius: 40px;
  background-color: var(--bianco);
  box-shadow: 3px 3px 0 5px var(--rosa-acceso);
}
.popup__x { padding: 20px 20px 10px 0; text-align: end; }
.popup__x > .elementor-icon {
  display: inline-block;
  width: 25px;
  height: 25px;
  padding: 0;
  border: 0;
  background: none;
  vertical-align: baseline;
  cursor: pointer;
}
.popup__x > .elementor-icon svg { display: block; width: 100%; height: 100%; fill: var(--rosa-acceso); }
.popup__testo {
  max-width: 100%;
  padding: 0 40px 30px;
  color: var(--nero);
  font: 400 22px/1.5 var(--tondo);
}
.popup__testo--pieno { width: 100%; }
.popup__testo ul { margin: 0; padding: 0; list-style: none; }
.popup__testo li {
  position: relative;
  margin-bottom: 1em;
  padding-left: 1.8em;
  text-indent: -.4em;
}
.popup__testo li::before {
  content: "\2713";
  position: absolute;
  top: 0;
  left: 0;
  line-height: 1.4;
}
@keyframes popup-sale {
  from { transform: translate3d(0, 100%, 0); visibility: visible; }
  to { transform: translate3d(0, 0, 0); }
}
@keyframes popup-scende {
  from { transform: translate3d(0, 100%, 0); visibility: visible; }
  to { transform: translate3d(0, 0, 0); }
}
@keyframes popup-compare {
  from { opacity: 0; }
  to { opacity: 1; }
}
.popup--entra .popup__contenuto { animation-name: popup-sale; }
.popup--esce .popup__contenuto {
  animation-name: popup-scende;
  animation-direction: reverse;
  animation-fill-mode: forwards;
}
@media (max-width: 1024px) {
  .popup__messaggio { padding: 0 5%; }
  .popup__scatola { width: 100%; }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .popup__riga { max-width: 80%; }
}
@media (max-width: 767px) {
  .popup__messaggio { padding: 5% 5% 0; }
  .popup__riga { gap: 0; }
  .popup__x { padding: 15px 15px 10px 0; }
  .popup__x > .elementor-icon { width: 24px; height: 24px; }
  .popup__testo { padding: 0 10px 20px 15px; font-size: 20px; }
  .popup--entra .popup__contenuto { animation-name: popup-compare; }
}
.chat {
  position: fixed;
  right: 25px;
  bottom: 25px;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 20px;
  width: 360px;
  pointer-events: none;
}
.chat__finestra {
  pointer-events: auto;
}
.chat__finestra[hidden] { display: none; }
.chat__finestra:focus { outline: none; }
.chat__contenuto {
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, .15);
  font-family: var(--tondo);
}
.chat__barra {
  position: relative;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px;
  background-color: #075E54;
}
.e-contact-buttons__close-button {
  position: absolute;
  top: 20px;
  right: 20px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--bianco);
  cursor: pointer;
}
.e-contact-buttons__close-button svg { width: 1em; height: 1em; vertical-align: -2px; fill: currentColor; }
.chat__avatar { position: relative; display: flex; align-items: center; }
.chat__avatar img {
  width: 75px;
  height: 75px;
  border-radius: 50%;
  object-fit: cover;
}
.chat__avatar::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 5px;
  width: 20px;
  height: 20px;
  border: 3px solid #075E54;
  border-radius: 50%;
  background-color: #39AA59;
}
.chat__titolo { margin-bottom: 0; color: var(--bianco); font-size: 24px; font-weight: 700; }
.chat__sottotitolo { margin-bottom: 0; color: var(--bianco); font-size: 16px; }
.chat__messaggi {
  padding: 25px 20px 25px 40px;
  background-color: #ECE5DD;
}
.chat__puntini {
  display: inline-flex;
  padding: 10px 12px;
  border-radius: 15px;
  background-color: var(--bianco);
}
.chat__puntino {
  position: relative;
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 3px;
  margin-left: auto;
  border-radius: 50%;
  background-color: var(--nero);
  animation: chat-salto 1s infinite;
}
.chat__puntino:nth-child(1) { animation-delay: .2s; }
.chat__puntino:nth-child(2) { animation-delay: .4s; }
.chat__puntino:nth-child(3) { animation-delay: .6s; }
@keyframes chat-salto {
  0% { bottom: 0; }
  20% { bottom: 5px; }
  40% { bottom: 0; }
}
.chat__bolla-contenitore {
  height: 0;
  opacity: 0;
  visibility: hidden;
}
.chat__finestra.chat--letto .chat__puntini { display: none; }
.chat__finestra.chat--letto .chat__bolla-contenitore {
  height: auto;
  opacity: 1;
  visibility: visible;
  animation: chat-compare .1s;
}
@keyframes chat-compare {
  from { opacity: 0; }
  to { opacity: 1; }
}
.chat__bolla {
  position: relative;
  padding: 20px;
  border-radius: 15px;
  background-color: var(--bianco);
}
.chat__bolla::after {
  content: "";
  position: absolute;
  top: 0;
  left: -20px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 40px 40px 0;
  border-color: transparent var(--bianco) transparent transparent;
}
.chat__nome,
.chat__testo,
.chat__ora { color: var(--nero); font-size: 20px; line-height: 25px; }
.chat__nome { margin-bottom: 8px; font-weight: 600; }
.chat__testo { margin-bottom: 8px; }
.chat__ora { margin-bottom: 0; font-weight: 600; text-align: end; }
.chat__testo img.emoji {
  display: inline;
  width: 1em;
  height: 1em;
  margin: 0 .07em;
  padding: 0;
  border: none;
  box-shadow: none;
  background: none;
  vertical-align: -.1em;
}
.chat__invio {
  padding: 12px 20px 20px;
  background-color: var(--bianco);
}
.e-contact-buttons__send-cta {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 10px;
  border-radius: 30px;
  background-color: #25D366;
  color: var(--bianco);
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  transition: all .3s;
}
.e-contact-buttons__send-cta svg { width: 28px; height: 28px; fill: var(--bianco); }
.chat__bottone-contenitore {
  display: flex;
  max-width: max-content;
  padding-right: 20px;
  pointer-events: auto;
}
.e-contact-buttons__chat-button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 55px;
  height: 55px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: #25D366;
  box-shadow: 4px 4px 10px 0 rgba(0, 0, 0, .15);
  cursor: pointer;
  transition: all .3s;
}
.e-contact-buttons__chat-button svg { width: 32px; height: 32px; fill: var(--bianco); }
.e-contact-buttons__chat-button::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: #FF0000;
}
.e-contact-buttons__chat-button:hover,
.e-contact-buttons__chat-button:focus,
.e-contact-buttons__send-cta:hover,
.e-contact-buttons__send-cta:focus {
  background-color: #075E54;
  color: var(--bianco);
  transform: scale(1.1);
}
.e-contact-buttons__chat-button:active,
.e-contact-buttons__send-cta:active { transform: scale(1.1); }
@media (max-width: 767px) {
  .chat { width: 90vw; }
  .chat__bottone-contenitore { position: relative; }
}
.modulo__messaggio {
  margin: 10px 0;
  color: #FFFFFF;
  font: 400 22px/1 var(--tondo);
}
.modulo__messaggio a { color: #FFFFFF; text-decoration: underline; }
.modulo__messaggio svg {
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-inline-end: 5px;
  vertical-align: middle;
  fill: currentColor;
}
.modulo__attesa { margin-inline-start: 5px; }
@media (prefers-reduced-motion: reduce) {
  .popup__contenuto { animation: none !important; }
  html * { transition-delay: 0s !important; transition-duration: 0s !important; }
}
