body {
  font-family: Arial, sans-serif;
  margin: 0 4vw;
  padding: 0;

}

main {
  padding: 40px;
}

.motto {
  font-size: 20px;
  font-weight: 600;
}

.bolder {
  font-size: 20px;
  font-weight: 600;
}

/* COOKIE BANNER */
#cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #111;
  color: #fff;
  padding: 20px;
  z-index: 9999;
  display: none;
}
.close-btn {
  position:absolute; 
  top:10px; 
  right:15px; 
  background:none; 
  border:none; 
  font-size:24px; 
  cursor:pointer; 
  color:#999;
}
#cookies-accept  {
  background:#007bff; 
  color:#fff; 
  border:none; 
  padding:10px 20px; 
  border-radius:6px; 
  cursor:pointer;
}
#cookies-reject {
  background:#6c757d; 
  color:#fff; 
  border:none; 
  padding:10px 20px; 
  border-radius:6px; 
  cursor:pointer;
}
#cookies-settings {
  background:#f8f9fa; 
  color:#333; 
  border:1px solid #ddd; 
  padding:10px 20px; 
  border-radius:6px; 
  cursor:pointer;
}

#cookie-banner h3 {
  margin-top: 0;
}

#cookie-banner button {
  margin: 8px 5px;
  padding: 8px 16px;
  border: none;
  cursor: pointer;
}

.accept {
  background: #2e7d32;
  color: white;
}

.reject {
  background: #c62828;
  color: white;
}

.settings {
  background: #555;
  color: white;
}

#consent-settings {
  margin-top: 10px;
  display: none;
}

footer {
  margin-top: 60px;
  font-size: 14px;
}

#change-cookies {
  font-size: x-small;
  padding: 20px;
}
/* NAVBAR */

.navbar-light .navbar-nav .nav-link {
  padding: 10px;
  color: #000;
  font-weight: bold;
  outline: none;
}

.navbar.navbar-light .navbar-nav .nav-item .nav-link.active {
  color: #0BCEAF;
}

article ul li {
  font-size: 20px;
}

/*
 .nav-link-wrap {
  white-space: normal !important;    
  max-width: 200px;                  
  line-height: 1.4;                 
} 
*/

.nav-item:hover {
  font-weight: 600;
}

