.elementor-kit-6{--e-global-color-primary:#034C8C;--e-global-color-secondary:#C94D24;--e-global-color-text:#1A1A1A;--e-global-color-accent:#007A6D;--e-global-color-31c1c57:#023761;--e-global-color-2e90c5d:#0566B3;--e-global-color-a2ce989:#E8F1F8;--e-global-color-2eee33f:#C94D24;--e-global-color-ccdd2da:#FFF0EB;--e-global-color-151b6f4:#006B60;--e-global-color-df162eb:#E6F7F5;--e-global-color-d4f2d94:#5A5A5A;--e-global-color-c96dc00:#767676;--e-global-color-3f73cb0:#FFFFFF;--e-global-color-8a6f607:#F8F9FA;--e-global-color-7e380d3:#E9ECEF;--e-global-color-1a02ef4:#1A1A1A;--e-global-color-b014fcd:#E5E7EB;--e-global-color-8a4f5de:#D1D5DB;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-weight:700;--e-global-typography-641c661-font-family:"Plus Jakarta Sans";--e-global-typography-641c661-font-size:3.5rem;--e-global-typography-641c661-font-weight:700;--e-global-typography-641c661-line-height:1.15em;--e-global-typography-7b1a6d6-font-size:1.25rem;--e-global-typography-7b1a6d6-font-weight:400;--e-global-typography-7b1a6d6-line-height:1.6em;--e-global-typography-549c041-font-size:1.25rem;--e-global-typography-549c041-line-height:1.6em;--e-global-typography-a8605cf-font-size:1rem;--e-global-typography-a8605cf-font-weight:400;--e-global-typography-a8605cf-line-height:1.6em;--e-global-typography-05c2ef7-font-size:0.875rem;--e-global-typography-05c2ef7-font-weight:400;--e-global-typography-05c2ef7-line-height:1.45rem;--e-global-typography-71ccfc5-font-size:0.875rem;--e-global-typography-71ccfc5-font-weight:600;--e-global-typography-71ccfc5-line-height:1.2rem;--e-global-typography-71ccfc5-letter-spacing:0.08em;--e-global-typography-57f2e31-font-size:1.375rem;--e-global-typography-57f2e31-font-weight:600;--e-global-typography-57f2e31-line-height:1.3em;--e-global-typography-e935577-font-weight:400;--e-global-typography-e935577-line-height:1.55rem;--e-global-typography-1b203a4-font-size:2.5rem;--e-global-typography-1b203a4-font-weight:700;--e-global-typography-1b203a4-line-height:1.2em;--e-global-typography-1b203a4-letter-spacing:-0.01em;--e-global-typography-9fabc37-font-size:1.125em;--e-global-typography-9fabc37-font-weight:400;--e-global-typography-9fabc37-line-height:1.6em;--e-global-typography-a935bb0-font-size:1rem;--e-global-typography-a935bb0-font-weight:600;--e-global-typography-a935bb0-line-height:1.3em;--e-global-typography-0fb3380-font-size:1rem;--e-global-typography-0fb3380-font-weight:500;--e-global-typography-0fb3380-line-height:1.3em;--e-global-typography-0ecfc8a-font-size:0.9375rem;--e-global-typography-0ecfc8a-font-weight:400;--e-global-typography-0ecfc8a-line-height:1.3em;--e-global-typography-375a5d6-font-size:0.0375rem;--e-global-typography-375a5d6-font-weight:400;--e-global-typography-375a5d6-line-height:1.4em;--e-global-typography-7d32b11-font-family:"Inter";--e-global-typography-7d32b11-font-size:20px;--e-global-typography-7d32b11-font-weight:400;--e-global-typography-7d32b11-line-height:1.7em;--e-global-typography-0dff6fc-font-family:"Inter";--e-global-typography-0dff6fc-font-size:14px;--e-global-typography-0dff6fc-font-weight:400;--e-global-typography-0dff6fc-line-height:1.5em;--e-global-typography-ba780f1-font-size:0.9375rem;--e-global-typography-ba780f1-font-weight:400;--e-global-typography-ba780f1-line-height:1.2em;--e-global-typography-b18e240-font-size:0.9375rem;--e-global-typography-b18e240-font-weight:500;--e-global-typography-b18e240-line-height:1.4em;--e-global-typography-baaf94e-font-size:1rem;--e-global-typography-baaf94e-font-weight:400;--e-global-typography-baaf94e-line-height:1.4em;--e-global-typography-fbd233e-font-size:0.875rem;--e-global-typography-fbd233e-font-weight:400;--e-global-typography-fbd233e-line-height:1.4em;--e-global-typography-5ac6323-font-size:0.875rem;--e-global-typography-5ac6323-font-weight:400;--e-global-typography-5ac6323-line-height:1.45em;color:var( --e-global-color-text );font-family:"Inter", Sans-serif;font-size:1.125rem;font-weight:400;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-primary );font-family:"Inter", Sans-serif;font-size:1.125rem;font-weight:600;color:var( --e-global-color-3f73cb0 );box-shadow:0px 4px 15px 0px rgba(2.99999999999999, 75.99999999999996, 140, 0.8);border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-3f73cb0 );border-radius:8px 8px 8px 8px;padding:20px 40px 20px 40px;}.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-31c1c57 );color:#FFFFFF;border-style:none;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-2e90c5d );font-family:"Inter", Sans-serif;font-weight:500;}.elementor-kit-6 h1{color:var( --e-global-color-text );font-family:"Plus Jakarta Sans", Sans-serif;font-size:3.5rem;font-weight:700;line-height:1.15em;}.elementor-kit-6 h2{color:var( --e-global-color-text );font-size:2.5rem;font-weight:700;letter-spacing:-0.01em;}.elementor-kit-6 h3{color:var( --e-global-color-text );font-family:"Inter", Sans-serif;font-size:1.875rem;font-weight:600;line-height:1.25em;letter-spacing:-0.01em;}.elementor-kit-6 h4{color:var( --e-global-color-text );font-family:"Inter", Sans-serif;font-size:1.5rem;font-weight:600;line-height:1.3em;}.elementor-kit-6 h5{color:var( --e-global-color-text );font-family:"Inter", Sans-serif;font-size:1.25rem;font-weight:600;line-height:1.35em;}.elementor-kit-6 h6{color:var( --e-global-color-text );font-family:"Inter", Sans-serif;font-size:1.125rem;font-weight:600;line-height:1.4em;}.elementor-kit-6 label{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{color:var( --e-global-color-text );accent-color:var( --e-global-color-accent );background-color:#FFFFFF;border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-b014fcd );border-radius:8px 8px 8px 8px;padding:16px 16px 16px 16px;}.elementor-kit-6 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea:focus,.elementor-kit-6 .elementor-field-textual:focus{box-shadow:0px 0px 0px 3px rgba(2.99999999999999, 75.99999999999996, 140, 0.1);border-style:solid;border-color:var( --e-global-color-primary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;--container-default-padding-top:80px;--container-default-padding-right:40px;--container-default-padding-bottom:80px;--container-default-padding-left:40px;}.elementor-widget:not(:last-child){--kit-widget-spacing:24px;}.elementor-element{--widgets-spacing:24px 24px;--widgets-spacing-row:24px;--widgets-spacing-column:24px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-7d32b11-font-size:18px;--e-global-typography-0dff6fc-font-size:13px;}.elementor-kit-6 h5{font-size:19px;}.elementor-kit-6 h6{font-size:17px;}.elementor-kit-6 label{font-size:var( --e-global-typography-text-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:60px;--container-default-padding-right:40px;--container-default-padding-bottom:60px;--container-default-padding-left:40px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-7d32b11-font-size:18px;--e-global-typography-0dff6fc-font-size:13px;}.elementor-kit-6 h5{font-size:18px;}.elementor-kit-6 h6{font-size:16px;}.elementor-kit-6 label{font-size:var( --e-global-typography-text-font-size );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:40px;--container-default-padding-right:20px;--container-default-padding-bottom:40px;--container-default-padding-left:20px;}}/* Start custom CSS */:root {
    /* ===== COLORS ===== */
    /* Sync con Elementor Global Colors */
    --rsoft-primary: #034C8C;
    --rsoft-primary-dark: #023761;
    --rsoft-primary-light: #0566B3;
    --rsoft-primary-lighter: #E8F1F8;
    --rsoft-secondary: #E65C2E;
    --rsoft-secondary-dark: #C94D24;
    --rsoft-secondary-light: #FFF0EB;
    --rsoft-accent: #008B7D;
    --rsoft-accent-dark: #006B60;
    --rsoft-accent-light: #E6F7F5;
    --rsoft-text-primary: #1A1A1A;
    --rsoft-text-secondary: #5A5A5A;
    --rsoft-text-muted: #8A8A8A;
    --rsoft-bg-white: #FFFFFF;
    --rsoft-bg-light: #F8F9FA;
    --rsoft-bg-medium: #E9ECEF;
    --rsoft-bg-dark: #1A1A1A;
    --rsoft-border-light: #E5E7EB;
    --rsoft-border-medium: #D1D5DB;

    /* ===== SPACING ===== */
    --spacing-xs: 8px;
    --spacing-s: 16px;
    --spacing-m: 24px;
    --spacing-l: 40px;
    --spacing-xl: 64px;
    --spacing-xxl: 96px;

    /* ===== TYPOGRAPHY (REM) ===== */
    --font-size-h1: 3.5rem;
    --font-size-h2: 2.5rem;
    --font-size-h3: 2rem;
    --font-size-h4: 1.5rem;
    --font-size-h5: 1.25rem;
    --font-size-h6: 1.125rem;
    --font-size-body: 1.125rem;
    --font-size-small: 0.875rem;
    --font-size-tiny: 0.75rem;

    /* ===== EFFECTS ===== */
    --shadow-sm: 0 2px 10px rgba(0,0,0,0.08);
    --shadow-md: 0 4px 20px rgba(0,0,0,0.1);
    --shadow-lg: 0 8px 30px rgba(0,0,0,0.12);
    --shadow-xl: 0 12px 40px rgba(0,0,0,0.15);
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 16px;
    --radius-full: 9999px;
    --transition-fast: 0.15s ease;
    --transition-base: 0.3s ease;
    --transition-slow: 0.5s ease;
}

