/* =============================================================
   RESPONSYWNOŚĆ serwisu _kostka  (tylko ten klient)
   Ładowane po styl_klienta.css / menu.css — nadpisuje stałe
   szerokości 1020px na płynne i przebudowuje układ na mobile.
   Wymaga <meta name="viewport"> (dodany w szablonach klienta)
   oraz responsywnosc.js (hamburger menu).
   Breakpointy:  ≤980px tablet/telefon,  ≤600px mały telefon
   ============================================================= */

/* przycisk hamburgera — ukryty na desktopie */
#mobile-menu-toggle { display: none; }

/* zabezpieczenie: żaden element nie wywołuje poziomego scrolla na mobile */
@media (max-width: 980px) {
  html, body { overflow-x: hidden; max-width: 100%; }
}

/* ====================== ≤ 980px ====================== */
@media (max-width: 980px) {

  /* płynne szerokości głównych kontenerów */
  .szerokosc, .srodek {
    width: 100% !important;
    max-width: 100% !important;
  }
  .main .szerokosc { padding: 20px 14px !important; }

  /* treść strony statycznej/newsów: stała 700px → płynna */
  .main div.tresc { width: auto !important; max-width: 100% !important; padding-left: 12px !important; padding-right: 12px !important; }

  /* dwie kolumny układu treści → jedna */
  .kolumna_1, .kolumna_2 { width: 100% !important; float: none !important; }
  .kolumna_2 { margin-top: 18px; }
  .margines_prawy { margin: 0 !important; }

  /* obrazy nigdy nie wychodzą poza ekran */
  img { max-width: 100%; height: auto; }
  .miniatura_big { width: 100% !important; height: auto !important; }

  /* ---------- WINIETA / NAGŁÓWEK ---------- */
  .winieta { margin-top: 0 !important; }
  #win { height: auto !important; overflow: visible !important; padding-bottom: 14px; }
  body.glowna #win, .glowna #win { height: auto !important; }

  /* logo wyśrodkowane, opuszczone nieco niżej od górnej krawędzi */
  .winieta a.logo, .winieta a.home {
    position: static !important; display: block !important;
    margin: 34px auto 6px !important; float: none !important;
  }

  /* data + wyszukiwarka w kolumnie pod logo */
  #win .data { position: static !important; float: none !important;
    text-align: center; margin: 6px 0 !important; font-size: 13px; }
  #win form#search { position: static !important; float: none !important;
    display: flex; gap: 6px; justify-content: center; margin: 20px auto !important; max-width: 320px; }
  #win form#search input.autosearch { flex: 1; }

  /* facebook box poza ekranem na mobile (był fixed, zasłaniał) */
  #box { display: none !important; }

  /* ---------- MENU → HAMBURGER ---------- */
  #mobile-menu-toggle {
    display: flex; align-items: center; justify-content: center;
    position: absolute; top: 10px; right: 12px; z-index: 200;
    width: 46px; height: 42px; padding: 0;
    background: #58280a; border: 1px solid #b4a076; border-radius: 5px;
    cursor: pointer;
  }
  #mobile-menu-toggle span {
    display: block; width: 24px; height: 2px; background: #f9f3df;
    position: relative;
  }
  #mobile-menu-toggle span::before,
  #mobile-menu-toggle span::after {
    content: ''; position: absolute; left: 0; width: 24px; height: 2px; background: #f9f3df;
  }
  #mobile-menu-toggle span::before { top: -7px; }
  #mobile-menu-toggle span::after  { top: 7px; }

  /* nav zawiera menu — chowamy, rozwijamy klasą .otwarte na <nav> */
  .winieta nav { position: relative; }
  ul#navmenu {
    display: none; height: auto !important; margin: 8px 0 0 !important;
    border-bottom: none !important; background: #58280a; border-radius: 6px;
    overflow: hidden;
  }
  nav.otwarte ul#navmenu { display: block; }

  ul#navmenu li { float: none !important; display: block !important;
    width: 100% !important; border-bottom: 1px solid #6b3416; }
  ul#navmenu a, ul#footer_navmenu a {
    float: none !important; display: block !important; text-align: left !important;
    padding: 13px 18px !important; min-width: 0 !important; color: #f9f3df !important;
    font-size: 16px !important;
  }
  ul#navmenu a:hover { background: #7f3920 !important; }

  /* podmenu (drugi poziom) — rozwijane statycznie, lekko wcięte */
  ul#navmenu ul {
    display: block !important; position: static !important;
    box-shadow: none !important; width: 100% !important; top: auto !important;
  }
  ul#navmenu ul li { min-width: 0 !important; background: #6b3416 !important;
    margin-left: 0 !important; border: none !important; border-bottom: 1px solid #58280a; }
  ul#navmenu ul a { padding-left: 34px !important; font-size: 15px !important; }
  ul#navmenu li.xw29strzala { background-image: none !important; }

  /* ---------- GŁÓWNA: sekcje siatek ---------- */
  /* karty newsów — zawijają się i skalują (po dwie w rzędzie) */
  #g_aktualnosci .art, .art {
    width: 47% !important; box-sizing: border-box;
  }
  /* FOTOGALERIE: stałe kafelki 130×130 w wyśrodkowanej siatce na wszystkich
     szerokościach mobilnych — nie rozciągamy ich do kart 47%/100% */
  .glowna #g_fotogalerie .srodek { text-align: center; }
  .glowna #g_fotogalerie .art {
    width: auto !important; float: none !important;
    display: inline-block; vertical-align: top;
    margin: 8px !important; text-align: left;
  }
  #slideshow div.ogloszenia { width: 100% !important; float: none !important;
    border-left: none !important; padding-left: 0 !important; max-height: none !important; }

  /* SLIDER: jssor skaluje wnętrze (inline 620px) transformem do szerokości rodzica.
     Ciemną ramkę przenosimy z #slider (620px, ucinana) na kontener .cien o pełnej
     szerokości — dzięki temu obramowanie jest widoczne ze wszystkich 4 stron. */
  #slideshow { overflow: hidden !important; max-width: 100% !important; margin-top: 0 !important; }
  #slideshow .cien {
    border: 4px solid #58280a !important;
    max-width: 100% !important; box-sizing: border-box !important;
    margin: 0 auto !important; overflow: hidden !important;
    line-height: 0;  /* usuwa pasek pod sliderem (inline-block baseline) */
  }
  #slideshow #slider {
    border: none !important;            /* ramka jest teraz na .cien */
    float: none !important; margin: 0 auto !important; max-width: 100% !important;
  }

  /* baner kroniki — układ pionowy (gdyby breakpoint kroniki był wyżej) */
  #g_kronika .srodek { flex-direction: column; text-align: center; gap: 20px; }

  /* ---------- STOPKA ---------- */
  footer .szerokosc { padding: 34px 18px !important; }

  /* 3 kolumny .adres (33% float) → jedna kolumna pełnej szerokości */
  footer .adres,
  footer div.adres:nth-of-type(2),
  footer div.adres:nth-of-type(3) {
    width: 100% !important; float: none !important;
    padding-left: 64px !important; padding-right: 0 !important;
    text-align: left !important;
    margin-bottom: 26px;
  }
  /* ikona działu (koperta/dymek) – zostaje przy lewej krawędzi kolumny */
  footer div.adres div.ikona { top: -6px !important; left: 0 !important; }

  /* trzecia kolumna to ikony społecznościowe – układ poziomy, nie pionowy stos */
  footer div.adres:nth-of-type(3) { padding-left: 0 !important; }
  footer div.adres:nth-of-type(3) a {
    float: none !important; display: inline-block !important;
    margin: 0 14px 10px 0 !important;
  }

  /* logo agencji (było absolutnie pozycjonowane – zachodziło na tekst) */
  footer a#kompania {
    position: static !important; display: inline-block !important;
    margin-top: 16px !important; bottom: auto !important; right: auto !important;
  }

  /* link RSS w tekście – nie przykleja się do treści adresu */
  footer .stopka a.rss { display: inline-block; }

  /* belki narzędziowe (powrót/odśwież/druk) zawijają się */
  .menu_poziom_2015, .belka_g { flex-wrap: wrap; }
  .share-buttons { flex-wrap: wrap; }

  /* ---------- MAPA DZIAŁÓW na głównej (#g_linki) ---------- */
  /* 3 sztywne kolumny 33% → 2 kolumny, by tekst się nie łamał znak po znaku */
  .glowna #g_linki { min-height: 0 !important; padding: 10px 0 !important; overflow: hidden; }
  .glowna #g_linki .kolumna {
    width: 50% !important; padding: 16px 16px 8px !important;
  }
  /* wyrównanie wysokości rzędów – kolumny zaczynają się od nowej linii parami */
  .glowna #g_linki .kolumna.a3 { clear: left; }
}

