.elementor-314 .elementor-element.elementor-element-dbc9f8b{--display:flex;--margin-top:20px;--margin-bottom:30px;--margin-left:0px;--margin-right:0px;}.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-314 .elementor-element.elementor-element-c902ab4{text-align:center;}.elementor-314 .elementor-element.elementor-element-c902ab4 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:3em;font-weight:800;color:var( --e-global-color-d387ac1 );}.elementor-314 .elementor-element.elementor-element-1668ac0{--display:flex;}.elementor-314 .elementor-element.elementor-element-b0fe675{--display:flex;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.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-314 .elementor-element.elementor-element-93afe6e .elementor-button-content-wrapper{flex-direction:row;}.elementor-314 .elementor-element.elementor-element-4820aba{--display:flex;}.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-314 .elementor-element.elementor-element-7b9fc4d{--display:flex;}.elementor-314 .elementor-element.elementor-element-1d4eabf{--display:flex;}.elementor-314 .elementor-element.elementor-element-ce17f0e .elementor-button-content-wrapper{flex-direction:row;}.elementor-314 .elementor-element.elementor-element-671dc35{--display:flex;}.elementor-314 .elementor-element.elementor-element-5d409a9{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;}.elementor-314 .elementor-element.elementor-element-74905c0{text-align:center;}.elementor-314 .elementor-element.elementor-element-74905c0 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-size:2.5em;font-weight:600;color:var( --e-global-color-d387ac1 );}.elementor-314 .elementor-element.elementor-element-6598830{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:200px 200px;--row-gap:200px;--column-gap:200px;}.elementor-314 .elementor-element.elementor-element-f330111{--display:flex;}.elementor-314 .elementor-element.elementor-element-8f77de8{--display:flex;}.elementor-314 .elementor-element.elementor-element-0da63c5{--display:flex;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-314 .elementor-element.elementor-element-5e38d28 .elementor-icon-wrapper{text-align:center;}.elementor-314 .elementor-element.elementor-element-5e38d28.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-d387ac1 );}.elementor-314 .elementor-element.elementor-element-5e38d28.elementor-view-framed .elementor-icon, .elementor-314 .elementor-element.elementor-element-5e38d28.elementor-view-default .elementor-icon{color:var( --e-global-color-d387ac1 );border-color:var( --e-global-color-d387ac1 );}.elementor-314 .elementor-element.elementor-element-5e38d28.elementor-view-framed .elementor-icon, .elementor-314 .elementor-element.elementor-element-5e38d28.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-d387ac1 );}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-314 .elementor-element.elementor-element-c902ab4 .elementor-heading-title{font-size:2.5em;}.elementor-314 .elementor-element.elementor-element-74905c0{text-align:center;}.elementor-314 .elementor-element.elementor-element-74905c0 .elementor-heading-title{font-size:2em;}}@media(max-width:767px){.elementor-314 .elementor-element.elementor-element-c902ab4 .elementor-heading-title{font-size:2em;}.elementor-314 .elementor-element.elementor-element-74905c0 .elementor-heading-title{font-size:1.2em;}}/* Start custom CSS for container, class: .elementor-element-1668ac0 */.elementor-314 .elementor-element.elementor-element-1668ac0 {
  --case-card-width: 85%;
  --case-card-max-width: 1120px;

  --case-card-padding-top: 16px;
  --case-card-padding-right: 48px;
  --case-card-padding-left: 48px;

  --case-card-image-width: 150px;
  --case-card-image-height: 120px;

  --case-card-badge-size: 32px;
  --case-card-badge-offset: -8px;

  --case-card-button-width: 133px;
  --case-card-button-height: 27px;
  --case-card-button-gap: 32px;

  --case-card-gap: 28px;
  --case-card-slant: 22px;

  --case-card-content-width: 520px;
  --case-card-content-gap: 12px;

  --case-card-title-size: 18px;
  --case-card-title-line: 24px;

  --case-card-desc-size: 9px;
  --case-card-desc-line: 13px;

  --case-card-bg-height: calc(
    var(--case-card-padding-top) +
    var(--case-card-image-height) +
    var(--case-card-button-gap) +
    (var(--case-card-button-height) / 2)
  );

  --case-card-total-height: calc(
    var(--case-card-padding-top) +
    var(--case-card-image-height) +
    var(--case-card-button-gap) +
    var(--case-card-button-height) +
    10px
  );

  position: relative;

  width: var(--case-card-width) !important;
  max-width: var(--case-card-max-width) !important;

  height: var(--case-card-total-height) !important;
  min-height: var(--case-card-total-height) !important;
  max-height: var(--case-card-total-height) !important;

  margin: 0 auto 0 0 !important;
  padding: 0 !important;

  background: transparent !important;
  overflow: visible !important;

  font-family: "Manrope", sans-serif;
}

.elementor-314 .elementor-element.elementor-element-1668ac0::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: var(--case-card-bg-height);

  background: #1d1e20;

  clip-path: polygon(
    0 0,
    100% 0,
    calc(100% - var(--case-card-slant)) 100%,
    0 100%
  );

  z-index: 0;
  pointer-events: none;
}

.elementor-314 .elementor-element.elementor-element-1668ac0 * {
  box-sizing: border-box;
}

/* Główny wrapper Elementora */

.elementor-314 .elementor-element.elementor-element-1668ac0 > .e-con-inner {
  position: relative;
  z-index: 1;

  width: 100% !important;
  max-width: none !important;

  height: var(--case-card-bg-height) !important;
  min-height: var(--case-card-bg-height) !important;
  max-height: var(--case-card-bg-height) !important;

  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: var(--case-card-gap) !important;

  margin: 0 !important;

  padding: var(--case-card-padding-top)
    var(--case-card-padding-right)
    0
    var(--case-card-padding-left) !important;

  overflow: visible !important;
}

/* =========================================================
   LEWA CZĘŚĆ — obrazek, badge, button
   ========================================================= */

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-media {
  position: relative !important;
  z-index: 3;

  width: var(--case-card-image-width) !important;
  min-width: var(--case-card-image-width) !important;
  max-width: var(--case-card-image-width) !important;

  height: calc(
    var(--case-card-image-height) +
    var(--case-card-button-gap) +
    var(--case-card-button-height)
  ) !important;

  min-height: 0 !important;
  max-height: none !important;

  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  flex: 0 0 var(--case-card-image-width) !important;

  overflow: visible !important;
}

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-media > .e-con-inner {
  position: static !important;

  width: 100% !important;
  max-width: none !important;

  height: 100% !important;
  min-height: 0 !important;

  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;
}

