.elementor-kit-5{--e-global-color-primary:#002F6C;--e-global-color-secondary:#7A4282;--e-global-color-text:#2D2926;--e-global-color-accent:#00B2A9;--e-global-color-85c6f40:#C5003E;--e-global-color-3bad8ff:#002F6C;--e-global-color-c006ed8:#0077C8;--e-global-color-9c9d627:#9A9500;--e-global-color-71dfdf6:#7A4282;--e-global-color-fab455f:#E87722;--e-global-color-6854d01:#FFFFFF;--e-global-color-f3b9d6f:#2D2926;--e-global-color-0245d95:#A7A8A9;--e-global-color-3d98238:#A7A8A933;--e-global-typography-primary-font-family:"Bricolage Grotesque";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Bricolage Grotesque";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Source Sans Pro";--e-global-typography-text-font-size:1.25rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:1.32;--e-global-typography-accent-font-family:"Bricolage Grotesque";--e-global-typography-accent-font-weight:500;--e-global-typography-90eacb7-font-family:"Source Sans Pro";--e-global-typography-90eacb7-font-size:1rem;--e-global-typography-90eacb7-font-weight:400;--e-global-typography-90eacb7-text-transform:none;--e-global-typography-90eacb7-font-style:normal;--e-global-typography-90eacb7-line-height:1em;--e-global-typography-13e20ae-font-family:"Source Sans Pro";--e-global-typography-13e20ae-font-size:1.125rem;--e-global-typography-13e20ae-font-weight:600;--e-global-typography-13e20ae-text-transform:none;--e-global-typography-13e20ae-font-style:normal;--e-global-typography-13e20ae-line-height:1em;--e-global-typography-682e750-font-family:"Source Sans Pro";--e-global-typography-682e750-font-size:2.5rem;--e-global-typography-682e750-font-weight:600;--e-global-typography-682e750-line-height:1em;--e-global-typography-cc307c2-font-family:"Bricolage Grotesque";--e-global-typography-cc307c2-font-size:3.625rem;--e-global-typography-cc307c2-font-weight:700;--e-global-typography-cc307c2-text-transform:none;--e-global-typography-cc307c2-font-style:normal;--e-global-typography-cc307c2-text-decoration:none;--e-global-typography-cc307c2-line-height:1.12em;--e-global-typography-2db5c55-font-family:"Bricolage Grotesque";--e-global-typography-2db5c55-font-size:3rem;--e-global-typography-2db5c55-font-weight:700;--e-global-typography-2db5c55-text-transform:none;--e-global-typography-2db5c55-font-style:normal;--e-global-typography-2db5c55-text-decoration:none;--e-global-typography-2db5c55-line-height:1.12em;--e-global-typography-415e436-font-family:"Bricolage Grotesque";--e-global-typography-415e436-font-size:1.75rem;--e-global-typography-415e436-font-weight:700;--e-global-typography-415e436-text-transform:none;--e-global-typography-415e436-font-style:normal;--e-global-typography-415e436-text-decoration:none;--e-global-typography-415e436-line-height:1.12em;--e-global-typography-c0034d4-font-family:"Bricolage Grotesque";--e-global-typography-c0034d4-font-size:1.625rem;--e-global-typography-c0034d4-font-weight:600;--e-global-typography-c0034d4-text-transform:none;--e-global-typography-c0034d4-font-style:normal;--e-global-typography-c0034d4-text-decoration:none;--e-global-typography-c0034d4-line-height:1.2em;--e-global-typography-afaead9-font-size:1rem;--e-global-typography-afaead9-font-weight:400;--e-global-typography-afaead9-text-transform:none;--e-global-typography-afaead9-font-style:normal;--e-global-typography-afaead9-text-decoration:none;--e-global-typography-afaead9-line-height:1.375em;--e-global-typography-af7b151-font-family:"Source Sans Pro";--e-global-typography-af7b151-font-size:1.5rem;--e-global-typography-af7b151-font-weight:400;--e-global-typography-af7b151-text-transform:none;--e-global-typography-af7b151-font-style:normal;--e-global-typography-af7b151-text-decoration:none;--e-global-typography-af7b151-line-height:1.3em;--e-global-typography-df5f7f9-font-family:"Bricolage Grotesque";--e-global-typography-df5f7f9-font-size:3.625rem;--e-global-typography-df5f7f9-font-weight:300;--e-global-typography-df5f7f9-text-transform:none;--e-global-typography-df5f7f9-font-style:normal;--e-global-typography-df5f7f9-text-decoration:none;--e-global-typography-df5f7f9-line-height:1.2em;--e-global-typography-c0f83ef-font-family:"Source Sans Pro";--e-global-typography-c0f83ef-font-size:1.125rem;--e-global-typography-c0f83ef-font-weight:600;--e-global-typography-c0f83ef-text-transform:none;--e-global-typography-c0f83ef-font-style:normal;--e-global-typography-c0f83ef-text-decoration:none;--e-global-typography-c0f83ef-line-height:1em;--e-global-typography-a8d7e7a-font-family:"Bricolage Grotesque";--e-global-typography-a8d7e7a-font-size:2rem;--e-global-typography-a8d7e7a-font-weight:700;--e-global-typography-a8d7e7a-text-transform:none;--e-global-typography-a8d7e7a-font-style:normal;--e-global-typography-a8d7e7a-text-decoration:none;--e-global-typography-a8d7e7a-line-height:1.32em;--e-global-typography-afe8af4-font-family:"Source Sans Pro";--e-global-typography-afe8af4-font-size:1.5rem;--e-global-typography-afe8af4-font-weight:600;--e-global-typography-afe8af4-text-transform:none;--e-global-typography-afe8af4-font-style:normal;--e-global-typography-afe8af4-text-decoration:none;--e-global-typography-afe8af4-line-height:1.32em;--e-global-typography-73fee13-font-family:"Source Sans Pro";--e-global-typography-73fee13-font-size:1.25rem;--e-global-typography-73fee13-font-weight:600;--e-global-typography-73fee13-text-transform:none;--e-global-typography-73fee13-font-style:normal;--e-global-typography-73fee13-text-decoration:none;--e-global-typography-73fee13-line-height:1.32em;--e-global-typography-4bb4d79-font-family:"Source Sans Pro";--e-global-typography-4bb4d79-font-size:1rem;--e-global-typography-4bb4d79-font-weight:600;--e-global-typography-4bb4d79-text-transform:none;--e-global-typography-4bb4d79-font-style:normal;--e-global-typography-4bb4d79-text-decoration:none;--e-global-typography-4bb4d79-line-height:1.12em;--e-global-typography-c6133b5-font-family:"Source Sans Pro";--e-global-typography-c6133b5-font-size:2rem;--e-global-typography-c6133b5-font-weight:600;--e-global-typography-c6133b5-text-transform:none;--e-global-typography-c6133b5-font-style:normal;--e-global-typography-c6133b5-text-decoration:none;--e-global-typography-c6133b5-line-height:1.5em;--e-global-typography-dc7a920-font-family:"Bricolage Grotesque";--e-global-typography-dc7a920-font-size:1.375rem;--e-global-typography-dc7a920-font-weight:300;--e-global-typography-dc7a920-text-transform:none;--e-global-typography-dc7a920-font-style:normal;--e-global-typography-dc7a920-text-decoration:none;--e-global-typography-dc7a920-line-height:1.45em;--e-global-typography-41a00c8-font-family:"Source Sans Pro";--e-global-typography-41a00c8-font-size:1rem;--e-global-typography-41a00c8-font-weight:400;--e-global-typography-41a00c8-text-transform:none;--e-global-typography-41a00c8-font-style:normal;--e-global-typography-41a00c8-text-decoration:none;--e-global-typography-41a00c8-line-height:1.32em;--e-global-typography-9b85d3b-font-family:"Source Sans Pro";--e-global-typography-9b85d3b-font-size:1.125rem;--e-global-typography-9b85d3b-font-weight:600;--e-global-typography-9b85d3b-text-transform:none;--e-global-typography-9b85d3b-font-style:normal;--e-global-typography-9b85d3b-text-decoration:none;--e-global-typography-9b85d3b-line-height:1.32em;--e-global-typography-4266aeb-font-family:"Source Sans Pro";--e-global-typography-4266aeb-font-size:1.125rem;--e-global-typography-4266aeb-font-weight:400;--e-global-typography-4266aeb-text-transform:none;--e-global-typography-4266aeb-font-style:normal;--e-global-typography-4266aeb-text-decoration:none;--e-global-typography-4266aeb-line-height:1.3em;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 );text-transform:var( --e-global-typography-text-text-transform );font-style:var( --e-global-typography-text-font-style );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;--container-default-padding-top:0rem;--container-default-padding-right:0rem;--container-default-padding-bottom:0rem;--container-default-padding-left:0rem;}.elementor-widget:not(:last-child){--kit-widget-spacing:1rem;}.elementor-element{--widgets-spacing:1rem 1rem;--widgets-spacing-row:1rem;--widgets-spacing-column:1rem;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-5{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5{--e-global-typography-cc307c2-font-size:3rem;--e-global-typography-df5f7f9-font-size:2rem;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */html {
  scroll-padding-top: 10rem;
}

