.elementor-13 .elementor-element.elementor-element-e22a3f6{--display:flex;--min-height:50vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-13 .elementor-element.elementor-element-e22a3f6:not(.elementor-motion-effects-element-type-background), .elementor-13 .elementor-element.elementor-element-e22a3f6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://idealnight.it/wp-content/uploads/2026/02/Sala-da-Ballo-Ideal-Dance.webp");background-position:center center;background-size:cover;}.elementor-13 .elementor-element.elementor-element-8a6ca4d{--display:flex;--min-height:40vh;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:20px 20px;--row-gap:20px;--column-gap:20px;--margin-top:10px;--margin-bottom:10px;--margin-left:10px;--margin-right:10px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-13 .elementor-element.elementor-element-3309b48{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-13 .elementor-element.elementor-element-3309b48.e-con{--align-self:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-13 .elementor-element.elementor-element-202aa42{margin:30px 20px calc(var(--kit-widget-spacing, 0px) + 10px) 20px;text-align:center;}.elementor-13 .elementor-element.elementor-element-202aa42.elementor-element{--order:-99999 /* order start hack */;}.elementor-13 .elementor-element.elementor-element-202aa42 .elementor-heading-title{color:#000000;}.elementor-13 .elementor-element.elementor-element-4abf9de{--display:flex;--min-height:0px;--flex-wrap:wrap;--align-content:center;border-style:none;--border-style:none;}.elementor-13 .elementor-element.elementor-element-ab27cae{--display:flex;}.elementor-13 .elementor-element.elementor-element-ab27cae:not(.elementor-motion-effects-element-type-background), .elementor-13 .elementor-element.elementor-element-ab27cae > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://idealnight.it/wp-content/uploads/2026/02/Salsa-scaled.webp");background-position:center center;background-size:cover;}.elementor-13 .elementor-element.elementor-element-e1256ef{--display:flex;}.elementor-13 .elementor-element.elementor-element-a737eb1 .elementor-heading-title{text-shadow:0px 0px 10px #FF0808;color:#FFFFFF;}.elementor-13 .elementor-element.elementor-element-16bd431{--display:flex;--min-height:0px;--flex-wrap:wrap;--align-content:center;border-style:none;--border-style:none;}.elementor-13 .elementor-element.elementor-element-30c68b3{--display:flex;}.elementor-13 .elementor-element.elementor-element-30c68b3:not(.elementor-motion-effects-element-type-background), .elementor-13 .elementor-element.elementor-element-30c68b3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://idealnight.it/wp-content/uploads/2026/02/Country.webp");background-position:center center;background-size:cover;}.elementor-13 .elementor-element.elementor-element-ff1b936{--display:flex;}.elementor-13 .elementor-element.elementor-element-ffd0db9 .elementor-heading-title{text-shadow:0px 0px 10px rgba(242.74891304347824, 255, 38.25000000000001, 0.99);color:#FFFFFF;}.elementor-13 .elementor-element.elementor-element-f584078{--display:flex;--min-height:0px;--flex-wrap:wrap;--align-content:center;border-style:none;--border-style:none;}.elementor-13 .elementor-element.elementor-element-613bd4e{--display:flex;}.elementor-13 .elementor-element.elementor-element-613bd4e:not(.elementor-motion-effects-element-type-background), .elementor-13 .elementor-element.elementor-element-613bd4e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://idealnight.it/wp-content/uploads/2026/02/Lisico-scaled.webp");background-position:center center;background-size:cover;}.elementor-13 .elementor-element.elementor-element-6d48d20{--display:flex;}.elementor-13 .elementor-element.elementor-element-6589b09 .elementor-heading-title{text-shadow:0px 0px 10px #E5E5E5;color:#FFFFFF;}.elementor-13 .elementor-element.elementor-element-33fc8a1{--display:flex;--min-height:0px;--flex-wrap:wrap;--align-content:center;border-style:none;--border-style:none;}.elementor-13 .elementor-element.elementor-element-a638cf5{--display:flex;}.elementor-13 .elementor-element.elementor-element-a638cf5:not(.elementor-motion-effects-element-type-background), .elementor-13 .elementor-element.elementor-element-a638cf5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://idealnight.it/wp-content/uploads/2026/02/k-pop-scaled.webp");background-position:center center;background-size:cover;}.elementor-13 .elementor-element.elementor-element-1063353{--display:flex;}.elementor-13 .elementor-element.elementor-element-75d9dbe .elementor-heading-title{text-shadow:0px 0px 10px #C91EFF;color:#FFFFFF;}.elementor-13 .elementor-element.elementor-element-fdf3c15{--display:flex;--min-height:0px;--flex-wrap:wrap;--align-content:center;border-style:none;--border-style:none;}.elementor-13 .elementor-element.elementor-element-7458bac{--display:flex;}.elementor-13 .elementor-element.elementor-element-7458bac:not(.elementor-motion-effects-element-type-background), .elementor-13 .elementor-element.elementor-element-7458bac > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://idealnight.it/wp-content/uploads/2026/02/Fitness-scaled.webp");background-position:center center;background-size:cover;}.elementor-13 .elementor-element.elementor-element-5ba2b4b{--display:flex;}.elementor-13 .elementor-element.elementor-element-c1c0de3 .elementor-heading-title{text-shadow:0px 0px 10px #01EE25;color:#EFF2F4;}.elementor-13 .elementor-element.elementor-element-6b0dbae{--display:flex;--min-height:0px;--flex-wrap:wrap;--align-content:center;border-style:none;--border-style:none;}.elementor-13 .elementor-element.elementor-element-9d9cf86{--display:flex;}.elementor-13 .elementor-element.elementor-element-9d9cf86:not(.elementor-motion-effects-element-type-background), .elementor-13 .elementor-element.elementor-element-9d9cf86 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://idealnight.it/wp-content/uploads/2026/02/Sala-da-Ballo-Ideal-Dance.webp");background-position:center center;background-size:cover;}.elementor-13 .elementor-element.elementor-element-88db20d{--display:flex;}.elementor-13 .elementor-element.elementor-element-f7fd0c2 .elementor-heading-title{text-shadow:0px 0px 10px #DAD7D7;color:#F1F3F4;}.elementor-13 .elementor-element.elementor-element-5aa87c0{--e-n-carousel-swiper-slides-to-display:3;--e-n-carousel-swiper-slides-gap:10px;--e-n-carousel-slide-height:auto;--e-n-carousel-slide-container-height:100%;--e-n-carousel-arrow-prev-left-align:0%;--e-n-carousel-arrow-prev-translate-x:0px;--e-n-carousel-arrow-prev-left-position:0px;--e-n-carousel-arrow-prev-top-align:50%;--e-n-carousel-arrow-prev-translate-y:-50%;--e-n-carousel-arrow-prev-top-position:0px;--e-n-carousel-arrow-next-right-align:0%;--e-n-carousel-arrow-next-translate-x:0%;--e-n-carousel-arrow-next-right-position:0px;--e-n-carousel-arrow-next-top-align:50%;--e-n-carousel-arrow-next-translate-y:-50%;--e-n-carousel-arrow-next-top-position:0px;--e-n-carousel-dots-horizontal-position:50%;--e-n-carousel-dots-horizontal-transform:-50%;--e-n-carousel-dots-vertical-position:100%;--e-n-carousel-dots-vertical-transform:-100%;--e-n-carousel-dots-vertical-offset:0px;--e-n-carousel-swiper-pagination-spacing:0px;}.elementor-13 .elementor-element.elementor-element-5aa87c0.elementor-element{--align-self:center;--order:-99999 /* order start hack */;--flex-grow:0;--flex-shrink:0;}:where( .elementor-13 .elementor-element.elementor-element-5aa87c0 .swiper-slide ) > .e-con{border-style:none;}.elementor-13 .elementor-element.elementor-element-093c036{--display:flex;--min-height:70vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--margin-top:30px;--margin-bottom:030px;--margin-left:0px;--margin-right:0px;}.elementor-13 .elementor-element.elementor-element-093c036:not(.elementor-motion-effects-element-type-background), .elementor-13 .elementor-element.elementor-element-093c036 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#EDEDEC;}.elementor-13 .elementor-element.elementor-element-093c036.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-13 .elementor-element.elementor-element-27cfef9{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:12px 020px;--row-gap:12px;--column-gap:020px;--flex-wrap:wrap;--align-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-13 .elementor-element.elementor-element-4b1e7c8{--display:flex;}.elementor-13 .elementor-element.elementor-element-c32ebf7{text-align:center;}.elementor-13 .elementor-element.elementor-element-c32ebf7 .elementor-heading-title{color:#000000;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-13 .elementor-element.elementor-element-260472e{text-align:center;}.elementor-13 .elementor-element.elementor-element-1f24084{--display:flex;}.elementor-13 .elementor-element.elementor-element-4527c6e{text-align:center;}.elementor-13 .elementor-element.elementor-element-4527c6e .elementor-heading-title{color:#000000;}.elementor-13 .elementor-element.elementor-element-94e565f{text-align:center;}.elementor-13 .elementor-element.elementor-element-a96e580{--display:flex;}.elementor-13 .elementor-element.elementor-element-52e5568{text-align:center;}.elementor-13 .elementor-element.elementor-element-52e5568 .elementor-heading-title{color:#000000;}.elementor-13 .elementor-element.elementor-element-f24e45d{text-align:center;}.elementor-13 .elementor-element.elementor-element-7220af5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:60px;--margin-bottom:010px;--margin-left:0px;--margin-right:0px;}.elementor-13 .elementor-element.elementor-element-c0a9019{text-align:center;}.elementor-13 .elementor-element.elementor-element-c0a9019 .elementor-heading-title{color:#060606;}.elementor-widget-testimonial-carousel .elementor-testimonial__text{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-testimonial-carousel .elementor-testimonial__name{color:var( --e-global-color-text );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-testimonial-carousel .elementor-testimonial__title{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-13 .elementor-element.elementor-element-48e677d .elementor-swiper-button{font-size:20px;}.elementor-13 .elementor-element.elementor-element-6b91f21{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-13 .elementor-element.elementor-element-2a3c587{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:12px 12px;--row-gap:12px;--column-gap:12px;}.elementor-13 .elementor-element.elementor-element-bc25067.elementor-element{--align-self:center;}.elementor-13 .elementor-element.elementor-element-bc25067 .elementor-heading-title{color:#010101;}.elementor-13 .elementor-element.elementor-element-0fcabbd.elementor-element{--align-self:center;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-13 .elementor-element.elementor-element-45d0ceb .elementor-button{background-color:transparent;text-shadow:0px 0px 10px rgba(0,0,0,0.3);fill:#FFFFFF;color:#FFFFFF;background-image:linear-gradient(180deg, #C1C1C1 0%, #5F5F5F 100%);}.elementor-13 .elementor-element.elementor-element-45d0ceb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-13 .elementor-element.elementor-element-45d0ceb.elementor-element{--align-self:center;}.elementor-13 .elementor-element.elementor-element-d97909b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-13 .elementor-element.elementor-element-d2a6058{--display:flex;}.elementor-13 .elementor-element.elementor-element-9cb5dcb{--display:flex;}.elementor-13 .elementor-element.elementor-element-bc62701{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 00px;--row-gap:0px;--column-gap:00px;}.elementor-13 .elementor-element.elementor-element-cd698ff .elementor-button-content-wrapper{flex-direction:row;}.elementor-13 .elementor-element.elementor-element-cd698ff .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-13 .elementor-element.elementor-element-8243ecc .elementor-button-content-wrapper{flex-direction:row;}.elementor-13 .elementor-element.elementor-element-8243ecc .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-13 .elementor-element.elementor-element-c5ada35 .elementor-button-content-wrapper{flex-direction:row;}.elementor-13 .elementor-element.elementor-element-c5ada35 .elementor-button .elementor-button-content-wrapper{gap:10px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-13 .elementor-element.elementor-element-093c036{--width:129.208%;}.elementor-13 .elementor-element.elementor-element-4b1e7c8{--width:30%;}.elementor-13 .elementor-element.elementor-element-1f24084{--width:30%;}.elementor-13 .elementor-element.elementor-element-a96e580{--width:30%;}.elementor-13 .elementor-element.elementor-element-7220af5{--width:100%;}}@media(max-width:1024px){.elementor-13 .elementor-element.elementor-element-5aa87c0{--e-n-carousel-swiper-slides-to-display:2;}}@media(max-width:767px){.elementor-13 .elementor-element.elementor-element-5aa87c0{--e-n-carousel-swiper-slides-to-display:1;}.elementor-13 .elementor-element.elementor-element-7220af5{--margin-top:30px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-13 .elementor-element.elementor-element-bc62701{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}}/* Start custom CSS for html, class: .elementor-element-417f742 *//* ===== HERO TEXT LUXURY ===== */
.hero-text{
  text-align:center;
  max-width:720px;
  margin:0 auto;
}

.hero-title{
  margin:0 0 10px 0;
  font-weight:850;
  font-size:52px;
  line-height:1.05;
  color:#fff;
  letter-spacing:.4px;
  text-shadow:0 10px 30px rgba(0,0,0,.35);
  animation:heroFadeUp .8s ease both;
}

.hero-subtitle{
  margin:0;
  font-weight:500;
  font-size:18px;
  color:rgba(255,255,255,.92);
  letter-spacing:.2px;
  text-shadow:0 10px 30px rgba(0,0,0,.28);
  animation:heroFadeUp .9s ease both;
  animation-delay:.08s;
}

/* ===== 30 anni luxury ===== */
.hero-30{
  position:relative;
  display:inline-block;
  font-weight:950;
  letter-spacing:.6px;
  padding:0 .12em;
}

/* ovale dietro (allargato e centrato) */
.hero-30::before{
  content:"";
  position:absolute;
  left:-.20em;
  right:-.20em;
  top:52%;
  height:1.05em;
  transform:translateY(-50%);
  background:linear-gradient(
    90deg,
    rgba(255,255,255,.12),
    rgba(255,255,255,.22),
    rgba(255,255,255,.12)
  );
  border-radius:999px;
  z-index:-1;
  box-shadow:0 8px 25px rgba(255,255,255,.08);
}

/* underline luxury */
.hero-30::after{
  content:"";
  position:absolute;
  left:-.05em;
  right:-.05em;
  bottom:-.22em;
  height:3px;
  border-radius:999px;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,.2),
    rgba(255,255,255,.9),
    rgba(255,255,255,.2)
  );
  transform:scaleX(0);
  transform-origin:left;
  animation:underlineIn .9s ease forwards;
  animation-delay:.25s;
  box-shadow:0 10px 30px rgba(255,255,255,.18);
}

