/**
 * fixes.css - poprawki ladowane po global.css
 * Nie edytuj global.css - dodawaj poprawki tutaj.
 */

/* ============================================================
   Fix 11 - podpisy nazw profilowan POD thumbnailami slidera

   Kazdy span = dokladnie 1 slot Owl Carousel.
   Formula: flex: 0 0 calc(100%/N - gap*(N-1)/N)
     gdzie N = items w Owl, gap = 12px

   Odpowiada breakpointom z owlCarousel thumbnails-slider:
     0px+:    items:2 -> calc(50%    -  6px)   [1 gap / 2 items = 6px]
     960px+:  items:3 -> calc(33.33% -  8px)   [2 gapy / 3 items = 8px]
     1240px+: items:4 -> calc(25%    -  9px)   [3 gapy / 4 items = 9px]

   padding:0 44px = padding .thumbnails (chevrony wysute na zewnatrz)
   ============================================================ */
.profiling-thumbs-labels {
    display: flex;
    gap: 12px;
    margin-top: 8px;
    padding: 0 44px;
}

.profiling-thumbs-labels span {
    flex: 0 0 calc(50% - 6px);
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    color: #1f1f1f;
    line-height: 1.3;
    padding: 0 2px;
    word-break: break-word;
    hyphens: auto;
}

@media (min-width: 960px) {
    .profiling-thumbs-labels span {
        flex: 0 0 calc(33.333% - 8px);
    }
}

@media (min-width: 1240px) {
    .profiling-thumbs-labels span {
        flex: 0 0 calc(25% - 9px);
    }
}

/* ============================================================
   Fix 22 - Fix 20 scoped do desktop (lg+)
   Na mobile `.reset-wrapper` musi mieć width:100%, bo 33.3%
   powoduje łamanie tekstu 'RESETUJ FILTRY' na dwie linie.
   ============================================================ */
@media (min-width: 992px) {
    .portfolio .portfolio-list form .reset-wrapper {
        width: calc(33.3% - 20px) !important;
        padding-right: 0 !important;
        justify-content: flex-start !important;
    }
    .portfolio .portfolio-list form .reset-wrapper a {
        width: 100% !important;
    }
}

/* ============================================================
   Fix 23 - obróbki blacharskie: tabela danych technicznych
   ============================================================
   PROBLEM:
   Reguła w _product.scss (lg+) ustawia
   .product-technical__wrapper .table { width: 50%; }
   bo design zakłada układ 50/50: tabela + zdjęcie obok.
   3 produkty obróbek (010A/010B, 014, 039) nie mają zdjęcia
   ".photo", więc tabela utrzymuje 50% (~700px) podczas gdy
   wrapper ma ~1400px. Tabela 12-kolumnowa nie mieści się
   i wymusza poziomy scroll wewnątrz wrappera (~277px overflow).

   FIX:
   Gdy .product-technical__table jest JEDYNYM dzieckiem
   wrappera (brak siostrzanego .photo) -> rozciągnij tabelę
   na 100% oraz zmniejsz padding td z 30px do 12px/10px,
   żeby content 12 kolumn zmieścił się w 1400px.

   SCOPE:
   - selektor :only-child = aplikuje się WYŁĄCZNIE na tych
     stronach, gdzie wrapper ma jedno dziecko (obróbki bez
     zdjęcia). Inne produkty (z .photo) NIE są dotknięte.

   COFNIĘCIE:
   Usuń cały blok od tego komentarza do końca pliku.
   Backup oryginału: fixes.css.bak-fix23-20260520
   ============================================================ */
.product-technical__wrapper > .product-technical__table:only-child {
    width: 100%;
}
.product-technical__wrapper > .product-technical__table:only-child .table {
    width: 100%;
}
.product-technical__wrapper > .product-technical__table:only-child .table table td {
    padding: 12px 10px;
}

/* ============================================================
   Fix 24 - Wyniki wyszukiwania: pokaż pliki (downloads)
   ============================================================
   PROBLEM:
   Reguła w global.css:
     .downloads__wrapper .right > span article,
     .downloads__wrapper .right > div article { display: none; }
   służy akordeonowi na /do-pobrania/ (artykuły chowane do
   czasu kliknięcia "Rozwiń"). Ta sama struktura jest używana
   w search.php do prezentacji wyników typu "Pliki" - tam
   nie ma mechanizmu rozwijania, więc pliki pozostawały ukryte
   (nagłówek "Pliki (1)" + przycisk "zobacz więcej" bez listy).

   FIX:
   Przywróć display dla <article> wewnątrz #all-files
   i #search-files (kontenery search.php) - tylko na stronach
   wyników wyszukiwania (body.search-results).

   COFNIĘCIE:
   Usuń cały blok od tego komentarza do końca pliku.
   Backup oryginału: fixes.css.bak-fix24-pre
   ============================================================ */
body.search-results #all-files article,
body.search-results #search-files article {
    display: block;
}

/* ============================================================
   Fix 25 - Wyniki wyszukiwania: odstep od sekcji "Skontaktuj sie z nami"
   ============================================================
   PROBLEM:
   Na search.php ostatni wynik (np. pliki) styka sie bezposrednio
   z ciemnaszara sekcja .footer-form (Skontaktuj sie z nami) -
   brak oddechu wizualnego miedzy zawartoscia a stopka kontaktowa.

   FIX:
   Dodaj 60px padding-bottom do kontenera .fp-products
   tylko na stronach wyszukiwania (body.search-results).

   COFNIECIE:
   Usun ten blok do konca pliku. Backup: fixes.css.bak-fix25-pre
   ============================================================ */
body.search-results .fp-products {
    padding-bottom: 60px;
}


/* ============================================================
   Fix 28 - Baza wiedzy: pokaz tytuly artykulow (display: block)
   ============================================================
   PROBLEM:
   Sekcje /baza-wiedzy/ (#porady-montazowe, #pytania-i-odpowiedzi,
   #slowniczek) po naprawie JS (guard #select-downloads) sa juz widoczne,
   ale tytuly artykulow zostaly ukryte regula
   .knowledge__wrapper .right > div article { display: none }
   z global.css (wspoldzielona z /do-pobrania/ gdzie sa accordion).

   FIX:
   Na .knowledge__wrapper przywroc widocznosc <article>.
   .knowledge-description rozwija sie po kliknieciu (handler app.js).

   COFNIECIE: usun ten blok do konca pliku.
   Backup: fixes.css.bak-fix28-prod-*
   ============================================================ */
.knowledge__wrapper .right > div article {
    display: block;
}
