/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* ====== ORBITA ELLITTICA (senso orario) ====== */
.orbit-img {
  /* variabili personalizzabili per singola immagine */
  --r: 14px;       /* raggio base (asse X) */
  --sy: 1;         /* 1 = cerchio; <1 ellisse schiacciata in Y (es. .8, .6) */
  --dur: 12s;       /* durata del giro */
  --delay: 0s;     /* ritardo di partenza */

  display: inline-block;
  backface-visibility: hidden;
  will-change: transform;

  /* evito shorthand così le varianti non “saltano” */
  animation-name: orbit;
  animation-duration: var(--dur);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-delay: var(--delay);
  transform-origin: center;
}

/* Giro perfettamente fluido su cerchio/ellisse.
   scaleY/controscaleY deforma SOLO la traiettoria, non l’immagine. */
@keyframes orbit {
  from { transform: scaleY(var(--sy)) rotate(0deg) translateX(var(--r)) rotate(0deg) scaleY(calc(1/var(--sy))); }
  to   { transform: scaleY(var(--sy)) rotate(360deg) translateX(var(--r)) rotate(-360deg) scaleY(calc(1/var(--sy))); }
}

/* ====== ORBITA ELLITTICA (senso ANTI-orario) ====== */
.orbit-img-rev {
  /* stesse variabili di sopra, si possono sovrascrivere per immagine */
  --r: 14px;
  --sy: 1;
  --dur: 12s;
  --delay: 0s;

  display: inline-block;
  backface-visibility: hidden;
  will-change: transform;

  animation-name: orbit-rev;
  animation-duration: var(--dur);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-delay: var(--delay);
  transform-origin: center;
}

/* Keyframe opposto (counterclockwise).
   Nota: usare un keyframe separato è più affidabile che .reverse su alcuni builder */
@keyframes orbit-rev {
  from { transform: scaleY(var(--sy)) rotate(0deg) translateX(var(--r)) rotate(0deg) scaleY(calc(1/var(--sy))); }
  to   { transform: scaleY(var(--sy)) rotate(-360deg) translateX(var(--r)) rotate(360deg) scaleY(calc(1/var(--sy))); }
}

/* ====== FLUTTUANTE VERTICALE CLASSICO ====== */
.floatY-img {
  --amp: 12px;     /* ampiezza verticale */
  --dur: 10s;       /* durata ciclo */
  --delay: 0s;

  display: inline-block;
  backface-visibility: hidden;
  will-change: transform;

  animation-name: floatY;
  animation-duration: var(--dur);
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-delay: var(--delay);
}

@keyframes floatY {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(calc(-1 * var(--amp))); }
  100% { transform: translateY(0); }
}

/* ====== UTILITIES OPZIONALI ====== */
.slow   { --dur: 22s !important; }
.fast   { --dur: 8s  !important; }
.superfast   { --dur: 4s  !important; }
.wide   { --r: 22px  !important; }  /* orbita più ampia */
.flat   { --sy: .7   !important; }  /* ellisse più schiacciata */
.clickable { pointer-events: auto !important; } /* se vuoi click su quell’immagine */

/* Accessibilità: rispetta riduzione movimento */
@media (prefers-reduced-motion: reduce){
  .orbit-img, .orbit-img-rev, .floatY-img { animation: none !important; }
}

.marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  white-space: nowrap;
  background: transparent; /* opzionale */
}

.marquee__inner {
  display: inline-block;
  white-space: nowrap;
  animation: marquee 110s linear infinite;
}

.marquee__inner span {
  display: inline-block;
  padding: 0 2rem; /* spazio tra le frasi */
  font-size: 21px;
  font-weight: 600;
	color: #fff;
	font-family: "din-2014-narrow", Sans-serif !important;
}

@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.menu_tablet {
  display: none;           /* nascosto di default */
  opacity: 0;
  transition: opacity 0.3s ease;
}

.menu_tablet.show {
  display: block;          /* visibile quando ha la classe */
  opacity: 1;
}

#icn_open, #icn_close {
  cursor: pointer;
}

#icn_close {
  display: none; /* parte nascosto */
}

.ov-x {
	 overflow-x: hidden !important;
	overflow-y: hidden !important;
}

.my-sticky-header {
  transition: top 0.3s ease;
}

.my-sticky-header.hide {
  top: -152px; /* altezza header, così esce dallo schermo */
}

/* Flip Laterale (asse Y) - Desktop e Mobile */
.flip-card {
    perspective: 1000px;
    position: relative;
}

.flip-card-front,
.flip-card-back {
    width: 100%;
    backface-visibility: hidden;
    transition: transform 0.6s;
    transform-style: preserve-3d;
}

.flip-card-back {
    position: absolute;
    top: 0;
    left: 0;
    transform: rotateY(180deg);
}

/* Desktop - Hover */
@media (min-width: 1025px) {
    .flip-card:hover .flip-card-front {
        transform: rotateY(-180deg);
    }

    .flip-card:hover .flip-card-back {
        transform: rotateY(0deg);
    }
}

/* Mobile - Touch/Tap con classe toggle */
.flip-card.flipped .flip-card-front {
    transform: rotateY(-180deg);
}

.flip-card.flipped .flip-card-back {
    transform: rotateY(0deg);
}

.carosello_prep .swiper-pagination-bullet.swiper-pagination-bullet-active {
	width: 25px;
	border-radius: 4px;
}

.carosello_prep .swiper-pagination-bullet {
	width: 17px;
	border-radius: 4px;
}

.faq_dho .e-n-accordion-item{
	border-bottom: 2px solid #F39118;
}

.wpml-ls-current-language {
font-weight: 600 !important;	
}

.wpml-ls-legacy-list-horizontal a {
	padding: 0px 0px 0px 6px;
}