/* Obrazek */

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-image {
  position: relative !important;

  width: var(--case-card-image-width) !important;
  min-width: var(--case-card-image-width) !important;
  max-width: var(--case-card-image-width) !important;

  height: var(--case-card-image-height) !important;
  min-height: var(--case-card-image-height) !important;
  max-height: var(--case-card-image-height) !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;
}

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-image .elementor-widget-container {
  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  line-height: 0 !important;
}

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-image img {
  width: 100% !important;
  height: 100% !important;

  display: block !important;

  object-fit: cover !important;
  object-position: center center !important;

  border: 2px solid #000000 !important;
}

/* Badge — bez dodatkowego borderu CSS */

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-badge {
  position: absolute !important;

  top: var(--case-card-badge-offset) !important;
  right: var(--case-card-badge-offset) !important;

  width: var(--case-card-badge-size) !important;
  min-width: var(--case-card-badge-size) !important;
  max-width: var(--case-card-badge-size) !important;

  height: var(--case-card-badge-size) !important;
  min-height: var(--case-card-badge-size) !important;
  max-height: var(--case-card-badge-size) !important;

  margin: 0 !important;
  padding: 0 !important;

  z-index: 5 !important;
}

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-badge .elementor-widget-container {
  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  line-height: 0 !important;
}

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-badge img {
  width: 100% !important;
  height: 100% !important;

  display: block !important;

  object-fit: contain !important;
  object-position: center center !important;

  border: 0 !important;
  border-radius: 0 !important;
}

/* Button — pod obrazkiem, przecina dolną krawędź czarnego pola */

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-button {
  position: absolute !important;

  top: calc(
    var(--case-card-image-height) +
    var(--case-card-button-gap)
  ) !important;

  left: calc(
    (var(--case-card-image-width) - var(--case-card-button-width)) / 2
  ) !important;

  width: var(--case-card-button-width) !important;
  min-width: var(--case-card-button-width) !important;
  max-width: var(--case-card-button-width) !important;

  height: var(--case-card-button-height) !important;
  min-height: var(--case-card-button-height) !important;
  max-height: var(--case-card-button-height) !important;

  margin: 0 !important;
  padding: 0 !important;

  z-index: 6 !important;
}

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-button .elementor-button-wrapper {
  width: 100% !important;
  height: 100% !important;
}

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-button .elementor-button {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 4px 8px !important;

  background: #f9a928 !important;
  border: 2px solid #000000 !important;
  border-radius: 2px !important;

  color: #000000 !important;
  text-decoration: none !important;

  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-button .elementor-button-text {
  color: #000000 !important;

  font-family: "Manrope", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 19px !important;
  text-align: center !important;

  white-space: nowrap !important;
  text-transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-button .elementor-button:hover {
    background: #f9a928 !important;
    color: #000000 !important;

    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.22);
  }
}

