.elementor-17597 .elementor-element.elementor-element-e47fcde{--display:flex;--min-height:70vh;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--overlay-opacity:0.7;--overlay-mix-blend-mode:darken;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-17597 .elementor-element.elementor-element-e47fcde::before, .elementor-17597 .elementor-element.elementor-element-e47fcde > .elementor-background-video-container::before, .elementor-17597 .elementor-element.elementor-element-e47fcde > .e-con-inner > .elementor-background-video-container::before, .elementor-17597 .elementor-element.elementor-element-e47fcde > .elementor-background-slideshow::before, .elementor-17597 .elementor-element.elementor-element-e47fcde > .e-con-inner > .elementor-background-slideshow::before, .elementor-17597 .elementor-element.elementor-element-e47fcde > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#00000045;--background-overlay:'';}.elementor-17597 .elementor-element.elementor-element-ae88269{--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;--justify-content:center;}.elementor-17597 .elementor-element.elementor-element-2f782b9{font-family:"Oswald", Sans-serif;font-size:14px;font-weight:400;}.elementor-17597 .elementor-element.elementor-element-2f782b9 p{margin-block-end:0px;}.elementor-17597 .elementor-element.elementor-element-225e60d > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-17597 .elementor-element.elementor-element-225e60d{text-align:start;}.elementor-17597 .elementor-element.elementor-element-225e60d .elementor-heading-title{font-family:"Oswald", Sans-serif;font-size:45px;}.elementor-17597 .elementor-element.elementor-element-a671b05 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:10px 0px 10px 0px;}.elementor-17597 .elementor-element.elementor-element-a671b05{font-family:"Raleway", Sans-serif;font-size:20px;font-weight:400;text-shadow:0px 0px 10px rgba(0,0,0,0.3);color:#FFFFFF;}.elementor-17597 .elementor-element.elementor-element-d03d161{--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-17597 .elementor-element.elementor-element-f53991c > .elementor-widget-container{margin:30px 30px 30px 30px;}.elementor-17597 .elementor-element.elementor-element-f53991c{text-align:center;}.elementor-17597 .elementor-element.elementor-element-f53991c .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:28px;font-weight:400;color:#E7B472;}.elementor-17597 .elementor-element.elementor-element-158af93{font-family:"Poppins", Sans-serif;font-size:15px;color:#FFFFFF;}.elementor-17597 .elementor-element.elementor-element-39e6c09{--display:flex;}.elementor-17597 .elementor-element.elementor-element-a4442c3{text-align:center;}.elementor-17597 .elementor-element.elementor-element-a4442c3 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:22px;font-weight:400;color:#FFFFFFBA;}.elementor-17597 .elementor-element.elementor-element-a95323b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 10px;--row-gap:0px;--column-gap:10px;--margin-top:25px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.elementor-17597 .elementor-element.elementor-element-ed8cd23{--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-17597 .elementor-element.elementor-element-12b80ea{text-align:center;}.elementor-17597 .elementor-element.elementor-element-12b80ea .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:19px;font-weight:500;}.elementor-17597 .elementor-element.elementor-element-9a80eac{column-gap:0px;text-align:start;font-family:"Poppins", Sans-serif;font-size:15px;color:#FFFFFF;}.elementor-17597 .elementor-element.elementor-element-53ef571{text-align:center;font-family:"Poppins", Sans-serif;font-size:14px;}.elementor-17597 .elementor-element.elementor-element-fcbd7ee{--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-17597 .elementor-element.elementor-element-c3599f4{text-align:center;}.elementor-17597 .elementor-element.elementor-element-c3599f4 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:19px;font-weight:500;}.elementor-17597 .elementor-element.elementor-element-a82bf32{font-family:"Poppins", Sans-serif;font-size:15px;color:#FFFFFF;}.elementor-17597 .elementor-element.elementor-element-c93e909{text-align:center;font-family:"Poppins", Sans-serif;font-size:14px;}.elementor-17597 .elementor-element.elementor-element-e26c98b{--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-17597 .elementor-element.elementor-element-d8e1473{text-align:center;}.elementor-17597 .elementor-element.elementor-element-d8e1473 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:19px;font-weight:500;}.elementor-17597 .elementor-element.elementor-element-10bf3a5{font-family:"Poppins", Sans-serif;font-size:15px;color:#FFFFFF;}.elementor-17597 .elementor-element.elementor-element-709eaaf{text-align:center;font-family:"Poppins", Sans-serif;font-size:14px;}.elementor-17597 .elementor-element.elementor-element-f743320{--display:flex;--min-height:25vh;--overlay-opacity:0.2;--margin-top:30px;--margin-bottom:-40px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-17597 .elementor-element.elementor-element-f743320:not(.elementor-motion-effects-element-type-background), .elementor-17597 .elementor-element.elementor-element-f743320 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-17597 .elementor-element.elementor-element-f743320::before, .elementor-17597 .elementor-element.elementor-element-f743320 > .elementor-background-video-container::before, .elementor-17597 .elementor-element.elementor-element-f743320 > .e-con-inner > .elementor-background-video-container::before, .elementor-17597 .elementor-element.elementor-element-f743320 > .elementor-background-slideshow::before, .elementor-17597 .elementor-element.elementor-element-f743320 > .e-con-inner > .elementor-background-slideshow::before, .elementor-17597 .elementor-element.elementor-element-f743320 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-17597 .elementor-element.elementor-element-059da40{--display:flex;--min-height:25vh;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overlay-opacity:0.5;}.elementor-17597 .elementor-element.elementor-element-059da40:not(.elementor-motion-effects-element-type-background), .elementor-17597 .elementor-element.elementor-element-059da40 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://protegostudio.pl/wp-content/uploads/2025/12/Projekt-bez-nazwy-37.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-17597 .elementor-element.elementor-element-059da40::before, .elementor-17597 .elementor-element.elementor-element-059da40 > .elementor-background-video-container::before, .elementor-17597 .elementor-element.elementor-element-059da40 > .e-con-inner > .elementor-background-video-container::before, .elementor-17597 .elementor-element.elementor-element-059da40 > .elementor-background-slideshow::before, .elementor-17597 .elementor-element.elementor-element-059da40 > .e-con-inner > .elementor-background-slideshow::before, .elementor-17597 .elementor-element.elementor-element-059da40 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#0000006E;--background-overlay:'';}.elementor-17597 .elementor-element.elementor-element-bb0d449{--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;--justify-content:center;}.elementor-17597 .elementor-element.elementor-element-fd0b7e8{text-align:start;}.elementor-17597 .elementor-element.elementor-element-fd0b7e8 .elementor-heading-title{font-family:"Poppins", Sans-serif;font-size:25px;font-weight:600;color:#FFFFFF;}.elementor-17597 .elementor-element.elementor-element-87b37e3{--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;--justify-content:center;}.elementor-17597 .elementor-element.elementor-element-e85fda1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-17597 .elementor-element.elementor-element-e85fda1 .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-17597 .elementor-element.elementor-element-e85fda1 .elementor-button{font-family:"Poppins", Sans-serif;}@media(max-width:1068px){.elementor-17597 .elementor-element.elementor-element-e47fcde{--min-height:35vh;}.elementor-17597 .elementor-element.elementor-element-225e60d .elementor-heading-title{font-size:35px;}.elementor-17597 .elementor-element.elementor-element-a671b05{font-size:18px;}.elementor-17597 .elementor-element.elementor-element-f53991c .elementor-heading-title{font-size:25px;}.elementor-17597 .elementor-element.elementor-element-158af93{font-size:17px;}.elementor-17597 .elementor-element.elementor-element-a4442c3{text-align:center;}.elementor-17597 .elementor-element.elementor-element-a4442c3 .elementor-heading-title{font-size:18px;}.elementor-17597 .elementor-element.elementor-element-12b80ea .elementor-heading-title{font-size:17px;}.elementor-17597 .elementor-element.elementor-element-53ef571{font-size:13px;}.elementor-17597 .elementor-element.elementor-element-c3599f4 .elementor-heading-title{font-size:17px;}.elementor-17597 .elementor-element.elementor-element-c93e909{font-size:13px;}.elementor-17597 .elementor-element.elementor-element-d8e1473 .elementor-heading-title{font-size:17px;}.elementor-17597 .elementor-element.elementor-element-709eaaf{font-size:13px;}.elementor-17597 .elementor-element.elementor-element-f743320{--min-height:15vh;--margin-top:30px;--margin-bottom:-40px;--margin-left:0px;--margin-right:0px;}.elementor-17597 .elementor-element.elementor-element-059da40{--min-height:15vh;}.elementor-17597 .elementor-element.elementor-element-fd0b7e8 .elementor-heading-title{font-size:19px;}.elementor-17597 .elementor-element.elementor-element-e85fda1 > .elementor-widget-container{margin:0px 0px 0px 0px;}}@media(max-width:767px){.elementor-17597 .elementor-element.elementor-element-e47fcde{--min-height:40vh;}.elementor-17597 .elementor-element.elementor-element-ae88269{--justify-content:center;}.elementor-17597 .elementor-element.elementor-element-2f782b9 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-17597 .elementor-element.elementor-element-2f782b9{font-size:10px;}.elementor-17597 .elementor-element.elementor-element-225e60d .elementor-heading-title{font-size:24px;}.elementor-17597 .elementor-element.elementor-element-a671b05 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-17597 .elementor-element.elementor-element-a671b05{font-size:12px;}.elementor-17597 .elementor-element.elementor-element-f53991c .elementor-heading-title{font-size:16px;}.elementor-17597 .elementor-element.elementor-element-158af93{text-align:center;font-size:14px;}.elementor-17597 .elementor-element.elementor-element-a4442c3 .elementor-heading-title{font-size:15px;}.elementor-17597 .elementor-element.elementor-element-a95323b{--gap:10px 10px;--row-gap:10px;--column-gap:10px;--margin-top:20px;--margin-bottom:25px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-17597 .elementor-element.elementor-element-12b80ea .elementor-heading-title{font-size:17px;}.elementor-17597 .elementor-element.elementor-element-9a80eac{font-size:14px;}.elementor-17597 .elementor-element.elementor-element-53ef571{font-size:12px;}.elementor-17597 .elementor-element.elementor-element-c3599f4 .elementor-heading-title{font-size:17px;}.elementor-17597 .elementor-element.elementor-element-a82bf32{font-size:14px;}.elementor-17597 .elementor-element.elementor-element-c93e909{font-size:12px;}.elementor-17597 .elementor-element.elementor-element-d8e1473 .elementor-heading-title{font-size:17px;}.elementor-17597 .elementor-element.elementor-element-10bf3a5{font-size:14px;}.elementor-17597 .elementor-element.elementor-element-709eaaf{font-size:12px;}.elementor-17597 .elementor-element.elementor-element-f743320{--min-height:30vh;}.elementor-17597 .elementor-element.elementor-element-059da40{--min-height:30vh;}.elementor-17597 .elementor-element.elementor-element-fd0b7e8 .elementor-heading-title{font-size:16px;}.elementor-17597 .elementor-element.elementor-element-e85fda1 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-17597 .elementor-element.elementor-element-e85fda1 .elementor-button{font-size:12px;}}@media(min-width:768px){.elementor-17597 .elementor-element.elementor-element-e47fcde{--width:100%;}.elementor-17597 .elementor-element.elementor-element-ed8cd23{--width:33%;}.elementor-17597 .elementor-element.elementor-element-fcbd7ee{--width:33%;}.elementor-17597 .elementor-element.elementor-element-e26c98b{--width:33%;}.elementor-17597 .elementor-element.elementor-element-f743320{--width:100%;}.elementor-17597 .elementor-element.elementor-element-bb0d449{--width:75%;}.elementor-17597 .elementor-element.elementor-element-87b37e3{--width:25%;}}@media(min-width:1069px){.elementor-17597 .elementor-element.elementor-element-059da40:not(.elementor-motion-effects-element-type-background), .elementor-17597 .elementor-element.elementor-element-059da40 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:fixed;}}/* Start custom CSS for text-editor, class: .elementor-element-2f782b9 */.protego-crumbs{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 10px 0;
  font-size: 13px;
  line-height: 1.2;
  opacity: .9;
}