@media screen and (max-width: 1280px) {
    
    /* Adjust Font-Sizes */
    html {
        font-size: 14px; /* 1rem = 14px */
        scroll-padding-top: 5rem;
    }
}



/** border radiuses **/
.rounded--16 {
    border-radius: 1rem;    
}
.rounded--32 {
    border-radius: 2rem;    
}

.rounded-bottom--32 {
    border-radius: 0 0 2rem 2rem;    
}

.rounded-bottom--64 {
    border-radius: 0 0 4rem 4rem;    
}

/* box-shadow-default */
.box--shadow { 
    box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, 0.25);
    transition: box-shadow 0.3s ease-in-out 0s;}
.box--shadow:hover { 
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.25); }


/** special styles **/
.no-margin-bottom p:last-child { margin-bottom: 0;}

.page-content .elementor-widget-text-editor a {
    font-size: inherit;
    text-decoration: underline !important;
    color: var(--e-global-color-text);
}

.page-content .elementor-widget-text-editor a:hover {
    text-decoration: none !important;
    color: var(--e-global-color-accent);
}

.page-content ul {
    padding-left: 1.25rem;
}

a.elementor-button {
    text-decoration: none !important;
}


.highlight {
    background: linear-gradient(86deg, var(--e-global-color-71dfdf6) 0%, var(--e-global-color-c006ed8) 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.highlight--border {
  border-radius: 2rem;
  border: 2px solid transparent;
  background: 
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(
      86deg,
      var(--e-global-color-71dfdf6) 0%,
      var(--e-global-color-c006ed8) 100%
    ) border-box;
}

.vision {
  background: linear-gradient(
    86deg,
    var(--e-global-color-71dfdf6) 0%,
    var(--e-global-color-c006ed8) 100%
  );

  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

.vision .solid {
  -webkit-text-fill-color: var(--e-global-color-text);
  color: var(--e-global-color-text);
  background: none;
  -webkit-background-clip: initial;
  background-clip: initial;
}

.title-with-line .elementor-heading-title {
  position: relative;
  padding-top: 1.5rem; /* Abstand zwischen Linie und Text */
}

.title-with-line .elementor-heading-title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 12.5rem;           /* Linienlänge */
  height: 0.125rem;         /* Linienstärke */
  background: linear-gradient(
    86deg,
    var(--e-global-color-71dfdf6) 0%,
    var(--e-global-color-c006ed8) 100%
  );
  border-radius: 999px;     /* optional leicht gerundet */
}

.pill .elementor-heading-title {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;

  padding: 0.25rem 0.75rem 0.375rem 0.75rem;

  border-radius: 3.125rem;
  border: 1px solid transparent;

  background:
    linear-gradient(#fff, #fff) padding-box,
    linear-gradient(
      86deg,
      var(--e-global-color-71dfdf6) 0%,
      var(--e-global-color-c006ed8) 100%
    ) border-box;
}

.pill.white .elementor-heading-title {
  border: none;
  background: #fff;
}



/*
** Accordion Styles START
/*

/* Add class "faq-accordion" to the Accordion widget */

.faq-accordion {
  /* BACKGROUNDS */
  --faq-bg-default: var(--e-global-color-3d98238);
  --faq-bg-active: var(--e-global-color-accent);

  /* TEXT COLORS */
  --faq-text-default: var(--e-global-color-text);
  --faq-text-active: #ffffff;

  /* ARROW COLOR (use global text or primary) */
  --faq-arrow-color: var(--e-global-color-text);

  /* SHAPE */
  --faq-radius: 2rem;

  /* SPACING */
  --faq-gap: 0.75rem;
  --faq-pad-y: 0.75rem;
  --faq-pad-x-right: 0.75rem;
  --faq-pad-x-left: 1.5rem;

  /* ICON */
  --faq-icon-size: 2.75rem;
  --faq-icon-svg: 1.625rem;

  --faq-rotate-speed: 220ms;
}

/* =========================
   STACK
========================= */

.faq-accordion .e-n-accordion {
  display: flex;
  flex-direction: column;
  gap: var(--faq-gap);
}

/* =========================
   RESET
========================= */

.faq-accordion .e-n-accordion-item {
  border: 0 !important;
  background: var(--faq-bg-default) !important;
  box-shadow: none !important;
  border-radius: var(--faq-radius);
  overflow: hidden;
  transition: background-color 200ms ease, border-radius 200ms ease;
}

.faq-accordion summary::-webkit-details-marker {
  display: none;
}

/* =========================
   SUMMARY
========================= */

.faq-accordion summary.e-n-accordion-item-title {
  background: transparent;
  color: var(--faq-text-default);

  padding: var(--faq-pad-y) var(--faq-pad-x-right) var(--faq-pad-y) var(--faq-pad-x-left);

  border-radius: 0;

  display: flex;
  align-items: center;
  justify-content: space-between;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  transition: color 200ms ease;
}

/* Force heading inheritance */
.faq-accordion .e-n-accordion-item-title-text,
.faq-accordion .e-n-accordion-item-title-text * {
  color: inherit !important;
  font-size: var(--e-global-typography-9b85d3b-font-size);
  font-weight: var(--e-global-typography-9b85d3b-font-weight);
}

/* =================================
   ICON CIRCLE 
   ================================= */

.faq-accordion .e-n-accordion-item-title-icon {
  width: 2.25rem;              
  height: 2.25rem;
  min-width: 2.25rem;

  display: flex;
  align-items: center;
  justify-content: center;

  background: #ffffff;
  border-radius: 50%;

  font-size: 1rem !important;   

  color: var(--faq-arrow-color);

  border: 0 !important;
  box-shadow: none !important;

  transform: rotate(0deg);
  transform-origin: 50% 50%;
  transition: transform 220ms ease;
}

/* SVG sauber zentrieren */
.faq-accordion .e-n-accordion-item-title-icon svg {
  width: 1em !important;
  height: 1em !important;
  display: block;

  /* optische Korrektur für nicht perfekte ViewBox */
  transform: translateY(0.02em);
}

/* Override hardcoded fills */
.faq-accordion .e-n-accordion-item-title-icon svg * {
  fill: currentColor !important;
}

/* =========================
   ROTATION
========================= */

.faq-accordion details[open] > summary .e-n-accordion-item-title-icon {
  transform: rotate(180deg);
}

/* =========================
   HOVER
========================= */

@media (hover: hover) {
  .faq-accordion .e-n-accordion-item:hover {
    background: var(--faq-bg-active) !important;
  }

  .faq-accordion .e-n-accordion-item:hover > summary.e-n-accordion-item-title,
  .faq-accordion .e-n-accordion-item:hover > summary.e-n-accordion-item-title .e-n-accordion-item-title-text,
  .faq-accordion .e-n-accordion-item:hover > summary.e-n-accordion-item-title .e-n-accordion-item-title-text * {
    color: var(--faq-text-active) !important;
  }
}

/* =========================
   OPEN STATE
========================= */

.faq-accordion details[open] {
  background: var(--faq-bg-active) !important;
  border-radius: var(--faq-radius);
}

.faq-accordion details[open] > summary.e-n-accordion-item-title {
  color: var(--faq-text-active) !important;
}

/* Keep circle white when open */
.faq-accordion details[open] .e-n-accordion-item-title-icon {
  background: #ffffff;
  color: var(--faq-arrow-color);
}

/* =========================
   CONTENT AREA
========================= */

.faq-accordion details[open] > .e-con.e-child[role="region"] {
  background: transparent;
  color: var(--faq-text-active);

  padding: 0 3rem 1.5rem var(--faq-pad-x-left);

  border-radius: 0;
  border: 0 !important;
  box-shadow: none !important;
}

.faq-accordion details[open] > .e-con.e-child[role="region"] p {
  font-size: var(--e-global-typography-4266aeb-font-size);
  font-weight: var(--e-global-typography-4266aeb-font-weight);
}

/* Remove stray borders */
.faq-accordion details[open] > .e-con.e-child[role="region"] .e-con,
.faq-accordion details[open] > .e-con.e-child[role="region"] .elementor-element {
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}

/* Inner text white */
.faq-accordion details[open] > .e-con.e-child[role="region"] * {
  color: var(--faq-text-active) !important;
}

/* Remove last paragraph margin */
.faq-accordion .elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}

/*
** Accordion Levels Modifier (Add-on)
*/

/* =========================
   GLOBAL OVERRIDES
========================= */

.faq-accordion--levels {
  --faq-title-size: 1.75rem;
  --faq-title-color: #fff;
  --faq-item-text-size: 1.25rem;
}

/* =========================
   PER ITEM COLORS
========================= */

/* BLUE */
.faq-accordion--levels details#blue {
  --faq-bg-default: #1d71b8;
  --faq-bg-active: #1d71b8;
}

/* GREEN */
.faq-accordion--levels details#green {
  --faq-bg-default: #00b2a9;
  --faq-bg-active: #00b2a9;
}

