.elementor-87 .elementor-element.elementor-element-b53698d{--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;--overflow:hidden;--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-87 .elementor-element.elementor-element-b53698d:not(.elementor-motion-effects-element-type-background), .elementor-87 .elementor-element.elementor-element-b53698d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#3B5139;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-e3f2bbf */:root{
  --ds-bg: #3B5139;            /* Twoje tło */
  --ds-white: #ffffff;         /* baza */
  --ds-ink: #0b0b0b;           /* "czarny" akcent (bardziej elegancki niż #000) */
  --ds-white-80: rgba(255,255,255,.80);
  --ds-white-60: rgba(255,255,255,.60);
  --ds-line: rgba(255,255,255,.18);
  --ds-radius: 14px;
  --ds-max: 1180px;
}

.ds-footer{
  background: var(--ds-bg);
  color: var(--ds-white);
  margin-top: 64px;
}

.ds-footer__container{
  max-width: var(--ds-max);
  margin: 0 auto;
  padding: 42px 18px 22px;
}

.ds-footer__top{
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.1fr;
  gap: 26px;
  padding-bottom: 26px;
  border-bottom: 1px solid var(--ds-line);
}

/* Brand */
.ds-footer__logo{
  display: inline-block;
  text-decoration: none;
  color: var(--ds-white);
}
.ds-footer__logo-main{
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: 15px;
}
.ds-footer__tagline{
  margin: 12px 0 0 0;
  color: var(--ds-white-80);
  line-height: 1.6;
  max-width: 38ch;
}

/* Titles */
.ds-footer__title{
  margin: 0 0 12px 0;
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ds-white-60);
}

/* Lists */
.ds-footer__list{
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 10px;
}
.ds-footer__label{
  display: block;
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--ds-white-60);
  margin-bottom: 3px;
}

/* Links */
.ds-footer a{
  color: var(--ds-white);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: border-color .15s ease, opacity .15s ease, transform .15s ease;
}
.ds-footer a:hover{
  border-bottom-color: rgba(255,255,255,.55);
  opacity: .95;
}

/* CTA buttons */
.ds-footer__cta-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 2px;
}

.ds-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 650;
  letter-spacing: .02em;
  border: 1px solid transparent;
  white-space: nowrap;
}

.ds-btn--primary{
  background: var(--ds-white);
  color: black !important;
  border-color: var(--ds-white);
}
.ds-btn--primary:hover{
  transform: translateY(-1px);
  border-bottom-color: transparent; /* żeby nie pojawiała się kreska z linków */
}

.ds-btn--ghost{
  background: transparent;
  color: var(--ds-white);
  border-color: rgba(255,255,255,.35);
  z-index: 10;
}
.ds-btn--ghost:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.60);
  border-bottom-color: rgba(255,255,255,.60);
}

.ds-footer__micro{
  margin: 12px 0 0 0;
  color: var(--ds-white-60);
  line-height: 1.6;
  max-width: 34ch;
  font-size: 14px;
}

/* Bottom */
.ds-footer__bottom{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-top: 16px;
  flex-wrap: wrap;
}
.ds-footer__bottom small{
  color: var(--ds-white-60);
}
.ds-footer__legal{
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--ds-white-60);
}

/* RWD */
@media (max-width: 980px){
  .ds-footer__top{
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 560px){
  .ds-footer__container{
    padding-top: 34px;
  }
  .ds-footer__top{
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/* 1) Podkreślenie tylko dla zwykłych linków (nie dla przycisków) */
.ds-footer a:not(.ds-btn){
  border-bottom: 1px solid transparent;
  text-decoration: none;
}

.ds-footer a:not(.ds-btn):hover{
  border-bottom-color: rgba(255,255,255,.55);
  opacity: .95;
}

/* 2) Przyciski – twarde wyłączenie border-bottom i podkreśleń */
.ds-footer a.ds-btn{
  border-bottom: 0 !important;
  text-decoration: none !important;
}

/* 3) Doprecyzowanie wyglądu przycisków (żeby były równe i „czyste”) */
.ds-btn{
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;
  line-height: 1;
  min-height: 44px;
  padding: 12px 16px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transform: none; /* jeśli gdzieś zostaje transform */
}

/* 4) Ghost – bez „artefaktów” na obrysie */
.ds-btn--ghost{
  background: transparent;
  border: 1px solid rgba(255,255,255,.35);
}

.ds-btn--ghost:hover{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.60);
}

/* 5) Primary – zawsze bez podkreślenia */
.ds-btn--primary{
  border: 1px solid var(--ds-white);
}
.ds-btn--primary:hover{
  border-bottom: 0 !important;
}/* End custom CSS */