html {
    font-size: 16px;  /* Desktop: 1rem = 16px */
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@media (max-width: 1024px) {
    html {
        font-size: 15px;  /* Tablet: 1rem = 15px */
    }
}

@media (max-width: 767px) {
    html {
        font-size: 15px;  /* Mobile: 1rem = 15px */
    }
}

*,
*::before,
*::after {
    box-sizing: inherit;
}
/* Reset button mega menu */
button.e-n-menu-dropdown-icon {
    border-radius: 0px;
    box-shadow: unset;
}

/* ===== BUTTON SUCCESS (CTA primaria) ===== */
.elementor-element.elementor-button-success .elementor-button {
    background: linear-gradient(135deg,
        var(--rsoft-primary) 0%,
        var(--rsoft-primary-light) 100%
    ) !important;
    color: var(--rsoft-bg-white) !important;
    border: none !important;
    box-shadow: 0 4px 15px rgba(3,76,140,0.3) !important;
    border-radius: 8px;
    transform: translateY(0);
    transition: all 0.3s ease !important;
    will-change: transform, box-shadow;
}

.elementor-element.elementor-button-success .elementor-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 25px rgba(3,76,140,0.4) !important;
}

.elementor-element.elementor-button-success .elementor-button:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 10px rgba(3,76,140,0.3) !important;
    transition: none !important;
}

