@charset "UTF-8";
/* === Nawigacja: przełącznik desktop / mobile === */
.nav-desktop{
  display:none;
}
.nav-burger{
  display:flex;
}
.mobile-menu{
  display:none;
}
.mobile-menu.open{
  display:block;
}
.mobile-offer-submenu{
  display:none;
}
.mobile-offer-submenu.open{
  display:block;
}
.mobile-offer-arrow{
  display:inline-block;
  font-size:26px;
  font-weight:700;
  line-height:1;
  width:22px;
  text-align:center;
}

@media (min-width:1020px){
  .nav-desktop{
    display:flex;
    align-items:center;
    gap:clamp(16px,2vw,32px);
  }
  .nav-burger{
    display:none !important;
  }
}

/* === Dropdown "Oferta" (desktop, hover/focus) === */
.offer-menu{
  position:relative;
}
.offer-dropdown{
  position:absolute;
  top:28px;
  left:0;
  min-width:300px;
  background:#fff;
  border-radius:10px;
  box-shadow:0 20px 40px rgba(0,0,0,0.2);
  padding:8px;
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  transition:all .15s ease;
  z-index:50;
}
.offer-menu:hover .offer-dropdown,
.offer-menu:focus-within .offer-dropdown{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

/* === Pasek kontaktowy (mobile, pojawia się przy scrollu) === */
.floating-bar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:200;
  display:none;
}
.floating-bar.visible{
  display:flex;
}
@media (min-width:1020px){
  .floating-bar{
    display:none !important;
  }
}

/* === Baner cookies === */
.cookie-banner{
  display:block;
}
.cookie-banner[hidden]{
  display:none;
}

/* === Formularz kontaktowy === */
[data-form-success][hidden]{
  display:none;
}
.form-error{
  color:#d92d20;
  font-size:14px;
  font-weight:600;
  min-height:0;
}
.form-error:empty{
  display:none;
}
.form-submit-btn[disabled]{
  opacity:0.7;
  cursor:not-allowed;
}

/* === Animacja pojawiania się sekcji (data-reveal) === */
[data-reveal]{
  opacity:0;
  transition:opacity .8s ease,transform .8s ease;
}
[data-reveal].is-visible{
  opacity:1 !important;
  transform:translateX(0) !important;
}

/* === Elementy dekoracyjne (plusy, krzyzyki, fale w tle sekcji) ===
   Na mobile teksty zajmuja wiecej linii, wiec sztywne pozycje "top"
   ustawione pod desktop zaczynaja nachodzic na tresc. Na mobile
   przesuwamy je zawsze blisko samej gory sekcji, z dala od tekstu. */
@media (max-width:781px){
  .ks-decor{
    top:10px !important;
    right:4% !important;
    font-size:26px !important;
  }
}

/* === Sekcja "Gdzie działam" / miasta + mapa ===
   Kolumny maja stale min-width (300px / 340px) dopasowane do desktopu.
   Na waskich ekranach (mniej niz ~360-390px) to powodowalo, ze kolumna
   z "pigulkami" miast byla szersza niz ekran i wystawala poza margines.
   Na mobile pozwalamy kolumnom skurczyc sie do pelnej szerokosci ekranu. */
@media (max-width:781px){
  .ks-map-col,
  .ks-city-col{
    min-width:0 !important;
    width:100% !important;
    flex-basis:100% !important;
  }
}
