/* ==========================================================================================================
   WYGLĄD — TRANSZA 1 (motyw 0.16.28, 22.10.2026, LOKALNIE): biel i błękit, granatowa typografia, wyraźniejsze
   obramowania, umiarkowane cienie, uporządkowane przyciski. Zieleń zostaje jako kolor DODATKOWY: dostawca,
   status „dostępne”, znaczniki ✓, wejście „SEMANAT w praktyce”.

   Jeden arkusz ładowany PO wszystkich pozostałych (style.css, offers.css, footer.css, nav-tools.css, practice.css):
   nadpisuje tokeny `:root` i te reguły komponentów, które niosły kolor bez tokenu. Kolory sekcji zapisane w danych
   Elementora (tła kontenerów) zmienia osobno narzędzie `tools/wyglad_t1_kolory.php` (mapa kolorów tam = mapa tutaj).
   Wycofanie = wyłączenie tego arkusza (functions.php) + `wyglad_t1_kolory.php revert`.

   Kontrasty (WCAG AA, zmierzone wzorem WCAG na parach z tego pliku): #102A43 na #FFFFFF 14,9:1; #243B53 na #FFFFFF 11,3:1;
   #526477 na #FFFFFF 6,5:1 i na #EEF5FC 5,9:1; #FFFFFF na #086CB2 5,3:1; #FFFFFF na #217D4B 4,9:1; #075A94 na #FFFFFF 7,2:1;
   #FFFFFF na #102A43 14,9:1; #C9D6E3 na #102A43 9,8:1.
   ========================================================================================================== */