.elementor-element.elementor-button-success .elementor-button:focus,
.elementor-element.elementor-button-success .elementor-button:focus-visible {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 25px rgba(3,76,140,0.4) !important;
    outline: 3px solid rgba(3,76,140,0.5) !important;
    outline-offset: 2px !important;
}

/* ===== BUTTON INFO (CTA outline) ===== */
.elementor-element.elementor-button-info .elementor-button {
    background: var(--rsoft-bg-white) !important;
    border: 2px solid var(--rsoft-primary) !important;
    color: var(--rsoft-primary) !important;
    box-shadow: none !important;
    border-radius: 8px;
    transform: translateY(0);
    transition: all 0.3s ease !important;
}

.elementor-element.elementor-button-info .elementor-button:hover {
    background: var(--rsoft-primary) !important;
    color: var(--rsoft-bg-white) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(3,76,140,0.2) !important;
}

.elementor-element.elementor-button-info .elementor-button:active {
    background: var(--rsoft-primary-dark) !important;
    border-color: var(--rsoft-primary-dark) !important;
    transform: translateY(0) !important;
    box-shadow: 0 2px 10px rgba(3,76,140,0.2) !important;
    transition: none !important;
}

.elementor-element.elementor-button-info .elementor-button:focus,
.elementor-element.elementor-button-info .elementor-button:focus-visible {
    background: var(--rsoft-primary) !important;
    color: var(--rsoft-bg-white) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 15px rgba(3,76,140,0.2) !important;
    outline: 3px solid rgba(3,76,140,0.5) !important;
    outline-offset: 2px !important;
}