.protego-crumbs a{
  color: rgba(255,255,255,.78);
  text-decoration: none;
}

.protego-crumbs a:hover{
  color: rgba(255,255,255,.95);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.protego-crumbs__sep{
  color: rgba(255,255,255,.35);
}

.protego-crumbs__current{
  color: rgba(255,255,255,.60);
}
/* =========================
   BREADCRUMB – minimal, ale ciekawy HOVER
   (typografia i kolor bazowy zostają z Elementora)
========================= */

/* usuń podkreślenia i nie blokuj typografii */
.protego-crumbs a{
  text-decoration: none !important;
  color: inherit;                 /* <- Elementor rządzi kolorem */
  position: relative;
  display: inline-block;
  padding: 0 .12em;               /* minimalny “hit area”, wygląda premium */
  transition: filter .18s ease, opacity .18s ease;
}
/* =========================
   BREADCRUMB – Elementor steruje typografią
   Hover = tylko zmiana koloru
========================= */

/* Breadcrumb ma DZIEDZICZYĆ typografię z Elementora */
.elementor-widget-text-editor .protego-crumbs,
.elementor-widget-text-editor .protego-crumbs *{
  font-size: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

/* Linki: bez podkreślenia, kolor bazowy = z Elementora */
.elementor-widget-text-editor .protego-crumbs a{
  color: inherit !important;              /* <- normalny kolor ustawiasz w Elementorze */
  text-decoration: none !important;
  transition: color .15s ease;
}

/* Hover: tylko zmiana koloru (bez turkusu) */
.elementor-widget-text-editor .protego-crumbs a:hover{
  color: var(--crumb-hover, var(--b, #FFB020)) !important;
  /* fallback: amber; jeśli w hero masz --b (np. sportowy), to weźmie go automatycznie */
}

/* Obecna strona (nie link): lekko spokojniej, ale bez blurów */
.elementor-widget-text-editor .protego-crumbs .protego-crumbs__current{
  opacity: .82;
}
/* =========================
   BREADCRUMB – firmowy hover (głęboki turkus)
   Elementor steruje typografią
========================= */

/* dziedziczenie typografii z Elementora */
.elementor-widget-text-editor .protego-crumbs,
.elementor-widget-text-editor .protego-crumbs *{
  font-size: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

/* linki: bez podkreślenia, bazowy kolor z Elementora */
.elementor-widget-text-editor .protego-crumbs a{
  color: inherit !important;
  text-decoration: none !important;
  transition: color .15s ease;
}

/* hover: głęboki turkus (firmowy) */
.elementor-widget-text-editor .protego-crumbs a:hover{
  color: #00CFA6 !important;  /* deep teal */
}

/* bieżąca strona */
.elementor-widget-text-editor .protego-crumbs .protego-crumbs__current{
  opacity: .82;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-a671b05 */.protego-script{
  font-family: "Allura", cursive !important;
  font-weight: 400 !important;
}

.protego-meta{
  font-family: inherit; /* zostaje font z Elementora */
  font-weight: inherit;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e47fcde *//* =========================
   PROTEGO HERO (spójny pakiet)
   Klasy na kontener hero:
   - protego-hero + (jeden wariant):
     protego-hero--mesh | protego-hero--topo | protego-hero--grid
     lub jaśniejsze:
     protego-hero--mesh-mid | protego-hero--topo-mid | protego-hero--grid-mid
   + opcjonalnie akcent:
     protego-accent--mint | protego-accent--violet | protego-accent--rose
========================= */

/* BAZA */
.protego-hero{
  position: relative;
  overflow: hidden;
  border-radius: 0 !important;
  color: rgba(255,255,255,.92);
  --a: #00E6A8;
}

/* Akcent per masaż */
.protego-hero.protego-accent--mint   { --a:#00E6A8; }
.protego-hero.protego-accent--violet { --a:#8A6CFF; }
.protego-hero.protego-accent--rose   { --a:#FF3B5C; }

/* Grain (subtelny, stabilny) */
.protego-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.065;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}

/* Winieta / czytelność tekstu */
.protego-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(900px 520px at 50% 10%, rgba(255,255,255,.07), transparent 55%),
    radial-gradient(900px 650px at 50% 100%, rgba(0,0,0,.24), transparent 55%);
  opacity:.65;
}

/* =========================
   WARIANTY (ciemniejsze)
========================= */
.protego-hero--mesh{
  background:
    radial-gradient(900px 520px at 18% 10%, color-mix(in srgb, var(--a) 22%, transparent), transparent 60%),
    radial-gradient(860px 520px at 82% 12%, rgba(255,255,255,.06), transparent 62%),
    radial-gradient(900px 650px at 60% 95%, rgba(255,255,255,.04), transparent 58%),
    linear-gradient(180deg, #070b10 0%, #05070a 100%);
}

.protego-hero--topo{
  background:
    radial-gradient(980px 560px at 20% 10%, color-mix(in srgb, var(--a) 18%, transparent), transparent 62%),
    linear-gradient(180deg, #070b10 0%, #05070a 100%);
}

.protego-hero--grid{
  background:
    radial-gradient(900px 520px at 20% 10%, color-mix(in srgb, var(--a) 20%, transparent), transparent 60%),
    linear-gradient(180deg, #070b10 0%, #05070a 100%);
}

/* =========================
   WARIANTY MID (średnio jasne)
========================= */
.protego-hero--mesh-mid{
  background:
    radial-gradient(1100px 640px at 18% 10%, color-mix(in srgb, var(--a) 22%, transparent), transparent 62%),
    radial-gradient(900px 520px at 82% 10%, rgba(255,255,255,.14), transparent 65%),
    radial-gradient(900px 650px at 55% 105%, rgba(0,0,0,.22), transparent 62%),
    linear-gradient(180deg, #141a24 0%, #0f1520 100%);
}

.protego-hero--topo-mid{
  background:
    radial-gradient(1100px 640px at 22% 10%, color-mix(in srgb, var(--a) 18%, transparent), transparent 65%),
    linear-gradient(180deg, #141a24 0%, #0f1520 100%);
}

.protego-hero--grid-mid{
  background:
    radial-gradient(1100px 640px at 22% 10%, color-mix(in srgb, var(--a) 20%, transparent), transparent 62%),
    radial-gradient(900px 650px at 55% 105%, rgba(0,0,0,.22), transparent 62%),
    linear-gradient(180deg, #141a24 0%, #0f1520 100%);
}

/* =========================
   OVERLAYS (działają, jeśli w Elementorze włączysz Background Overlay)
========================= */

/* TOPO overlay */
.protego-hero--topo > .elementor-background-overlay,
.protego-hero--topo-mid > .elementor-background-overlay{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='600' viewBox='0 0 900 600'%3E%3Cg fill='none' stroke='rgba(255,255,255,0.10)' stroke-width='1'%3E%3Cpath d='M70 120 C180 40, 310 60, 430 130 C560 210, 710 200, 850 120'/%3E%3Cpath d='M40 210 C170 140, 320 150, 470 220 C610 290, 740 290, 880 210'/%3E%3Cpath d='M20 300 C170 230, 340 250, 500 320 C650 390, 760 390, 900 300'/%3E%3Cpath d='M40 390 C200 340, 360 360, 520 420 C660 470, 760 470, 880 390'/%3E%3Cpath d='M70 480 C240 440, 390 450, 550 500 C690 540, 750 540, 850 480'/%3E%3C/g%3E%3C/svg%3E");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  opacity: .55;
}

/* GRID overlay */
.protego-hero--grid > .elementor-background-overlay{
  background-image: radial-gradient(rgba(255,255,255,.10) 1px, transparent 1px);
  background-size: 22px 22px;
  background-position: 0 0;
  opacity: .35;
}
.protego-hero--grid-mid > .elementor-background-overlay{
  background-image: radial-gradient(rgba(255,255,255,.16) 1px, transparent 1px);
  background-size: 22px 22px;
  background-position: 0 0;
  opacity: .28;
}
/* =========================
   HERO THEMES (kolorystyka per masaż)
   działa z protego-hero--mesh-mid / topo-mid / grid-mid
========================= */

/* Sportowy: energia, performance */
.protego-hero-theme--sport{
  --a: #00A3FF; /* neon electric blue */
  --b: #FFB020; /* neon amber */
}

/* Klasyczny: premium, elegancja */
.protego-hero-theme--classic{
  --a: #D8C08A; /* champagne */
  --b: #7A5CFF; /* delikatny akcent premium (subtelny) */
}

/* Relaksacyjny: ciepło, otulenie */
.protego-hero-theme--relax{
  --a: #FF7A59; /* warm coral */
  --b: #FFC2A6; /* peach */
}

/* Centryfugalny: profesjonalnie, „klinicznie” */
.protego-hero-theme--centrif{
  --a: #4BE7FF; /* clean cyan */
  --b: #2D7BFF; /* medyczny blue */
}

/* Leczniczy: spa/wellness + natura */
.protego-hero-theme--healing{
  --a: #7CFFB2; /* świeża mięta/sage */
  --b: #1FCB8F; /* deeper green */
}

/* jeśli theme ma --b, dokładamy drugą plamę koloru w hero */
.protego-hero[class*="protego-hero-theme--"]{
  /* nic tutaj */
}

/* Dopieszczamy warianty MID: użyjemy --a i --b (jeśli jest) */
.protego-hero--mesh-mid{
  background:
    radial-gradient(1100px 640px at 18% 10%, color-mix(in srgb, var(--a) 22%, transparent), transparent 62%),
    radial-gradient(900px 520px at 82% 10%, color-mix(in srgb, var(--b, var(--a)) 16%, transparent), transparent 65%),
    radial-gradient(900px 650px at 55% 105%, rgba(0,0,0,.22), transparent 62%),
    linear-gradient(180deg, #141a24 0%, #0f1520 100%);
}

.protego-hero--topo-mid{
  background:
    radial-gradient(1100px 640px at 22% 10%, color-mix(in srgb, var(--a) 18%, transparent), transparent 65%),
    radial-gradient(900px 520px at 78% 18%, color-mix(in srgb, var(--b, var(--a)) 12%, transparent), transparent 65%),
    linear-gradient(180deg, #141a24 0%, #0f1520 100%);
}

.protego-hero--grid-mid{
  background:
    radial-gradient(1100px 640px at 22% 10%, color-mix(in srgb, var(--a) 20%, transparent), transparent 62%),
    radial-gradient(900px 520px at 82% 10%, color-mix(in srgb, var(--b, var(--a)) 14%, transparent), transparent 65%),
    radial-gradient(900px 650px at 55% 105%, rgba(0,0,0,.22), transparent 62%),
    linear-gradient(180deg, #141a24 0%, #0f1520 100%);
}
/* SPORT HERO – więcej życia */
.protego-hero--grid-mid.protego-hero-theme--sport{
  --a: #00A3FF;  /* neon electric blue */
  --b: #FFB020;  /* neon amber */

  background:
    /* impuls / światło (diagonal) */
    linear-gradient(115deg,
      transparent 0%,
      color-mix(in srgb, var(--b) 20%, transparent) 35%,
      transparent 70%
    ),
    /* mocna plama energii (lewa) */
    radial-gradient(1100px 640px at 18% 18%,
      color-mix(in srgb, var(--a) 34%, transparent),
      transparent 62%
    ),
    /* druga plama (prawa) – cieplejsza, daje “power” */
    radial-gradient(900px 520px at 85% 22%,
      color-mix(in srgb, var(--b) 22%, transparent),
      transparent 65%
    ),
    /* przyciemnienie do dołu */
    radial-gradient(900px 650px at 55% 105%,
      rgba(0,0,0,.26),
      transparent 62%
    ),
    /* baza “mid” */
    linear-gradient(180deg, #141a24 0%, #0f1520 100%);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-ed8cd23 *//* =========================
   PROTEGO – KARTY (FINAL / ACCENT / CLEAN)
   - stabilny hover (bez flash / bez wpływu na sąsiadów)
   - spójna typografia list + optycznie równe „kropki”
   - scroll kolorowany per karta
========================= */

/* UKŁAD 3 KART */
.protego-cards{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:stretch;
}

/* AKCENTY (stałe, żywe) */
.protego-card--ok   { --accent:#00E6A8; }
.protego-card--warn { --accent:#8A6CFF; }
.protego-card--no   { --accent:#FF3B5C; }

/* KARTA */
.protego-card{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  padding:18px 18px 16px;
  border:1px solid rgba(255,255,255,.10);
  background:
    radial-gradient(900px 520px at 10% 0%, rgba(255,255,255,.05), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.01)),
    rgba(10,14,20,.92);

  /* stabilny cień (nie brudzi sąsiadów) */
  box-shadow: 0 22px 44px -28px rgba(0,0,0,.85);

  /* tylko transform animujemy */
  transition: transform .16s ease;

  display:flex;
  flex-direction:column;

  /* stabilizacja renderingu podczas animacji */
  will-change: transform;
  transform: translate3d(0,0,0);
  backface-visibility: hidden;

  /* porządek warstw pseudo-elementów */
  isolation: isolate;
  z-index: 0;
}

.protego-card:hover{
  transform: translate3d(0,-2px,0);
  z-index: 5;
}

/* Pasek u góry */
.protego-card::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:4px;
  background: var(--accent);
  opacity:.95;
}

/* Delikatna poświata */
.protego-card::after{
  content:"";
  position:absolute;
  inset:auto -35% -55% auto;
  width:520px; height:520px;
  background: radial-gradient(circle at 35% 35%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 62%);
  filter: blur(10px);
  opacity:.45;
  pointer-events:none;
}

/* NAGŁÓWKI – kolor akcentu */
.protego-card :is(h1,h2,h3,.elementor-heading-title){
  color: var(--accent) !important;
}

/* Separator pod nagłówkiem (neutralny, subtelny) */
.protego-card .elementor-widget-heading{
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

/* chowamy <hr> w kartach (żeby nie robiły się podwójne linie) */
.protego-card hr{ display:none !important; }

/* =========================
   LISTY – CLEAN + „OPTYCZNE” KROPKI
   (zamiast ::marker, bo bywa nadpisywany przez motyw)
========================= */

/* obszar listy (żeby stopka siedziała na dole) */
.protego-card__list{
  flex: 1 1 auto;
  padding-bottom: 6px; /* oddech przed stopką */
}

/* reset timeline / motywowych ozdobników tylko w kartach */
.protego-card :is(.protego-card__list, .elementor-widget-text-editor) ul{
  margin: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
  border-left: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

/* jeśli motyw dorzuca pseudo-elementy do list – ucinamy je */
.protego-card :is(.protego-card__list, .elementor-widget-text-editor) ul::before,
.protego-card :is(.protego-card__list, .elementor-widget-text-editor) ul::after,
.protego-card :is(.protego-card__list, .elementor-widget-text-editor) li::after{
  content:none !important;
  display:none !important;
}

/* LI: rytm i wcięcie pod własną kropkę */
.protego-card :is(.protego-card__list, .elementor-widget-text-editor) li{
  position: relative;
  margin: 0 0 6px 0;
  padding-left: 18px;     /* miejsce na kropkę */
  line-height: 1.45;
}

.protego-card :is(.protego-card__list, .elementor-widget-text-editor) li:last-child{
  margin-bottom: 0;
}

/* Elementor czasem wkłada <p> do <li> → robi dziury */
.protego-card :is(.protego-card__list, .elementor-widget-text-editor) li p{
  margin: 0 !important;
  display: inline;
}

/* kropka – optycznie idealnie przy pierwszej linii */
.protego-card :is(.protego-card__list, .elementor-widget-text-editor) li::before{
  content:"";
  position:absolute;
  left:0;
  top: .62em;            /* optyczne wyrównanie */
  width:6px;
  height:6px;
  border-radius:999px;
  background: var(--accent);
  box-shadow: 0 0 10px color-mix(in srgb, var(--accent) 28%, transparent);
}

/* =========================
   STOPKA – kolor akcentu + glow
========================= */
.protego-card__footer{
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px dashed rgba(255,255,255,.14);
}

.protego-card__footer .elementor-widget-container{
  color: var(--accent);
  text-shadow: 0 0 14px color-mix(in srgb, var(--accent) 35%, transparent);
}

.protego-card__footer .elementor-widget-container p{ margin: 0; }

/* delikatnie mocniejszy glow dla „warn” (opcjonalnie) */
.protego-card--warn :is(h1,h2,h3,.elementor-heading-title),
.protego-card--warn .protego-card__footer .elementor-widget-container{
  text-shadow: 0 0 18px color-mix(in srgb, var(--accent) 40%, transparent);
}

/* =========================
   SCROLL (desktop) + kolor per karta
========================= */
@media (min-width: 1024px){
  .protego-card__list{
    max-height: 330px;
    overflow: auto;
    padding-right: 10px;
    overscroll-behavior: contain;

    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: var(--accent) rgba(255,255,255,.06);
  }

  .protego-card__list::-webkit-scrollbar{ width: 8px; }
  .protego-card__list::-webkit-scrollbar-track{
    background: rgba(255,255,255,.06);
    border-radius: 999px;
  }
  .protego-card__list::-webkit-scrollbar-thumb{
    background: var(--accent);
    border-radius: 999px;
    border: 2px solid rgba(10,14,20,.92);
  }
  .protego-card__list::-webkit-scrollbar-thumb:hover{
    filter: brightness(1.12);
  }
}

/* mobile ciaśniej */
@media (max-width: 768px){
  .protego-cards{ gap:12px; }
  .protego-card{ padding:16px 16px 14px; }
  .protego-card :is(.protego-card__list, .elementor-widget-text-editor) li{ margin-bottom: 7px; }
}
/* =========================================
   PROTEGO – HOTFIX po edycji treści (Elementor)
   - przywraca zwarte odstępy
   - czyści puste <p>/<li>
   - scroll, gdy treści za dużo
========================================= */

/* scroll na liście (żeby stopka zawsze była na dole) */
.protego-card__list{
  flex: 1 1 auto;
  overflow: auto;
  padding-right: 10px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: var(--accent) rgba(255,255,255,.06);
}

/* wysokość listy: desktop / mobile */
@media (min-width: 1024px){
  .protego-card__list{ max-height: 330px; }
}
@media (max-width: 1023px){
  .protego-card__list{ max-height: 60vh; }
}

/* twardy reset listy w obrębie .protego-card__list */
.protego-card__list :where(ul,ol){
  margin: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;
}

/* rytm punktów (ważne: !important, bo motyw/Elementor potrafi nadpisać) */
.protego-card__list :where(li){
  position: relative;
  margin: 0 0 6px 0 !important;
  padding-left: 18px !important;
  line-height: 1.45 !important;
}
.protego-card__list :where(li:last-child){
  margin-bottom: 0 !important;
}

/* najczęstszy winowajca “dziur”: <p> w <li> + czasem puste akapity */
.protego-card__list :where(li p){
  margin: 0 !important;
  display: inline !important;
}
.protego-card__list :where(li p:empty){
  display: none !important;
}

/* usuń puste punkty (często powstają przez puste linie w edytorze) */
.protego-card__list :where(li:empty){
  display: none !important;
}

/* kropka: zawsze w kolorze karty */
.protego-card__list :where(li)::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:6px;
  height:6px;
  border-radius:999px;
  background: var(--accent);
  box-shadow: 0 0 10px color-mix(in srgb, var(--accent) 28%, transparent);
}

/* scroll webkit */
@media (min-width: 1024px){
  .protego-card__list::-webkit-scrollbar{ width: 8px; }
  .protego-card__list::-webkit-scrollbar-track{
    background: rgba(255,255,255,.06);
    border-radius: 999px;
  }
  .protego-card__list::-webkit-scrollbar-thumb{
    background: var(--accent);
    border-radius: 999px;
    border: 2px solid rgba(10,14,20,.92);
  }
}
/* =========================================
   PROTEGO – LISTY W KARTACH: przywróć rytm + kropki + scroll
   (wklej NA SAM KONIEC)
========================================= */

/* 1) scroll tylko gdy trzeba (zostaje uniwersalnie) */
@media (min-width: 1024px){
  .protego-card .protego-card__list{
    max-height: 330px;
    overflow: auto;
    padding-right: 10px;
    overscroll-behavior: contain;
  }
}

/* 2) TWARDY reset stylu listy – dokładnie w środku widgetu Elementora */
.protego-card .protego-card__list .elementor-widget-container ul{
  margin: 0 !important;
  padding-left: 0 !important;
  list-style: none !important;   /* wyłączamy marker, bo robimy własne kropki */
}

/* 3) RYT M: tu ustawiasz „oddech” (to jest ten efekt, który zniknął) */
.protego-card .protego-card__list .elementor-widget-container li{
  position: relative !important;
  margin: 0 0 12px 0 !important;     /* <-- odstęp między punktami (było “jak wcześniej”) */
  padding-left: 22px !important;     /* <-- miejsce na kropkę + oddech */
  line-height: 1.62 !important;      /* <-- odstęp w samym tekście */
}

.protego-card .protego-card__list .elementor-widget-container li:last-child{
  margin-bottom: 0 !important;
}

/* 4) usuń „dziury” robione przez <p> w środku <li> (ale NIE ściskaj tekstu) */
.protego-card .protego-card__list .elementor-widget-container li p{
  margin: 0 !important;              /* to kluczowe */
}

/* 5) kropka – jedna, równa, zawsze w kolorze karty */
.protego-card .protego-card__list .elementor-widget-container li::before{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: .68em !important;             /* optycznie równo względem pierwszej linii */
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: var(--accent) !important;
  box-shadow: 0 0 10px color-mix(in srgb, var(--accent) 28%, transparent) !important;
}

/* 6) jeśli gdzieś wrócił marker (podwójne kropki) – odetnij */
.protego-card .protego-card__list .elementor-widget-container li::marker{
  content: "" !important;
}
/* =========================================================
   PATCH TOUCH UX — karty wskazań/przeciwwskazań
   Desktop: scroll wewnątrz listy
   Tablet + mobile: brak wewnętrznego scrolla, scrolluje się cała strona
   Wklej NA SAM DÓŁ
   ========================================================= */

/* 1) Desktop / większe ekrany — scroll w środku zostaje */
@media (min-width: 1024px){
  .protego-card .protego-card__list{
    max-height: 330px !important;
    overflow: auto !important;
    padding-right: 10px !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }
}

/* 2) Tablet + telefon — WYŁĄCZ scroll wewnętrzny (koniec z "pułapką" dotyku) */
@media (max-width: 1023px){
  .protego-card .protego-card__list{
    max-height: none !important;          /* zamiast 60vh */
    height: auto !important;
    overflow: visible !important;         /* klucz */
    padding-right: 0 !important;
    overscroll-behavior: auto !important; /* nie blokuj scroll chain */
    -webkit-overflow-scrolling: auto;
    touch-action: auto;
  }

  /* Na mobile scrollbary i tak niepotrzebne */
  .protego-card .protego-card__list::-webkit-scrollbar{
    width: 0 !important;
    height: 0 !important;
  }
}

/* 3) Asekuracja: jeśli Elementor/motyw łapie dotyk na wewnętrznych warstwach */
.protego-card .protego-card__list,
.protego-card .protego-card__list *{
  pointer-events: auto;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-10bf3a5 *//* Karta jako kolumna: tytuł u góry, lista jako „obszar treści” */
.protego-card{
  display:flex;
  flex-direction:column;
  gap:10px;                 /* porządek w odstępach */
}

/* Reset marginesów, które robią ogromne dziury */
.protego-card ul{ margin:0; padding-left:18px; }
.protego-card li{ margin:0 0 8px 0; line-height:1.55; }
.protego-card li:last-child{ margin-bottom:0; }
.protego-card li p{ margin:0 !important; display:inline; } /* WP często wrzuca <p> do <li> */

/* Ten blok „trzyma w ryzach” wysokość kart na desktopie */
@media (min-width: 1024px){
  .protego-card__list{
    max-height: 330px;      /* dopasuj: 300–380px */
    overflow:auto;
    padding-right:10px;     /* miejsce na scrollbar */
    overscroll-behavior: contain;
  }

  /* subtelny scrollbar */
  .protego-card__list::-webkit-scrollbar{ width: 8px; }
  .protego-card__list::-webkit-scrollbar-thumb{
    background: rgba(255,255,255,.18);
    border-radius: 10px;
  }
  .protego-card__list::-webkit-scrollbar-track{
    background: rgba(255,255,255,.06);
    border-radius: 10px;
  }
}

/* Mobile: pełna lista bez scrolla */
@media (max-width: 1023px){
  .protego-card__list{ max-height:none; overflow:visible; padding-right:0; }
}
@media (min-width: 1024px){
  .protego-card__list{
    scrollbar-gutter: stable;   /* nie skacze layout gdy pojawi się scroll */
    scrollbar-width: thin;      /* Firefox */
    scrollbar-color: var(--accent) rgba(255,255,255,.06); /* Firefox */
  }

  /* Chrome / Edge / Safari */
  .protego-card__list::-webkit-scrollbar{
    width: 10px;
  }

  .protego-card__list::-webkit-scrollbar-track{
    background: rgba(255,255,255,.06);
    border-radius: 999px;
  }

  .protego-card__list::-webkit-scrollbar-thumb{
    border-radius: 999px;
    background: var(--accent);            /* kolor karty */
    border: 3px solid rgba(10,14,20,.92); /* „oddech” wokół, wygląda premium */
  }

  .protego-card__list::-webkit-scrollbar-thumb:hover{
    filter: brightness(1.12);
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a95323b *//* =========================================================
   PATCH HYBRYDOWY — phone vs tablet (Elementor: 767 / 1068)
   - PHONE: brak wewnętrznego scrolla
   - TABLET: scroll wewnętrzny wraca + lepszy UX dotyku
   ========================================================= */

/* 1) TELEFON (<=767) — bez wewnętrznego scrolla */
@media (max-width: 767px){
  .protego-card .protego-card__list{
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    padding-right: 0 !important;
    overscroll-behavior: auto !important;
    -webkit-overflow-scrolling: auto;
    touch-action: auto;
  }

  .protego-card .protego-card__list::-webkit-scrollbar{
    width: 0 !important;
    height: 0 !important;
  }
}

/* 2) TABLET (768–1068) — scroll wewnętrzny wraca */
@media (min-width: 768px) and (max-width: 1068px){
  .protego-card .protego-card__list{
    /* wracamy do scrolla, ale w bardziej "tabletowym" zakresie */
    max-height: clamp(240px, 34vh, 360px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 8px !important;

    /* KLUCZ: pozwól scroll chain iPage -> strona po dojściu do końca */
    overscroll-behavior-y: auto !important;
    overscroll-behavior-x: contain !important;

    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;

    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: var(--accent) rgba(255,255,255,.06);
  }

  /* scrollbar webkit także na tablecie */
  .protego-card .protego-card__list::-webkit-scrollbar{ width: 8px; }
  .protego-card .protego-card__list::-webkit-scrollbar-track{
    background: rgba(255,255,255,.06);
    border-radius: 999px;
  }
  .protego-card .protego-card__list::-webkit-scrollbar-thumb{
    background: var(--accent);
    border-radius: 999px;
    border: 2px solid rgba(10,14,20,.92);
  }
}

/* 3) DESKTOP (>=1069) — zostaje jak było, ale twardo dla pewności */
@media (min-width: 1069px){
  .protego-card .protego-card__list{
    max-height: 330px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 10px !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-e85fda1 *//**
 * ================================================================
 * PRZYCISK — ELECTRIC BLUE NEON (scope: .ps-ex-btn--electric)
 * Kolor bazowy bierze z lewej karty: --browse-ring-2 (#58E0FF fallback)
 * ================================================================
 */

/* Kolory/parametry tylko dla tego wariantu */
.ps-ex-btn--electric{
  --ex-color: var(--browse-ring-2, #58E0FF); /* obrys domyślny (electric blue) */
  --ex-hover: #66F6FF;                       /* obrys po hover (jaśniejszy neon) */
  --ex-gloss: rgba(255,255,255,.20);         /* połysk */
}

/* Docelowy element przycisku */
.ps-ex-btn--electric .elementor-button,
.ps-ex-btn--electric a.elementor-button,
.ps-ex-btn--electric .elementor-button-link{
  position: relative;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #fff !important;
  overflow: hidden;         /* trzymamy pseudo-elementy w środku */
  isolation: isolate;       /* tekst nad warstwami */
  /* brak width tutaj – szerokość kontroluje Elementor */
}

/* Tekst/ikona nad warstwami */
.ps-ex-btn--electric .elementor-button .elementor-button-content-wrapper{
  position: relative;
  z-index: 2;
}

/* Skórka: cienkie, neonowe obramowanie + lekko przyciemnione wnętrze */
.ps-ex-btn--electric .elementor-button::before,
.ps-ex-btn--electric a.elementor-button::before,
.ps-ex-btn--electric .elementor-button-link::before{
  content:"";
  position:absolute; inset:0;
  border-radius: inherit;               /* przejmuje radius z Elementora */
  box-sizing:border-box;
  background: rgba(0,0,0,.22);          /* delikatnie przyciemnia tło */
  border: 2px solid var(--ex-color);    /* ELECTRIC BLUE */
  box-shadow:
    0 0 0 1px rgba(88,224,255,.12),     /* subtelny ring */
    0 10px 20px rgba(0,0,0,.25);        /* cień w dół */
  transition: border-color .25s ease, box-shadow .25s ease, filter .25s ease;
  z-index: 0;
}

/* Połysk przesuwający się po hover */
.ps-ex-btn--electric .elementor-button::after,
.ps-ex-btn--electric a.elementor-button::after,
.ps-ex-btn--electric .elementor-button-link::after{
  content:"";
  position:absolute; top:0; left:-110%;
  width:75%; height:100%;
  background: linear-gradient(90deg, transparent, var(--ex-gloss), transparent);
  transform: skewX(-25deg);
  transition: left .8s ease;
  z-index: 1;
}

.ps-ex-btn--electric .elementor-button:hover::after,
.ps-ex-btn--electric a.elementor-button:hover::after,
.ps-ex-btn--electric .elementor-button-link:hover::after{
  left: 150%;
}

/* Hover: jaśniejszy neon + delikatny „glow” */
.ps-ex-btn--electric .elementor-button:hover::before,
.ps-ex-btn--electric a.elementor-button:hover::before,
.ps-ex-btn--electric .elementor-button-link:hover::before{
  border-color: var(--ex-hover);
  box-shadow:
    0 0 8px rgba(102,246,255,.35),
    0 0 0 1px rgba(102,246,255,.18),
    0 12px 24px rgba(0,0,0,.28);
  filter: brightness(1.02);
}

/* === ELECTRIC button: hover = TURKUS === */
.ps-ex-btn--electric{
  --ex-hover: #00D9C0; /* turkus na hover */
}

/* dopasowany „glow” pod turkus — nadpisuje wcześniejsze */
.ps-ex-btn--electric .elementor-button:hover::before,
.ps-ex-btn--electric a.elementor-button:hover::before,
.ps-ex-btn--electric .elementor-button-link:hover::before{
  border-color: var(--ex-hover) !important;
  /* użyj koloru z var --ex-hover do poświaty */
  box-shadow:
    0 0 8px color-mix(in srgb, var(--ex-hover) 40%, transparent),
    0 0 0 1px color-mix(in srgb, var(--ex-hover) 24%, transparent),
    0 12px 24px rgba(0,0,0,.28) !important;
}

/* fallback gdy color-mix nie jest dostępny */
@supports not (color-mix(in srgb, white 50%, black 50%)){
  .ps-ex-btn--electric .elementor-button:hover::before,
  .ps-ex-btn--electric a.elementor-button:hover::before,
  .ps-ex-btn--electric .elementor-button-link:hover::before{
    box-shadow:
      0 0 8px rgba(0,217,192,.35),
      0 0 0 1px rgba(0,217,192,.18),
      0 12px 24px rgba(0,0,0,.28) !important;
  }
}/* End custom CSS */