:root {
  /* typografia: granat zamiast grafitu */
  --sem-ink:       #102A43;
  --sem-ink-soft:  #243B53;
  --sem-muted:     #526477;
  --sem-steel:     #7A8FA6;
  /* powierzchnie: biel, delikatny błękit, wyraźniejsze obramowanie */
  --sem-border:    #D6E2EE;
  --sem-bg-alt:    #EEF5FC;
  --sem-surface:   #FFFFFF;
  --sem-tint-mix:  #EEF5FC;
  --sem-dark:      #102A43;   /* pasma na granacie (dostawcy, stopka) — zamiast grafitu #1F2A33 */
  --sem-dark-2:    #1B3A5C;
  --sem-navy-900:  #102A43;
  /* niebieski = główne działanie kupującego i informacja */
  --sem-blue-700:  #075A94;
  --sem-blue-600:  #086CB2;
  --sem-blue-500:  #1580C9;
  --sem-blue-100:  #D6E2EE;
  --sem-blue-050:  #EEF5FC;
  /* zieleń = kolor dodatkowy */
  --sem-green-700: #1A6A3E;
  --sem-green-600: #217D4B;
  --sem-green-500: #2E9A5B;
  --sem-green-100: #DDEFE4;
  --sem-green-050: #EEF7F1;
  /* kształt i cień */
  --sem-radius-md: 14px;
  --sem-shadow-rest:  0 1px 2px rgba(16, 42, 67, .05), 0 6px 16px rgba(16, 42, 67, .07);
  --sem-shadow:       0 8px 24px rgba(16, 42, 67, .08);
  --sem-shadow-hover: 0 14px 32px rgba(16, 42, 67, .12);
  --sem-grad: linear-gradient(90deg, #0F3B78 0%, #086CB2 58%, #217D4B 100%);
  --sem-cta-focus: #086CB2;
}

/* ---------------------------------------------------------------- tekst, odnośniki, fokus */
body.semanat-v2 { color: var(--sem-ink-soft); }
body.semanat-v2 h1, body.semanat-v2 h2, body.semanat-v2 h3, body.semanat-v2 h4,
body.semanat-v2 .elementor-heading-title { color: var(--sem-ink); }
body.semanat-v2 h1 { letter-spacing: -0.022em; }
body.semanat-v2 h2 { letter-spacing: -0.015em; line-height: 1.18; }
/* odnośniki tekstowe: `:where(a)` ma swoistość (0,1,1) — niższą niż każdy przycisk-komponent (`body a.sem-of-cta`, `.sem-pr-btn`, `.sem-fv3 … a`),
   więc kolor z tej reguły dostają tylko zwykłe odnośniki w treści, a nie przyciski. Pierwsza wersja tej reguły (`body.semanat-v2 a`, (0,1,2))
   remisowała z `body a.sem-of-cta` i jako późniejsza w kolejności wygrywała: napis „ZOBACZ OFERTĘ” był niebieski na niebieskim (zmierzone 22.10). */
body.semanat-v2 :where(a) { color: var(--sem-blue-700); }
body.semanat-v2 :where(a:hover) { color: var(--sem-navy-800); }
body.semanat-v2 :focus-visible { outline: 3px solid var(--sem-blue-600); outline-offset: 2px; }
.sem-lead .elementor-widget-container { max-width: 62ch; }
/* etykieta nad nagłówkiem: niebieska = informacja; `.is-green` zostaje dla dostawców i praktyki */
.sem-eyebrow .elementor-heading-title { color: var(--sem-blue-700); }
.sem-eyebrow.is-green .elementor-heading-title { color: var(--sem-green-700); }
body.semanat-v2 .sem-eyebrow.on-dark .elementor-heading-title { color: #9CCBF0; }   /* 9,6:1 na granacie */
body.semanat-v2 .sem-eyebrow.is-blue.on-dark .elementor-heading-title { color: #9CCBF0; }
.sem-chips .elementor-widget-container { color: var(--sem-muted); }
body.semanat-v2 .on-dark.elementor-widget-text-editor .elementor-widget-container, body.semanat-v2 .on-dark .elementor-widget-container { color: #C9D6E3; }
.sem-note .elementor-widget-container { color: var(--sem-muted); }
.sem-en .elementor-heading-title { color: var(--sem-muted); }

/* ---------------------------------------------------------------- karty: obramowanie + spokojny cień, bez skalowania */
.sem-card, body.semanat-v2 .e-con.sem-card { background: var(--sem-surface); border: 1px solid var(--sem-border); border-radius: var(--sem-radius-md); box-shadow: var(--sem-shadow-rest); }
body.semanat-v2 .sem-card:hover, body.semanat-v2 .e-con.sem-card:hover { transform: translateY(-2px); box-shadow: var(--sem-shadow-hover); border-color: #B9CCDF; }
body.semanat-v2 .sem-card:focus-within { box-shadow: var(--sem-shadow-hover); border-color: var(--sem-blue-600); }
.sem-card-dark, body.semanat-v2 .e-con.sem-card-dark { background: var(--sem-dark-2); border-color: rgba(255,255,255,.12); }
.sem-card-tint, body.semanat-v2 .e-con.sem-card-tint { background: var(--sem-blue-050); border: 1px solid var(--sem-border); }
body.semanat-v2 .sem-card-tint h4.elementor-heading-title { color: var(--sem-blue-700); }
.sem-img-card img, .sem-pic { border-radius: var(--sem-radius-md); }
.sem-pic { background: var(--sem-tint-mix); }
/* ikony w kartach: niebieskie (informacja); znaczniki ✓ i listy cech zostają zielone (status, „tak”) */
body.semanat-v2 .elementor-widget-icon .elementor-icon, body.semanat-v2 .elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon,
.semanat-v2 .elementor-icon-box-icon .elementor-icon { color: var(--sem-blue-600); }
body.semanat-v2 .sem-card-dark .elementor-icon-box-icon .elementor-icon, body.semanat-v2 .sem-pillar .elementor-icon-box-icon .elementor-icon { color: #9CCBF0; }
.sem-badge .elementor-heading-title { color: var(--sem-blue-700); background: var(--sem-blue-050); border: 1px solid var(--sem-border); border-radius: 6px; }
.sem-step-num .elementor-heading-title { color: var(--sem-blue-600); }
.sem-callout { border-left-color: var(--sem-blue-600); background: var(--sem-blue-050); }
.sem-finder { background: var(--sem-blue-050); border-color: var(--sem-border); }
.sem-finder-step { border-color: var(--sem-border); box-shadow: var(--sem-shadow-rest); }
.sem-mat-index a { border-color: var(--sem-border); }
.sem-mat-index a:hover, .sem-mat-index a:focus-visible { background: var(--sem-blue-050); border-color: var(--sem-blue-600); }
.sem-path-node { border-color: var(--sem-border); box-shadow: var(--sem-shadow-rest); }
.sem-path-node.is-core { background: var(--sem-blue-600); border-color: var(--sem-blue-600); }
.sem-rel { border-color: var(--sem-border); box-shadow: var(--sem-shadow-rest); }
.sem-rel:hover, .sem-rel:focus-visible { border-color: var(--sem-blue-600); box-shadow: var(--sem-shadow-hover); }
.sem-rel-k { color: var(--sem-blue-700); }
.sem-conf { border-left-color: var(--sem-blue-600); }
.sem-legal { border-left-color: var(--sem-blue-700); }
.sem-info3-card { border-color: var(--sem-border); }
.sem-table th { color: var(--sem-blue-700); background: var(--sem-blue-050); }
.sem-crumbs a:hover, .sem-crumbs a:focus-visible { color: var(--sem-blue-700); }
.sem-prose blockquote { border-left-color: var(--sem-blue-600); background: var(--sem-blue-050); }
.sem-level.is-podstawy { color: var(--sem-blue-700); border-color: var(--sem-border); background: var(--sem-blue-050); }

/* ---------------------------------------------------------------- przyciski: kupujący niebieski, dostawca/kontakt zielony, reszta bez zmian */
body.semanat-v2 .sem-btn-secondary .elementor-button { color: var(--sem-blue-700); border-color: var(--sem-blue-600); }
body.semanat-v2 .sem-btn-secondary .elementor-button:hover, body.semanat-v2 .sem-btn-secondary .elementor-button:focus { background: var(--sem-blue-050); color: var(--sem-blue-700); }
body.semanat-v2 .sem-btn-ghost .elementor-button { color: var(--sem-blue-700); }
body.semanat-v2 .sem-btn-ghost .elementor-button:hover, body.semanat-v2 .sem-btn-ghost .elementor-button:focus { color: var(--sem-navy-800); }
body.semanat-v2 .sem-btn-ghost-supplier .elementor-button { color: var(--sem-green-700); }
body.semanat-v2 .sem-btn-primary .elementor-button:hover { box-shadow: 0 10px 24px -12px rgba(33,125,75,.6); }
body.semanat-v2 .sem-btn .elementor-button:hover, body.semanat-v2 a.sem-cta:hover, body.semanat-v2 .sem-of-cta:hover { box-shadow: 0 8px 20px -10px rgba(16,42,67,.45); }
body.semanat-v2 .sem-btn .elementor-button, body.semanat-v2 a.sem-cta, body.semanat-v2 .sem-of-cta { border-radius: 8px; }
body.semanat-v2 .sem-tech-toggle button { color: var(--sem-blue-700); }
body.semanat-v2 .sem-tech-toggle button:hover, body.semanat-v2 .sem-tech-toggle button:focus-visible { border-color: var(--sem-blue-600); background: var(--sem-blue-050); }

/* formularze: fokus pola niebieski; przycisk wysyłki = rola kontaktu (zieleń), bez zmian */
.semanat-v2 .elementor-form .elementor-field-textual:focus, .semanat-v2 .sem-form .elementor-field-textual:focus { border-color: var(--sem-blue-600); box-shadow: 0 0 0 3px var(--sem-blue-050); }
.semanat-v2 .elementor-form .elementor-field-textual, .semanat-v2 .sem-form .elementor-field-textual { border-color: var(--sem-border); border-radius: 8px; }

/* ---------------------------------------------------------------- nagłówek: pasek narzędzi, menu, wejście „SEMANAT w praktyce” */
.sem-topbar, .sem-lang { border-bottom-color: var(--sem-border); }
.sem-lang a { color: var(--sem-muted); }
.sem-lang a:hover, .sem-lang a[aria-current] { color: var(--sem-ink); }
body.semanat-v2 .ast-primary-header-bar, body.semanat-v2 .ast-mobile-header-wrap .ast-primary-header-bar { border-bottom-color: var(--sem-border); }
body.semanat-v2 .main-header-menu .menu-item > .menu-link:hover, body.semanat-v2 .main-header-menu .menu-item-type-post_type.current-menu-item > .menu-link { color: var(--sem-blue-700); }
body.semanat-v2 .main-header-menu .menu-item.sem-nav-has-panel.is-open > .sem-nav-link { color: var(--sem-blue-700); }
body.semanat-v2.sem-hdr-compact .sem-hdr { box-shadow: 0 2px 10px rgba(16, 42, 67, .08); }
/* wejście do działu: jasny przycisk z zieloną ikoną zamiast pełnego zielonego — nie konkuruje z „SZUKAM MATERIAŁU” */
@media (min-width: 1200px) {
  body.semanat-v2 .sem-practice-pill { background: #fff; border: 1px solid var(--sem-border); color: var(--sem-ink); font-weight: 600; box-shadow: var(--sem-shadow-rest); }
  body.semanat-v2 .sem-practice-pill svg { fill: var(--sem-green-600); }
  body.semanat-v2 .sem-practice-pill:hover, body.semanat-v2 .sem-practice-pill:focus, body.semanat-v2 .sem-practice-pill[aria-current] { background: var(--sem-green-050); border-color: var(--sem-green-600); color: var(--sem-green-700); }
  body.semanat-v2 .sem-practice-pill:focus-visible { outline: 3px solid var(--sem-blue-600); outline-offset: 2px; }
}
@media (max-width: 1199px) {
  /* telefon i tablet: jasny, niższy pasek pod nagłówkiem; po przewinięciu znika (jak pasek języka) — w klejonym bloku zostaje logo · szukaj · menu */
  body.semanat-v2 .sem-practice-bar { background: #fff; color: var(--sem-ink); border-bottom: 1px solid var(--sem-border); min-height: 40px; padding: 6px 16px; font-size: 14.5px; font-weight: 600; }
  body.semanat-v2 .sem-practice-bar svg { fill: var(--sem-green-600); }
  body.semanat-v2 .sem-practice-bar__go { color: var(--sem-green-700); }
  body.semanat-v2 .sem-practice-bar:hover, body.semanat-v2 .sem-practice-bar:focus, body.semanat-v2 .sem-practice-bar[aria-current] { background: var(--sem-green-050); color: var(--sem-green-700); }
  body.semanat-v2 .sem-practice-bar:focus-visible { outline: 3px solid var(--sem-blue-600); outline-offset: -4px; }
  body.semanat-v2.sem-hdr-compact .sem-hdr .sem-practice-bar { display: none; }
}

/* ---------------------------------------------------------------- strona główna: bohater na bieli (klasa `sem-hero-c` nadawana narzędziem) */
body.semanat-v2 .sem-hero-c { position: relative; background: #fff; overflow: hidden; }
body.semanat-v2 .sem-hero-c::before { content: ""; position: absolute; inset: 0; background: radial-gradient(70% 90% at 10% 20%, var(--sem-blue-050) 0%, rgba(238,245,252,0) 70%); pointer-events: none; }
body.semanat-v2 .sem-hero-c::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--sem-border); }
body.semanat-v2 .sem-hero-c > .e-con, body.semanat-v2 .sem-hero-c > .e-con-inner { position: relative; }
body.semanat-v2 .sem-hero-c .sem-hero-media .elementor-widget-container, body.semanat-v2 .sem-hero-c .sem-hero-media img { border-radius: var(--sem-radius-md); }
body.semanat-v2 .sem-hero-c .sem-hero-media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; box-shadow: var(--sem-shadow); }
@media (min-width: 1025px) { body.semanat-v2 .sem-hero-c { flex-direction: row-reverse; } }
@media (max-width: 1024px) {
  body.semanat-v2 .sem-hero-c { flex-direction: column; }
  body.semanat-v2 .sem-hero-c .sem-hero-media img { aspect-ratio: 4 / 3; box-shadow: none; }
  body.semanat-v2 .sem-hero-c::before { display: none; }
}
@media (max-width: 767px) {
  body.semanat-v2 .sem-hero-c h1 { font-size: 30px; line-height: 1.12; }
  body.semanat-v2 .sem-hero-c .sem-lead .elementor-widget-container { font-size: 16px; line-height: 1.5; }
  body.semanat-v2 .sem-hero-c .sem-chips .elementor-widget-container { font-size: 13px; }
  body.semanat-v2 .sem-hero-c .elementor-widget-button .elementor-button { padding: 12px 18px; font-size: 13.5px; }
  /* otwarcie: mniejsze odstępy między wprowadzeniem, listą materiałów i przyciskami */
  body.semanat-v2 .sem-hero-c > .e-con { gap: 10px !important; }
  body.semanat-v2 .sem-hero-c .sem-motif { display: none; }
}
/* drugie działanie w bohaterze (dostawca): zielony obrys na białym — czytelne, spokojniejsze niż dwa pełne przyciski obok siebie */
body.semanat-v2 .sem-hero-c .sem-btn-sell-outline .elementor-button { background: #fff; color: var(--sem-green-700); border-color: var(--sem-green-600); }
body.semanat-v2 .sem-hero-c .sem-btn-sell-outline .elementor-button:hover, body.semanat-v2 .sem-hero-c .sem-btn-sell-outline .elementor-button:focus { background: var(--sem-green-050); color: var(--sem-green-700); border-color: var(--sem-green-700); }
/* pasek „5 kroków”: etykiety z nazw kroków (narzędzie); drobny porządek */
.sem-path-label { color: var(--sem-muted); }

/* ---------------------------------------------------------------- blok aktualnych ofert na stronie głównej (shortcode motywu) */
.sem-home-offers { width: 100%; }
.sem-home-offers__head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px 24px; margin: 0 0 22px; }
.sem-home-offers__eyebrow { margin: 0 0 8px; font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--sem-blue-700); }
body.semanat-v2 .sem-home-offers__head h2 { margin: 0; font-size: var(--sem-h2); }   /* tylko nagłówek sekcji — tytuły kart (też h2) mają własny rozmiar niżej */
.sem-home-offers__lead { margin: 8px 0 0; max-width: 62ch; font-size: 16.5px; color: var(--sem-ink-soft); }
.sem-home-offers__all { font-size: 15px; font-weight: 600; color: var(--sem-blue-700); text-decoration: none; white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; }
.sem-home-offers__all:hover, .sem-home-offers__all:focus-visible { text-decoration: underline; color: var(--sem-navy-800); }
.sem-home-offers .sem-of-grid { margin: 0; align-items: stretch; }
/* karta osadzona w stronie Elementora: jej reguły dla obrazów (`height: auto`) i nagłówków nadpisywały komponent —
   zmierzone 22.10: obraz 216–287 px w polu 256 px (puste pasy), karty 923 px, przyciski na trzech wysokościach */
.sem-home-offers .sem-of-card { height: 100%; }
.sem-home-offers .sem-of-card-media { aspect-ratio: 3 / 2; height: auto; }
body.semanat-v2 .sem-home-offers .sem-of-card-media img { width: 100%; height: 100% !important; aspect-ratio: 3 / 2; object-fit: cover; display: block; margin: 0; border-radius: 0; }
.sem-home-offers .sem-of-card-body { flex: 1 1 auto; padding: 18px 20px 18px; gap: 8px; }
body.semanat-v2 .sem-home-offers h2.sem-of-card-title { font-size: 21px !important; line-height: 1.25 !important; margin: 0 !important; font-weight: 600; letter-spacing: -0.01em; overflow-wrap: anywhere; hyphens: auto; }
/* zmierzone 22.10: odnośnik w tytule dostawał 36 px z reguły nagłówka sekcji (`.sem-home-offers h2`) — rozmiar i interlinia dziedziczone wprost */
body.semanat-v2 .sem-home-offers .sem-of-card-title a { font-size: inherit !important; line-height: inherit !important; letter-spacing: inherit; display: inline; }
body.semanat-v2 .sem-home-offers .sem-of-card p { margin-bottom: 0; }   /* marginesy akapitów Astry (1,6 em) nie należą do karty */
.sem-home-offers .sem-of-card-sum { font-size: 14.5px; line-height: 1.5; margin: 0; }
.sem-home-offers .sem-of-facts { font-size: 13.5px; }
.sem-home-offers .sem-of-card-foot { margin-top: auto; padding-top: 10px; }
.sem-home-offers .sem-of-card-foot .sem-of-cta { padding: 11px 18px; min-height: 44px; line-height: 20px; font-size: 13px; }
.sem-home-offers__foot { margin: 18px 0 0; }
@media (max-width: 767px) {
  .sem-home-offers__head { margin-bottom: 14px; }
  .sem-home-offers__lead { font-size: 15.5px; }
  /* telefon: zwarta karta (zdjęcie z lewej, treść z prawej) — trzy oferty mieszczą się na jednym ekranie przewijania zamiast trzech;
     pełne karty ze streszczeniem zostają w katalogu /oferty/ */
  .sem-home-offers .sem-of-grid { gap: 12px; }
  .sem-home-offers .sem-of-card { display: grid; grid-template-columns: 116px minmax(0, 1fr); }
  .sem-home-offers .sem-of-card-media { aspect-ratio: auto; height: 100%; min-height: 150px; }
  .sem-home-offers .sem-of-card-body { padding: 12px 14px 12px; gap: 6px; }
  .sem-home-offers .sem-of-card-sum, .sem-home-offers .sem-of-facts { display: none; }
  .sem-home-offers .sem-of-badges { gap: 6px; margin-bottom: 4px; }
  .sem-home-offers .sem-of-badge { font-size: 11px; padding: 4px 8px; }
  .sem-home-offers .sem-of-badge-grey { display: none; }
  body .sem-home-offers .sem-of-card-title { font-size: 16px !important; line-height: 1.3 !important; }
  .sem-home-offers .sem-of-card-foot { flex-direction: row; align-items: center; justify-content: space-between; gap: 8px; padding-top: 2px; margin-top: auto; }
  .sem-home-offers .sem-of-card-foot .sem-of-cta { width: auto; min-height: 36px; padding: 8px 12px; font-size: 12px; line-height: 18px; }
  .sem-home-offers .sem-of-code { font-size: 11.5px; }
}

/* ---------------------------------------------------------------- wyróżniona relacja „SEMANAT w praktyce” na stronie głównej (shortcode motywu) */
.sem-home-pr { width: 100%; }
.sem-home-pr__eyebrow { margin: 0 0 8px; font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sem-green-700); display: inline-flex; align-items: center; gap: 8px; }
.sem-home-pr__eyebrow svg { width: 14px; height: 14px; fill: var(--sem-green-600); }
body.semanat-v2 .sem-home-pr h2 { margin: 0 0 8px; font-size: var(--sem-h2); }
.sem-home-pr__lead { margin: 0 0 18px; max-width: 62ch; font-size: 16.5px; color: var(--sem-ink-soft); }
.sem-home-pr .sem-pr-card--feature { margin: 0; }
.sem-home-pr__foot { margin: 18px 0 0; font-size: 15px; font-weight: 600; }
.sem-home-pr__foot a { color: var(--sem-blue-700); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.sem-home-pr__foot a:hover, .sem-home-pr__foot a:focus-visible { text-decoration: underline; color: var(--sem-navy-800); }
/* karta relacji poza stroną działu: te same reguły co w archiwum (practice.css), ale bez tła działu */
.sem-home-pr .sem-pr-card { border: 1px solid var(--sem-border); border-radius: var(--sem-radius-md); background: #fff; overflow: hidden; box-shadow: var(--sem-shadow-rest); }
.sem-home-pr .sem-pr-card:hover { box-shadow: var(--sem-shadow-hover); }
.sem-home-pr .sem-pr-card__link { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 0; text-decoration: none; color: inherit; }
.sem-home-pr .sem-pr-media { margin: 0; position: relative; }
.sem-home-pr .sem-pr-media img { display: block; width: 100%; height: 100%; min-height: 320px; object-fit: cover; }
.sem-home-pr .sem-pr-media__count { position: absolute; right: 12px; bottom: 12px; padding: 4px 10px; border-radius: 999px; background: rgba(16,42,67,.82); color: #fff; font-size: 12.5px; font-weight: 600; }
.sem-home-pr .sem-pr-card__body { padding: 28px 30px; display: flex; flex-direction: column; justify-content: center; gap: 10px; }
.sem-home-pr .sem-pr-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0; font-size: 13px; color: var(--sem-muted); }
.sem-home-pr .sem-pr-type { display: inline-block; padding: 3px 9px; border-radius: 999px; background: var(--sem-green-050); color: var(--sem-green-700); font-weight: 700; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; }
body.semanat-v2 .sem-home-pr .sem-pr-card__title { margin: 0; font-size: 26px; line-height: 1.2; color: var(--sem-ink); }
.sem-home-pr .sem-pr-card__lead { margin: 0; font-size: 16px; line-height: 1.55; color: var(--sem-ink-soft); }
@media (max-width: 921px) {
  .sem-home-pr .sem-pr-card__link { grid-template-columns: 1fr; }
  .sem-home-pr .sem-pr-media img { min-height: 0; aspect-ratio: 16 / 10; }
  .sem-home-pr .sem-pr-card__body { padding: 18px 18px 20px; }
  body.semanat-v2 .sem-home-pr .sem-pr-card__title { font-size: 21px; }
}

/* ---------------------------------------------------------------- stopka: granat zamiast #001524, ten sam układ */
.sem-fv3 { --fv3-navy: #102A43; --fv3-line: rgba(255,255,255,.12); --fv3-dim: #A9BCCF; }
.sem-fv3 .sem-fv3-pano::after { background: linear-gradient(180deg, rgba(16,42,67,.62) 0%, rgba(16,42,67,.68) 45%, rgba(16,42,67,.76) 100%), linear-gradient(90deg, rgba(16,42,67,.28) 0, rgba(16,42,67,.28) calc(var(--fv3-x0) + var(--fv3-zw) * 0.5), rgba(16,42,67,.12) calc(var(--fv3-x0) + var(--fv3-zw) * 1.5), rgba(16,42,67,.22) calc(var(--fv3-x0) + var(--fv3-zw) * 2.5), rgba(16,42,67,.06) calc(var(--fv3-x0) + var(--fv3-zw) * 3.5), rgba(16,42,67,.06) 100%); }
@media (max-width: 921px) { .sem-fv3 .sem-fv3-pano::after { background: linear-gradient(180deg, rgba(16,42,67,.66) 0%, rgba(16,42,67,.72) 45%, rgba(16,42,67,.8) 100%), linear-gradient(90deg, rgba(16,42,67,.16) 0%, rgba(16,42,67,.06) 100%); } }
.sem-fv3 .sem-fv3-main { color: #C9D6E3; }
.sem-fv3 .sem-fv3-main a { color: #C9D6E3; }
.sem-fv3 .sem-fv3-claim { color: #EAF2FA; }
.sem-fv3 .sem-fv3-claim-en { color: #93A8BD; }
.sem-fv3 .sem-fv3-operator h3 { color: #A9BCCF; }
.sem-fv3 .sem-fv3-operator p { color: #A9BCCF; }
.sem-fv3 .sem-fv3-bottom { background: #0B1F33; }
.sem-fv3 .sem-fv3-bottom div, .sem-fv3 .sem-fv3-bottom a { color: #93A8BD; }
.sem-fv3 :focus-visible { outline-color: #9CCBF0; }
/* strefy panoramy stopki: tekst biały także przy wskazaniu i fokusie (reguła stopki Astry `.site-footer a:hover` barwiła sam odnośnik na zielono — zmierzone) */
.sem-fv3 .sem-fv3-zones a:hover, .sem-fv3 .sem-fv3-zones a:focus-visible, .sem-fv3 .sem-fv3-zones a:hover .sem-fv3-zone-h, .sem-fv3 .sem-fv3-zones a:hover .sem-fv3-zone-d { color: #fff; }
.semanat-v2 .site-footer { background: var(--sem-dark); }

/* ---------------------------------------------------------------- dział „SEMANAT w praktyce”: korekty wynikające ze wspólnego stylu (układ bez zmian) */
.sem-practice { border-bottom-color: var(--sem-border); }

/* ---------------------------------------------------------------- ruch: krótsze wejścia (treść czytelna bez czekania), bez ruchu przy ograniczeniu */
@media (prefers-reduced-motion: no-preference) {
  html.sem-js .sem-stagger > * { transition-duration: 320ms, 320ms; }
  html.sem-js .sem-reveal { transition-duration: 360ms, 360ms; }
  .sem-stagger.is-in > *:nth-child(2) { transition-delay: 40ms; } .sem-stagger.is-in > *:nth-child(3) { transition-delay: 80ms; } .sem-stagger.is-in > *:nth-child(4) { transition-delay: 120ms; }
  .sem-stagger.is-in > *:nth-child(5) { transition-delay: 160ms; } .sem-stagger.is-in > *:nth-child(6) { transition-delay: 200ms; } .sem-stagger.is-in > *:nth-child(n+7) { transition-delay: 240ms; }
}
@media (prefers-reduced-motion: reduce) {
  html.sem-js .sem-stagger > *, html.sem-js .sem-reveal, html.sem-js .sem-img-reveal .sem-pic img, html.sem-js .sem-img-reveal.elementor-widget-image img { opacity: 1 !important; transform: none !important; clip-path: none !important; }
  body.semanat-v2 .sem-card:hover, body.semanat-v2 .e-con.sem-card:hover { transform: none; }
}

/* ==========================================================================================================
   WYGLĄD — TRANSZA 2, krok 2 (22.10.2026, LOKALNIE, strony podglądu /podglad-otwarcie-a|b/): dwa warianty pierwszego ekranu.
   Działają tylko na sekcji z klasą .sem-hero-fotA / .sem-hero-fotB (strona główna = baza bez zmian). Bez sliderów, bez efektów przewijania.
   ========================================================================================================== */
/* A — fotograficzny: jedno duże zdjęcie, biała rama, głębia światłem (błękitny panel za zdjęciem, przesunięty) i cieniem */
body.semanat-v2 .sem-hero-fotA::before { background: radial-gradient(80% 90% at 15% 25%, var(--sem-blue-050) 0%, rgba(238,245,252,0) 72%); }
body.semanat-v2 .sem-hero-fotA .sem-hero-media { position: relative; }
body.semanat-v2 .sem-hero-fotA .sem-hero-media::before { content: ""; position: absolute; inset: 28px -22px -22px 28px; background: var(--sem-blue-050); border: 1px solid var(--sem-border); border-radius: var(--sem-radius-md); z-index: 0; }
body.semanat-v2 .sem-hero-fotA .sem-hero-media::after { content: ""; position: absolute; left: 28px; bottom: -22px; width: 96px; height: 4px; background: var(--sem-grad); border-radius: 2px; z-index: 2; }
body.semanat-v2 .sem-hero-fotA .sem-hero-media .elementor-widget-container { position: relative; z-index: 1; background: #fff; padding: 8px; border-radius: 16px; border: 1px solid var(--sem-border); box-shadow: 0 24px 48px -24px rgba(16,42,67,.35), 0 8px 24px rgba(16,42,67,.08); }
body.semanat-v2 .sem-hero-fotA .sem-hero-media img { border-radius: 10px; box-shadow: none; aspect-ratio: 4 / 5; object-fit: cover; }
@media (max-width: 1024px) {
  body.semanat-v2 .sem-hero-fotA .sem-hero-media::before { inset: 16px -12px -12px 16px; }
  body.semanat-v2 .sem-hero-fotA .sem-hero-media img { aspect-ratio: 4 / 3; }
  body.semanat-v2 .sem-hero-fotA .sem-hero-media .elementor-widget-container { padding: 6px; }
}
@media (max-width: 767px) { body.semanat-v2 .sem-hero-fotA .sem-hero-media { margin: 0 12px 24px 0; } }

/* B2 — kompozycja materiałowa (rozwinięcie B, 22.10 wieczór): biały granulat dominuje (lewa, ~70 % szerokości, 4:5), zielony przemiał =
   główny akcent (prawa dolna, nachodzi na główne zdjęcie), czarny granulat = mały detal (prawa górna). Jedna rama (biel 5 px, krawędź,
   promień 12), jeden cień dla wszystkich, jedna linia akcentu. Obrazy przez srcset z rozmiarami motywu (0.16.30). */
.sem-hero-comp { position: relative; display: grid; grid-template-columns: repeat(12, 1fr); grid-template-rows: repeat(12, 1fr); aspect-ratio: 1 / 1; width: 100%; }
.sem-hero-comp figure { margin: 0; overflow: hidden; background: #fff; padding: 5px; border: 1px solid var(--sem-border); border-radius: 14px; box-shadow: 0 18px 36px -18px rgba(16,42,67,.35), 0 6px 16px rgba(16,42,67,.08); }
.sem-hero-comp img, body.semanat-v2 .sem-hero-c .sem-hero-media .sem-hero-comp img { display: block; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; border-radius: 9px; box-shadow: none; } /* nadpisuje ogólną regułę zdjęcia bohatera (4:5 / 4:3): w kompozycji wysokość daje siatka */
.sem-hero-comp__main { grid-column: 1 / 10; grid-row: 1 / 12; z-index: 1; }
.sem-hero-comp__accent { grid-column: 7 / 13; grid-row: 7 / 13; z-index: 3; }
.sem-hero-comp__detail { grid-column: 9 / 13; grid-row: 2 / 6; z-index: 2; }
.sem-hero-comp__line { position: absolute; left: 4%; bottom: 2%; width: 110px; height: 4px; background: var(--sem-grad); border-radius: 2px; z-index: 4; }
body.semanat-v2 .sem-hero-fotB::before { background: radial-gradient(70% 90% at 85% 30%, var(--sem-blue-050) 0%, rgba(238,245,252,0) 70%); }
@media (max-width: 1024px) {
  /* telefon/tablet: cała kompozycja pod przyciskami, bez nachodzenia na tekst — główne zdjęcie z lewej, akcent i detal w kolumnie po prawej */
  .sem-hero-comp { aspect-ratio: 16 / 10; grid-template-columns: repeat(12, 1fr); grid-template-rows: repeat(12, 1fr); gap: 0; }
  .sem-hero-comp__main { grid-column: 1 / 9; grid-row: 1 / 13; }
  .sem-hero-comp__accent { grid-column: 9 / 13; grid-row: 1 / 8; }
  .sem-hero-comp__detail { grid-column: 9 / 13; grid-row: 8 / 13; }
  .sem-hero-comp figure { padding: 4px; border-radius: 10px; box-shadow: 0 8px 20px -10px rgba(16,42,67,.3); }
  .sem-hero-comp img, body.semanat-v2 .sem-hero-c .sem-hero-media .sem-hero-comp img { border-radius: 7px; aspect-ratio: auto; }
  .sem-hero-comp__accent, .sem-hero-comp__detail { margin-left: 8px; }
  .sem-hero-comp__detail { margin-top: 8px; }
  .sem-hero-comp__line { display: none; }
}

/* ------------------------------------------------------------------------------------------------------------------
   WYGLĄD — TRANSZA 2, runda 4 (22.10.2026, LOKALNIE): sekcja „Jak możemy pomóc” ze zdjęciem (przemiał, linijka, próbka)
   obok nagłówka sekcji. Komputer (≥ 1025 px): nagłówek + zajawka po lewej, zdjęcie 16:10 po prawej, w ramce jak w otwarciu;
   telefon/tablet: zdjęcie 16:9 pod zajawką, ograniczona wysokość (sekcja nie wydłuża się nadmiernie). Trzy karty usług bez zmian.
   ------------------------------------------------------------------------------------------------------------------ */
.sem-help-photo { margin: 0; padding: 5px; background: #fff; border: 1px solid var(--sem-border); border-radius: 14px; box-shadow: 0 18px 36px -18px rgba(16,42,67,.35), 0 6px 16px rgba(16,42,67,.08); }
.sem-help-photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 9px; }
.sem-help-photo-w { width: 100%; }
@media (min-width: 1025px) {
  body.semanat-v2 .sem-help-head.e-con { --display: grid; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 42%); grid-template-rows: auto auto auto; column-gap: 48px; align-items: center; }
  body.semanat-v2 .sem-help-head.e-con > .elementor-widget { grid-column: 1; width: 100%; }
  body.semanat-v2 .sem-help-head.e-con > .sem-help-photo-w { grid-column: 2; grid-row: 1 / 4; align-self: center; }
  /* obok zdjęcia tekst nagłówka wyrównany do lewej (jak w otwarciu); karty poniżej bez zmian */
  body.semanat-v2 .sem-help-head.e-con > .elementor-widget .elementor-widget-container, body.semanat-v2 .sem-help-head.e-con > .elementor-widget .elementor-heading-title, body.semanat-v2 .sem-help-head.e-con > .elementor-widget.sem-lead { text-align: left; }
  body.semanat-v2 .sem-help-head.e-con > .sem-eyebrow .elementor-heading-title::after { margin-left: 0; }
}
@media (max-width: 1024px) {
  .sem-help-photo-w { margin-top: 12px; }
  .sem-help-photo { padding: 4px; border-radius: 10px; box-shadow: 0 8px 20px -10px rgba(16,42,67,.3); }
  .sem-help-photo img { aspect-ratio: 16 / 9; max-height: 230px; border-radius: 7px; }
}

/* ==========================================================================================================
   WYGLĄD — TRANSZA 3 (23.10.2026, LOKALNIE): spójność podstron z zaakceptowaną stroną główną i ofertami.
   Tylko wygląd: kolory, nagłówki, przyciski, karty, cienie, obramowania, odstępy. Treści, adresy, metadane i logika
   narzędzi bez zmian. Każda reguła nadpisuje konkretne odstępstwo wykryte spisem stylów (audit/wyglad_t3_20261023/przed).
   ========================================================================================================== */
/* T3-1 etykieta nad nagłówkiem (eyebrow) na podstronach: niebieska jak na stronie głównej. Reguła transzy 1 (.sem-eyebrow .elementor-heading-title,
   swoistość 0,2,0) przegrywała z `body.semanat-v2 .elementor-heading-title` (0,2,1) → granat na 38 podstronach. */
body.semanat-v2 .sem-eyebrow .elementor-heading-title { color: var(--sem-blue-700); }
body.semanat-v2 .sem-eyebrow.is-green .elementor-heading-title { color: var(--sem-green-700); }
body.semanat-v2 .sem-eyebrow.on-dark .elementor-heading-title, body.semanat-v2 .sem-eyebrow.is-blue.on-dark .elementor-heading-title { color: #9CCBF0; }
/* T3-2 hub wiedzy: zmienne własne hub.css → tokeny (pasma, linie, atrament); karty tematów i wyszukiwarka hubu jak reszta serwisu */
body.semanat-hub { --h-band-tech: var(--sem-bg-alt); --h-band-act: #FFFFFF; --h-line: var(--sem-border); --h-line-soft: var(--sem-border); --h-ink: var(--sem-ink); --h-muted: var(--sem-muted); }
body.semanat-v2 .sem-search .sem-search__row { border: 1px solid var(--sem-border); border-radius: 10px; background: #fff; box-shadow: var(--sem-shadow-rest); }
body.semanat-v2 .sem-search .sem-search__row .sem-search__input { color: var(--sem-ink); border-radius: 10px 0 0 10px; }
body.semanat-v2 .sem-search .sem-search__go { background: var(--sem-blue-600); color: #fff; border-left: 0; border-radius: 0 9px 9px 0; }
body.semanat-v2 .sem-search .sem-search__go:hover, body.semanat-v2 .sem-search .sem-search__go:focus { background: var(--sem-blue-700); color: #fff; }
body.semanat-hub details.sem-topics__group { border-top-color: var(--sem-blue-600); }
/* T3-3 narzędzia (kalkulator, słownik): otwarcie jak podstrony — jasny błękit bez gradientu zielonkawego i bez pasków-motywu, etykieta niebieska;
   panele i pola w tokenach (obramowanie, cień); główny przycisk kalkulatora i aktywna zakładka słownika w niebieskim działania, nie w starym granacie. */
body.semanat-v2 .sem-tool-hero { background: var(--sem-bg-alt); border-bottom: 1px solid var(--sem-border); border-radius: 0 0 14px 14px; }
body.semanat-v2 .sem-tool-hero-motif { display: none; }
body.semanat-v2 .sem-tool-eyebrow { color: var(--sem-blue-700); }
body.semanat-v2 .sem-tool-hero h1 { color: var(--sem-ink); }
body.semanat-v2 .sem-tool-local { border-color: var(--sem-border); color: var(--sem-ink-soft); }
body.semanat-v2 .sem-tool.sem-calc { border-color: var(--sem-border); box-shadow: var(--sem-shadow); border-radius: 14px; }
body.semanat-v2 .sem-tool.sem-calc .sem-calc-head { background: #fff; border-bottom-color: var(--sem-border); }
body.semanat-v2 .sem-tool input[type=number], body.semanat-v2 .sem-tool input[type=text], body.semanat-v2 .sem-tool input[type=search] { border-color: var(--sem-border); color: var(--sem-ink); }
body.semanat-v2 .sem-tool.sem-calc .sem-calc-run { background: var(--sem-blue-600); box-shadow: var(--sem-shadow-rest); border-radius: 8px; }
body.semanat-v2 .sem-tool.sem-calc .sem-calc-run:hover { background: var(--sem-blue-700); box-shadow: var(--sem-shadow-hover); }
body.semanat-v2 .sem-tool.sem-calc .sem-calc-run:focus-visible { outline: 3px solid var(--sem-blue-600); }
body.semanat-v2 .sem-tool.sem-gl .sem-gl-tab.is-active { background: var(--sem-blue-600); border-color: var(--sem-blue-600); }
body.semanat-v2 .sem-tool.sem-gl .sem-gl-tab.is-active span { color: #E6F0F8; }
body.semanat-v2 .sem-tool .sem-gl-card, body.semanat-v2 .sem-tool .sem-gl-search, body.semanat-v2 .sem-tool.sem-gl .sem-gl-panel { border-color: var(--sem-border); box-shadow: var(--sem-shadow-rest); }
/* T3-4 Finder i zgłoszenie dostawcy: główny przycisk kroku w niebieskim działania (był stary granat #0F3B78) */
body.semanat-v2 .sem-finder-app .sem-fw-btn-primary, body.semanat-v2 .sem-fw .sem-fw-btn-primary { background: var(--sem-blue-600); border-color: var(--sem-blue-600); border-radius: 8px; }
body.semanat-v2 .sem-finder-app .sem-fw-btn-primary:hover, body.semanat-v2 .sem-finder-app .sem-fw-btn-primary:focus-visible, body.semanat-v2 .sem-fw .sem-fw-btn-primary:hover { background: var(--sem-blue-700); border-color: var(--sem-blue-700); }
/* T3-5 tabele przewodników: obramowania w tokenie (były #DDD) */
body.semanat-v2 .sem-k-table, body.semanat-v2 .sem-k-table th, body.semanat-v2 .sem-k-table td { border-color: var(--sem-border); }
/* T3-6 formularze: pola w jednym kształcie (biel, obramowanie tokenu, promień 8 px, fokus niebieski jak w całym serwisie) */
body.semanat-v2 .sem-cform input.elementor-field, body.semanat-v2 .sem-cform textarea.elementor-field, .semanat-v2 .elementor-form .elementor-field-textual, .semanat-v2 .sem-form .elementor-field-textual { border-color: var(--sem-border); border-radius: 8px; color: var(--sem-ink); background: #fff; }
.semanat-v2 .elementor-form .elementor-field-textual:focus, .semanat-v2 .sem-form .elementor-field-textual:focus, body.semanat-v2 .sem-cform .elementor-field:focus { border-color: var(--sem-blue-600); box-shadow: 0 0 0 3px var(--sem-blue-050); }
body.semanat-v2 .sem-form-context { border-left-color: var(--sem-blue-600); background: var(--sem-bg-alt); color: var(--sem-ink-soft); border-radius: 0 8px 8px 0; }
body.semanat-v2 .sem-form-context a { color: var(--sem-blue-700); }
body.semanat-v2 .sem-cform { border-color: var(--sem-border); }
body.semanat-v2 .sem-cform .elementor-field-label, body.semanat-v2 .sem-cform__lead, body.semanat-v2 .sem-cform__alt { color: var(--sem-ink-soft); }
/* T3-7 drugi przycisk otwarcia podstron jako obrys (dane: tools/wyglad_t3_podstrony.py) — na błękitnym tle biała powierzchnia jak na stronie głównej */
body.semanat-v2 .sem-btn-sell-outline .elementor-button, body.semanat-v2 .sem-btn-buy-outline .elementor-button { background: #fff; }
body.semanat-v2 .sem-btn-sell-outline .elementor-button:hover, body.semanat-v2 .sem-btn-sell-outline .elementor-button:focus { background: var(--sem-green-050); }
body.semanat-v2 .sem-btn-buy-outline .elementor-button:hover, body.semanat-v2 .sem-btn-buy-outline .elementor-button:focus { background: var(--sem-blue-050); }