/* ===== BUTTON WARNING (CTA secondaria) ===== */
.elementor-element.elementor-button-warning .elementor-button {
    background: linear-gradient(135deg,
        var(--rsoft-secondary) 0%,
        #F77A4D 100%
    ) !important;
    color: var(--rsoft-bg-white) !important;
    box-shadow: 0 4px 15px rgba(230,92,46,0.3) !important;
    border-radius: 8px;
    transform: translateY(0);
    transition: all 0.3s ease !important;
}

.elementor-element.elementor-button-warning .elementor-button:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 25px rgba(230,92,46,0.4) !important;
}

.elementor-element.elementor-button-warning .elementor-button:active {
    transform: translateY(0) !important;
    box-shadow: 0 2px 10px rgba(230,92,46,0.3) !important;
    transition: none !important;
}

.elementor-element.elementor-button-warning .elementor-button:focus,
.elementor-element.elementor-button-warning .elementor-button:focus-visible {
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 25px rgba(230,92,46,0.4) !important;
    outline: 3px solid rgba(230,92,46,0.5) !important;
    outline-offset: 2px !important;
}

/* ===== MOBILE RESPONSIVE BUTTONS ===== */
@media (max-width: 767px) {
    .elementor-element.elementor-button {
        width: 100% !important;
        min-height: 48px !important;
        padding: 16px 24px !important;
        font-size: 0.875rem !important;
    }

    /* Info button - compensazione border 2px */
    .elementor-element.elementor-button-info .elementor-button {
        padding: 14px 22px !important;
    }
}
/* ===== TITOLO HERO - H1 su sfondo Primary o scuro ===== */
/* Usare su widget Heading (H1) nella sezione hero */
/* Classe Elementor: rsoft-titolo-hero */
.rsoft-titolo-hero,
.rsoft-titolo-hero * {
    color: var(--rsoft-bg-white) !important;
}

/* ===== TESTO HERO - sottotitolo su sfondo Primary o scuro ===== */
/* Usare su widget Testo o Heading nella sezione hero */
/* Classe Elementor: rsoft-testo-hero */
.rsoft-testo-hero,
.rsoft-testo-hero * {
    color: var(--rsoft-bg-white) !important;
}

