.elementor-37 .elementor-element.elementor-element-11c4b46{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-37 .elementor-element.elementor-element-d3b903a{--display:flex;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-37 .elementor-element.elementor-element-d64afeb .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:40px;font-weight:600;color:var( --e-global-color-text );}.elementor-37 .elementor-element.elementor-element-dbcb6ce .elementor-heading-title{color:var( --e-global-color-text );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-37 .elementor-element.elementor-element-64ed2fe{text-align:justify;}.elementor-37 .elementor-element.elementor-element-dc16cab{text-align:center;}.elementor-37 .elementor-element.elementor-element-dc16cab .elementor-heading-title{color:var( --e-global-color-text );}.elementor-37 .elementor-element.elementor-element-6ca9860{text-align:justify;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-37 .elementor-element.elementor-element-cd816fb .elementor-icon-list-icon i{color:var( --e-global-color-secondary );transition:color 0.3s;}.elementor-37 .elementor-element.elementor-element-cd816fb .elementor-icon-list-icon svg{fill:var( --e-global-color-secondary );transition:fill 0.3s;}.elementor-37 .elementor-element.elementor-element-cd816fb{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-37 .elementor-element.elementor-element-cd816fb .elementor-icon-list-text{color:var( --e-global-color-text );transition:color 0.3s;}.elementor-37 .elementor-element.elementor-element-6a45780{text-align:center;}.elementor-37 .elementor-element.elementor-element-6a45780 .elementor-heading-title{color:var( --e-global-color-text );}.elementor-37 .elementor-element.elementor-element-ff8f337 .elementor-icon-list-icon i{color:var( --e-global-color-secondary );transition:color 0.3s;}.elementor-37 .elementor-element.elementor-element-ff8f337 .elementor-icon-list-icon svg{fill:var( --e-global-color-secondary );transition:fill 0.3s;}.elementor-37 .elementor-element.elementor-element-ff8f337{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-37 .elementor-element.elementor-element-ff8f337 .elementor-icon-list-text{color:var( --e-global-color-text );transition:color 0.3s;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-37 .elementor-element.elementor-element-933fb8a{margin:2% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;}.elementor-37 .elementor-element.elementor-element-3c1dd31{margin:2% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-37 .elementor-element.elementor-element-3c1dd31 .elementor-icon-list-icon i{color:var( --e-global-color-secondary );transition:color 0.3s;}.elementor-37 .elementor-element.elementor-element-3c1dd31 .elementor-icon-list-icon svg{fill:var( --e-global-color-secondary );transition:fill 0.3s;}.elementor-37 .elementor-element.elementor-element-3c1dd31 .elementor-icon-list-text{color:var( --e-global-color-text );transition:color 0.3s;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-37 .elementor-element.elementor-element-d64afeb .elementor-heading-title{font-size:28px;}}/* Start custom CSS for button, class: .elementor-element-933fb8a *//* ==========================
   PRZYCISK NEON – vsl-btn-primary
   ========================== */

.vsl-btn-primary .elementor-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 14px 42px;
  border-radius: 999px;
  border: none;

  background: linear-gradient(90deg, #a72bff, #00e0ff);
  color: #ffffff;
  font-weight: 600;
  letter-spacing: 0.04em;

  box-shadow:
    0 0 18px rgba(0, 224, 255, 0.6),
    0 0 34px rgba(127, 0, 255, 0.5);

  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    filter 0.3s ease;
}

.vsl-btn-primary .elementor-button:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow:
    0 0 28px rgba(0, 224, 255, 0.9),
    0 0 44px rgba(127, 0, 255, 0.8);
  filter: brightness(1.08);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d3b903a *//* ==========================
   O NAS – SEKCJE / KARTY
   ========================== */

.vsl-about-section {
  /* szerokość jak CTA / footer */
  width: auto;
  max-width: 1100px;
  margin: 40px auto;
  padding: 40px 32px 36px;

  position: relative;
  border-radius: 26px;
  overflow: hidden;

  /* neonowe tło jak na homepage */
  background:
    radial-gradient(circle at 15% 0,
      rgba(0, 224, 255, 0.22),
      transparent 55%),
    radial-gradient(circle at 85% 120%,
      rgba(127, 0, 255, 0.35),
      rgba(4, 9, 30, 0.98) 65%);

  border: 1px solid rgba(0, 224, 255, 0.18);
  box-shadow:
    0 0 26px rgba(0, 224, 255, 0.35),
    0 0 60px rgba(127, 0, 255, 0.35);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  z-index: 1;
}

/* 👉 Upewniamy się, że wewnętrzny kontener ma pełną szerokość karty */
.vsl-about-section > .elementor-container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0;                /* żeby padding był tylko z .vsl-about-section */
}

/* neonowa linia u góry – lekko animowana */
.vsl-about-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 75%;
  height: 3px;
  border-radius: 999px;

  background: linear-gradient(
    90deg,
    transparent,
    #00e0ff,
    #7f00ff,
    #00e0ff,
    transparent
  );
  background-size: 250% 100%;
  opacity: 0.8;

  animation: vsl-about-line-flow 8s linear infinite;
  pointer-events: none;
  z-index: 0;
}

/* delikatny „halo” pod kartą – efekt oderwania od tła */
.vsl-about-section::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -40px;
  transform: translateX(-50%);
  width: 60%;
  height: 120px;

  background: radial-gradient(
    circle,
    rgba(0, 224, 255, 0.32),
    transparent 70%
  );
  opacity: 0.6;
  filter: blur(8px);
  pointer-events: none;
  z-index: 0;
}

/* tekst wewnątrz ma być ponad efektami */
.vsl-about-section * {
  position: relative;
  z-index: 2;
}

/* Nagłówki sekcji */
.vsl-about-section .elementor-heading-title {
  font-size: 28px;
  letter-spacing: 0.03em;
  text-align: center;
  margin-bottom: 24px;
}

/* LIGHT HOVER całej sekcji */
.vsl-about-section:hover {
  box-shadow:
    0 0 34px rgba(0, 224, 255, 0.5),
    0 0 80px rgba(127, 0, 255, 0.6);
  border-color: rgba(0, 224, 255, 0.45);
}

/* ANIMACJA neonowej linii */
@keyframes vsl-about-line-flow {
  0%   { background-position: 0% 50%;   opacity: 0.4; }
  50%  { background-position: 100% 50%; opacity: 0.9; }
  100% { background-position: 0% 50%;   opacity: 0.4; }
}

/* ==========================
   OPCJONALNY UKŁAD 60 / 40
   ========================== */
/* Dodaj klasę vsl-about-section--split do sekcji,
   w której chcesz mieć podział 60/40 kolumn */

.vsl-about-section.vsl-about-section--split > .elementor-container {
  display: flex;
  gap: 32px;
}

.vsl-about-section.vsl-about-section--split > .elementor-container > .elementor-column:first-child {
  flex: 0 0 60%;
  max-width: 60%;
}

.vsl-about-section.vsl-about-section--split > .elementor-container > .elementor-column:last-child {
  flex: 0 0 40%;
  max-width: 40%;
}

/* Responsywność */
@media (max-width: 767px) {
  .vsl-about-section {
    margin: 40px 16px;
    padding: 26px 18px 24px;
  }

  .vsl-about-section .elementor-heading-title {
    font-size: 22px;
  }

  .vsl-about-section::before {
    width: 85%;
  }

  .vsl-about-section::after {
    width: 80%;
  }

  /* na mobile 60/40 zamienia się w 100/100 */
  .vsl-about-section.vsl-about-section--split > .elementor-container {
    display: block;
  }

  .vsl-about-section.vsl-about-section--split > .elementor-container > .elementor-column {
    max-width: 100%;
    flex: 0 0 100%;
  }
}/* End custom CSS */