/* RED */
.faq-accordion--levels details#red {
  --faq-bg-default: #f5333f;
  --faq-bg-active: #f5333f;
}

/* Optional fallback */
@supports not (background: color-mix(in srgb, white 50%, black)) {
  .faq-accordion--levels details#blue {
    --faq-bg-default: #d9f1fb;
  }
}

/* =========================
   TYPOGRAPHY
========================= */

/* Title */
.faq-accordion--levels .e-n-accordion-item-title-text,
.faq-accordion--levels .e-n-accordion-item-title-text * {
  font-size: var(--faq-title-size) !important;
  color: var(--faq-title-color) !important;;
  line-height: 1.15;
}

/* Content */
.faq-accordion--levels details[open] > .e-con.e-child[role="region"] p,
.faq-accordion--levels details[open] > .e-con.e-child[role="region"] .elementor-widget-text-editor,
.faq-accordion--levels details[open] > .e-con.e-child[role="region"] .elementor-widget-text-editor * {
  font-size: var(--faq-item-text-size) !important;
  line-height: 1.4;
}

/*
** Accordion Styles END
/*



/* ======================================================
   BUTTON SYSTEM – FINAL (replace entire block)
   Types:
     1) .btn--solid
     2) .btn--outline-white
        .btn--outline-accent
     3) .btn--cta-circle (only here circle icon)
   Inline CSS Icon (solid/outline):
     .btn--icon-inline + .btn-icon--*
   Circle CTA CSS Icon:
     .btn--cta-circle + .btn-icon--*
====================================================== */


