/* ===== Burger / mobilna navigacija (samo telefon) ===== */
/* Svi selektori su ograničeni na "header nav" da ne diraju footer-nav. */

.nav-toggle-cb{
  display:none;
}

.nav-toggle-label{
  display:none;
}

.nav-backdrop{
  display:none;
}

@media(max-width:768px){

  /* zaključaj vertikalni skrol dok je meni otvoren (ne dira overflow-x/sticky) */
  body:has(.nav-toggle-cb:checked){
    overflow-y:hidden !important;
  }

  /* header: logo lijevo, burger desno — manji na telefonu */
  header{
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    justify-content:space-between !important;
    align-items:center !important;
    gap:0 !important;
    padding:8px 18px !important;
  }

  /* manji logo na telefonu */
  header .logo-mark{
    width:42px !important;
    height:42px !important;
  }

  /* burger / X dugme */
  .nav-toggle-label{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:36px;
    height:32px;
    cursor:pointer;
    position:relative;
    z-index:1102;
  }

  .nav-toggle-label span{
    display:block;
    width:25px;
    height:3px;
    border-radius:2px;
    background:#16384a;
    transition:transform 0.3s ease, opacity 0.3s ease;
  }

  /* zatamnjena pozadina (klik zatvara meni) */
  .nav-backdrop{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.45);
    opacity:0;
    visibility:hidden;
    transition:opacity 0.3s ease, visibility 0s linear 0.3s;
    z-index:1090;
    cursor:pointer;
  }

  /* bočni meni zdesna — uvijek unutar ekrana, skriven preko opacity/visibility */
  header nav{
    position:fixed !important;
    top:0;
    right:0;
    height:100vh;
    width:75%;
    max-width:380px;
    background:#e9ecec;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:center !important;
    gap:0 !important;
    padding:0 !important;
    margin:0 !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity 0.3s ease, visibility 0s linear 0.3s;
    z-index:1100;
    overflow-y:auto;
  }

  header nav a{
    width:100%;
    padding:22px 40px;
    text-align:left;
    white-space:nowrap;
    color:#16384a !important;
    border-bottom:1px solid #d3dad7;
    letter-spacing:3px;
  }

  header nav a:first-child{
    border-top:1px solid #d3dad7;
  }

  /* === otvoreno stanje === */
  .nav-toggle-cb:checked ~ nav{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    box-shadow:-12px 0 30px rgba(0,0,0,0.18);
    transition:opacity 0.3s ease, visibility 0s linear 0s;
  }

  .nav-toggle-cb:checked ~ .nav-backdrop{
    opacity:1;
    visibility:visible;
    transition:opacity 0.3s ease, visibility 0s linear 0s;
  }

  /* burger -> X */
  .nav-toggle-cb:checked ~ .nav-toggle-label span{
    background:#16384a;
  }
  .nav-toggle-cb:checked ~ .nav-toggle-label span:nth-child(1){
    transform:translateY(8px) rotate(45deg);
  }
  .nav-toggle-cb:checked ~ .nav-toggle-label span:nth-child(2){
    opacity:0;
  }
  .nav-toggle-cb:checked ~ .nav-toggle-label span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
  }
}

/* ===== Sponzori / Donatori (zajednička sekcija na svim stranicama) ===== */
.sponsors {
  background: #ffffff;
  border-top: 1px solid rgba(10, 30, 60, 0.07);
  padding: 64px 24px;
  text-align: center;
  font-family: 'Montserrat', sans-serif;
}

.sponsors-text {
  max-width: 880px;
  margin: 0 auto 40px;
  color: #5a5f66;
  font-size: 14px;
  line-height: 1.7;
}

.sponsors-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: clamp(24px, 4vw, 64px);
  max-width: 1100px;
  margin: 0 auto;
}

.sponsors-logos img {
  display: block;
  height: 72px;
  width: auto;
  max-width: min(280px, 100%);
  object-fit: contain;
}

@media (max-width: 768px) {
  .sponsors {
    padding: 48px 20px;
  }
  .sponsors-text {
    margin-bottom: 32px;
  }
  .sponsors-logos {
    gap: 28px 32px;
  }
}

@media (max-width: 480px) {
  .sponsors-logos {
    gap: 22px 24px;
  }
  .sponsors-logos img {
    height: 56px;
  }
}