/* animazioni */
@keyframes heroFadeUp{
  from{opacity:0; transform:translateY(10px);}
  to{opacity:1; transform:translateY(0);}
}

@keyframes underlineIn{
  to{transform:scaleX(1);}
}

/* responsive */
@media (max-width:1024px){
  .hero-title{font-size:40px;}
  .hero-subtitle{font-size:16px;}
}

@media (max-width:767px){
  .hero-title{font-size:28px;}
  .hero-subtitle{font-size:14px;}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8a6ca4d *//* BOX OMBREGGIATURA SCURA SU FOTO (semi-trasparente) */
.hero-shadow{
  max-width: 720px;
  margin: 0 auto;
  padding: 28px 34px;

  background: rgba(0,0,0,0.38);  /* ombreggiatura nera */
  border-radius: 12px;
  box-shadow: 0 18px 45px rgba(0,0,0,0.25);

  text-align: center;
}

/* Testi bianchi sopra */
.hero-shadow, 
.hero-shadow *{
  color: #fff !important;
}

/* Responsive */
@media (max-width: 767px){
  .hero-shadow{
    max-width: 92%;
    padding: 18px 18px;
    border-radius: 10px;
  }
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-202aa42 */.elementor-13 .elementor-element.elementor-element-202aa42 .elementor-heading-title{
  font-weight:900;
  letter-spacing:.6px;
  position:relative;
  display:inline-block;
}

.elementor-13 .elementor-element.elementor-element-202aa42 .elementor-heading-title::after{
  content:"";
  display:block;
  width:44px;
  height:2px;
  background:#000;
  margin:12px auto 0;
  opacity:.25;
}/* End custom CSS */
/* Start custom CSS for nested-carousel, class: .elementor-element-5aa87c0 */.elementor-13 .elementor-element.elementor-element-5aa87c0{
  overflow: hidden;
}

/* QUADRATO PERFETTO */
.elementor-13 .elementor-element.elementor-element-5aa87c0 .course-card__media{
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  padding-top: 0;
  min-height: 0;

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* LABEL OPACA */
.elementor-13 .elementor-element.elementor-element-5aa87c0 .course-card__label{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 14px 12px;
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  text-align: center;
  z-index: 3;
}

.elementor-13 .elementor-element.elementor-element-5aa87c0 .course-card__title{
  margin: 0;
  color: #fff;
  font-weight: 900;
  letter-spacing: .2px;
  font-size: 16px;
  line-height: 1.05;
}

/* DIMENSIONE CARD (stringi qui) */
.elementor-13 .elementor-element.elementor-element-5aa87c0 .course-card{
  max-width: 220px;
  margin: 0 auto;
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}

/* FOCUS CENTRALE (Swiper) */
.elementor-13 .elementor-element.elementor-element-5aa87c0 .swiper-slide .course-card{
  transform: scale(.92);
  opacity: .90;
  transition: transform 650ms cubic-bezier(.16,.84,.22,1), opacity 650ms ease;
}

.elementor-13 .elementor-element.elementor-element-5aa87c0 .swiper-slide-active .course-card{
  transform: scale(1.06);
  opacity: 1;
}

.elementor-13 .elementor-element.elementor-element-5aa87c0 .swiper-slide-prev .course-card,
.elementor-13 .elementor-element.elementor-element-5aa87c0 .swiper-slide-next .course-card{
  transform: scale(.98);
  opacity: .96;
}

/* MOBILE: niente opacità/blur */
@media (max-width: 767px){
  .elementor-13 .elementor-element.elementor-element-5aa87c0 .swiper-slide, .elementor-13 .elementor-element.elementor-element-5aa87c0 .swiper-slide *{
    opacity: 1 !important;
    filter: none !important;
  }
}
.elementor-13 .elementor-element.elementor-element-5aa87c0{
  overflow: hidden;
}

/* QUADRATO PERFETTO */
.elementor-13 .elementor-element.elementor-element-5aa87c0 .course-card__media{
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  padding-top: 0;
  min-height: 0;

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* LABEL OPACA */
.elementor-13 .elementor-element.elementor-element-5aa87c0 .course-card__label{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 14px 12px;
  background: rgba(0,0,0,.45);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  text-align: center;
  z-index: 3;
}

.elementor-13 .elementor-element.elementor-element-5aa87c0 .course-card__title{
  margin: 0;
  color: #fff;
  font-weight: 900;
  letter-spacing: .2px;
  font-size: 16px;
  line-height: 1.05;
}

/* DIMENSIONE CARD (stringi qui) */
.elementor-13 .elementor-element.elementor-element-5aa87c0 .course-card{
  max-width: 280px;
  margin: 0 auto;
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}

/* FOCUS CENTRALE (Swiper) */
.elementor-13 .elementor-element.elementor-element-5aa87c0 .swiper-slide .course-card{
  transform: scale(.92);
  opacity: .90;
  transition: transform 650ms cubic-bezier(.16,.84,.22,1), opacity 650ms ease;
}

.elementor-13 .elementor-element.elementor-element-5aa87c0 .swiper-slide-active .course-card{
  transform: scale(1.06);
  opacity: 1;
}

.elementor-13 .elementor-element.elementor-element-5aa87c0 .swiper-slide-prev .course-card,
.elementor-13 .elementor-element.elementor-element-5aa87c0 .swiper-slide-next .course-card{
  transform: scale(.98);
  opacity: .96;
}

/* MOBILE: niente opacità/blur */
@media (max-width: 767px){
  .elementor-13 .elementor-element.elementor-element-5aa87c0 .swiper-slide, .elementor-13 .elementor-element.elementor-element-5aa87c0 .swiper-slide *{
    opacity: 1 !important;
    filter: none !important;
  }
}
/* =========================
   RIDUZIONE DIMENSIONE CARD CORSI
   ========================= */

/* Riduce larghezza visiva delle slide */
.elementor-13 .elementor-element.elementor-element-5aa87c0 .swiper-slide{
  display: flex;
  justify-content: center;
}

/* Riduce la card interna */
.elementor-13 .elementor-element.elementor-element-5aa87c0 .course-card{
  width: 85%;              /* ← Desktop: più piccolo */
  max-width: 320px;        /* limite massimo */
  transition: transform .35s ease;
}

/* Mantiene proporzione quadrata */
.elementor-13 .elementor-element.elementor-element-5aa87c0 .course-card__image{
  aspect-ratio: 1 / 1;
  width: 100%;
  overflow: hidden;
}

/* Immagine centrata */
.elementor-13 .elementor-element.elementor-element-5aa87c0 .course-card__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* =========================
   MOBILE
   ========================= */

@media (max-width: 767px){

  .elementor-13 .elementor-element.elementor-element-5aa87c0 .course-card{
    width: 75%;            /* più stretto su telefono */
    max-width: 260px;
  }

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-27cfef9 *//* SPACES-INNER = ROW con 3 colonne affiancate */
.elementor-13 .elementor-element.elementor-element-27cfef9{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
  justify-content: center !important;
  align-items: stretch !important;
}

/* ogni colonna (space-card) prende 1/3 su desktop */
.elementor-13 .elementor-element.elementor-element-27cfef9 > .space-card{
  flex: 0 1 calc(33.333% - 16px) !important;
  max-width: calc(33.333% - 16px) !important;
  min-width: 240px !important;  /* evita che diventino troppo strette */
}

/* tablet: 2 colonne */
@media (max-width: 1024px){
  .elementor-13 .elementor-element.elementor-element-27cfef9 > .space-card{
    flex: 0 1 calc(50% - 16px) !important;
    max-width: calc(50% - 16px) !important;
  }
}

/* mobile: 1 colonna compatta */
@media (max-width: 767px){
  .elementor-13 .elementor-element.elementor-element-27cfef9{
    gap: 14px !important;
  }
  .elementor-13 .elementor-element.elementor-element-27cfef9 > .space-card{
    flex: 0 1 100% !important;
    max-width: 100% !important;
  }
}
/* SPACES-INNER = ROW con 3 colonne affiancate */
.elementor-13 .elementor-element.elementor-element-27cfef9{
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 24px !important;
  justify-content: center !important;
  align-items: stretch !important;
}

/* ogni colonna (space-card) prende 1/3 su desktop */
.elementor-13 .elementor-element.elementor-element-27cfef9 > .space-card{
  flex: 0 1 calc(33.333% - 16px) !important;
  max-width: calc(33.333% - 16px) !important;
  min-width: 240px !important;  /* evita che diventino troppo strette */
}

/* tablet: 2 colonne */
@media (max-width: 1024px){
  .elementor-13 .elementor-element.elementor-element-27cfef9 > .space-card{
    flex: 0 1 calc(50% - 16px) !important;
    max-width: calc(50% - 16px) !important;
  }
}

/* mobile: 1 colonna compatta */
@media (max-width: 767px){
  .elementor-13 .elementor-element.elementor-element-27cfef9{
    gap: 14px !important;
  }
  .elementor-13 .elementor-element.elementor-element-27cfef9 > .space-card{
    flex: 0 1 100% !important;
    max-width: 100% !important;
  }
}
.elementor-13 .elementor-element.elementor-element-27cfef9 .space-icon{
  width:72px;
  height:auto;
  display:block;
  margin:0 auto 14px;
  color:#ffffff; /* line art bianca */
}

.elementor-13 .elementor-element.elementor-element-27cfef9 .space-card__title{
  text-align:center;
  margin-bottom:6px;
}

.elementor-13 .elementor-element.elementor-element-27cfef9 .space-card__desc{
  text-align:center;
  font-size:14px;
  line-height:1.3;
  opacity:.85;
}
.elementor-13 .elementor-element.elementor-element-27cfef9 .space-icon{
  width:80px;
  height:80px;
  margin:0 auto 16px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.elementor-13 .elementor-element.elementor-element-27cfef9 .space-icon svg{
  width:100%;
  height:100%;
  display:block;
}
.elementor-13 .elementor-element.elementor-element-27cfef9 .dance-icon svg{
    transform:scale(0.75);
}
/* ============================
   ICON BOX: dimensioni uguali
   ============================ */
.elementor-13 .elementor-element.elementor-element-27cfef9 .space-icon{
  width:80px;
  height:80px;
  margin:0 auto 14px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.elementor-13 .elementor-element.elementor-element-27cfef9 .space-icon svg{
  width:100%;
  height:100%;
  display:block;
  transform-origin:center;
}

/* riduce solo l'icona ballerini (scuola) */
.elementor-13 .elementor-element.elementor-element-27cfef9 .dance-icon svg{
  transform: scale(0.78);
}

/* ============================
   HOVER: premium minimal
   ============================ */
@media (hover:hover) and (pointer:fine){
  .elementor-13 .elementor-element.elementor-element-27cfef9 .space-icon svg{
    transition: transform .28s ease, opacity .28s ease;
  }
  .elementor-13 .elementor-element.elementor-element-27cfef9 .space-card:hover .space-icon svg{
    transform: scale(1.06);
    opacity: 1;
  }
  /* mantiene la correzione ballerini anche in hover */
  .elementor-13 .elementor-element.elementor-element-27cfef9 .space-card:hover .dance-icon svg{
    transform: scale(0.82);
  }
}

/* ============================
   ENTRATA SOFT (scroll-in)
   (senza JS: semplice e pulita)
   ============================ */
.elementor-13 .elementor-element.elementor-element-27cfef9 .space-card{
  transition: transform .45s ease, opacity .45s ease;
  opacity: 1;
}

/* ============================
   DIVISORI TRA COLONNE (solo desktop)
   ============================ */
@media (min-width: 1025px){
  .elementor-13 .elementor-element.elementor-element-27cfef9{
    position: relative;
  }

  /* separatore verticale leggero */
  .elementor-13 .elementor-element.elementor-element-27cfef9 .space-card{
    position: relative;
  }

  .elementor-13 .elementor-element.elementor-element-27cfef9 .space-card:not(:last-child)::after{
    content:"";
    position:absolute;
    top:12px;
    right:-12px;
    width:1px;
    height:calc(100% - 24px);
    background: rgba(0,0,0,0.10);
  }
}

/* ============================
   MOBILE: niente divisori + icone più compatte
   ============================ */
@media (max-width: 767px){
  .elementor-13 .elementor-element.elementor-element-27cfef9 .space-icon{
    width:64px;
    height:64px;
    margin-bottom:10px;
  }
  .elementor-13 .elementor-element.elementor-element-27cfef9 .dance-icon svg{
    transform: scale(0.78);
  }
  /* niente divisori su mobile */
  .elementor-13 .elementor-element.elementor-element-27cfef9 .space-card::after{
    display:none !important;
  }
}/* End custom CSS */
/* Start custom CSS for testimonial-carousel, class: .elementor-element-48e677d *//* =========================
   REVIEWS CAROUSEL - FOOTER LAYOUT FIX
   ========================= */

/* Card base */
.elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial{
  position: relative;
  background:#fff;
  border-radius:18px;
  padding:26px 24px 78px;  /* più spazio sotto per footer */
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 14px 34px rgba(0,0,0,.07);
  overflow:hidden;
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

@media (hover:hover) and (pointer:fine){
  .elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial:hover{
    transform: translateY(-6px);
    box-shadow:0 24px 56px rgba(0,0,0,.11);
    border-color: rgba(0,0,0,.10);
  }
}

/* Stelle in alto a sinistra */
.elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial::before{
  content:"★★★★★";
  position:absolute;
  top:18px;
  left:24px;
  font-size:16px;
  letter-spacing:2px;
  color:#fbbc04;
  line-height:1;
}

/* Badge verificata in alto a destra */
.elementor-13 .elementor-element.elementor-element-48e677d .review-badge{
  position:absolute;
  top:14px;
  right:14px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  background:#f1f3f4;
  border:1px solid rgba(0,0,0,.06);
  color:#222;
  font-size:11px;
  line-height:1;
  opacity:.92;
  z-index:3;
}
.elementor-13 .elementor-element.elementor-element-48e677d .review-badge img{
  width:16px;
  height:16px;
  display:block;
}
.elementor-13 .elementor-element.elementor-element-48e677d .review-badge svg{
  width:14px;
  height:14px;
  display:block;
}

/* ===== FOOTER: avatar in basso a sinistra ===== */
.elementor-13 .elementor-element.elementor-element-48e677d .review-avatar{
  position:absolute;
  left:24px;
  bottom:20px;
  width:42px;
  height:42px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:13px;
  letter-spacing:.5px;
  background:#f1f3f4;
  color:#111;
  border:1px solid rgba(0,0,0,.10);
  z-index:3;
}

/* ===== FOOTER: nome + sottotitolo in basso a destra ===== */
/* Forziamo area testo in basso a destra ampia */
.elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial__name,
.elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial-name{
  position:absolute;
  left:78px;          /* 24 + 42 + gap */
  right:24px;
  bottom:34px;
  margin:0 !important;
  font-weight:900;
  line-height:1.1;
  text-align:left;
  z-index:3;
}

/* Riga sotto: "Recensione Google" */
.elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial__title,
.elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial-job{
  position:absolute;
  left:78px;
  right:24px;
  bottom:18px;
  margin:0 !important;
  font-size:12px;
  opacity:.65;
  line-height:1.1;
  text-align:left;
  z-index:3;
}

/* Testo recensione */
.elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial__text,
.elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial-content,
.elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial__content{
  font-size:15px;
  line-height:1.58;
}

/* Slide focus */
.elementor-13 .elementor-element.elementor-element-48e677d .swiper-slide{
  transition:transform 650ms cubic-bezier(.16,.84,.22,1), opacity 650ms ease;
  opacity:.92;
}
.elementor-13 .elementor-element.elementor-element-48e677d .swiper-slide-active{
  transform:scale(1.06);
  opacity:1;
  z-index:3;
  filter: drop-shadow(0 10px 28px rgba(0,0,0,0.10));
}
.elementor-13 .elementor-element.elementor-element-48e677d .swiper-slide-prev,
.elementor-13 .elementor-element.elementor-element-48e677d .swiper-slide-next{
  transform:scale(.94);
  opacity:.88;
}

/* Frecce & dots */
.elementor-13 .elementor-element.elementor-element-48e677d .elementor-swiper-button{
  width:46px;
  height:46px;
  border-radius:999px;
  background:rgba(0,0,0,.06);
}
.elementor-13 .elementor-element.elementor-element-48e677d .swiper-pagination-bullet{
  width:8px;
  height:8px;
  opacity:.35;
}
.elementor-13 .elementor-element.elementor-element-48e677d .swiper-pagination-bullet-active{
  opacity:1;
  transform:scale(1.25);
}

/* Mobile */
@media (max-width:767px){
  .elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial{ padding:24px 20px 76px; }
  .elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial::before{ left:20px; }
  .elementor-13 .elementor-element.elementor-element-48e677d .review-avatar{ left:20px; bottom:18px; }
  .elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial__name,
  .elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial-name{
    left:72px; right:20px; bottom:34px;
  }
  .elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial__title,
  .elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial-job{
    left:72px; right:20px; bottom:18px;
  }
  .elementor-13 .elementor-element.elementor-element-48e677d .swiper-slide-active{ transform:scale(1.02); filter:none; }
}
/* =========================
   FIX: rimuove immagine Elementor duplicata
   e abbassa il testo recensione
   ========================= */

/* 1) Nasconde l'immagine/avatar nativo del widget (quello che vedi al centro) */
.elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial__image,
.elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial-image,
.elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial__image img{
  display:none !important;
}

/* 2) A volte c'è un wrapper immagine “fantasma” */
.elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial figure,
.elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial__image + *{
  margin:0 !important;
}

/* 3) Spazio in alto: evita che il testo stia sotto stelle/badge */
.elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial__content,
.elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial-content{
  padding-top: 50px; /* aumenta a 16/20 se lo vuoi più in basso */
}
@media (max-width:767px){
  .elementor-13 .elementor-element.elementor-element-48e677d .review-badge{ transform:scale(.95); }
}
/* =========================
   BADGE GOOGLE PIÙ LARGO
   ========================= */

.elementor-13 .elementor-element.elementor-element-48e677d .review-badge{
  padding: 8px 16px;        /* più spazio laterale */
  gap: 10px;                 /* distanza logo + testo */
  min-width: 120px;          /* badge più largo */
  justify-content: center;
}

/* Testo badge */
.elementor-13 .elementor-element.elementor-element-48e677d .review-badge .badge-text{
  display:flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}

/* Logo Google leggermente più grande */
.elementor-13 .elementor-element.elementor-element-48e677d .review-badge img{
  width:18px;
  height:18px;
}

/* Check */
.elementor-13 .elementor-element.elementor-element-48e677d .review-badge svg{
  width:14px;
  height:14px;
}

/* Mobile: un filo più compatto */
@media (max-width:767px){
  .elementor-13 .elementor-element.elementor-element-48e677d .review-badge{
    padding:7px 14px;
    min-width:105px;
  }
}
.elementor-13 .elementor-element.elementor-element-48e677d .review-badge{
  backdrop-filter: blur(6px);
  background: rgba(241,243,244,.85);
}
/* =========================
   AVATAR INIZIALI - LUXURY FINAL
   ========================= */

.elementor-13 .elementor-element.elementor-element-48e677d .review-avatar{
  color:#fff;  
  background: linear-gradient(135deg,#2b2b2b,#111);   /* gradient premium */
  border:1px solid rgba(255,255,255,.12);
  font-family:"Playfair Display", serif;
  font-weight:600;
  letter-spacing:1px;
  box-shadow:0 4px 12px rgba(0,0,0,.25);
  transition: all .35s ease;
}

/* Glow quando la slide è attiva */
.elementor-13 .elementor-element.elementor-element-48e677d .swiper-slide-active .review-avatar{
  box-shadow:
    0 6px 18px rgba(0,0,0,.35),
    0 0 0 4px rgba(255,255,255,.04),
    0 0 18px rgba(255,255,255,.06);
  transform:scale(1.05);
}

/* Hover desktop */
@media (hover:hover) and (pointer:fine){
  .elementor-13 .elementor-element.elementor-element-48e677d .elementor-testimonial:hover .review-avatar{
    background:linear-gradient(135deg,#333,#111);
    box-shadow:0 8px 22px rgba(0,0,0,.45);
  }
}

/* Mobile: glow più soft */
@media (max-width:767px){
  .elementor-13 .elementor-element.elementor-element-48e677d .swiper-slide-active .review-avatar{
    box-shadow:
      0 6px 14px rgba(0,0,0,.25),
      0 0 10px rgba(255,255,255,.05);
    transform:none;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7220af5 */.elementor-13 .elementor-element.elementor-element-7220af5 .elementor-heading-title{
  font-weight:900;
  letter-spacing:.6px;
  position:relative;
  display:inline-block;
}

.elementor-13 .elementor-element.elementor-element-7220af5 .elementor-heading-title::after{
  content:"";
  display:block;
  width:44px;
  height:2px;
  background:#000;
  margin:12px auto 0;
  opacity:.25;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6b91f21 *//* =========================
   CTA BROCHURE — CLEAN LUXE
   (no ghost / no disallineamento)
   ========================= */

.elementor-13 .elementor-element.elementor-element-6b91f21{
  padding: 42px 0;
  position: relative;
}

/* Divisori sopra e sotto */
.elementor-13 .elementor-element.elementor-element-6b91f21::before,
.elementor-13 .elementor-element.elementor-element-6b91f21::after{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  width:70%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(0,0,0,.15), transparent);
}
.elementor-13 .elementor-element.elementor-element-6b91f21::before{ top:0; }
.elementor-13 .elementor-element.elementor-element-6b91f21::after{ bottom:0; }

/* Card */
.elementor-13 .elementor-element.elementor-element-6b91f21 .cta-card{
  border-radius: 26px;
  padding: 38px 30px;
  background: rgba(255,255,255,.78);
  /* se blur ti crea artefatti, lascia 10px */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 24px 60px rgba(0,0,0,.08);
  max-width: 860px;
  margin: 0 auto;
  text-align:center;
  overflow:hidden;
}

/* Titolo */
.elementor-13 .elementor-element.elementor-element-6b91f21 .cta-title{
  font-weight: 900;
  letter-spacing: .6px;
  line-height: 1.08;
  font-size: clamp(28px, 2.2vw, 38px);
  margin: 0 0 10px 0;
  display: inline-block;
}

/* Trattino sotto titolo */
.elementor-13 .elementor-element.elementor-element-6b91f21 .cta-title::after{
  content:"";
  display:block;
  margin: 10px auto 0;
  width: 58px;
  height: 2px;
  background: rgba(0,0,0,.35);
  border-radius: 2px;
  opacity: .55;
}

/* Testo */
.elementor-13 .elementor-element.elementor-element-6b91f21 .cta-text{
  font-size: clamp(15px, 1.15vw, 18px);
  line-height: 1.55;
  max-width: 56ch;
  margin: 0 auto 20px auto;
  opacity: .78;
}

/* Bottone (mantiene il tuo gradiente, aggiunge solo rilievo e larghezza) */
.elementor-13 .elementor-element.elementor-element-6b91f21 .cta-btn .elementor-button{
  min-width: 260px;
  padding: 16px 30px;
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .35px;
  border: 1px solid rgba(0,0,0,.12);
  box-shadow:
    0 10px 24px rgba(0,0,0,.10),
    inset 0 1px 0 rgba(255,255,255,.55);
  transition: box-shadow .3s ease, transform .3s ease;
  position: relative;
  overflow: hidden;
  text-shadow: none;
  filter: none;
}

/* Luce premium SOLO sul bottone */
.elementor-13 .elementor-element.elementor-element-6b91f21 .cta-btn .elementor-button::after{
  content:"";
  position:absolute;
  inset:-80% -70%;
  background: linear-gradient(120deg, transparent 42%, rgba(255,255,255,.45) 50%, transparent 58%);
  transform: translateX(-95%) rotate(12deg);
  transition: transform 1.1s ease;
  pointer-events:none;
  opacity: .65;
}

@media (hover:hover) and (pointer:fine){
  .elementor-13 .elementor-element.elementor-element-6b91f21 .cta-btn .elementor-button:hover{
    transform: translateY(-2px);
    box-shadow:
      0 18px 45px rgba(0,0,0,.14),
      inset 0 1px 0 rgba(255,255,255,.65);
  }
  .elementor-13 .elementor-element.elementor-element-6b91f21 .cta-btn .elementor-button:hover::after{
    transform: translateX(95%) rotate(12deg);
  }
}

/* Mobile */
@media (max-width: 767px){
  .elementor-13 .elementor-element.elementor-element-6b91f21{ padding: 28px 0; }
  .elementor-13 .elementor-element.elementor-element-6b91f21 .cta-card{ padding: 26px 20px; }
  .elementor-13 .elementor-element.elementor-element-6b91f21 .cta-btn .elementor-button{
    width: 100%;
    min-width: 0;
  }
}
/* === FIX: rimuovi bordo/ghost nero sul bottone === */

/* reset aggressivo su TUTTI i layer del bottone */
.elementor-13 .elementor-element.elementor-element-6b91f21 .cta-btn .elementor-button,
.elementor-13 .elementor-element.elementor-element-6b91f21 .cta-btn .elementor-button:focus,
.elementor-13 .elementor-element.elementor-element-6b91f21 .cta-btn .elementor-button:focus-visible,
.elementor-13 .elementor-element.elementor-element-6b91f21 .cta-btn .elementor-button-link,
.elementor-13 .elementor-element.elementor-element-6b91f21 .cta-btn a.elementor-button,
.elementor-13 .elementor-element.elementor-element-6b91f21 .cta-btn a.elementor-button:focus,
.elementor-13 .elementor-element.elementor-element-6b91f21 .cta-btn a.elementor-button:focus-visible{
  outline: none !important;
  box-shadow: none !important;
  border-color: rgba(0,0,0,.12) !important; /* mantiene un bordo pulito */
}

/* se Elementor mette un effetto su wrapper interno */
.elementor-13 .elementor-element.elementor-element-6b91f21 .cta-btn .elementor-button *{
  box-shadow: none !important;
  outline: none !important;
}

/* reimposta una shadow pulita e centrata */
.elementor-13 .elementor-element.elementor-element-6b91f21 .cta-btn .elementor-button{
  box-shadow: 0 14px 34px rgba(0,0,0,.14) !important;
  border: 1px solid rgba(0,0,0,.12) !important;
}

/* hover pulito */
@media (hover:hover) and (pointer:fine){
  .elementor-13 .elementor-element.elementor-element-6b91f21 .cta-btn .elementor-button:hover{
    box-shadow: 0 20px 48px rgba(0,0,0,.18) !important;
  }
}

/* se il tema applica un "ring" al click */
.elementor-13 .elementor-element.elementor-element-6b91f21 .cta-btn .elementor-button:active{
  box-shadow: 0 10px 24px rgba(0,0,0,.14) !important;
}
.elementor-13 .elementor-element.elementor-element-6b91f21 .cta-btn .elementor-button{
  background-clip: padding-box !important;
  -webkit-background-clip: padding-box !important;
}
/* Forza capo dopo PDF solo su mobile */
@media (max-width: 767px){
  .cta-brochure .cta-text{
    max-width: 18ch;
    margin-left: auto;
    margin-right: auto;
    text-wrap: balance;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d97909b *//* =========================
   MAP SECTION - LUXE GLASS
   ========================= */

/* mappa più grande e premium */
.elementor-13 .elementor-element.elementor-element-d97909b .map-embed{
  border-radius: 20px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 22px 60px rgba(0,0,0,.12);
}

.elementor-13 .elementor-element.elementor-element-d97909b .map-embed iframe{
  width: 100%;
  height: 520px; /* desktop più grande */
  border: 0;
  display: block;
}

/* container bottoni */
.elementor-13 .elementor-element.elementor-element-d97909b .nav-buttons{
  display: flex;
  gap: 14px;
  justify-content: center;
  align-items: stretch;
  margin-top: 18px;
  flex-wrap: wrap;
}

/* pulsanti tutti uguali */
.elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button{
  width: 280px;                 /* stessa dimensione */
  min-height: 54px;             /* stessa altezza */
  border-radius: 999px;

  /* glass effect */
  background: rgba(255,255,255,.72);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  border: 1px solid rgba(0,0,0,.10);
  box-shadow: 0 14px 40px rgba(0,0,0,.10);

  color: #111;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;

  transition: transform .28s ease, box-shadow .28s ease, background .28s ease;
  position: relative;
  overflow: hidden;
}

/* testo pulsanti */
.elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button-text{
  font-weight: 800;
  letter-spacing: .2px;
}

/* icone: stesso stile, micro animazione */
.elementor-13 .elementor-element.elementor-element-d97909b .nav-btn svg{
  width: 18px;
  height: 18px;
  display: block;
  transition: transform .28s ease, opacity .28s ease;
  opacity: .9;
}

/* shine (effetto vetro Apple) */
.elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button::after{
  content:"";
  position:absolute;
  inset:-40% -60%;
  background: linear-gradient(120deg, transparent 35%, rgba(255,255,255,.60) 50%, transparent 65%);
  transform: translateX(-65%) rotate(12deg);
  transition: transform .75s ease;
  pointer-events:none;
}

/* hover desktop */
@media (hover:hover) and (pointer:fine){
  .elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button:hover{
    transform: translateY(-4px);
    box-shadow: 0 22px 60px rgba(0,0,0,.14);
    background: rgba(255,255,255,.86);
  }
  .elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button:hover::after{
    transform: translateX(65%) rotate(12deg);
  }
  .elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button:hover svg{
    transform: translateX(2px) scale(1.06);
    opacity: 1;
  }
}

/* focus (tap) su mobile */
.elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button:active{
  transform: scale(.99);
}

/* mobile: mappa più alta e bottoni 100% */
@media (max-width: 767px){
  .elementor-13 .elementor-element.elementor-element-d97909b .map-embed iframe{
    height: 380px;
  }
  .elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button{
    width: 100%;
    max-width: 420px;
  }
}
/* =========================
   NAV BUTTONS — LUXE GLASS FINAL
   ========================= */

.elementor-13 .elementor-element.elementor-element-d97909b .nav-buttons{
  display:flex;
  gap:14px;
  justify-content:center;
  align-items:stretch;
  flex-wrap:wrap;
  margin-top:18px;
}

/* Tutti uguali come dimensione */
.elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button{
  width: 320px;                 /* cambia qui se li vuoi più larghi */
  min-height: 56px;
  padding: 14px 18px;
  border-radius: 999px;

  /* glass Apple */
  background: rgba(255,255,255,.62);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  border: 1px solid rgba(0,0,0,.10);
  box-shadow:
    0 14px 40px rgba(0,0,0,.10),
    inset 0 1px 0 rgba(255,255,255,.55);

  color:#111;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;

  transition: transform .28s ease, box-shadow .28s ease, background .28s ease, border-color .28s ease;
  position:relative;
  overflow:hidden;
}

/* Testo più “premium” */
.elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button-text{
  font-weight: 800;
  letter-spacing: .2px;
}

/* ICONA: vale sia per SVG che per <img> (Elementor può inserire l’icona in entrambi i modi) */
.elementor-13 .elementor-element.elementor-element-d97909b .nav-btn svg,
.elementor-13 .elementor-element.elementor-element-d97909b .nav-btn img{
  width: 22px;                  /* grandezza logo */
  height: 22px;
  display:block;
  transition: transform .28s ease, opacity .28s ease, filter .28s ease;
  opacity: .92;
}

/* Se l’icona è SVG, eredita il colore del testo */
.elementor-13 .elementor-element.elementor-element-d97909b .nav-btn svg{
  color: currentColor;
}

/* Shine elegante */
.elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button::after{
  content:"";
  position:absolute;
  inset:-50% -70%;
  background: linear-gradient(120deg, transparent 35%, rgba(255,255,255,.55) 50%, transparent 65%);
  transform: translateX(-70%) rotate(12deg);
  transition: transform .85s ease;
  pointer-events:none;
}

/* Micro “glow ring” sul bordo (molto Apple) */
.elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:999px;
  box-shadow: 0 0 0 0 rgba(0,0,0,0);
  transition: box-shadow .28s ease;
  pointer-events:none;
}

/* Hover desktop */
@media (hover:hover) and (pointer:fine){
  .elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button:hover{
    transform: translateY(-3px);
    background: rgba(255,255,255,.78);
    border-color: rgba(0,0,0,.14);
    box-shadow:
      0 22px 60px rgba(0,0,0,.14),
      inset 0 1px 0 rgba(255,255,255,.65);
  }
  .elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button:hover::after{
    transform: translateX(70%) rotate(12deg);
  }
  .elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button:hover::before{
    box-shadow: 0 0 0 4px rgba(0,0,0,.04);
  }
  .elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button:hover svg,
  .elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button:hover img{
    transform: translateX(2px) scale(1.06);
    opacity: 1;
  }
}

/* Tap mobile */
.elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button:active{
  transform: scale(.99);
}

/* Focus accessibile (quando navighi da tastiera) */
.elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button:focus-visible{
  outline: none;
  box-shadow:
    0 18px 52px rgba(0,0,0,.14),
    0 0 0 4px rgba(0,0,0,.08);
}

/* MOBILE: bottoni a tutta larghezza, mappa più leggibile */
@media (max-width: 767px){
  .elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button{
    width: 100%;
    max-width: 520px;
  }
}

/* (Opzionale) Rendi uno dei 3 leggermente più importante: Google */
.elementor-13 .elementor-element.elementor-element-d97909b .nav-google .elementor-button{
  background: rgba(255,255,255,.72);
}
/* CENTRATURA PERFETTA TESTO NELL’OVALE */
.elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button{
  align-items: center;
  line-height: 1;
}

.elementor-13 .elementor-element.elementor-element-d97909b .nav-btn .elementor-button-text{
  position: relative;
  top: 1px;   /* aumenta o diminuisci di 1px finché è perfetto */
}
/* DIMINUISCE ALTEZZA MAPPA */
.elementor-13 .elementor-element.elementor-element-d97909b .map-wrap iframe{
  height: 380px;   /* prima era circa 450–500 */
  border-radius: 18px;
}
@media (max-width: 767px){
  .elementor-13 .elementor-element.elementor-element-d97909b .map-wrap iframe{
    height: 300px;
  }
}
/* Riduce spazio tra mappa e bottoni */
.elementor-13 .elementor-element.elementor-element-d97909b .nav-buttons{
  margin-top: 0px;   /* prima era circa 18px */
}
/* Riduce padding interno della sezione */
.elementor-13 .elementor-element.elementor-element-d97909b{
  padding-top: 20px;
  padding-bottom: 20px;
}/* End custom CSS */