/*
Theme Name:  ABD – motyw potomny Divi
Theme URI:   https://abdrodo.pl
Description: Motyw potomny Divi dla Akademii Bezpieczeństwa Danych (abdrodo.pl). Zero zasobów zewnętrznych: fonty self-hosted (fonts/), tła sekcji w motywie (img/), ikony inline SVG. Utworzony wtyczką Orbisius Child Theme Creator, style i functions.php przepisane pod projekt.
Author:      Marcin Świerzyński
Template:    Divi
Version:     1.1.1
Requires PHP: 7.4
Text Domain: abd-child
*/

/* =====================================================================
   0. ZMIENNE
   Kolory z próbek zrzutów strony Canva (build/etap0_inwentarz.md, sekcja 3).
   Prefiks klas: abd-  ·  mobile-first  ·  !important tylko przy nadpisaniu Divi.
   ===================================================================== */
:root {
  /* kolory */
  --abd-zloty:        #cdad7d;   /* akcent: nagłówki, ikony, ramki, przyciski, formularz */
  --abd-zloty-jasny:  #e8d1ae;   /* kafelki ofert, przycisk Wyślij */
  --abd-zloty-tekst:  #dbbf94;   /* pogrubione akapity na Rodo / Dofinansowaniu */
  --abd-zloty-hover:  #dfc08f;
  --abd-tlo:          #141010;   /* tło główne (hero, podstrony) */
  --abd-tlo-2:        #1f1f1f;   /* Nasz zespół */
  --abd-tlo-3:        #0a0a10;   /* O nas, Oferty (granatowa czerń) */
  --abd-tlo-menu:     #000000;
  --abd-bialy:        #ffffff;
  --abd-tekst:        #ffffff;
  --abd-tekst-cichy:  rgba(255,255,255,.78);
  --abd-ciemny:       #1f1f1f;   /* tekst na beżowym */
  --abd-niebieski:    #5d97c6;   /* niebieski z sygnetu logo — do hoverów/linków w treści */
  --abd-ramka:        rgba(205,173,125,.85);
  --abd-overlay:      rgba(12,9,9,.35);  /* przyciemnienie zdjęć w tle — tła AI są już ciemne (śr. jasność 7–9%), 2026-09-22 */
  --abd-overlay-mocny: rgba(12,9,9,.55);  /* podstrony z dużą ilością tekstu */

  /* fonty (self-hosted, sekcja 1) */
  --abd-font-sans:    'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --abd-font-serif:   'EB Garamond', Georgia, 'Times New Roman', serif;
  --abd-font-naglowek:'Montserrat', 'Inter', Arial, sans-serif;

  /* rytm */
  --abd-kontener:     1200px;
  --abd-kontener-tekst: 900px;
  --abd-gutter:       16px;
  --abd-odstep:       clamp(48px, 8vw, 96px);   /* pion sekcji */
  --abd-odstep-s:     clamp(24px, 4vw, 40px);
  --abd-radius:       12px;
  --abd-radius-l:     40px;   /* pasek partnerów */
  --abd-przejscie:    .2s ease;
}

/* =====================================================================
   1. FONTY — @font-face
   Pliki: <folder motywu potomnego>/fonts/*.woff2 (ścieżki względem style.css — nazwa folderu motywu bez znaczenia).
   Fonty zmienne (oś wght), OFL 1.1 — licencje w build/fonts/LICENSE-*.txt.
   Dwa pliki na rodzinę: latin (podstawowy) + polski (Ą Ć Ę Ł Ń Ś Ź Ż i spółka);
   przeglądarka pobiera oba dopiero, gdy na stronie jest polski znak (czyli zawsze),
   ale zakresy unicode nie nakładają się, więc nic nie dubluje się w pamięci.
   ===================================================================== */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/inter-latin.woff2') format('woff2-variations'), url('fonts/inter-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/inter-polski.woff2') format('woff2-variations'), url('fonts/inter-polski.woff2') format('woff2');
  unicode-range: U+0100-017F,U+02C7,U+02D8-02DD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/montserrat-latin.woff2') format('woff2-variations'), url('fonts/montserrat-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/montserrat-polski.woff2') format('woff2-variations'), url('fonts/montserrat-polski.woff2') format('woff2');
  unicode-range: U+0100-017F,U+02C7,U+02D8-02DD;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('fonts/eb-garamond-latin.woff2') format('woff2-variations'), url('fonts/eb-garamond-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'EB Garamond';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('fonts/eb-garamond-polski.woff2') format('woff2-variations'), url('fonts/eb-garamond-polski.woff2') format('woff2');
  unicode-range: U+0100-017F,U+02C7,U+02D8-02DD;
}

/* =====================================================================
   2. BAZA — nadpisania Divi na poziomie strony
   W Divi: Wygląd → Dostosuj → Typografia → font body/nagłówków = „Default"
   (żeby Divi nie ładował Google Fonts); kolory ustawiają te reguły.
   ===================================================================== */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body,