/* ===== TITOLO CTA - H2 su sezione con sfondo Primary ===== */
/* Usare su widget Heading (H2) nelle section box CTA con sfondo blu */
/* Classe Elementor: rsoft-titolo-cta */
.rsoft-titolo-cta,
.rsoft-titolo-cta * {
    color: var(--rsoft-bg-white) !important;
}

/* ===== TESTO CTA - paragrafo su sezione con sfondo Primary ===== */
/* Usare su widget Testo nelle section box CTA con sfondo blu */
/* Classe Elementor: rsoft-testo-cta */
.rsoft-testo-cta,
.rsoft-testo-cta * {
    color: var(--rsoft-bg-white) !important;
}
/* ===== EYEBROW - Variante A: Hero (badge pill) ===== */
/* Usare su widget Heading o Testo nell'hero e nelle CTA ad alto impatto */
/* Classe Elementor: rsoft-eyebrow-hero */
.rsoft-eyebrow-hero {
    display: inline-block;
    width: auto;
    max-width: fit-content !important;
    background-color: var(--rsoft-secondary);
    color: var(--rsoft-bg-white);
    font-family: 'Inter', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    line-height: 1.2;
    padding: 4px 12px;
    border-radius: var(--radius-sm);
}

/* ===== EYEBROW - Variante B: Sezione (testo plain) ===== */
/* Usare su widget Heading (tag span) prima di H2 nel corpo pagina */
/* Classe Elementor: rsoft-eyebrow-section */
.rsoft-eyebrow-section {
    display: block;
    background: none;
    color: var(--rsoft-secondary);
    font-family: 'Inter', sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    line-height: 1.2;
    margin-bottom: 8px;
}

/* Modificatore: sfondo Primary o scuro - testo White */
/* Classe Elementor: rsoft-eyebrow-section rsoft-eyebrow-section--light */
.rsoft-eyebrow-section--light {
    color: var(--rsoft-bg-white);
}

/* ============================================
   BREADCRUMB - RSoft
   ============================================ */

.rsoft-breadcrumb-section {
  background-color: var(--e-global-color-bg-light, #F8F9FA);
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.rsoft-breadcrumb-section {
  padding: 10px 0;
}
.rank-math-breadcrumb p {
    margin: 0px;
}

/* Link breadcrumb */
.rank-math-breadcrumb a {
  color: #034C8C;
  text-decoration: none;
  font-size: 13px;
  font-family: 'Inter', sans-serif;
  transition: color 0.2s ease;
}

.rank-math-breadcrumb a:hover {
  color: #E65C2E;
  text-decoration: underline;
}

/* Voce corrente - ultimo elemento non cliccabile */
.rank-math-breadcrumb .last {
  color: #5A5A5A;
  font-size: 13px;
  font-family: 'Inter', sans-serif;
}

/* Separatore */
.rank-math-breadcrumb .separator {
  color: #8A8A8A;
  margin: 0 6px;
  font-size: 12px;
}


/* Responsive mobile */
@media (max-width: 767px) {
  .rank-math-breadcrumb a,
  .rank-math-breadcrumb .last {
    font-size: 12px;
  }

  .rank-math-breadcrumb .separator {
    margin: 0 4px;
  }
}


/* ===== GRID CARD - altezza uguale con flexbox ===== */
/* Classe Elementor: rsoft-grid-card */
.rsoft-grid-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* L'elemento link/pulsante finale si spinge sempre in fondo */
.rsoft-grid-card .e-child:last-child {
    margin-top: auto;
}

/* ===== PERFORMANCE ===== */
/* GPU acceleration bottoni */
.elementor-button {
    will-change: transform;
}

/* ===== ACCESSIBILITY ===== */
/* Riduce motion per utenti con preferenze */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Touch target pallini carosello Swiper */
.swiper-pagination-bullet {
    width: 24px !important;
    height: 24px !important;
    line-height: 44px !important;
}/* End custom CSS */