.nav-item {
  font-size: larger;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.dropdown-item:hover {
  font-weight: bold;
}

.navbar-nav {
  margin-left: auto;
}

/* Zwiększenie strzałki dropdown */
.dropdown-toggle::after {
  border-width: 0.6em 0.6em 0 !important;
  /* domyślnie 0.3em */
  vertical-align: -0.05em !important;
  /* wyrównanie */
}

.motto {
  margin-bottom: 0px;
}

/* Dodaj te style do istniejącego CSS */

/* Ustawienia dla zawijania tekstu w nawigacji */
.navbar-nav .nav-link {
  white-space: normal !important;
  /* Pozwala na zawijanie tekstu */
  word-wrap: break-word;
  /* Zapewnia poprawne łamanie długich słów */
  text-align: center;
  /* Wyśrodkowanie tekstu */
  display: flex;
  /* Użyj flexbox do wyśrodkowania */
  align-items: center;
  /* Wyśrodkowanie w pionie */
  justify-content: center;
  /* Wyśrodkowanie w poziomie */
  min-height: 110px;
  /* Minimalna wysokość dla spójności */
  padding: 8px 12px;
  /* Odstępy wewnętrzne */
  line-height: 1.4;
  /* Poprawia czytelność zawiniętego tekstu */
}

/* Ustawienia dla elementów dropdown */
.navbar-nav .dropdown-item {
  white-space: normal !important;
  word-wrap: break-word;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 8px 12px;
  line-height: 1.4;
}

/* Opcjonalne: ograniczenie szerokości dla lepszego wyglądu */
@media (min-width: 992px) {

  /* Dla widoku desktopowego (lg i większe) */
  .navbar-nav .nav-link {
    max-width: 270px;
    /* Dostosuj tę wartość do swoich potrzeb */
  }

  .navbar-nav .dropdown-item {
    max-width: 250px;
  }
}

/* Dla lepszego wyglądu na urządzeniach mobilnych */
/* @media (max-width: 991.98px) {
  .navbar-nav .nav-link,
  .navbar-nav .dropdown-item {
    text-align: left;  
    justify-content: flex-start;
    min-height: auto;
    padding: 12px 15px;
  }
} */

/* Poprawki dla dropdown menu */
.dropdown-menu {
  min-width: 100%;
  /* Dopasowanie szerokości do rodzica */
}

/* Zapewnienie że tekst w navbar-brand też jest wycentrowany jeśli długi */
.navbar-brand {
  display: flex;
  align-items: center;
  white-space: normal;
  text-align: center;
  max-width: 200px;
}

.fw-bold.display-6 {
  text-align: center;
  margin-top: 50px;
}

.list-group-item.d-flex.align-items-center {
  font-size: larger;
}

.list-group-item.d-flex.align-items-center:hover {
  font-weight: bolder;
  cursor: pointer;
}

/* Powiększenie i potrząśnięcie ikony po najechaniu */
.list-group-item {
  transition: background-color 0.3s ease;
  cursor: pointer;
  /* Zmiana kursora na "klikalny" */
}

.list-group-item i {
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  /* "Sprężysty" efekt */
}

.list-group-item:hover {
  background-color: #f8f9fa;
  /* Delikatne podświetlenie tła */
}

.list-group-item:hover i {
  transform: scale(1.2) rotate(5deg);
  color: #0d6efd;
  /* Zmiana koloru po najechaniu */
}

/* Zwiększenie strzałek w Carousel */
.carousel-control-prev,
.carousel-control-next {
  width: 8%;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  width: 4rem;
  height: 4rem;
  background-size: 100% 100%;
}

.blue-text {
  color: blue;
  font-weight: 600;
}

.black-text {
  color: black;
  font-weight: 600;
}

.red-text {
  color: red;
  font-weight: 600;
}

.white-text {
  color: white;
  font-weight: 600;
}

/* h5,
h2,
h3,
h5,
h6,
p {
  margin: 0 1vw;
} */
.red {
  color: red;
  background-color: wheat;
  font-weight: 600;
  text-align: center;
  padding: 0 1vw;
  margin: 0 1vw;
  border-radius: 5px;
}

.accordion-button {
  background-color: #0d6efd;

}

.accordion-button:hover {
  transform: scale(1.05);
  font-size: larger;
}

.accordion-button:hover h2 {
  font-size: 1.5rem;
  /* lub inny rozmiar */
  transition: font-size 0.2s ease;
}

.accordion-button h2 {
  transition: font-size 0.2s ease;
}

.no-click-cursor {
  cursor: default;
}

.no-click-cursor li {
  cursor: default;
}

/*   Zwiększenie tekstu */
p {
  font-size: 1.2rem;
}

/*  KAELKI  */

.uslugi {
    max-width: 1200px;
    margin: 50px auto;
    padding: 0 20px;
    font-family: Arial, sans-serif;
}

.uslugi h2 {
    text-align: center;
    font-size: 34px;
    margin-bottom: 35px;
    color: #222;
}

.kafelki {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.kafelek {
    background: #ffffff;
    border-radius: 14px;
    padding: 30px 25px;
    text-align: center;
    box-shadow: 0 5px 20px rgba(0,0,0,0.08);
    border-top: 4px solid #f5a623;
    transition: transform .3s ease, box-shadow .3s ease;
    min-height: 350px;
}

.kafelek:hover {
    transform: translateY(-7px);
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.ikona {
    font-size: 42px;
    margin-bottom: 15px;
}

.kafelek h3 {
    font-size: 21px;
    color: #222;
    margin-bottom: 15px;
}

.kafelek p {
    font-size: 15px;
    line-height: 1.6;
    color: #555;
}


/* Tablet */
@media(max-width: 900px) {
    .kafelki {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* Telefon */
@media(max-width: 600px) {
    .kafelki {
        grid-template-columns: 1fr;
    }

    .uslugi h2 {
        font-size: 28px;
    }
}