.elementor-kit-4091{--e-global-color-primary:#1E2A38;--e-global-color-secondary:#6BA8B6;--e-global-color-text:#4A5563;--e-global-color-accent:#B84F3A;--e-global-color-544eea3:#F3EDE4;--e-global-color-bb7d562:#F3EDE4;--e-global-typography-primary-font-family:"EB Garamond";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-letter-spacing:0.2em;--e-global-typography-secondary-font-family:"EB Garamond";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:1.25em;--e-global-typography-secondary-letter-spacing:0.2em;--e-global-typography-text-font-family:"Source Sans 3";--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Source Sans 3";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-line-height:1.3em;--e-global-typography-accent-letter-spacing:0.08em;background-color:var( --e-global-color-bb7d562 );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}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-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* NOTE:
   Questo CSS è qui volutamente perché
   le scrollbar overlay di macOS
   non rispondono correttamente da style.css
*/

.av-credit-link {display: none!important}
.page-transition {
  position: fixed;
  inset: 0;               /* top:0; right:0; bottom:0; left:0 */
  z-index: 9990;          /* sotto lightbox e popup */
  pointer-events: none;   /* non blocca click di default */
}
.elementor-editor-active .page-transition,
.elementor-editor-preview .page-transition,
.elementor-editor-active .page-transition__inner,
.elementor-editor-preview .page-transition__inner
 {
  opacity: 0 !important;
  pointer-events: none !important;
}
.page-transition__inner {
  width: 100%;
  height: 100%;
  background: #F3EDE4;    /* o il colore del background */
  transform: scaleY(1);
  transform-origin: top;
}

/* Elementor sopra tutto */
.elementor-lightbox,
.elementor-popup-modal {
  z-index: 99999;
}

.gsap-fade-up,
.gsap-fade-down,
.gsap-fade-left,
.gsap-fade-right,
.gsap-scale-in,
.gsap-scale-up,
.gsap-scale-down,
.gsap-text-up,
.gsap-text-soft,
.gsap-stagger > * {
  will-change: transform, opacity;
}
.gsap-reveal-up,
.gsap-reveal-left {
  will-change: clip-path;
  overflow: hidden;
  display: inline-block;
}
.reduced-motion .gsap-fade-up,
.reduced-motion .gsap-fade-down,
.reduced-motion .gsap-fade-left,
.reduced-motion .gsap-fade-right,
.reduced-motion .gsap-scale-in,
.reduced-motion .gsap-scale-up,
.reduced-motion .gsap-scale-down,
.reduced-motion .gsap-text-up,
.reduced-motion .gsap-text-soft,
.reduced-motion .gsap-reveal-up,
.reduced-motion .gsap-reveal-left,
.reduced-motion .gsap-stagger > * {
  animation: none !important;
  transition: none !important;
  transform: none !important;
  opacity: 1 !important;
  clip-path: none !important;
}
html.js .gsap-fade-up,
html.js .gsap-fade-down,
html.js .gsap-fade-left,
html.js .gsap-fade-right {
  will-change: transform, opacity;
}


/* =========================
   BASE: quasi invisibile
========================= */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: var(--e-global-color-bb7d562); /* #F3EDE4 */
}

::-webkit-scrollbar-thumb {
  background-color: transparent;
  border-radius: 10px;
  border: 2px solid transparent;
}

/* Visibile SOLO mentre si scrolla (classe aggiunta via JS) */
html.is-scrolling ::-webkit-scrollbar-thumb {
  background-color: var(--e-global-color-secondary); /* #6BA8B6 */
  border-color: var(--e-global-color-bb7d562);
}

html.is-scrolling ::-webkit-scrollbar-thumb:hover {
  background-color: var(--e-global-color-primary); /* #1E2A38 */
}

/* Firefox */
html {
  scrollbar-width: thin;
  scrollbar-color: transparent var(--e-global-color-bb7d562);
}

html.is-scrolling {
  scrollbar-color: var(--e-global-color-secondary) var(--e-global-color-bb7d562);
}

/* =========================
   MOBILE/TOUCH: lascia default
========================= */
@media (hover: none), (pointer: coarse) {
  ::-webkit-scrollbar-thumb {
    background-color: var(--e-global-color-secondary);
    border-color: var(--e-global-color-bb7d562);
  }
  html {
    scrollbar-color: var(--e-global-color-secondary) var(--e-global-color-bb7d562);
  }
}

/* =========================
   PREFERS REDUCED MOTION: sempre visibile
========================= */
@media (prefers-reduced-motion: reduce) {
  ::-webkit-scrollbar-thumb {
    background-color: var(--e-global-color-secondary);
    border-color: var(--e-global-color-bb7d562);
  }
  html {
    scrollbar-color: var(--e-global-color-secondary) var(--e-global-color-bb7d562);
  }
}
/* =========================
   BASE
========================= */
.custom-cursor {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 99999;
}

.cursor-dot {
  width: 6px;
  height: 6px;
  background: var(--e-global-color-primary);
  border-radius: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
}

.cursor-ring {
  width: 32px;
  height: 32px;
  border: 1px solid var(--e-global-color-secondary);
  border-radius: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  opacity: 0.6;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

/* =========================
   STATI
========================= */
.custom-cursor.is-button .cursor-ring {
  transform: translate(-50%, -50%) scale(1.5);
  opacity: 0.9;
}

.custom-cursor.is-link .cursor-ring,
.custom-cursor.is-text .cursor-ring {
  opacity: 0;
}

/* =========================
   DISABILITAZIONI
========================= */
@media (hover: none), (pointer: coarse) {
  .custom-cursor { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .custom-cursor { display: none; }
}

/* Disabilita custom cursor in Elementor Builder */
body.elementor-editor-active .custom-cursor {
  display: none !important;
}/* End custom CSS */