/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Studio Be4 team
Author: Studio Be4
Author URI: https://studiobe4.it
Template: hello-elementor
Version: 1.0.7
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
*/

/* Banner Cookie - attivare se si usa LegalBlink
#cm_tertiary_btn {background-color:#333333!important;color:#FFFFFF!important;}
#cc_div .c_button, #cc_div .c_link, #cc_div #cm {border-radius:0px!important;}*/


/* =========================================================
   Header 
   ========================================================= */

/* Header normale - stato iniziale */
.header_globale {
	width:100% !important;
	margin-bottom: -130px;
    height: 130px;
    background: transparent;
    transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    backdrop-filter: blur(0px);
    -webkit-backdrop-filter: blur(0px);
}

/* Header sticky - stato attivo */
.header_globale.elementor-sticky--effects {
    height: 100px !important;
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
}

/* div hamburger */
.hamburger_globale {
    height: 130px;
	aspect-ratio: 1/1;
	border-left: 1px solid #D9D9D9 !important;
    transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* div hamburger sticky */
.header_globale.elementor-sticky--effects .hamburger_globale {
    height: 100px;
}

/* div navigation */
.navi_global {
    height: 130px;
    transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* div navigation sticky */
.navi_global.elementor-sticky--effects .hamburger_globale {
    height: 100px;
}


/* =========================================================
   Animazione titoli h1 
   ========================================================= */

/* Stile iniziale per i titoli con classe .title_enter */
.title_enter h1 {
    position: relative;
    overflow: hidden;
    /* Maschera che nasconde il testo */
    clip-path: inset(100% 0 0 0);
    transition: clip-path 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
/* Animazione quando il titolo entra in viewport */
.title_enter h1.animate-in {
    clip-path: inset(0% 0 0 0);
}
/* Alternativa con pseudo-elemento se clip-path non funziona */
.title_enter-alt h1 {
    position: relative;
    overflow: hidden;
}
.title_enter-alt h1::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--e-global-color-background, #ffffff);
    transform: translateY(0);
    transition: transform 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 1;
}
.title_enter-alt h1.animate-in::before {
    transform: translateY(-100%);
}
.title_enter-alt h1 * {
    position: relative;
    z-index: 2;
}
.jet-listing-dynamic-terms {
    display: flex;
    align-items: center;
}


/* Scrollbar */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background-color: #f4f4f4;
}
::-webkit-scrollbar-thumb {
    background-color: #70539E;
    border-radius: 0px;
}
::-webkit-scrollbar-thumb:hover {
    background-color: #3D3D3B;
}

/* Mail to footer */
.etichetta {transform: rotate(-90deg);}

/* Testo viola */
.testo_viola {
  color: #70539E;
}

.testo_viola_chiaro {
  color: #AF8DE4;
}

/* =========================================================
   FORMS
   ========================================================= */

/* Form */
.riga_form {
	gap:30px;
	margin-bottom:0px;
}

.colonna_privacy {
	padding-left:50px;
}
.pulsante_invia {
	z-index:150 !important;
	align-items: center;
    width: 180px;
    height: 180px;
	display: flex !important;
    flex-direction: column !important;
}

.pulsante_invia:hover {
    width: 160px;
	height: 160px;
}

.pulsante_invia i {
    font-size: 44px !important;
	margin-bottom:10px;
}

.colonna_submit {
    height: 180px;
	margin-top:-90px !important;
	padding-right:50px;
}

input:focus-visible, select:focus-visible, textarea:focus-visible {
	outline: none;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border-bottom: 1px solid #70539E !important;
  outline: none; /* rimuove il bordo blu predefinito del browser */
}


/* ================= FINE FORM ================= */


/* Pallino testo scorrevole */
.custom_bullet {
  font-size: 0.7em;   /* più piccolo (puoi regolare a piacere) */
  vertical-align: middle; /* li centra con il testo */
}

.point_text {
  display: inline-flex;
  align-items: center;
  gap: 0px;
  color: inherit;
}

.point_text::before {
  content: "";
  width: 0.4em; 
  height: 0.4em;
  background-color: #70539E; /* stesso colore del testo */
  border-radius: 50%;
  margin-right: 10px; /* spazio tra pallino e testo */
}

.point_text_2 {
  display: inline-flex;
  align-items: center;
  gap: 0px;
  color: inherit;
}

.point_text_2::before {
  content: "";
  width: 0.4em; 
  height: 0.4em;
  background-color: #AF8DE4; /* stesso colore del testo */
  border-radius: 50%;
  margin-right: 10px; /* spazio tra pallino e testo */
}


/* =========================================================
   PRODOTTI
   ========================================================= */

/* Griglia prodotti home */
.prod_home .slick-track .jet-listing-grid__item {
    border-left: 1px solid #f4f4f4 !important;

}
.prod_home .slick-track .jet-listing-grid__item:not(:first-child) {
    border-left: 1px solid #D9D9D9 !important;
}

.sin_home .slick-track .jet-listing-grid__item {
	border-left: 1px solid #2A2A2A !important;
	box-sizing: border-box !important;
}

.sin_home .slick-track .jet-listing-grid__item:not(:first-child) {
	border-left: 1px solid #424242 !important;
	box-sizing: border-box !important;
}

.acc_prod .slick-track .jet-listing-grid__item {
	border-left: 1px solid #f4f4f4 !important;
	box-sizing: border-box !important;
}

.acc_prod .slick-track .jet-listing-grid__item:not(:first-child) {
	border-left: 1px solid #D9D9D9 !important;
	box-sizing: border-box !important;
}


/* =========================================================
   PULSANTI
   ========================================================= */

/* CSS per pulsanti Elementor con link */

.custom-line-button .elementor-button {
  position: relative !important;
  transition: all 0.3s ease !important;
}

.custom-line-button .elementor-button::after {
  content: '' !important;
  position: absolute !important;
  bottom: -10px !important; /* -2px originale + 20px di spazio = -22px */
  left: 0 !important;
  width: 70% !important;
  height: 2px !important;
  background-color: #AF8DE4 !important;
  transition: all 0.4s ease !important;
}

.custom-line-button .elementor-button:hover {
  transform: translateX(-8px) !important;
}

.custom-line-button .elementor-button:hover::after {
  left: 30% !important;
}

/* CSS per pulsanti Elementor con ancora */

.custom-line-button_anc .elementor-button {
  position: relative !important;
  transition: all 0.3s ease !important;
}

.custom-line-button_anc .elementor-button::after {
  content: '' !important;
  position: absolute !important;
  bottom: -10px !important; /* -2px originale + 20px di spazio = -22px */
  left: 0 !important;
  width: 70% !important;
  height: 2px !important;
  background-color: #AF8DE4 !important;
  transition: all 0.4s ease !important;
}

.custom-line-button_anc .elementor-button:hover {
  transform: translateX(-8px) !important;
}

.custom-line-button_anc .elementor-button:hover::after {
  left: 30% !important;
}

/* =========================================================
   BLOG
   ========================================================= */

/* Formattazione testi articoli */
.corpo_articolo :is(h1, h2, h3, h4, h5, h6) {
  color: #3D3D3B;
}

/* =========================================================
   3D POPUP
   ========================================================= */

#3d_scroll {
  overflow-y: scroll !important;
  scroll-behavior: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

/* Pulsante chiusura popup */
.jet-popup__close-button svg{
  display: inline-block; /* così l’SVG diventa trasformabile */
  transform-origin: center; /* ruota dal centro */
  transition: transform 0.8s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

.jet-popup__close-button:hover svg {
  transform: rotate(180deg);
}

/* ================= FINE 3D ================= */


/* Nasconde completamente l'SVG originale */
.jet-listing-grid__slider-icon.prev-arrow svg,
.jet-listing-grid__slider-icon.next-arrow svg {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: absolute !important;
}

/* Contenitori base delle frecce */
.jet-listing-grid__slider-icon.prev-arrow,
.jet-listing-grid__slider-icon.next-arrow {
  /* Nessuna regola di posizione per lasciare controllo a Elementor */
  width: 60px !important;
  height: 20px !important;
  display: block !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  cursor: pointer;
  z-index: 10;
  background-color: transparent !important;
}

/* Freccia PRECEDENTE */
.jet-listing-grid__slider-icon.prev-arrow {
  background-image: url('/wp-content/uploads/2025/10/freccia_prev.svg') !important;
  transform: rotate(0deg) !important;
}

/* Freccia SUCCESSIVA */
.jet-listing-grid__slider-icon.next-arrow {
  background-image: url('/wp-content/uploads/2025/10/freccia_next.svg') !important;
  transform: rotate(0deg) !important; /* annulla rotazione automatica */
  transform-origin: center !important;
}

/* Effetto hover */
.jet-listing-grid__slider-icon.prev-arrow:hover,
.jet-listing-grid__slider-icon.next-arrow:hover {
  opacity: 0.7 !important;
  transition: opacity 0.2s ease;
}

/* Stato disabilitato */
.jet-listing-grid__slider-icon.slick-disabled {
  opacity: 0.3 !important;
  cursor: default !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

/* ================= LAPTOP (≤1366px) ================= */

    @media only screen and (max-width: 1366px) {
    .header_globale {
    margin-bottom: -100px;
    height: 100px;
        }

    /* Header sticky - stato attivo */
    .header_globale.elementor-sticky--effects {
    height: 90px !important;
        }

    /* div hamburger */
    .hamburger_globale {
    height: 100px;
        }

    /* div hamburger sticky */
    .header_globale.elementor-sticky--effects .hamburger_globale {
    height: 90px;
        }

    /* div navigation */
    .navi_global {
    height: 100px;
    transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
        }

    /* div navigation sticky */
    .navi_global.elementor-sticky--effects .hamburger_globale {
    height: 90px;
        }
    }

/* ================= TABLET (≤1024px) ================= */

    @media only screen and (max-width: 1024px) {
    .header_globale {
    margin-bottom: -100px;
    height: 100px;
        }

    /* Header sticky - stato attivo */
    .header_globale.elementor-sticky--effects {
    height: 100px !important;
        }

    /* div hamburger */
    .hamburger_globale {
    height: 100px;
        }

    /* div hamburger sticky */
    .header_globale.elementor-sticky--effects .hamburger_globale {
    height: 100px;
        }

    /* div navigation */
    .navi_global {
    height: 100px;
    transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
        }

    /* div navigation sticky */
    .navi_global.elementor-sticky--effects .hamburger_globale {
    height: 100px;
        }
    }

/* ================= MOBILE (≤767px) ================= */

    @media only screen and (max-width: 767px) {
    .header_globale {
    margin-bottom: -80px;
    height: 80px;
        }

    /* Header sticky - stato attivo */
    .header_globale.elementor-sticky--effects {
    height: 80px !important;
        }

    /* div hamburger */
    .hamburger_globale {
    height: 80px;
        }

    /* div hamburger sticky */
    .header_globale.elementor-sticky--effects .hamburger_globale {
    height: 80px;
        }

    /* div navigation */
    .navi_global {
    height: 80px;
    transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
        }

    /* div navigation sticky */
    .navi_global.elementor-sticky--effects .hamburger_globale {
    height: 80px;
        }
    }