/* =====================================================================
   TYPOGRAFIA TREŚCI – Pro-Partner  (spec_typografia.css, 2026-10-19)
   ---------------------------------------------------------------------
   ZASTĘPUJE w całości tymczasowy blok Webmastera w /lib/pp/typografia.css
   („TYMCZASOWA BAZA (akapity.py)…” z --pp-tekst-interlinia: 1.6).
   Działa na treści już podzielonej przez akapity.py:
     .pp-tekst  – blok treści WebWave (ww_text_wrapper lub .content),
     .pp-akapit – akapit treści,  .pp-odstep – pusty akapit-odstęp WebWave.
   Fonty: /lib/pp/fonts/inter-regular-latin-ext.woff2, inter-bold-latin-ext.woff2
   Po podmianie: python3 /workspace/webmaster/akapity.py --tylko-uklad
   (przeliczenie pozycji w absolutnym układzie WebWave).
   Nagłówki, przyciski, menu, formularze, hero i stopka NIE są objęte.
   ===================================================================== */

/* 1. Krój treści: Inter 3.019 (SIL OFL 1.1), podzbiór latin + latin-ext (ą ć ę ł ń ó ś ź ż „ ” – —) */
@font-face{font-family:"PP Inter";src:url("fonts/inter-regular-latin-ext.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"PP Inter";src:url("fonts/inter-bold-latin-ext.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}

/* 2. Zmienne (te same nazwy co w bloku tymczasowym + nowe) */
:root{
  --pp-tekst-font:"PP Inter",Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --pp-tekst-rozmiar:16px;      /* telefon: tryby WebWave <768 px */
  --pp-tekst-interlinia:1.65;   /* bez jednostek */
  --pp-akapit-odstep:.9em;      /* odstęp między akapitami */
  --pp-tekst-kolor:#2b2b2b;     /* 14.4:1 na #fff, 13.1:1 na #f5f5f5, 8.8:1 na żółtym #FFC31D */
  --pp-link-kolor:#224759;      /* granat marki, 9.9:1 na #fff */
  --pp-tekst-miara:62ch;        /* = ok. 66–70 znaków w wierszu Inter (zmierzone) */
  --pp-nagl-interlinia:1.25;
}
@media (min-width:768px){:root{--pp-tekst-rozmiar:17px;--pp-tekst-interlinia:1.6}}
@media (min-width:1200px){:root{--pp-tekst-rozmiar:18px}}

/* 3. Pudełko WebWave z treścią rośnie razem z tekstem (bez ucinania przez overflow:hidden) */
.w-object:has(> .content .pp-tekst),
.w-object:has(> .content.pp-tekst){height:auto!important}

/* 4. Akapity i listy */
.pp-tekst :is(p:not(.pp-odstep),li){
  font-family:var(--pp-tekst-font)!important;
  font-size:var(--pp-tekst-rozmiar)!important;
  line-height:var(--pp-tekst-interlinia)!important;
  font-weight:400;
  letter-spacing:normal!important;
  word-spacing:normal!important;
  text-align:left!important;             /* koniec z justify i z wyśrodkowanymi blokami */
  color:var(--pp-tekst-kolor)!important;
  max-width:var(--pp-tekst-miara);
  margin:0 0 var(--pp-akapit-odstep) 0!important;
}
.pp-tekst :is(p,li) :is(span,font,em,i,u,a,b,strong,sup,sub){
  font-family:inherit!important;font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important}
.pp-tekst :is(p,li) :is(b,strong){font-weight:700!important}
.pp-tekst :is(p,li) :is(font[color],[style*="color"]){color:inherit!important}   /* #707070 i żółte wtrącenia nie przechodziły AA */
.pp-tekst :is(p,li) a{color:var(--pp-link-kolor)!important;text-decoration:underline;text-underline-offset:.15em}
.pp-tekst :is(p,li) a:hover{text-decoration-thickness:2px}
.pp-tekst p.pp-odstep{display:none!important}          /* odstępy robi margin, nie puste akapity */
.pp-tekst p > br:last-child{display:none}               /* „<br>&nbsp;” na końcu akapitu */
.pp-tekst :is(ul,ol){margin:0 0 var(--pp-akapit-odstep) 0!important;padding-left:1.3em!important}
.pp-tekst li{margin-bottom:.35em!important}
.pp-tekst li > p{margin:0!important}
.pp-tekst :is(p:not(.pp-odstep),li,ul,ol):last-child{margin-bottom:0!important}
/* szeroki kafelek z wyśrodkowanym tytułem (index: „Wykończenia pod klucz…”): blok na środku, wiersze od lewej */
.pp-tekst:has(> .pp-tile-h) :is(p,li){margin-left:auto!important;margin-right:auto!important}

/* 5. Nagłówki w blokach treści: interlinia 1.2–1.25, więcej miejsca nad niż pod */
.pp-tekst :is(h1,h2,h3){line-height:var(--pp-nagl-interlinia)!important;margin:1.4em 0 .5em 0!important}
.pp-tekst h1{line-height:1.2!important}
.pp-tekst :is(h1,h2,h3) *{line-height:inherit!important}
.pp-tekst > :is(h1,h2,h3):first-child,
.pp-tekst > .pp-odstep:first-child + :is(h1,h2,h3){margin-top:0!important}
/* =================== KONIEC BLOKU TYPOGRAFII =================== */

/* ===== DODATEK akapity.py (poza specyfikacją projektanta) =====
   Długie punkty listy podzielone na akapity wewnątrz <li> (<li><p class="pp-akapit">…</p><p class="pp-akapit">…</p></li>):
   spec zeruje margines li > p, więc przywracamy odstęp między akapitami w obrębie punktu. */
.pp-tekst li > p.pp-akapit:not(:last-child){margin-bottom:var(--pp-akapit-odstep)!important}
/* ===== KONIEC DODATKU ===== */

/* ===== DROBNE POPRAWKI 2026-10-19: nasi-partnerzy – tekst w kartach partnerów nie szerszy niż karta =====
   (body.pp-partnerzy dodane tylko w nasi-partnerzy.html; wyrównanie do lewej bez zmian) */
.pp-partnerzy #element_466,
.pp-partnerzy #element_469,
.pp-partnerzy #element_471,
.pp-partnerzy #element_474,
.pp-partnerzy #element_477,
.pp-partnerzy #element_480,
.pp-partnerzy #element_492,
.pp-partnerzy #element_495{max-width:100%!important;box-sizing:border-box!important;padding:0 16px!important}
/* Wyjątki: karty mają stałą (absolutną) wysokość WebWave i pełne 16 px wypycha najdłuższe teksty poza dół karty.
   Tam odstęp 4 px (492 na mobile: 0) (tekst i tak ma wewnętrzny padding 20 px WebWave) */
@media (max-width:767px){.pp-partnerzy #element_492{padding:0!important}}
/* 480–767 px (rwdMode_3): karty są tam najwęższe względem tekstu, więc 16 px wypychało tekst poza dół karty
   (466, 471, 477, 495) – w tym trybie bez dodatkowego odstępu (471 i 477: tylko 8 px z lewej); pozostałe karty mieszczą się z 16 px.
   Zmierzone 320–1920 px (Chromium) + WebKit 390/1440: tekst w karcie, odstęp boczny ≥7 px, zapas u dołu ≥6 px. */
@media (min-width:480px) and (max-width:767px){.pp-partnerzy :is(#element_466,#element_471,#element_477,#element_495){padding:0!important}.pp-partnerzy :is(#element_471,#element_477){padding-left:8px!important}}
@media (min-width:768px) and (max-width:1439px){.pp-partnerzy #element_466{padding:0 4px!important}}
/* ===== KONIEC DROBNE: nasi-partnerzy ===== */

/* ===== DROBNE POPRAWKI 2026-10-19: index „Nasze usługi” – 4 kafelki jednolite =====
   tytuły: Montserrat 600 (w tym <b> w „Wykończenia pod klucz”); opisy: reguła tekstu z p. 1 (--pp-tekst-rozmiar / --pp-tekst-interlinia) */
.pp-tile-h:is(#element_499_text_0,#element_81_text_0,#element_498_text_0,#element_71_text_0),
.pp-tile-h:is(#element_499_text_0,#element_81_text_0,#element_498_text_0,#element_71_text_0) *{font-family:"Montserrat 600 normal",Montserrat,sans-serif!important;font-weight:600!important}
:is(#element_499,#element_81,#element_498,#element_71) .pp-tekst:has(> .pp-tile-h) :is(p.pp-akapit,p.pp-akapit *){font-size:var(--pp-tekst-rozmiar)!important;line-height:var(--pp-tekst-interlinia)!important}
/* ===== KONIEC DROBNE: index „Nasze usługi” ===== */