/* =========================================================
   PRAWA CZĘŚĆ — tekst
   ========================================================= */

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-content {
  position: relative !important;
  z-index: 2;

  width: var(--case-card-content-width) !important;
  max-width: var(--case-card-content-width) !important;
  min-width: 0 !important;

  height: calc(
    var(--case-card-bg-height) -
    var(--case-card-padding-top)
  ) !important;

  min-height: 0 !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  flex: 0 1 var(--case-card-content-width) !important;

  overflow: hidden !important;
}

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-content > .e-con-inner {
  width: 100% !important;
  max-width: none !important;

  height: 100% !important;
  min-height: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: var(--case-card-content-gap) !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-title {
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  flex: 0 0 auto !important;
}

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-title .elementor-heading-title {
  width: 100% !important;
  margin: 0 !important;

  color: #ffffff !important;

  font-family: "Manrope", sans-serif !important;
  font-size: var(--case-card-title-size) !important;
  font-weight: 700 !important;
  line-height: var(--case-card-title-line) !important;
  text-align: start !important;
}

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-description {
  width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;

  flex: 1 1 auto !important;
}

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-description .elementor-widget-container,
.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-description p {
  margin: 0 !important;
  padding: 0 !important;

  color: #ffffff !important;

  font-family: "Manrope", sans-serif !important;
  font-size: var(--case-card-desc-size) !important;
  font-weight: 500 !important;
  line-height: var(--case-card-desc-line) !important;
  text-align: justify !important;
}

/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 1025px) {
  .elementor-314 .elementor-element.elementor-element-1668ac0 {
    --case-card-width: 85%;
    --case-card-max-width: 1120px;

    --case-card-padding-top: 16px;
    --case-card-padding-right: 48px;
    --case-card-padding-left: 48px;

    --case-card-image-width: 150px;
    --case-card-image-height: 120px;

    --case-card-button-width: 133px;
    --case-card-button-height: 27px;
    --case-card-button-gap: 32px;

    --case-card-gap: 28px;
    --case-card-slant: 22px;

    --case-card-content-width: 520px;
    --case-card-content-gap: 12px;

    --case-card-title-size: 18px;
    --case-card-title-line: 24px;

    --case-card-desc-size: 9px;
    --case-card-desc-line: 13px;
  }
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {
  .elementor-314 .elementor-element.elementor-element-1668ac0 {
    --case-card-width: 100%;
    --case-card-max-width: none;

    --case-card-padding-top: 16px;
    --case-card-padding-right: 32px;
    --case-card-padding-left: 32px;

    --case-card-gap: 22px;
    --case-card-slant: 22px;

    --case-card-content-width: 420px;

    --case-card-title-size: 16px;
    --case-card-title-line: 22px;

    --case-card-desc-size: 8.5px;
    --case-card-desc-line: 12px;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {
  .elementor-314 .elementor-element.elementor-element-1668ac0 {
    --case-card-width: 100%;
    --case-card-max-width: none;

    --case-card-padding-top: 16px;
    --case-card-padding-right: 24px;
    --case-card-padding-left: 24px;

    --case-card-image-width: 150px;
    --case-card-image-height: 120px;

    --case-card-button-width: 133px;
    --case-card-button-height: 27px;
    --case-card-button-gap: 32px;

    --case-card-gap: 16px;
    --case-card-slant: 22px;

    --case-card-content-width: none;

    --case-card-title-size: 14px;
    --case-card-title-line: 20px;

    --case-card-desc-size: 8px;
    --case-card-desc-line: 11px;
  }

  .elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-content {
    width: auto !important;
    max-width: none !important;
    flex: 1 1 auto !important;
  }
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {
  .elementor-314 .elementor-element.elementor-element-1668ac0 {
    --case-card-padding-top: 14px;
    --case-card-padding-right: 16px;
    --case-card-padding-left: 16px;

    --case-card-image-width: 132px;
    --case-card-image-height: 106px;

    --case-card-badge-size: 28px;
    --case-card-badge-offset: -7px;

    --case-card-button-width: 118px;
    --case-card-button-height: 25px;
    --case-card-button-gap: 28px;

    --case-card-gap: 12px;
    --case-card-slant: 18px;

    --case-card-title-size: 13px;
    --case-card-title-line: 18px;

    --case-card-desc-size: 7.3px;
    --case-card-desc-line: 10.2px;
  }

  .elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-button .elementor-button-text {
    font-size: 12px !important;
    line-height: 16px !important;
  }
}/* =========================================================
   DESKTOP — powiększenie case card i przesunięcie CTA
   ========================================================= */

@media (min-width: 1025px) {
  .elementor-314 .elementor-element.elementor-element-1668ac0 {
    --case-card-width: 88%;
    --case-card-max-width: 1360px;

    --case-card-padding-top: 34px;
    --case-card-padding-left: 78px;
    --case-card-padding-right: 96px;

    --case-card-image-width: 230px;
    --case-card-image-height: 184px;

    --case-card-badge-size: 44px;
    --case-card-badge-offset: -12px;

    --case-card-button-width: 190px;
    --case-card-button-height: 44px;
    --case-card-button-gap: 34px;

    --case-card-gap: 64px;
    --case-card-slant: 36px;

    --case-card-content-width: 720px;
    --case-card-content-gap: 22px;

    --case-card-title-size: 32px;
    --case-card-title-line: 40px;

    --case-card-desc-size: 16px;
    --case-card-desc-line: 25px;
  }

  .elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-button {
    left: calc(
      ((var(--case-card-image-width) - var(--case-card-button-width)) / 2) + 72px
    ) !important;
  }

  .elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-button .elementor-button {
    border-width: 5px !important;
    border-radius: 4px !important;
  }

  .elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-button .elementor-button-text {
    font-size: 20px !important;
    line-height: 26px !important;
  }

  .elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-image img {
    border-width: 5px !important;
  }
}/* =========================================================
   DESKTOP — większa wysokość karty, większy obrazek,
   więcej miejsca na opis
   ========================================================= */

@media (min-width: 1025px) {
  .elementor-314 .elementor-element.elementor-element-1668ac0 {
    --case-card-width: 88%;
    --case-card-max-width: 1360px;

    --case-card-padding-top: 44px;
    --case-card-padding-left: 78px;
    --case-card-padding-right: 96px;

    --case-card-image-width: 280px;
    --case-card-image-height: 224px;

    --case-card-badge-size: 48px;
    --case-card-badge-offset: -13px;

    --case-card-button-width: 210px;
    --case-card-button-height: 48px;
    --case-card-button-gap: 54px;

    --case-card-gap: 72px;
    --case-card-slant: 42px;

    --case-card-content-width: 760px;
    --case-card-content-gap: 24px;

    --case-card-title-size: 36px;
    --case-card-title-line: 46px;

    --case-card-desc-size: 16px;
    --case-card-desc-line: 26px;
  }

  .elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-content {
    overflow: visible !important;
  }

  .elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-content > .e-con-inner {
    overflow: visible !important;
  }

  .elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-description {
    overflow: visible !important;
  }

  .elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-description .elementor-widget-container,
  .elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-description p {
    overflow: visible !important;
  }

  .elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-button {
    left: calc(
      ((var(--case-card-image-width) - var(--case-card-button-width)) / 2) + 88px
    ) !important;
  }

  .elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-button .elementor-button {
    border-width: 5px !important;
    border-radius: 4px !important;
  }

  .elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-button .elementor-button-text {
    font-size: 21px !important;
    line-height: 27px !important;
  }

  .elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-image img {
    border-width: 5px !important;
  }
}
/* =========================================================
   OPIS — szybsze, płynniejsze zmniejszanie przy zwężaniu ekranu
   Dotyczy tylko opisu, nie nagłówka.
   ========================================================= */

/* Desktop / laptop */
@media (min-width: 1025px) {
  .elementor-314 .elementor-element.elementor-element-1668ac0 {
    --case-card-desc-size: clamp(16px, 1vw, 22px);
    --case-card-desc-line: clamp(17px, 1.35vw, 25px);
  }
}

/* Tablet */
@media (max-width: 1024px) {
  .elementor-314 .elementor-element.elementor-element-1668ac0 {
    --case-card-desc-size: clamp(9px, 1.15vw, 11px);
    --case-card-desc-line: clamp(10px, 1.4vw, 14px);
  }
}

/* Telefon */
@media (max-width: 767px) {
  .elementor-314 .elementor-element.elementor-element-1668ac0 {
    --case-card-desc-size: clamp(7px, 1.8vw, 8px);
    --case-card-desc-line: clamp(9.5px, 2.4vw, 11px);
  }
}

/* Mały telefon */
@media (max-width: 480px) {
  .elementor-314 .elementor-element.elementor-element-1668ac0 {
    --case-card-desc-size: clamp(6.6px, 1.9vw, 7.3px);
    --case-card-desc-line: clamp(9px, 2.55vw, 10.2px);
  }
}


/* Ikona w przycisku case-card */

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-button .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-button .elementor-button-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-314 .elementor-element.elementor-element-1668ac0 .case-card-button .elementor-button-icon svg {
  width: 1.2em !important;
  height: 1.2em !important;

  fill: currentColor !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-7b9fc4d */.elementor-314 .elementor-element.elementor-element-7b9fc4d {
  --case-card-width: 85%;
  --case-card-max-width: 1120px;

  --case-card-padding-top: 16px;
  --case-card-padding-right: 48px;
  --case-card-padding-left: 48px;

  --case-card-image-width: 150px;
  --case-card-image-height: 120px;

  --case-card-badge-size: 32px;
  --case-card-badge-offset: -8px;

  --case-card-button-width: 133px;
  --case-card-button-height: 27px;
  --case-card-button-gap: 32px;

  --case-card-gap: 28px;
  --case-card-slant: 22px;

  --case-card-content-width: 520px;
  --case-card-content-gap: 12px;

  --case-card-title-size: 20px;
  --case-card-title-line: 26px;

  --case-card-desc-size: 9px;
  --case-card-desc-line: 13px;

  --case-card-bg-height: calc(
    var(--case-card-padding-top) +
    var(--case-card-image-height) +
    var(--case-card-button-gap) +
    (var(--case-card-button-height) / 2)
  );

  --case-card-total-height: calc(
    var(--case-card-padding-top) +
    var(--case-card-image-height) +
    var(--case-card-button-gap) +
    var(--case-card-button-height) +
    50px
  );

  position: relative;

  width: var(--case-card-width) !important;
  max-width: var(--case-card-max-width) !important;

  height: var(--case-card-total-height) !important;
  min-height: var(--case-card-total-height) !important;
  max-height: var(--case-card-total-height) !important;

  margin: 0 auto 0 0 !important;
  padding: 0 !important;

  background: transparent !important;
  overflow: visible !important;

  font-family: "Manrope", sans-serif;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  height: var(--case-card-bg-height);

  background: #1d1e20;

  clip-path: polygon(
    0 0,
    100% 0,
    calc(100% - var(--case-card-slant)) 100%,
    0 100%
  );

  z-index: 0;
  pointer-events: none;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d * {
  box-sizing: border-box;
}

/* Główny wrapper Elementora */

.elementor-314 .elementor-element.elementor-element-7b9fc4d > .e-con-inner {
  position: relative;
  z-index: 1;

  width: 100% !important;
  max-width: none !important;

  height: var(--case-card-bg-height) !important;
  min-height: var(--case-card-bg-height) !important;
  max-height: var(--case-card-bg-height) !important;

  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: var(--case-card-gap) !important;

  margin: 0 !important;

  padding: var(--case-card-padding-top)
    var(--case-card-padding-right)
    0
    var(--case-card-padding-left) !important;

  overflow: visible !important;
}

/* =========================================================
   LEWA CZĘŚĆ — obrazek, badge, button
   ========================================================= */

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-media {
  position: relative !important;
  z-index: 3;

  width: var(--case-card-image-width) !important;
  min-width: var(--case-card-image-width) !important;
  max-width: var(--case-card-image-width) !important;

  height: calc(
    var(--case-card-image-height) +
    var(--case-card-button-gap) +
    var(--case-card-button-height)
  ) !important;

  min-height: 0 !important;
  max-height: none !important;

  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  flex: 0 0 var(--case-card-image-width) !important;

  overflow: visible !important;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-media > .e-con-inner {
  position: static !important;

  width: 100% !important;
  max-width: none !important;

  height: 100% !important;
  min-height: 0 !important;

  display: block !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;
}

/* Obrazek */

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-image {
  position: relative !important;

  width: var(--case-card-image-width) !important;
  min-width: var(--case-card-image-width) !important;
  max-width: var(--case-card-image-width) !important;

  height: var(--case-card-image-height) !important;
  min-height: var(--case-card-image-height) !important;
  max-height: var(--case-card-image-height) !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-image .elementor-widget-container {
  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  line-height: 0 !important;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-image img {
  width: 100% !important;
  height: 100% !important;

  display: block !important;

  object-fit: cover !important;
  object-position: center center !important;

  border: 2px solid #000000 !important;
}

/* Badge — bez dodatkowego borderu CSS */

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-badge {
  position: absolute !important;

  top: var(--case-card-badge-offset) !important;
  right: var(--case-card-badge-offset) !important;

  width: var(--case-card-badge-size) !important;
  min-width: var(--case-card-badge-size) !important;
  max-width: var(--case-card-badge-size) !important;

  height: var(--case-card-badge-size) !important;
  min-height: var(--case-card-badge-size) !important;
  max-height: var(--case-card-badge-size) !important;

  margin: 0 !important;
  padding: 0 !important;

  z-index: 5 !important;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-badge .elementor-widget-container {
  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  line-height: 0 !important;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-badge img {
  width: 100% !important;
  height: 100% !important;

  display: block !important;

  object-fit: contain !important;
  object-position: center center !important;

  border: 0 !important;
  border-radius: 0 !important;
}

/* Button — pod obrazkiem, przecina dolną krawędź czarnego pola */

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-button {
  position: absolute !important;

  top: calc(
    var(--case-card-image-height) +
    var(--case-card-button-gap)
  ) !important;

  left: calc(
    (var(--case-card-image-width) - var(--case-card-button-width)) / 2
  ) !important;

  width: var(--case-card-button-width) !important;
  min-width: var(--case-card-button-width) !important;
  max-width: var(--case-card-button-width) !important;

  height: var(--case-card-button-height) !important;
  min-height: var(--case-card-button-height) !important;
  max-height: var(--case-card-button-height) !important;

  margin: 0 !important;
  padding: 0 !important;

  z-index: 6 !important;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-button .elementor-button-wrapper {
  width: 100% !important;
  height: 100% !important;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-button .elementor-button {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 4px 8px !important;

  background: #f9a928 !important;
  border: 2px solid #000000 !important;
  border-radius: 2px !important;

  color: #000000 !important;
  text-decoration: none !important;

  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-button .elementor-button-text {
  color: #000000 !important;

  font-family: "Manrope", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 19px !important;
  text-align: center !important;

  white-space: nowrap !important;
  text-transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
  .elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-button .elementor-button:hover {
    background: #f9a928 !important;
    color: #000000 !important;

    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.22);
  }
}

/* =========================================================
   PRAWA CZĘŚĆ — tekst
   ========================================================= */

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-content {
  position: relative !important;
  z-index: 2;

  width: var(--case-card-content-width) !important;
  max-width: var(--case-card-content-width) !important;
  min-width: 0 !important;

  height: calc(
    var(--case-card-bg-height) -
    var(--case-card-padding-top)
  ) !important;

  min-height: 0 !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  flex: 0 1 var(--case-card-content-width) !important;

  overflow: hidden !important;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-content > .e-con-inner {
  width: 100% !important;
  max-width: none !important;

  height: 100% !important;
  min-height: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: var(--case-card-content-gap) !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-title {
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  flex: 0 0 auto !important;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-title .elementor-heading-title {
  width: 100% !important;
  margin: 0 !important;

  color: #ffffff !important;

  font-family: "Manrope", sans-serif !important;
  font-size: var(--case-card-title-size) !important;
  font-weight: 700 !important;
  line-height: var(--case-card-title-line) !important;
  text-align: center !important;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-description {
  width: 100% !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;

  flex: 1 1 auto !important;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-description .elementor-widget-container,
.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-description p {
  margin: 0 !important;
  padding: 0 !important;

  color: #ffffff !important;

  font-family: "Manrope", sans-serif !important;
  font-size: var(--case-card-desc-size) !important;
  font-weight: 500 !important;
  line-height: var(--case-card-desc-line) !important;
  text-align: justify !important;
}

/* =========================================================
   DESKTOP
   ========================================================= */

@media (min-width: 1025px) {
  .elementor-314 .elementor-element.elementor-element-7b9fc4d {
    --case-card-width: 85%;
    --case-card-max-width: 1120px;

    --case-card-padding-top: 16px;
    --case-card-padding-right: 48px;
    --case-card-padding-left: 48px;

    --case-card-image-width: 150px;
    --case-card-image-height: 120px;

    --case-card-button-width: 133px;
    --case-card-button-height: 27px;
    --case-card-button-gap: 32px;

    --case-card-gap: 28px;
    --case-card-slant: 22px;

    --case-card-content-width: 520px;
    --case-card-content-gap: 12px;

    --case-card-title-size: 20px;
    --case-card-title-line: 26px;

    --case-card-desc-size: 9px;
    --case-card-desc-line: 13px;
  }
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1024px) {
  .elementor-314 .elementor-element.elementor-element-7b9fc4d {
    --case-card-width: 100%;
    --case-card-max-width: none;

    --case-card-padding-top: 16px;
    --case-card-padding-right: 32px;
    --case-card-padding-left: 32px;

    --case-card-gap: 22px;
    --case-card-slant: 22px;

    --case-card-content-width: 420px;

    --case-card-title-size: 18px;
    --case-card-title-line: 24px;

    --case-card-desc-size: 8.5px;
    --case-card-desc-line: 12px;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {
  .elementor-314 .elementor-element.elementor-element-7b9fc4d {
    --case-card-width: 100%;
    --case-card-max-width: none;

    --case-card-padding-top: 16px;
    --case-card-padding-right: 24px;
    --case-card-padding-left: 24px;

    --case-card-image-width: 150px;
    --case-card-image-height: 120px;

    --case-card-button-width: 133px;
    --case-card-button-height: 27px;
    --case-card-button-gap: 32px;

    --case-card-gap: 16px;
    --case-card-slant: 22px;

    --case-card-content-width: none;

    --case-card-title-size: 16px;
    --case-card-title-line: 22px;

    --case-card-desc-size: 8px;
    --case-card-desc-line: 11px;
  }

  .elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-content {
    width: auto !important;
    max-width: none !important;
    flex: 1 1 auto !important;
  }
}

/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {
  .elementor-314 .elementor-element.elementor-element-7b9fc4d {
    --case-card-padding-top: 14px;
    --case-card-padding-right: 16px;
    --case-card-padding-left: 16px;

    --case-card-image-width: 132px;
    --case-card-image-height: 106px;

    --case-card-badge-size: 28px;
    --case-card-badge-offset: -7px;

    --case-card-button-width: 118px;
    --case-card-button-height: 25px;
    --case-card-button-gap: 28px;

    --case-card-gap: 12px;
    --case-card-slant: 18px;

    --case-card-title-size: 15px;
    --case-card-title-line: 20px;

    --case-card-desc-size: 7.3px;
    --case-card-desc-line: 10.2px;
  }

  .elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-button .elementor-button-text {
    font-size: 12px !important;
    line-height: 16px !important;
  }
}/* =========================================================
   DESKTOP — powiększenie case card i przesunięcie CTA
   ========================================================= */

@media (min-width: 1025px) {
  .elementor-314 .elementor-element.elementor-element-7b9fc4d {
    --case-card-width: 88%;
    --case-card-max-width: 1360px;

    --case-card-padding-top: 34px;
    --case-card-padding-left: 78px;
    --case-card-padding-right: 96px;

    --case-card-image-width: 230px;
    --case-card-image-height: 184px;

    --case-card-badge-size: 44px;
    --case-card-badge-offset: -12px;

    --case-card-button-width: 190px;
    --case-card-button-height: 44px;
    --case-card-button-gap: 34px;

    --case-card-gap: 64px;
    --case-card-slant: 36px;

    --case-card-content-width: 720px;
    --case-card-content-gap: 22px;

    --case-card-title-size: 34px;
    --case-card-title-line: 42px;

    --case-card-desc-size: 16px;
    --case-card-desc-line: 25px;
  }

  .elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-button {
    left: calc(
      ((var(--case-card-image-width) - var(--case-card-button-width)) / 2) + 72px
    ) !important;
  }

  .elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-button .elementor-button {
    border-width: 5px !important;
    border-radius: 4px !important;
  }

  .elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-button .elementor-button-text {
    font-size: 20px !important;
    line-height: 26px !important;
  }

  .elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-image img {
    border-width: 5px !important;
  }
}/* =========================================================
   DESKTOP — większa wysokość karty, większy obrazek,
   więcej miejsca na opis
   ========================================================= */

@media (min-width: 1025px) {
  .elementor-314 .elementor-element.elementor-element-7b9fc4d {
    --case-card-width: 88%;
    --case-card-max-width: 1360px;

    --case-card-padding-top: 44px;
    --case-card-padding-left: 78px;
    --case-card-padding-right: 96px;

    --case-card-image-width: 280px;
    --case-card-image-height: 224px;

    --case-card-badge-size: 48px;
    --case-card-badge-offset: -13px;

    --case-card-button-width: 210px;
    --case-card-button-height: 48px;
    --case-card-button-gap: 54px;

    --case-card-gap: 72px;
    --case-card-slant: 42px;

    --case-card-content-width: 760px;
    --case-card-content-gap: 24px;

    --case-card-title-size: 36px;
    --case-card-title-line: 46px;

    --case-card-desc-size: 16px;
    --case-card-desc-line: 26px;
  }

  .elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-content {
    overflow: visible !important;
  }

  .elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-content > .e-con-inner {
    overflow: visible !important;
  }

  .elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-description {
    overflow: visible !important;
  }

  .elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-description .elementor-widget-container,
  .elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-description p {
    overflow: visible !important;
  }

  .elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-button {
    left: calc(
      ((var(--case-card-image-width) - var(--case-card-button-width)) / 2) + 88px
    ) !important;
  }

  .elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-button .elementor-button {
    border-width: 5px !important;
    border-radius: 4px !important;
  }

  .elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-button .elementor-button-text {
    font-size: 21px !important;
    line-height: 27px !important;
  }

  .elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-image img {
    border-width: 5px !important;
  }
}
/* =========================================================
   OPIS — szybsze, płynniejsze zmniejszanie przy zwężaniu ekranu
   Dotyczy tylko opisu, nie nagłówka.
   ========================================================= */

/* Desktop / laptop */
@media (min-width: 1025px) {
  .elementor-314 .elementor-element.elementor-element-7b9fc4d {
    --case-card-desc-size: clamp(16px, 1vw, 22px);
    --case-card-desc-line: clamp(17px, 1.35vw, 25px);
  }
}

/* Tablet */
@media (max-width: 1024px) {
  .elementor-314 .elementor-element.elementor-element-7b9fc4d {
    --case-card-desc-size: clamp(9px, 1.15vw, 11px);
    --case-card-desc-line: clamp(10px, 1.4vw, 14px);
  }
}

/* Telefon */
@media (max-width: 767px) {
  .elementor-314 .elementor-element.elementor-element-7b9fc4d {
    --case-card-desc-size: clamp(7px, 1.8vw, 8px);
    --case-card-desc-line: clamp(9.5px, 2.4vw, 11px);
  }
}

/* Mały telefon */
@media (max-width: 480px) {
  .elementor-314 .elementor-element.elementor-element-7b9fc4d {
    --case-card-desc-size: clamp(6.6px, 1.9vw, 7.3px);
    --case-card-desc-line: clamp(9px, 2.55vw, 10.2px);
  }
}/* =========================================================
   CASE CARD — WERSJA ODWRÓCONA
   Klasa na głównym kontenerze:
   case-card case-card-reverse
   ========================================================= */

.elementor-314 .elementor-element.elementor-element-7b9fc4d.case-card-reverse {
  margin-left: auto !important;
  margin-right: 0 !important;
}

/* Odwrócony skos — teraz skos jest po lewej stronie */

.elementor-314 .elementor-element.elementor-element-7b9fc4d.case-card-reverse::before {
  clip-path: polygon(
    var(--case-card-slant) 0,
    100% 0,
    100% 100%,
    0 100%
  ) !important;
}

/* Odwrócenie kolejności: tekst po lewej, obrazek po prawej */

.elementor-314 .elementor-element.elementor-element-7b9fc4d.case-card-reverse > .e-con-inner {
  flex-direction: row-reverse !important;
}

/* Przy odwróconym skosie dajemy więcej oddechu po lewej stronie */

.elementor-314 .elementor-element.elementor-element-7b9fc4d.case-card-reverse {
  --case-card-padding-left: 96px;
  --case-card-padding-right: 78px;
}

/* Tekst w wersji odwróconej wyrównany do lewej */

.elementor-314 .elementor-element.elementor-element-7b9fc4d.case-card-reverse .case-card-title .elementor-heading-title {
  text-align: left !important;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d.case-card-reverse .case-card-description .elementor-widget-container,
.elementor-314 .elementor-element.elementor-element-7b9fc4d.case-card-reverse .case-card-description p {
  text-align: justify !important;
}

/* Badge przechodzi na lewy górny róg obrazka */

.elementor-314 .elementor-element.elementor-element-7b9fc4d.case-card-reverse .case-card-badge {
  left: var(--case-card-badge-offset) !important;
  right: auto !important;
}

/* Button pod obrazkiem — lustrzane przesunięcie względem normalnej karty */

@media (min-width: 1025px) {
  .elementor-314 .elementor-element.elementor-element-7b9fc4d.case-card-reverse .case-card-button {
    left: calc(
      ((var(--case-card-image-width) - var(--case-card-button-width)) / 2) - 88px
    ) !important;
  }
}

/* Tablet */

@media (max-width: 1024px) {
  .elementor-314 .elementor-element.elementor-element-7b9fc4d.case-card-reverse {
    --case-card-padding-left: 48px;
    --case-card-padding-right: 32px;
  }

  .elementor-314 .elementor-element.elementor-element-7b9fc4d.case-card-reverse .case-card-button {
    left: calc(
      ((var(--case-card-image-width) - var(--case-card-button-width)) / 2) - 32px
    ) !important;
  }
}

/* Telefon */

@media (max-width: 767px) {
  .elementor-314 .elementor-element.elementor-element-7b9fc4d.case-card-reverse {
    --case-card-padding-left: 24px;
    --case-card-padding-right: 24px;
  }

  .elementor-314 .elementor-element.elementor-element-7b9fc4d.case-card-reverse .case-card-button {
    left: calc(
      (var(--case-card-image-width) - var(--case-card-button-width)) / 2
    ) !important;
  }

  .elementor-314 .elementor-element.elementor-element-7b9fc4d.case-card-reverse .case-card-title .elementor-heading-title {
    text-align: center !important;
  }
}

/* Mały telefon */

@media (max-width: 480px) {
  .elementor-314 .elementor-element.elementor-element-7b9fc4d.case-card-reverse {
    --case-card-padding-left: 16px;
    --case-card-padding-right: 16px;
  }
}

/* Ikona w przycisku case-card */

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-button .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-button .elementor-button-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-314 .elementor-element.elementor-element-7b9fc4d .case-card-button .elementor-button-icon svg {
  width: 1.2em !important;
  height: 1.2em !important;

  fill: currentColor !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f330111 */.elementor-314 .elementor-element.elementor-element-f330111 {
  width: 520px;
  max-width: 100%;
  font-family: "Manrope", sans-serif;
  color: #000000;
}

.elementor-314 .elementor-element.elementor-element-f330111 * {
  box-sizing: border-box;
}

/* Labels */

.elementor-314 .elementor-element.elementor-element-f330111 label,
.elementor-314 .elementor-element.elementor-element-f330111 .e-form-label,
.elementor-314 .elementor-element.elementor-element-f330111 [class*="label"] {
  color: #000000;
  font-family: "Manrope", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 24px;
  margin: 0 0 4px;
}

/* Inputs */

.elementor-314 .elementor-element.elementor-element-f330111 input:not([type="checkbox"]):not([type="submit"]),
.elementor-314 .elementor-element.elementor-element-f330111 textarea {
  width: 100%;
  background: #ffffff;
  border: 5px solid #000000;
  border-radius: 5px;
  padding: 6px 14px;
  color: #000000;
  font-family: "Manrope", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 22px;
  box-shadow: none;
  outline: none;
}

.elementor-314 .elementor-element.elementor-element-f330111 input:not([type="checkbox"]):not([type="submit"]) {
  height: 42px;
}

.elementor-314 .elementor-element.elementor-element-f330111 textarea {
  min-height: 88px;
  max-height: 88px;
  resize: none;
}

.elementor-314 .elementor-element.elementor-element-f330111 input::placeholder,
.elementor-314 .elementor-element.elementor-element-f330111 textarea::placeholder {
  color: #444444;
  opacity: 0.65;
}

.elementor-314 .elementor-element.elementor-element-f330111 input:not([type="checkbox"]):not([type="submit"]):focus,
.elementor-314 .elementor-element.elementor-element-f330111 textarea:focus {
  border-color: #000000;
  box-shadow: 0 0 0 2px rgba(249, 169, 40, 0.3);
}

/* Vertical spacing */

.elementor-314 .elementor-element.elementor-element-f330111 > *,
.elementor-314 .elementor-element.elementor-element-f330111 .elementor-widget,
.elementor-314 .elementor-element.elementor-element-f330111 [class*="e-form-input"],
.elementor-314 .elementor-element.elementor-element-f330111 [class*="e-form-textarea"],
.elementor-314 .elementor-element.elementor-element-f330111 [class*="e-form-label"] {
  margin-bottom: 8px;
}

/* Checkbox */

.elementor-314 .elementor-element.elementor-element-f330111 .e-form-checkbox-row {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 4px 0 10px;
}

.elementor-314 .elementor-element.elementor-element-f330111 input[type="checkbox"] {
  width: 14px;
  height: 14px;
  min-width: 14px;
  margin: 3px 0 0;
  padding: 0;
  accent-color: #F9A928;
}

.elementor-314 .elementor-element.elementor-element-f330111 .e-form-checkbox-row label,
.elementor-314 .elementor-element.elementor-element-f330111 .e-form-checkbox-row .e-form-label {
  margin: 0;
  color: #000000;
  font-family: "Manrope", sans-serif;
  font-size: 13px;
  font-weight: 400;
  line-height: 17px;
}

.elementor-314 .elementor-element.elementor-element-f330111 .e-form-checkbox-row a {
  color: #000000;
  font-weight: 700;
  text-decoration: underline;
}

/* Submit button */

.elementor-314 .elementor-element.elementor-element-f330111 button,
.elementor-314 .elementor-element.elementor-element-f330111 input[type="submit"],
.elementor-314 .elementor-element.elementor-element-f330111 .e-form-submit-button button {
  width: auto;
  min-width: 260px;
  min-height: 52px;
  padding: 8px 22px;
  background: #F9A928;
  border: 5px solid #000000;
  border-radius: 5px;
  color: #000000;
  font-family: "Manrope", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 32px;
  text-align: center;
  text-transform: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  box-shadow: none;
  cursor: pointer;
  transition: transform 0.22s ease, box-shadow 0.22s ease;
}

@media (hover: hover) and (pointer: fine) {
  .elementor-314 .elementor-element.elementor-element-f330111 button:hover,
  .elementor-314 .elementor-element.elementor-element-f330111 input[type="submit"]:hover,
  .elementor-314 .elementor-element.elementor-element-f330111 .e-form-submit-button button:hover {
    background: #F9A928;
    color: #000000;
    transform: scale(1.03);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
  }
}

/* Success / error */

.elementor-314 .elementor-element.elementor-element-f330111 .e-form-success-message,
.elementor-314 .elementor-element.elementor-element-f330111 .e-form-error-message {
  font-family: "Manrope", sans-serif;
  font-size: 13px;
  line-height: 18px;
  margin-top: 12px;
}

/* Mobile */

@media (max-width: 767px) {
  .elementor-314 .elementor-element.elementor-element-f330111 {
    width: 100%;
    max-width: 520px;
  }

  .elementor-314 .elementor-element.elementor-element-f330111 input:not([type="checkbox"]):not([type="submit"]) {
    height: 44px;
  }

  .elementor-314 .elementor-element.elementor-element-f330111 textarea {
    min-height: 96px;
    max-height: 96px;
  }

  .elementor-314 .elementor-element.elementor-element-f330111 button,
  .elementor-314 .elementor-element.elementor-element-f330111 input[type="submit"],
  .elementor-314 .elementor-element.elementor-element-f330111 .e-form-submit-button button {
    width: 100%;
    min-width: 0;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5d409a9 */.elementor-314 .elementor-element.elementor-element-5d409a9 {
  width: 100%;
  max-width: 100%;
  padding: 50px 24px;
  gap: 16px;

  display: flex;
  flex-direction: column;
  align-items: center;

  font-family: "Manrope", sans-serif;
  color: #000000;
}

.elementor-314 .elementor-element.elementor-element-5d409a9 * {
  box-sizing: border-box;
}

/* Tytuł */

.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-title {
  width: 100%;
  margin: 0;
}

.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-title .elementor-heading-title {
  margin: 0;

  color: #000000;
  font-family: "Manrope", sans-serif;
  font-size: 56px;
  font-weight: 700;
  line-height: 60px;
  text-align: center;
}

/* =========================================================
   DESKTOP
   Formularz po lewej, osoba po prawej.
   ========================================================= */

.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-content {
  width: 100%;
  max-width: 1120px;

  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
  gap: clamp(72px, 8vw, 140px);

  margin: 0;
  padding: 0;
}

.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-form-wrap {
  width: 520px;
  max-width: 100%;
  min-width: 0;

  margin: 0;
  padding: 0;

  flex: 0 1 520px;
}

.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person {
  width: 360px;
  max-width: 100%;
  min-width: 0;

  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 58px;

  margin: 0;
  padding-top: 10px;

  flex: 0 1 360px;
}

.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-image {
  width: 320px;
  max-width: 100%;

  height: auto;
  margin: 0;

  overflow: visible;
}

.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-image .elementor-widget-container {
  margin: 0;
  padding: 0;
  line-height: 0;
}

.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-image img {
  width: 100%;
  height: auto;

  display: block;
  object-fit: contain;
  object-position: center center;
}

.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-info {
  width: 100%;

  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;

  margin: 0;
  padding: 0 12px;
}

.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name,
.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name .elementor-widget-container,
.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name p,
.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name .elementor-heading-title {
  margin: 0;

  color: #000000;
  font-family: "Manrope", sans-serif;
  font-size: 30px;
  font-weight: 500;
  line-height: 38px;
}

.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name strong,
.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name b {
  font-weight: 700;
}

.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details,
.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details .elementor-widget-container,
.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details p {
  margin: 0;

  color: #000000;
  font-family: "Manrope", sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 25px;
}

.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-socials {
  margin: 0;
}

.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-socials img,
.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-socials svg,
.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-socials .elementor-icon {
  width: 36px;
  height: 36px;
  display: block;
}

.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-socials a,
.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-socials .elementor-icon {
  transition: transform 0.22s ease, opacity 0.22s ease;
}

@media (hover: hover) and (pointer: fine) {
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-socials a:hover,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-socials .elementor-icon:hover {
    transform: scale(1.08);
    opacity: 0.85;
  }
}

/* =========================================================
   TABLET
   Osoba nad formularzem — zdjęcie po lewej, dane po prawej.
   ========================================================= */

@media (max-width: 1024px) {
  .elementor-314 .elementor-element.elementor-element-5d409a9 {
    padding: 52px 28px;
    gap: 26px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-title .elementor-heading-title {
    font-size: 46px;
    line-height: 56px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-content {
    max-width: 560px;

    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 22px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person {
    order: -1;

    width: 100%;
    max-width: 540px;
    min-height: 0;

    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 22px;

    margin: 0;
    padding: 0 0 0 12px;

    flex: 0 0 auto;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-image {
    width: 170px;
    min-width: 170px;
    max-width: 170px;

    margin: 0;
    flex: 0 0 170px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-info {
    width: auto;
    min-width: 0;

    flex: 1 1 auto;
    align-items: flex-start;
    gap: 7px;

    margin: 0;
    padding: 0;

    text-align: left;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name .elementor-widget-container,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name p,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name .elementor-heading-title {
    font-size: 27px;
    line-height: 34px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details .elementor-widget-container,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details p {
    font-size: 17px;
    line-height: 23px;
    overflow-wrap: anywhere;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-socials img,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-socials svg,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-socials .elementor-icon {
    width: 28px;
    height: 28px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-form-wrap {
    order: 0;

    width: 100%;
    max-width: 520px;
    min-width: 0;
    min-height: 0;

    margin: 0;
    padding: 0;

    flex: 0 0 auto;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-form-wrap > *,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-form-wrap .elementor-widget-container {
    width: 100%;
    max-width: 100%;
    min-height: 0;
  }
}

/* =========================================================
   TELEFON
   ========================================================= */

@media (max-width: 767px) {
  .elementor-314 .elementor-element.elementor-element-5d409a9 {
    padding: 46px 24px;
    gap: 22px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-title .elementor-heading-title {
    font-size: 40px;
    line-height: 50px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-content {
    max-width: 500px;
    gap: 18px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person {
    gap: 18px;
    padding-left: 10px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-image {
    width: 150px;
    min-width: 150px;
    max-width: 150px;

    flex-basis: 150px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name .elementor-widget-container,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name p,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name .elementor-heading-title {
    font-size: 23px;
    line-height: 29px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details .elementor-widget-container,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details p {
    font-size: 15px;
    line-height: 20px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-form-wrap {
    max-width: 480px;
  }
}

/* =========================================================
   MAŁE TELEFONY
   ========================================================= */

@media (max-width: 480px) {
  .elementor-314 .elementor-element.elementor-element-5d409a9 {
    padding: 40px 16px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-title .elementor-heading-title {
    font-size: 34px;
    line-height: 44px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-content {
    gap: 16px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person {
    gap: 14px;
    padding-left: 8px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-image {
    width: 126px;
    min-width: 126px;
    max-width: 126px;

    flex-basis: 126px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name .elementor-widget-container,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name p,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-name .elementor-heading-title {
    font-size: 20px;
    line-height: 26px;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details .elementor-widget-container,
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details p {
    font-size: 14px;
    line-height: 19px;
  }
}

@media (max-width: 1024px) {
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-content {
    width: 100% !important;
    max-width: 560px !important;

    margin: 0 auto !important;
    padding: 0 !important;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-content > .e-con-inner {
    width: 100% !important;
    max-width: 560px !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;

    gap: 20px !important;

    margin: 0 auto !important;
    padding: 0 !important;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-content > .e-con-inner > .contact-person {
    order: 1 !important;

    width: 100% !important;
    max-width: 540px !important;

    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;

    gap: 22px !important;

    margin: 0 !important;
    padding: 0 0 0 12px !important;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-content > .e-con-inner > .contact-form-wrap {
    order: 2 !important;

    width: 100% !important;
    max-width: 520px !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-image {
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;

    flex: 0 0 170px !important;

    margin: 0 !important;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-info {
    width: auto !important;
    min-width: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    gap: 7px !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;
  }
}

@media (max-width: 767px) {
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-content > .e-con-inner {
    gap: 18px !important;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-content > .e-con-inner > .contact-person {
    gap: 18px !important;
    padding-left: 18px !important;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-image {
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;

    flex-basis: 150px !important;
  }
}

@media (max-width: 480px) {
  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-content > .e-con-inner {
    gap: 16px !important;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-content > .e-con-inner > .contact-person {
    gap: 14px !important;
    padding-left: 14px !important;
  }

  .elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-image {
    width: 126px !important;
    min-width: 126px !important;
    max-width: 126px !important;

    flex-basis: 126px !important;
  }
}

/* =========================================================
   CONTACT — numer telefonu jako czarny link
   ========================================================= */

.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details a,
.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details a:visited,
.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details a:hover,
.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details a:focus,
.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details a:active,
.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details a[href^="tel"],
.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details a[href^="mailto"],
.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details [x-apple-data-detectors],
.elementor-314 .elementor-element.elementor-element-5d409a9 .contact-person-details a[x-apple-data-detectors] {
  color: #000000 !important;
  -webkit-text-fill-color: #000000 !important;
  text-decoration: none !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}/* End custom CSS */