/* ======================================================
   1) BASE
====================================================== */

.btn .elementor-button,
.btn .elementor-button:hover,
.btn .elementor-button:focus,
.btn .elementor-button:active,
.leadgen .elementor-button,
.leadgen .elementor-button:hover,
.leadgen .elementor-button:focus,
.leadgen .elementor-button:active {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;

  box-sizing: border-box;

  border-radius: 999px;
  border-style: solid;
  border-width: 2px;

  padding: 0.875rem 1.5rem;

  /* Global Typography */
  font-family: var(--e-global-typography-c0f83ef-font-family), Sans-serif !important;
  font-size: var(--e-global-typography-c0f83ef-font-size) !important;
  font-weight: var(--e-global-typography-c0f83ef-font-weight) !important;
  text-transform: var(--e-global-typography-c0f83ef-text-transform) !important;
  font-style: var(--e-global-typography-c0f83ef-font-style) !important;
  text-decoration: var(--e-global-typography-c0f83ef-text-decoration) !important;
  line-height: var(--e-global-typography-c0f83ef-line-height) !important;

  transition:
    background-color 450ms ease,
    color 450ms ease,
    border-color 450ms ease;
}

.btn .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}

.btn .elementor-button-text {
  color: inherit !important;
}


/* ======================================================
   2) SOLID
====================================================== */

