.elementor-kit-6{--e-global-color-primary:#005A65;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#242424;--e-global-color-accent:#00A9B6;--e-global-color-3e24c78:#FAFBFB;--e-global-color-9cea7ed:#F0F1F1;--e-global-color-aa6b051:#C0C1C1;--e-global-color-86f500b:#787979;--e-global-color-51c0892:#646565;--e-global-color-b074ea9:#454646;--e-global-color-b191937:#E0F6FC;--e-global-color-6162e33:#B80021;--e-global-color-bb77973:#00BAC8;--e-global-color-f1c69dc:#C7172E;--e-global-color-aea6cc4:#650027;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:500;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:400;background-color:var( --e-global-color-secondary );color:var( --e-global-color-b074ea9 );font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:500;line-height:160%;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:#00A9B6;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:600;line-height:140%;color:var( --e-global-color-text );border-radius:100px 100px 100px 100px;padding:14px 32px 14px 32px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-bb77973 );color:var( --e-global-color-text );border-radius:100px 100px 100px 100px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 p{margin-block-end:0px;}.elementor-kit-6 h1{color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:48px;font-weight:600;line-height:140%;}.elementor-kit-6 h2{color:var( --e-global-color-text );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-6 h3{color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:24px;font-weight:600;line-height:140%;}.elementor-kit-6 h4{color:var( --e-global-color-text );font-family:"Montserrat", Sans-serif;font-size:20px;font-weight:600;line-height:140%;}.elementor-kit-6 h5{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:500;line-height:140%;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1304px;}.e-con{--container-max-width:1304px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:28px;}.elementor-element{--widgets-spacing:28px 28px;--widgets-spacing-row:28px;--widgets-spacing-column:28px;}{}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-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{padding:12px 28px 12px 28px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}
/* Start custom CSS */html, body {
  overflow-x: hidden !important;
}

.contenitore-immagine {
    position: relative;
    overflow: hidden;
}

.immagine-visite {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
  z-index: 0;
}

.card-visite:hover .immagine-visite {
    transform: scale(1.05);
}

.contenitore-pulsante:hover .elementor-icon {
    transform: scale(1.05);
}

/* =========================================================
   CAVOK - Header shrink on scroll
   ========================================================= */

/* Header sticky esterno */
.elementor-location-header .elementor-element-c401164 {
  z-index: 9999;
  transition:
    box-shadow 280ms ease,
    background-color 280ms ease;
}

/* Banda bianca principale della navbar */
.elementor-location-header .elementor-element-abef7e6 {
  transition:
    box-shadow 280ms ease,
    border-radius 280ms ease,
    transform 280ms ease,
    background-color 280ms ease;
  will-change: transform;
}

/* Inner della banda bianca: qui avviene il vero shrink */
.elementor-location-header .elementor-element-b7f42eb > .e-con-inner {
  min-height: 86px;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  transition:
    min-height 320ms cubic-bezier(.2, .8, .2, 1),
    padding-top 320ms cubic-bezier(.2, .8, .2, 1),
    padding-bottom 320ms cubic-bezier(.2, .8, .2, 1);
}

/* Logo: si riduce leggermente solo per accompagnare lo shrink della banda */
.elementor-location-header .elementor-element-cccbcc3 img {
  width: 264px;
  height: auto;
  transition:
    width 320ms cubic-bezier(.2, .8, .2, 1),
    transform 320ms cubic-bezier(.2, .8, .2, 1);
  will-change: width, transform;
}

/* Voci menu desktop */
.elementor-location-header .elementor-element-670afb4 .e-n-menu-title,
.elementor-location-header .elementor-element-670afb4 .e-n-menu-title-text,
.elementor-location-header .elementor-element-670afb4 .e-n-menu-title-container {
  transition:
    font-size 280ms ease,
    line-height 280ms ease,
    padding 280ms ease,
    transform 280ms ease;
}

/* Bottone Prenota desktop */
.elementor-location-header .elementor-element-a9621d7 .elementor-button {
  transition:
    padding 280ms ease,
    min-height 280ms ease,
    transform 280ms ease,
    box-shadow 280ms ease;
}

/* Stato dopo scroll */
body.cf-header-shrink .elementor-location-header .elementor-element-abef7e6 {
  box-shadow: 0 12px 32px rgba(0, 0, 0, .08);
}

/* Shrink effettivo della banda bianca */
body.cf-header-shrink .elementor-location-header .elementor-element-b7f42eb > .e-con-inner {
  min-height: 64px;
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}

/* Logo leggermente più piccolo nello stato shrunk */
body.cf-header-shrink .elementor-location-header .elementor-element-cccbcc3 img {
  width: 220px;
}

/* Menu un filo più compatto */
body.cf-header-shrink .elementor-location-header .elementor-element-670afb4 .e-n-menu-title-text {
  transform: translateY(-1px);
}

/* Bottone Prenota più compatto */
body.cf-header-shrink .elementor-location-header .elementor-element-a9621d7 .elementor-button {
  padding-top: 12px;
  padding-bottom: 12px;
}

/* Mobile / tablet */
@media (max-width: 1024px) {
  .elementor-location-header .elementor-element-b7f42eb > .e-con-inner {
    min-height: 76px;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }

  body.cf-header-shrink .elementor-location-header .elementor-element-b7f42eb > .e-con-inner {
    min-height: 60px;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .elementor-location-header .elementor-element-cccbcc3 img {
    width: 220px;
  }

  body.cf-header-shrink .elementor-location-header .elementor-element-cccbcc3 img {
    width: 185px;
  }

  .elementor-location-header .elementor-element-73dbb5a .elementor-menu-toggle {
    transition:
      transform 280ms ease,
      padding 280ms ease;
  }

  body.cf-header-shrink .elementor-location-header .elementor-element-73dbb5a .elementor-menu-toggle {
    transform: scale(.92);
  }
}

/* Mobile stretto */
@media (max-width: 767px) {
  .elementor-location-header .elementor-element-b7f42eb > .e-con-inner {
    min-height: 70px;
  }

  body.cf-header-shrink .elementor-location-header .elementor-element-b7f42eb > .e-con-inner {
    min-height: 58px;
  }

  .elementor-location-header .elementor-element-cccbcc3 img {
    width: 190px;
  }

  body.cf-header-shrink .elementor-location-header .elementor-element-cccbcc3 img {
    width: 165px;
  }
}

/* Accessibilità: rispetta chi ha ridotto le animazioni */
@media (prefers-reduced-motion: reduce) {
  .elementor-location-header .elementor-element-c401164,
  .elementor-location-header .elementor-element-abef7e6,
  .elementor-location-header .elementor-element-b7f42eb > .e-con-inner,
  .elementor-location-header .elementor-element-cccbcc3 img,
  .elementor-location-header .elementor-element-670afb4 .e-n-menu-title,
  .elementor-location-header .elementor-element-670afb4 .e-n-menu-title-text,
  .elementor-location-header .elementor-element-670afb4 .e-n-menu-title-container,
  .elementor-location-header .elementor-element-a9621d7 .elementor-button,
  .elementor-location-header .elementor-element-73dbb5a .elementor-menu-toggle {
    transition: none !important;
  }
}

/* =========================================================
   CAVOK - Mega menu dietro header + fix gap
   ========================================================= */

/*
  Questi valori controllano quanto il megamenu "rientra"
  dietro la navbar.
*/
:root {
  --cf-mega-underlap-rest: -38px;
  --cf-mega-underlap-shrink: -28px;
}

/* Lo sticky header diventa uno stacking context isolato */
.elementor-location-header .elementor-element-c401164 {
  z-index: 9999 !important;
  isolation: isolate;
  overflow: visible !important;
}

/* La topbar e la banda bianca stanno sopra al megamenu */
.elementor-location-header .elementor-element-cb65344,
.elementor-location-header .elementor-element-abef7e6 {
  position: relative;
  z-index: 20 !important;
}

/* La banda principale deve essere opaca per coprire il megamenu dietro */
.elementor-location-header .elementor-element-abef7e6 {
  background-color: #fff !important;
}

/* Evita che Elementor tagli il megamenu */
.elementor-location-header .elementor-element-c401164,
.elementor-location-header .elementor-element-cb65344,
.elementor-location-header .elementor-element-abef7e6,
.elementor-location-header .elementor-element-b7f42eb,
.elementor-location-header .elementor-element-b7f42eb > .e-con-inner,
.elementor-location-header .elementor-element-00cf97a,
.elementor-location-header .elementor-element-670afb4,
.elementor-location-header .elementor-element-670afb4 .e-n-menu,
.elementor-location-header .elementor-element-670afb4 .e-n-menu-wrapper {
  overflow: visible !important;
}

/* Logo, menu items e bottone prenota restano sopra al dropdown */
.elementor-location-header .elementor-element-0b58e7a,
.elementor-location-header .elementor-element-670afb4 .e-n-menu-heading,
.elementor-location-header .elementor-element-a9621d7 {
  position: relative;
  z-index: 30 !important;
}

/* Il pannello del megamenu va dietro alla navbar */
.elementor-location-header .elementor-element-670afb4 .e-n-menu-content {
  position: relative;
  z-index: -1 !important;
  margin-top: var(--cf-mega-underlap-rest) !important;
  pointer-events: auto;

  transition:
    margin-top 280ms cubic-bezier(.2, .8, .2, 1),
    opacity 220ms ease,
    transform 280ms cubic-bezier(.2, .8, .2, 1);
}

/* Stato scrollato / navbar shrinkata */
body.cf-header-shrink
.elementor-location-header
.elementor-element-670afb4
.e-n-menu-content {
  margin-top: var(--cf-mega-underlap-shrink) !important;
}

/* Evita margini extra sul container interno del megamenu */
.elementor-location-header
.elementor-element-670afb4
.e-n-menu-content > [id^="e-n-menu-content-"] {
  margin-top: 0 !important;
}

/* Tablet/mobile: non applicare questo comportamento al menu burger */
@media (max-width: 1024px) {
  .elementor-location-header
  .elementor-element-670afb4
  .e-n-menu-content,
  body.cf-header-shrink
  .elementor-location-header
  .elementor-element-670afb4
  .e-n-menu-content {
    z-index: auto !important;
    margin-top: 0 !important;
  }
}/* End custom CSS */