#et-main-area,
#main-content {
  background: var(--abd-tlo);
  color: var(--abd-tekst);
  font-family: var(--abd-font-sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
#main-content .container { max-width: none; width: auto; }   /* Code module ma zająć pełną szerokość */
img { max-width: 100%; height: auto; }
a { color: var(--abd-zloty); transition: color var(--abd-przejscie); }
a:hover, a:focus-visible { color: var(--abd-zloty-hover); }
:focus-visible { outline: 2px solid var(--abd-zloty); outline-offset: 3px; }
.abd-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Divi w Code module dokleja własne marginesy i style list — wyrównujemy */
.abd-section p { margin: 0 0 1em; padding-bottom: 0; }   /* Divi: p { padding-bottom: 1em } */
.abd-section p:last-child { margin-bottom: 0; }
.abd-section ul, .abd-section ol { margin: 0 0 1.25em; padding: 0 0 0 1.4em; line-height: 1.6; }   /* Divi: .entry-content ul { padding: 0 0 23px 1em } */
.abd-section li { margin: 0 0 .4em; }
.abd-section h1, .abd-section h2, .abd-section h3, .abd-section h4 { margin: 0 0 .5em; padding: 0; color: var(--abd-zloty); line-height: 1.15; }
.abd-section strong { font-weight: 700; }

/* =====================================================================
   3. TYPOGRAFIA
   ===================================================================== */
.abd-h-serif   { font-family: var(--abd-font-serif); font-weight: 400; font-size: clamp(36px, 5vw, 56px); letter-spacing: .01em; }
.abd-h-serif-s { font-family: var(--abd-font-serif); font-weight: 400; font-size: clamp(28px, 3.6vw, 40px); }
.abd-h-caps    { font-family: var(--abd-font-naglowek); font-weight: 800; text-transform: uppercase; letter-spacing: .04em; font-size: clamp(26px, 4vw, 44px); }
.abd-section .abd-tagline { font-family: var(--abd-font-naglowek); font-weight: 700; font-size: clamp(22px, 3vw, 32px); color: var(--abd-bialy); line-height: 1.2; }
.abd-section .abd-lead { font-weight: 700; color: var(--abd-zloty); font-size: clamp(16px, 1.6vw, 18px); }
.abd-section .abd-lead--jasny { color: var(--abd-zloty-tekst); }
.abd-serif-body { font-family: var(--abd-font-serif); font-size: clamp(18px, 1.7vw, 21px); line-height: 1.55; }
.abd-serif-body-bold { font-family: var(--abd-font-serif); font-weight: 600; font-size: clamp(17px, 1.6vw, 20px); line-height: 1.6; }
.abd-maly      { font-size: 13px; line-height: 1.45; color: var(--abd-tekst-cichy); }
.abd-zloty     { color: var(--abd-zloty); }
.abd-srodek    { text-align: center; }
.abd-tekst-srodek { text-align: center; }
.abd-uzasadniony { text-align: justify; hyphens: auto; }

/* =====================================================================
   4. SIATKA I SEKCJE
   Jedna sekcja = jeden Divi Code module w sekcji Divi z paddingiem 0.
   Tła: klasa .abd-tlo--* (zdjęcie z motywu potomnego, folder img/) + overlay.
   ===================================================================== */
.abd-section {
  position: relative;
  padding: var(--abd-odstep) 0;
  background-color: var(--abd-tlo);
  color: var(--abd-tekst);
  overflow: hidden;
  isolation: isolate;
}
.abd-section--ciasna { padding: var(--abd-odstep-s) 0; }
.abd-section--tlo-2 { background-color: var(--abd-tlo-2); }
.abd-section--tlo-3 { background-color: var(--abd-tlo-3); }
.abd-section--pelna { min-height: calc(100vh - 80px); display: flex; align-items: center; }  /* podstrony usługowe: treść na środku ekranu jak w Canvie */

.abd-kontener {
  width: 100%;
  max-width: var(--abd-kontener);
  margin: 0 auto;
  padding: 0 var(--abd-gutter);
  position: relative;
  z-index: 1;
}
.abd-kontener--tekst { max-width: var(--abd-kontener-tekst); }

/* zdjęcia w tle: plik w abd-child/img/, overlay pseudo-elementem */
[class*="abd-tlo--"] { background-size: cover; background-position: center; background-repeat: no-repeat; }
[class*="abd-tlo--"]::before {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background: var(--abd-overlay);
}
.abd-tlo--mocny::before { background: var(--abd-overlay-mocny); }
.abd-tlo--tech          { background-image: url('img/tlo-tech.webp'); }           /* hero, O nas, Oferty, Rodo, Cyber, Audyty */
.abd-tlo--kontakt       { background-image: url('img/tlo-kontakt.webp'); }
.abd-tlo--szkolenia     { background-image: url('img/tlo-szkolenia.webp'); }
.abd-tlo--dofinansowanie{ background-image: url('img/tlo-dofinansowanie.webp'); }
.abd-tlo--polityka      { background-image: url('img/tlo-polityka.webp'); }
.abd-tlo--szkolenia, .abd-tlo--polityka { background-blend-mode: luminosity; background-color: #2a2a2a; }  /* odbarwienie na cz-b bez osobnego pliku */
@media (min-width: 981px) { [class*="abd-tlo--"] { background-attachment: scroll; } }

/* dwie kolumny (hero, O nas, Kontakt) */
.abd-grid-2 { display: grid; gap: var(--abd-odstep-s); align-items: center; }
@media (min-width: 768px) { .abd-grid-2 { grid-template-columns: 1fr 1fr; gap: 48px; } }
@media (min-width: 768px) { .abd-grid-2--tekst-szerszy { grid-template-columns: 3fr 2fr; } }

/* =====================================================================
   5. PRZYCISKI
   ===================================================================== */
.abd-btn {
  display: inline-block;
  padding: 12px 32px;
  background: var(--abd-zloty);
  color: var(--abd-ciemny);
  font-family: var(--abd-font-naglowek);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: none;
  border: 0; border-radius: 3px;
  cursor: pointer;
  transition: background var(--abd-przejscie), transform var(--abd-przejscie);
}
.abd-btn:hover, .abd-btn:focus-visible { background: var(--abd-zloty-hover); color: var(--abd-ciemny); transform: translateY(-1px); }
.abd-btn--jasny { background: var(--abd-zloty-jasny); }
.abd-btn--kontur { background: transparent; color: var(--abd-zloty); box-shadow: inset 0 0 0 2px var(--abd-zloty); }
.abd-btn--kontur:hover { background: var(--abd-zloty); color: var(--abd-ciemny); }
.abd-btn-wrap { margin-top: var(--abd-odstep-s); }
.abd-btn-wrap--srodek { text-align: center; }

/* linki tekstowe jak w hero („O nas", „Kontakt") */
.abd-link { color: var(--abd-zloty); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.abd-link:hover { color: var(--abd-zloty-hover); }

/* =====================================================================
   6. HERO (strona główna)
   ===================================================================== */
.abd-hero { padding-top: clamp(40px, 6vw, 80px); padding-bottom: clamp(40px, 6vw, 80px); }
.abd-hero__logo { text-align: center; }
.abd-hero__logo img { width: min(100%, 520px); }
.abd-hero__tagline { margin-top: 12px; text-align: center; }
.abd-section .abd-uslugi { list-style: none; margin: 0; padding: 0; font-size: clamp(16px, 1.6vw, 19px); }
.abd-uslugi li { margin: 0 0 1.1em; line-height: 1.45; }
.abd-uslugi a { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.abd-hero__linki { display: flex; gap: 32px; justify-content: center; margin-top: 8px; }
@media (min-width: 768px) {
  .abd-hero__linki { justify-content: flex-end; }
  .abd-hero__logo { text-align: left; }
  .abd-hero__tagline { text-align: center; }
}

/* =====================================================================
   7. PASEK PARTNERÓW (stopka + pod hero na stronie głównej)
   ===================================================================== */
.abd-partnerzy {
  background: var(--abd-bialy);
  border-radius: var(--abd-radius-l);
  padding: 18px 24px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 24px;
  align-items: center;
  justify-items: center;
}
.abd-partnerzy a, .abd-partnerzy span { display: flex; align-items: center; justify-content: center; }
.abd-partnerzy img { max-height: 44px; width: auto; max-width: 100%; }
.abd-partnerzy img.abd-partner--tgls { max-height: 52px; }      /* JPG 210×112 — nie skalować w górę */
@media (min-width: 768px) { .abd-partnerzy { grid-template-columns: repeat(4, 1fr); padding: 20px 40px; } .abd-partnerzy img { max-height: 52px; } }
.abd-section--partnerzy { padding: 24px 0; background: var(--abd-tlo); }

/* =====================================================================
   8. O NAS
   ===================================================================== */
.abd-onas__tekst { text-align: center; }
.abd-onas__logo { text-align: center; }
.abd-onas__logo img { width: min(70%, 420px); }
@media (min-width: 768px) { .abd-onas__logo img { width: min(100%, 460px); } }

/* =====================================================================
   9. NASZ ZESPÓŁ — biogramy
   ===================================================================== */
.abd-zespol__naglowek { text-align: center; margin-bottom: var(--abd-odstep-s); }
.abd-bio {
  display: grid;
  gap: 20px;
  margin: 0 0 32px;
  align-items: start;
}
.abd-bio__foto { justify-self: center; width: 180px; aspect-ratio: 1; object-fit: cover; object-position: 50% 25%; border-radius: 28px; }
.abd-bio__foto--pion { aspect-ratio: 2 / 3; border-radius: 28px; }
.abd-bio__tresc {
  border: 1px solid var(--abd-ramka);
  padding: 24px 22px;
  font-size: 15px;
  line-height: 1.55;
  background: rgba(0,0,0,.18);
}
.abd-bio__tresc p { text-align: left; }   /* justowanie dopiero od tabletu — na telefonie robi dziury między słowami */
.abd-bio__imie { color: var(--abd-zloty); font-weight: 700; }
.abd-bio__tresc h3, .abd-bio__tresc h4 { color: var(--abd-tekst); font-family: var(--abd-font-sans); font-size: 15px; font-weight: 600; margin: .8em 0 .2em; }
.abd-section .abd-bio__tresc ul { margin: 0 0 .5em; padding-left: 1.2em; }
.abd-bio__tresc li { margin: 0 0 .2em; }
@media (min-width: 768px) {
  .abd-bio { grid-template-columns: 200px 1fr; gap: 40px; }
  .abd-bio__foto { justify-self: stretch; width: 100%; }
  .abd-bio__tresc { padding: 28px 40px; }
  .abd-bio__tresc p { text-align: justify; hyphens: auto; }
}

/* =====================================================================
   10. NASZE OFERTY — kafelki
   ===================================================================== */
.abd-oferty__naglowek { display: grid; gap: 24px; align-items: center; margin-bottom: var(--abd-odstep-s); }
.abd-oferty__logo { text-align: center; }
.abd-oferty__logo img { width: min(100%, 420px); }
@media (min-width: 768px) { .abd-oferty__naglowek { grid-template-columns: 1fr 1fr; } .abd-oferty__logo { text-align: right; } }

.abd-karty { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 600px) { .abd-karty { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 981px) { .abd-karty { grid-template-columns: repeat(4, 1fr); } }
.abd-karta {
  background: var(--abd-zloty-jasny);
  color: var(--abd-ciemny);
  padding: 28px 26px 32px;
  border-radius: 4px;
  font-size: 15px;
  line-height: 1.5;
  display: flex; flex-direction: column;
}
.abd-karta h3 { font-family: var(--abd-font-serif); font-weight: 400; font-size: 22px; color: var(--abd-ciemny); margin: 0 0 16px; }
.abd-karta p { margin: 0 0 .8em; }
.abd-karta a { color: var(--abd-ciemny); }

/* =====================================================================
   11. KONTAKT — dane z ikonami, godziny, klauzula
   Ikony: inline SVG w HTML (fill: currentColor), kolor złoty z CSS.
   ===================================================================== */
.abd-section .abd-kontakt__dane { list-style: none; margin: 0 0 var(--abd-odstep-s); padding: 0; font-size: clamp(16px, 1.6vw, 19px); }
.abd-kontakt__dane li { display: flex; align-items: flex-start; gap: 16px; margin: 0 0 18px; line-height: 1.4; }
.abd-ikona { flex: 0 0 auto; width: 30px; height: 30px; color: var(--abd-zloty); fill: currentColor; margin-top: 1px; }
.abd-ikona--s { width: 22px; height: 22px; }
.abd-kontakt__dane a { color: var(--abd-tekst); text-decoration: underline; text-underline-offset: 3px; }
.abd-kontakt__dane a:hover { color: var(--abd-zloty); }
.abd-godziny { margin-bottom: var(--abd-odstep-s); }
.abd-godziny h3 { margin-bottom: .3em; }
.abd-godziny p { font-size: clamp(16px, 1.6vw, 19px); }
.abd-kontakt__logo { text-align: center; margin-bottom: 24px; }
.abd-kontakt__logo img { width: min(60%, 300px); }
.abd-klauzula { font-size: 12px; line-height: 1.45; color: var(--abd-tekst-cichy); }
.abd-tlo--kontakt .abd-klauzula { max-width: 480px; margin: 14px auto 0; }   /* pod formularzem: szerokość formularza */
.abd-klauzula--formularz { color: var(--abd-ciemny); opacity: .85; text-align: center; }
.abd-mapa { display: block; margin-top: 8px; border-radius: var(--abd-radius); overflow: hidden; border: 1px solid var(--abd-ramka); }
.abd-mapa img { display: block; width: 100%; }

/* =====================================================================
   12. FORMULARZ — nadpisania Divi Contact Form
   W ustawieniach modułu Contact Form: Zaawansowane → CSS ID i klasy → klasa: abd-formularz
   (moduł natywny, żeby klientka mogła klikać; wygląd stąd).
   ===================================================================== */
.abd-formularz.et_pb_contact_form_container,
.abd-formularz .et_pb_contact_form_container {
  background: var(--abd-zloty);
  color: var(--abd-ciemny);
  padding: 28px 24px 24px;
  border-radius: 6px;
  max-width: 480px;
  margin: 0 auto;
}
.abd-formularz .et_pb_contact_main_title,
.abd-formularz h1, .abd-formularz h2, .abd-formularz h3 {
  font-family: var(--abd-font-serif); font-weight: 400; font-size: 28px; color: var(--abd-ciemny); margin-bottom: 20px;
}
.abd-formularz .et_pb_contact_field { margin-bottom: 14px; padding: 0 !important; }   /* Divi wymusza padding kolumn */
.abd-formularz .et_pb_contact_field label,
.abd-formularz .et_pb_contact_form_label { display: block; font-family: var(--abd-font-serif); font-size: 16px; color: var(--abd-ciemny); margin-bottom: 6px; }
.abd-formularz .et_pb_contact_form input[type="text"],
.abd-formularz .et_pb_contact_form input[type="email"],
.abd-formularz .et_pb_contact_form input[type="tel"],
.abd-formularz .et_pb_contact_form textarea {
  width: 100%;
  background: var(--abd-zloty-jasny) !important;      /* Divi: background-color #eee !important */
  color: var(--abd-ciemny) !important;
  border: 1px solid rgba(31,31,31,.35) !important;
  border-radius: 4px;
  padding: 12px 14px !important;
  font-family: var(--abd-font-sans); font-size: 15px;
}
.abd-formularz .et_pb_contact_form textarea { min-height: 120px; }
.abd-formularz .et_pb_contact_form input:focus,
.abd-formularz .et_pb_contact_form textarea:focus { outline: 2px solid var(--abd-ciemny); outline-offset: 1px; }
.abd-formularz .et_pb_contact_submit.et_pb_button {
  display: block; width: 100%;
  background: var(--abd-zloty-jasny) !important;
  color: var(--abd-ciemny) !important;
  border: 0 !important; border-radius: 30px !important;
  font-family: var(--abd-font-serif) !important; font-size: 18px !important; font-weight: 500;
  padding: 12px 20px !important;
  margin-top: 8px;
  cursor: pointer;
}
.abd-formularz .et_pb_contact_submit.et_pb_button:hover { background: var(--abd-bialy) !important; }
.abd-formularz .et_pb_contact_submit.et_pb_button:after { display: none; }   /* ikona strzałki Divi */
.abd-formularz .et-pb-contact-message { color: var(--abd-ciemny); font-size: 14px; }
.abd-formularz .et_pb_contact_right { display: none; }   /* pole antyspamowe „captcha" Divi — używamy prostej sumy z ustawień lub honeypota; jeśli captcha ma zostać, usuń tę linię */
.abd-formularz .et_contact_bottom_container { flex-direction: column; }

/* =====================================================================
   13. PODSTRONY — nagłówek z sygnetem, treść, listy, kroki
   ===================================================================== */
.abd-podstrona__naglowek { display: flex; align-items: center; gap: 20px; margin-bottom: var(--abd-odstep-s); }
.abd-podstrona__sygnet { width: 72px; height: auto; flex: 0 0 auto; }
.abd-section .abd-podstrona__tytul { margin: 0; color: var(--abd-zloty); }
@media (min-width: 768px) { .abd-podstrona__naglowek { gap: 28px; } .abd-podstrona__sygnet { width: 110px; } }

.abd-tresc { font-size: clamp(15px, 1.5vw, 17px); line-height: 1.6; }
.abd-tresc--srodek { text-align: center; }
.abd-tresc--srodek ul { display: inline-block; text-align: left; }
.abd-tresc h2 { font-family: var(--abd-font-sans); font-weight: 700; font-size: clamp(17px, 1.8vw, 20px); color: var(--abd-zloty); margin: 0 0 1em; }
.abd-tresc h3 { font-family: var(--abd-font-serif); font-weight: 600; font-size: clamp(22px, 2.4vw, 26px); color: var(--abd-zloty); margin: 1.4em 0 .5em; }

/* lista z kropką jak w Canvie (● RODO) i lista klasyczna */
.abd-section .abd-lista { list-style: none; padding-left: 0; }
.abd-lista li { position: relative; padding-left: 1.4em; }
.abd-lista li::before { content: "●"; position: absolute; left: 0; top: 0; font-size: .75em; line-height: 2.1; color: var(--abd-zloty); }
.abd-section .abd-lista--dysk { list-style: disc; padding-left: 1.4em; }
.abd-lista--dysk li { padding-left: 0; }
.abd-lista--dysk li::before { content: none; }
.abd-lista--dysk li::marker { color: var(--abd-zloty); }

/* kroki 1–6 na Dofinansowaniu */
.abd-section .abd-kroki { list-style: none; padding: 0; margin: 0; counter-reset: krok; }
.abd-kroki > li { counter-increment: krok; margin: 0 0 1.6em; padding-left: 0; }
.abd-kroki__tytul { display: block; font-weight: 700; color: var(--abd-zloty-tekst); margin-bottom: .4em; }
.abd-kroki__tytul::before { content: counter(krok) ". "; }

/* wersja serif (Dofinansowanie) */
/* v1.1.1: .abd-tresc--serif (tylko Dofinansowanie) — treść tym samym krojem co pozostałe podstrony (Inter); z Canvy zostały tylko nagłówki h3 w EB Garamond, jak wszędzie */
.abd-tresc--serif h3 { font-family: var(--abd-font-serif); font-weight: 600; color: var(--abd-zloty-tekst); }

/* =====================================================================
   14. POLITYKA PRYWATNOŚCI + DOKUMENTY DO POBRANIA
   ===================================================================== */
.abd-polityka { font-size: 15px; line-height: 1.6; }
.abd-polityka__podtytul { text-align: center; margin-bottom: var(--abd-odstep-s); }
.abd-polityka h3 { font-family: var(--abd-font-sans); font-weight: 700; font-size: 16px; color: var(--abd-tekst); margin: 1.6em 0 .4em; }
.abd-section .abd-polityka ul { list-style: disc; padding-left: 1.4em; }
.abd-polityka li::marker { color: var(--abd-zloty); }
.abd-polityka a { color: var(--abd-zloty); text-decoration: underline; text-underline-offset: 3px; }

.abd-dokumenty { display: grid; grid-template-columns: 64px 1fr; gap: 24px; align-items: start; margin-top: var(--abd-odstep-s); padding-top: var(--abd-odstep-s); border-top: 1px solid rgba(205,173,125,.3); }
.abd-dokumenty__ikona { width: 64px; height: 64px; color: var(--abd-bialy); fill: none; stroke: currentColor; stroke-width: 1.5; }
.abd-section .abd-dokumenty__lista { list-style: none; margin: 0; padding: 0; }
.abd-dokumenty__lista li { margin: 0 0 8px; }
.abd-dokumenty__lista a { color: var(--abd-tekst); text-decoration: underline; text-underline-offset: 3px; }
.abd-dokumenty__lista a:hover { color: var(--abd-zloty); }
.abd-dokumenty__lista small { color: var(--abd-tekst-cichy); font-size: 12px; margin-left: 6px; }

/* =====================================================================
   15. TABELE — .table-abd (jak table-fontanny)
   ===================================================================== */
.abd-tabela-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 0 1.5em; }
.table-abd { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.45; background: rgba(0,0,0,.2); }
.table-abd th, .table-abd td { padding: 12px 14px; text-align: left; vertical-align: top; border: 1px solid rgba(205,173,125,.35); }
.table-abd thead th { background: var(--abd-zloty); color: var(--abd-ciemny); font-weight: 700; }
.table-abd tbody tr:nth-child(even) { background: rgba(255,255,255,.03); }
.table-abd tbody th { color: var(--abd-zloty); font-weight: 600; white-space: nowrap; }
.table-abd caption { caption-side: top; text-align: left; color: var(--abd-zloty); font-weight: 700; padding: 0 0 8px; }
@media (max-width: 599px) {
  .table-abd--stos thead { display: none; }
  .table-abd--stos tr { display: block; margin-bottom: 12px; border: 1px solid rgba(205,173,125,.35); }
  .table-abd--stos td { display: block; border: 0; border-bottom: 1px solid rgba(205,173,125,.2); }
  .table-abd--stos td::before { content: attr(data-label); display: block; font-weight: 700; color: var(--abd-zloty); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; margin-bottom: 2px; }
}

/* =====================================================================
   16. NAGŁÓWEK I STOPKA (Theme Builder) — tylko drobne nadpisania,
   reszta w ustawieniach modułów Divi (build/theme-builder.md)
   ===================================================================== */
.abd-naglowek { background: var(--abd-tlo-menu); }
.abd-naglowek .et_pb_menu__menu a { font-family: var(--abd-font-sans); font-size: 14px; font-weight: 500; color: var(--abd-bialy); transition: color var(--abd-przejscie); }
.abd-naglowek .et_pb_menu__menu a:hover,
.abd-naglowek .et_pb_menu__menu .current-menu-item > a { color: var(--abd-zloty); }
.abd-naglowek .et_pb_menu__logo img { max-height: 56px; width: auto; }
.abd-naglowek .et_mobile_menu { background: var(--abd-tlo-menu); border-top: 2px solid var(--abd-zloty); }
.abd-naglowek .et_mobile_menu li a { color: var(--abd-bialy); border-color: rgba(255,255,255,.08); }
.abd-naglowek .mobile_menu_bar::before { color: var(--abd-zloty); }

.abd-stopka { background: var(--abd-tlo-menu); color: var(--abd-tekst-cichy); font-size: 14px; }
.abd-stopka a { color: var(--abd-zloty); }
.abd-stopka__dane { display: grid; gap: 24px; }
@media (min-width: 768px) { .abd-stopka__dane { grid-template-columns: 1fr 1fr; } }
.abd-stopka h2, .abd-stopka h4 { color: var(--abd-zloty); font-family: var(--abd-font-serif); font-weight: 400; font-size: 22px; margin: 0 0 .5em; }
.abd-stopka__dol { border-top: 1px solid rgba(205,173,125,.25); margin-top: 24px; padding-top: 16px; font-size: 12px; display: flex; flex-wrap: wrap; gap: 8px 24px; justify-content: space-between; }

/* =====================================================================
   17. NARZĘDZIOWE
   ===================================================================== */
.abd-mt-0 { margin-top: 0; } .abd-mt-1 { margin-top: 16px; } .abd-mt-2 { margin-top: 32px; } .abd-mt-3 { margin-top: 48px; }
.abd-mb-0 { margin-bottom: 0; } .abd-mb-1 { margin-bottom: 16px; } .abd-mb-2 { margin-bottom: 32px; }
.abd-ukryj-mobile { display: none; }
@media (min-width: 768px) { .abd-ukryj-mobile { display: block; } .abd-ukryj-desktop { display: none; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .abd-btn { transition: none; } }
@media print { .abd-section { background: #fff !important; color: #000; } [class*="abd-tlo--"]::before { display: none; } }

/* =====================================================================
   18. SEKCJE ZBUDOWANE NATYWNIE W DIVI (Kontakt z formularzem)
   Sekcja Divi → Zaawansowane → Klasa CSS: „abd-section abd-tlo--kontakt".
   Paddingu sekcji w Divi NIE ustawiać (zostawić puste) — bierze się z .abd-section.
   ===================================================================== */
.et_pb_section.abd-section { padding: var(--abd-odstep) 0; }
.et_pb_section.abd-section > .et_pb_row { position: relative; z-index: 1; width: 100%; max-width: var(--abd-kontener); padding: 0 var(--abd-gutter); }
.et_pb_section.abd-section > .et_pb_row { padding-left: var(--abd-gutter) !important; padding-right: var(--abd-gutter) !important; }   /* Divi zapisuje padding wiersza z !important, gdy ustawi się go w module */
.et_pb_section.abd-section .et_pb_code .abd-section { padding: 0; background: none; }   /* Code module wewnątrz takiej sekcji nie dubluje tła i odstępów */
.et_pb_section.abd-section .et_pb_code .abd-section::before { content: none; }

/* kotwice (#o-nas) pod przyklejonym menu */
.abd-section[id], .abd-kotwica { scroll-margin-top: 90px; }

/* =====================================================================
   19. STOPKA — co chować na podstronach, które mają własną sekcję Kontakt
   Klasy body z functions.php: abd-strona-glowna, abd-strona-kontakt.
   Strona główna: pasek partnerów jest pod hero, a sekcja Kontakt tuż nad stopką.
   Kontakt: dane kontaktowe są w treści strony.
   ===================================================================== */
.abd-strona-glowna .et-l--footer .abd-section--partnerzy,
.abd-strona-glowna .et-l--footer .abd-stopka-kontakt,
.abd-strona-kontakt .et-l--footer .abd-stopka-kontakt { display: none; }

/* Formularz — poprawki po sprawdzeniu na żywo 22.09.2026 */
.abd-formularz .et_pb_contact_form { margin-left: 0; }                         /* Divi: margin-left -3% (kompensata paddingu pól, który zerujemy) */
.abd-formularz .et_contact_bottom_container { float: none; display: block; width: 100%; margin: 0; text-align: center; }
.abd-formularz .et_pb_contact_submit.et_pb_button { margin-left: 0; }
.abd-formularz input::placeholder, .abd-formularz textarea::placeholder { color: transparent; }   /* etykieta nad polem już jest — placeholder ją dublował */

/* =====================================================================
   20. PODSTRONY — elementy dodane w Etapie 3
   ===================================================================== */
.abd-section--pelna > .abd-kontener { width: 100%; }
.abd-tresc h2.abd-srodek, .abd-tresc--srodek h2 { text-align: center; }
.abd-section .abd-podtytul { font-family: var(--abd-font-naglowek); font-weight: 600; font-size: clamp(16px, 1.8vw, 20px); color: var(--abd-zloty-tekst); margin-top: -12px; }
.abd-tresc h2 + ul, .abd-tresc h2 + p { margin-top: 0; }
.abd-tresc > h2:not(:first-child) { margin-top: 1.6em; }

/* lista w dwóch kolumnach (długi zakres tematyczny — Szkolenie AI) */
@media (min-width: 768px) { .abd-section .abd-lista--kolumny { columns: 2; column-gap: 40px; } .abd-lista--kolumny li { break-inside: avoid; } }

/* cena (Szkolenie AI) */
.abd-cena { margin-top: var(--abd-odstep-s); padding: 24px 28px; border: 1px solid var(--abd-ramka); border-left-width: 4px; background: rgba(0,0,0,.28); }
.abd-section .abd-cena__kwota { font-family: var(--abd-font-naglowek); font-weight: 700; font-size: clamp(18px, 2vw, 22px); color: var(--abd-zloty); margin-bottom: .5em; }

/* karta „Jak do nas trafić" (Kontakt) — link do Map Google, bez iframe i bez zapytań do Google */
.abd-mapa-karta { display: flex; gap: 16px; align-items: flex-start; margin: 8px 0 0; padding: 18px 20px; border: 1px solid var(--abd-ramka); border-radius: var(--abd-radius); color: var(--abd-tekst); text-decoration: none; background: rgba(0,0,0,.3); transition: border-color var(--abd-przejscie), background var(--abd-przejscie); max-width: 420px; }
.abd-mapa-karta:hover, .abd-mapa-karta:focus-visible { color: var(--abd-tekst); border-color: var(--abd-zloty); background: rgba(205,173,125,.12); }
.abd-mapa-karta strong { color: var(--abd-zloty); }
.abd-mapa-karta__link { color: var(--abd-zloty); text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }

/* Kontakt (podstrona): nagłówek z sygnetem w lewej kolumnie */
.abd-tlo--kontakt .abd-podstrona__naglowek { margin-bottom: 24px; }
.abd-tlo--kontakt .abd-godziny h2 { margin-bottom: .3em; }

/* odstępy klas narzędziowych na akapitach (.abd-section p zeruje marginesy — trzeba wyższej szczegółowości) */
.abd-section .abd-btn-wrap { margin-top: var(--abd-odstep-s); }
.abd-section .abd-mt-1 { margin-top: 16px; } .abd-section .abd-mt-2 { margin-top: 32px; }
.abd-section .abd-mb-0 { margin-bottom: 0; }
.abd-section .abd-polityka .abd-dokumenty__lista { list-style: none; padding: 0; }

/* nagłówek podstrony wyśrodkowany, gdy treść pod nim jest wyśrodkowana (Audyty, Rodo) */
.abd-kontener:has(.abd-tresc--srodek) .abd-podstrona__naglowek { justify-content: center; }
.abd-podstrona__sygnet { max-width: none; }   /* Divi: img { max-width: 100% } ściskał sygnet we flexie */

/* v1.0.6 (2026-09-22) — kontrola na żywo 390 px i 1024 px */
/* Telefon: sygnet NAD tytułem, mniejszy tytuł — „CYBERBEZPIECZEŃSTWO" i „PRZEDSIĘBIORSTWIE" wychodziły poza ekran (obcięte) */
@media (max-width: 599px) {
  .abd-podstrona__naglowek { flex-direction: column; align-items: flex-start; gap: 12px; }
  .abd-kontener:has(.abd-tresc--srodek) .abd-podstrona__naglowek { align-items: center; }
  .abd-podstrona__sygnet { width: 56px; }
  .abd-section .abd-podstrona__tytul { font-size: clamp(1.125rem, 6vw, 1.625rem); overflow-wrap: anywhere; }
}
/* Menu 981–1279 px: 9 pozycji zawijało się w 2 rzędy (przy 1024 px nagłówek 168 px zamiast ~90) */
@media (min-width: 981px) and (max-width: 1279px) {
  .abd-naglowek .et_pb_menu .et-menu > li { padding-left: 5px; padding-right: 5px; }
  .abd-naglowek .et_pb_menu__menu a { font-size: 13px; }
}

/* v1.0.8 (2026-09-22) — nagłówki stopki h4 → h2 (kolejność nagłówków na podstronach: H1 → H4); wygląd bez zmian */
.abd-stopka h2 { line-height: 1.15; padding-bottom: 0; }

/* v1.0.9 (2026-09-23) — ikona hamburgera na telefonie
   Divi wypisuje własną regułę modułu (.et_pb_menu_0_tb_header .mobile_nav .mobile_menu_bar::before)
   z kolorem domyślnym #7EBEC5 i wyższą specyficznością niż .abd-naglowek …, więc złoty był ignorowany.
   Docelowo można to też ustawić w module Menu (Theme Builder → Menu → Mobilne → kolor hamburgera). */
.abd-naglowek .mobile_nav .mobile_menu_bar::before,
.abd-naglowek .mobile_menu_bar::before { color: var(--abd-zloty) !important; }

/* v1.1.0 (2026-09-23) — logo Funduszy Europejskich w pasku partnerów
   Plik jest kompaktowy (269×151), więc przy wspólnym limicie 44/52 px wychodziło wizualnie
   mniejsze od pozostałych (przy 52 px miało 93 px szerokości wobec 219 i 242 px sąsiadów).
   Osobny, wyższy limit — wybór po nazwie pliku, żeby nie ruszać HTML sekcji. */
.abd-partnerzy img[src*="fundusze-europejskie"] { max-height: 56px; }
@media (min-width: 768px) { .abd-partnerzy img[src*="fundusze-europejskie"] { max-height: 66px; } }