.btn--solid .elementor-button {
  background-color: var(--e-global-color-accent) !important;
  border-color: var(--e-global-color-accent) !important;
  color: var(--e-global-color-6854d01) !important;
}

.btn--solid .elementor-button:hover {
  background-color: var(--e-global-color-6854d01) !important;
  border-color: var(--e-global-color-accent) !important;
  color: var(--e-global-color-accent) !important;
}

.leadgen .elementor-button {
  background-color: var(--e-global-color-accent) !important;
  border-color: var(--e-global-color-accent) !important;
  color: var(--e-global-color-6854d01) !important;
}

.leadgen .elementor-button:hover {
  background-color: var(--e-global-color-6854d01) !important;
  border-color: var(--e-global-color-accent) !important;
  color: var(--e-global-color-accent) !important;
}


/* ======================================================
   3) OUTLINE
====================================================== */

/* Outline white (dark background) */
.btn--outline-white .elementor-button {
  background-color: transparent !important;
  border-color: var(--e-global-color-6854d01) !important;
  color: var(--e-global-color-6854d01) !important;
}

.btn--outline-white .elementor-button:hover {
  background-color: var(--e-global-color-6854d01) !important;
  border-color: var(--e-global-color-6854d01) !important;
  color: var(--e-global-color-primary) !important;
}