/* ====================== ≤ 600px ====================== */
@media (max-width: 600px) {
  body { font-size: 15px; }
  h1, .st_tytul { font-size: 23px !important; }
  h2 { font-size: 20px !important; }

  /* karty newsów na pełną szerokość (fotogalerie obsłużone w bloku ≤980px:
     stałe kafelki 130×130 w wyśrodkowanej siatce — dziedziczone tutaj) */
  #g_aktualnosci .art, .art { width: 100% !important; float: none !important; }

  /* slider główny nie wymusza 620px */
  #slideshow #slider { width: 100% !important; max-width: 100%; }

  .main .szerokosc { padding: 16px 10px !important; }

  /* mapa działów (#g_linki): dwie kolumny w rzędzie także na małych telefonach */
  .glowna #g_linki .kolumna {
    width: 50% !important; float: left !important;
    padding: 6px 10px !important; clear: none !important;
  }
  /* trzecia kolumna zaczyna nowy rząd, by zachować parzysty układ 2×2 */
  .glowna #g_linki .kolumna.a3 { clear: left !important; }
  /* nagłówek działu wyraźniejszy, podpunkty lekko wcięte */
  .glowna #g_linki li a { margin: 14px 0 4px !important; font-size: 16px; }
  .glowna #g_linki li li a { margin: 6px 0 6px 14px !important; font-size: 15px; font-weight: normal; }
}