/* Outline accent (light background) */
.btn--outline-accent .elementor-button {
  background-color: transparent !important;
  border-color: var(--e-global-color-accent) !important;
  color: var(--e-global-color-accent) !important;
}

.btn--outline-accent .elementor-button:hover {
  background-color: var(--e-global-color-primary) !important;
  border-color: var(--e-global-color-primary) !important;
  color: var(--e-global-color-6854d01) !important;
}

.btn--outline-primary .elementor-button {
  background-color: transparent !important;
  border-color: var(--e-global-color-primary) !important;
  color: var(--e-global-color-primary) !important;
}

.btn--outline-primary .elementor-button:hover {
  background-color: var(--e-global-color-primary) !important;
  border-color: var(--e-global-color-primary) !important;
  color: var(--e-global-color-6854d01) !important; /* white */
}


/* ======================================================
   4) INLINE ICON (for solid & outline)
   Uses variable: --btn-inline-icon-color
====================================================== */

.btn--icon-inline .elementor-button {
  position: relative;
  padding-left: 3.25rem;

  /* Default: icon follows current text color */
  --btn-inline-icon-color: currentColor;
}

.btn--icon-inline .elementor-button::before {
  content: "";
  position: absolute;
  left: 1.25rem;
  top: 50%;
  transform: translateY(-50%);

  width: 1rem;
  height: 1rem;

  background-color: var(--btn-inline-icon-color);

  -webkit-mask-image: var(--btn-icon);
  mask-image: var(--btn-icon);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;

  transition: transform 220ms cubic-bezier(.4,0,.2,1);
}


/* ======================================================
   5) SPECIAL CTA (Circle + Text only)
   Class: .btn--cta-circle + .btn-icon--*
   - Circle: accent, 1.75rem (Figma)
   - Arrow: white, rotated 270deg
   - Hover: ONLY arrow nudges
====================================================== */

.btn--cta-circle .elementor-button {
  background-color: transparent !important;
  border-color: transparent !important;

  color: var(--e-global-color-text) !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.75rem !important;

  padding: 0 !important;

  position: relative; /* needed for absolute arrow */
  
  text-decoration: underline !important;
  font-weight: 400 !important;
}

/* Circle */
.btn--cta-circle .elementor-button::before {
  content: "";
  width: 1.75rem;
  height: 1.75rem;
  flex: 0 0 1.75rem;

  border-radius: 999px;
  background-color: var(--e-global-color-accent);
}

/* Arrow on top of circle */
.btn--cta-circle .elementor-button::after {
  content: "";
  position: absolute;

  /* center of the 1.75rem circle */
  left: 0.875rem;
  top: 50%;

  width: 0.75rem;
  height: 0.75rem;

  transform: translate(-50%, -50%) rotate(270deg);

  background-color: var(--e-global-color-6854d01); /* white */

  -webkit-mask-image: var(--btn-icon);
  mask-image: var(--btn-icon);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;

  transition: transform 220ms cubic-bezier(.4,0,.2,1);
}

/* Hover: text -> accent, arrow nudges right (stays white) */
.btn--cta-circle .elementor-button:hover {
  color: var(--e-global-color-accent) !important;
  font-weight: 400 !important;
}

.btn--cta-circle .elementor-button:hover::after {
  transform: translate(calc(-50% + 3px), -50%) rotate(270deg);
}


/* ======================================================
   6) ICON DEFINITIONS
====================================================== */

.btn-icon--arrow .elementor-button {
  --btn-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 9 10'%3E%3Cpath d='M4.354 8.5 4 8.854l.354.353.353-.353zm.5-8a.5.5 0 0 0-1 0zm-4.5 4L0 4.854l4 4 .354-.354.353-.354-4-4zm4 4 .353.354 4-4-.353-.354L8 4.146l-4 4zm0 0h.5v-8h-1v8z'/%3E%3C/svg%3E");
}


/* ======================================================
   7) INLINE ICON COLORS – HOVER (robust)
   Place at end so it always wins
====================================================== */

/* Solid hover -> icon should become accent (matches text) */
.btn--solid.btn--icon-inline .elementor-button:hover {
  --btn-inline-icon-color: var(--e-global-color-accent);
}

/* Outline white hover -> icon should be PRIMARY */
.btn--outline-white.btn--icon-inline .elementor-button:hover {
  --btn-inline-icon-color: var(--e-global-color-primary);
}

/* Outline accent hover -> icon should be WHITE */
.btn--outline-accent.btn--icon-inline .elementor-button:hover {
  --btn-inline-icon-color: var(--e-global-color-6854d01);
}

/* Outline primary hover -> icon should be WHITE */
.btn--outline-primary.btn--icon-inline .elementor-button:hover {
  --btn-inline-icon-color: var(--e-global-color-6854d01);
}

/* ======================================================
   Elementor SVG icons: force them to follow currentColor
   Fixes: icon stays white although button color changed
====================================================== */

.btn .elementor-button-icon svg,
.btn .elementor-button-icon svg * {
  fill: currentColor !important;
  stroke: currentColor !important;
}

/* Ensure the icon wrapper inherits the button color */
.btn .elementor-button-icon {
  color: inherit !important;
}


/* =================================
   BUTTON ICON STYLE – END
================================= */



/* =========================================
   TEAM CARD – AVATAR FIX (LEFT ALIGNED)
========================================= */

.team-card .team-card__avatar {
  width: 100%;
  max-width: 70%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;

  align-self: flex-start;

  /* remove centering */
  margin: 0;
}

/* force Elementor image + img to fill the square */
.team-card .team-card__avatar .elementor-widget-image,
.team-card .team-card__avatar .elementor-widget-image .elementor-widget-container,
.team-card .team-card__avatar img {
  width: 100% !important;
  height: 100% !important;
}

/* the actual crop */
.team-card .team-card__avatar img {
  object-fit: cover;
  object-position: 30% center; /* optional left crop */

  max-width: none !important;
  display: block;
}


.footer--rounded{
    --curve-size: 8rem;

    position: relative;
    overflow: hidden;

    /* top middle stays transparent */
    background: linear-gradient(
        to bottom,
        transparent 0,
        transparent calc(var(--curve-size) / 2),
        #002F6C calc(var(--curve-size) / 2),
        #002F6C 100%
    );

    /* important: content starts below the transparent area */
    padding-top: calc(var(--curve-size) / 2);
}/* End custom CSS */