/* ═══════════════════════════════════════════════════════════════════
   LDWB — wspólny arkusz stylów (index.php, pomoce.php, rozdzielnica.php)
   Zawiera: fonty, tokeny kolorów (jasny/ciemny), bazowy reset,
   navbar (+ dropdown „Pomoce", wersja mobilna), stopkę, przełącznik motywu.
   Style specyficzne dla podstron zostają inline w plikach PHP —
   ładują się PO tym pliku, więc mogą nadpisywać te reguły.
   ═══════════════════════════════════════════════════════════════════ */

/* ── FONTY — WOFF2 lokalnie (subsety latin/latin-ext), fallback TTF.
   Oswald i Source Sans 3 to fonty zmienne: jeden woff2 na wszystkie grubości. */
@font-face { font-family:'Oswald'; font-style:normal; font-weight:400; font-display:swap; src:url('fonts/woff2/oswald-latin.woff2') format('woff2'), url('fonts/Oswald/static/Oswald-Regular.ttf') format('truetype'); 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:'Oswald'; font-style:normal; font-weight:400; font-display:swap; src:url('fonts/woff2/oswald-latin-ext.woff2') format('woff2'), url('fonts/Oswald/static/Oswald-Regular.ttf') format('truetype'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Oswald'; font-style:normal; font-weight:600; font-display:swap; src:url('fonts/woff2/oswald-latin.woff2') format('woff2'), url('fonts/Oswald/static/Oswald-SemiBold.ttf') format('truetype'); 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:'Oswald'; font-style:normal; font-weight:600; font-display:swap; src:url('fonts/woff2/oswald-latin-ext.woff2') format('woff2'), url('fonts/Oswald/static/Oswald-SemiBold.ttf') format('truetype'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Oswald'; font-style:normal; font-weight:700; font-display:swap; src:url('fonts/woff2/oswald-latin.woff2') format('woff2'), url('fonts/Oswald/static/Oswald-Bold.ttf') format('truetype'); 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:'Oswald'; font-style:normal; font-weight:700; font-display:swap; src:url('fonts/woff2/oswald-latin-ext.woff2') format('woff2'), url('fonts/Oswald/static/Oswald-Bold.ttf') format('truetype'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Lato'; font-style:normal; font-weight:300; font-display:swap; src:url('fonts/woff2/lato-300-latin.woff2') format('woff2'), url('fonts/Lato/Lato-Light.ttf') format('truetype'); 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:'Lato'; font-style:normal; font-weight:300; font-display:swap; src:url('fonts/woff2/lato-300-latin-ext.woff2') format('woff2'), url('fonts/Lato/Lato-Light.ttf') format('truetype'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Lato'; font-style:normal; font-weight:400; font-display:swap; src:url('fonts/woff2/lato-400-latin.woff2') format('woff2'), url('fonts/Lato/Lato-Regular.ttf') format('truetype'); 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:'Lato'; font-style:normal; font-weight:400; font-display:swap; src:url('fonts/woff2/lato-400-latin-ext.woff2') format('woff2'), url('fonts/Lato/Lato-Regular.ttf') format('truetype'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Lato'; font-style:normal; font-weight:700; font-display:swap; src:url('fonts/woff2/lato-700-latin.woff2') format('woff2'), url('fonts/Lato/Lato-Bold.ttf') format('truetype'); 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:'Lato'; font-style:normal; font-weight:700; font-display:swap; src:url('fonts/woff2/lato-700-latin-ext.woff2') format('woff2'), url('fonts/Lato/Lato-Bold.ttf') format('truetype'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Lato'; font-style:italic; font-weight:300; font-display:swap; src:url('fonts/woff2/lato-italic-300-latin.woff2') format('woff2'), url('fonts/Lato/Lato-LightItalic.ttf') format('truetype'); 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:'Lato'; font-style:italic; font-weight:300; font-display:swap; src:url('fonts/woff2/lato-italic-300-latin-ext.woff2') format('woff2'), url('fonts/Lato/Lato-LightItalic.ttf') format('truetype'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Lato'; font-style:italic; font-weight:400; font-display:swap; src:url('fonts/woff2/lato-italic-400-latin.woff2') format('woff2'), url('fonts/Lato/Lato-Italic.ttf') format('truetype'); 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:'Lato'; font-style:italic; font-weight:400; font-display:swap; src:url('fonts/woff2/lato-italic-400-latin-ext.woff2') format('woff2'), url('fonts/Lato/Lato-Italic.ttf') format('truetype'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Source Sans 3'; font-style:normal; font-weight:300; font-display:swap; src:url('fonts/woff2/sourcesans3-latin.woff2') format('woff2'), url('fonts/Source_Sans_3/static/SourceSans3-Light.ttf') format('truetype'); 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:'Source Sans 3'; font-style:normal; font-weight:300; font-display:swap; src:url('fonts/woff2/sourcesans3-latin-ext.woff2') format('woff2'), url('fonts/Source_Sans_3/static/SourceSans3-Light.ttf') format('truetype'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Source Sans 3'; font-style:normal; font-weight:400; font-display:swap; src:url('fonts/woff2/sourcesans3-latin.woff2') format('woff2'), url('fonts/Source_Sans_3/static/SourceSans3-Regular.ttf') format('truetype'); 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:'Source Sans 3'; font-style:normal; font-weight:400; font-display:swap; src:url('fonts/woff2/sourcesans3-latin-ext.woff2') format('woff2'), url('fonts/Source_Sans_3/static/SourceSans3-Regular.ttf') format('truetype'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family:'Source Sans 3'; font-style:normal; font-weight:600; font-display:swap; src:url('fonts/woff2/sourcesans3-latin.woff2') format('woff2'), url('fonts/Source_Sans_3/static/SourceSans3-SemiBold.ttf') format('truetype'); 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:'Source Sans 3'; font-style:normal; font-weight:600; font-display:swap; src:url('fonts/woff2/sourcesans3-latin-ext.woff2') format('woff2'), url('fonts/Source_Sans_3/static/SourceSans3-SemiBold.ttf') format('truetype'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* ── TOKENY KOLORÓW (motyw jasny + ciemny) ── */
:root {
   --ink:#1a1a1a; --ink-mid:#2d2d2d; --ink-light:#444444;
   --orange:#e05f10; --orange-lt:#f4773a; --orange-pale:rgba(224,95,16,.08);
   --cream:#faf8f5; --warm-gray:#ebebeb; --border:#e0ddd8;
   --text:#1a1a1a; --text-light:#6b7280; --white:#ffffff;
   --ok:#1e7e34; --ok-bg:rgba(30,126,52,.10);
   --warn:#c0392b; --warn-bg:rgba(192,57,43,.10);
   color-scheme: only light;
}
[data-theme="dark"] {
   --ink:#e0e0e0; --ink-mid:#cccccc; --ink-light:#b0b0b0;
   --orange:#e8712a; --orange-lt:#f07540; --orange-pale:rgba(232,113,42,.14);
   --cream:#1b1b1b; --warm-gray:#272727; --border:#2e2e2e;
   --text:#e0e0e0; --text-light:#8b95a1; --white:#111111;
   --ok:#6fcf97; --ok-bg:rgba(111,207,151,.12);
   --warn:#f3a6a6; --warn-bg:rgba(243,166,166,.12);
   color-scheme: dark;
}

/* ── BAZA ── */
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body { font-family:'Source Sans 3', sans-serif; color:var(--text); background:var(--white); overflow-x:hidden; }
h1, h2, h3 { font-family:'Oswald', sans-serif; letter-spacing:.02em; }
p, li { font-family:'Lato', sans-serif; font-size:1rem; line-height:1.75; }

/* ── NAVBAR ── */
#navbar { position:fixed; top:0; left:0; right:0; z-index:100; height:68px; background:var(--white); border-bottom:1px solid var(--border); transition:box-shadow .3s; display:flex; align-items:center; }
#navbar.scrolled { box-shadow:0 4px 20px rgba(0,0,0,.07); }
.nav-inner { width:100%; max-width:1100px; margin:0 auto; padding:0 5%; display:flex; align-items:center; justify-content:space-between; }
.nav-logo { display:flex; align-items:center; gap:14px; text-decoration:none; }
.nav-logo .bar { width:5px; height:40px; background:var(--orange); border-radius:2px; flex-shrink:0; }
.nav-logo-text { display:flex; flex-direction:column; line-height:1.15; }
.nav-logo-text .brand { font-family:'Oswald', sans-serif; font-size:1.45rem; font-weight:700; color:var(--ink); letter-spacing:.12em; }
.nav-logo-text .sub { font-family:'Source Sans 3', sans-serif; font-size:.67rem; font-weight:400; color:var(--text-light); letter-spacing:.05em; }
.nav-links { display:flex; align-items:center; gap:4px; list-style:none; }
.nav-links a { text-decoration:none; color:var(--text-light); font-family:'Source Sans 3', sans-serif; font-size:.88rem; font-weight:500; padding:8px 14px; border-radius:4px; transition:color .2s, background .2s; }
.nav-links a:hover { color:#fff; background:var(--orange); font-weight:bold; }
.nav-links a.active { color:var(--orange); font-weight:700; }
.nav-links a.active:hover { color:#fff; }
/* rozwijane menu „Pomoce" */
.nav-drop { position:relative; }
.nav-drop > a::after { content:'▾'; margin-left:6px; font-size:.68em; }
.nav-drop-menu { position:absolute; top:100%; left:0; min-width:190px; background:var(--white); border:1px solid var(--border); border-radius:8px; box-shadow:0 12px 28px rgba(0,0,0,.12); padding:6px; display:flex; flex-direction:column; gap:2px; opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .18s, transform .18s, visibility .18s; z-index:300; }
.nav-drop:hover .nav-drop-menu, .nav-drop:focus-within .nav-drop-menu, .nav-drop.open .nav-drop-menu { opacity:1; visibility:visible; transform:translateY(0); }
.nav-drop-menu a { display:block; white-space:nowrap; }
.nav-sep { width:1px; height:24px; background:var(--border); margin:0 8px; }
/* przycisk telefonu — !important wygrywa ze specyficznością .nav-links a */
.nav-cta { display:flex !important; align-items:center; gap:7px; border:1.5px solid var(--orange) !important; color:var(--orange) !important; background:transparent !important; padding:7px 18px !important; border-radius:4px !important; font-weight:700 !important; font-size:.88rem !important; transition:background .2s, color .2s !important; }
.nav-cta:hover { background:var(--orange) !important; color:var(--white) !important; }
.nav-cta svg { width:15px; height:15px; stroke:currentColor; flex-shrink:0; transition:stroke .2s; }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; }
.hamburger span { display:block; width:24px; height:1.5px; background:var(--ink); border-radius:2px; transition:.3s; }
.nav-social { display:flex; align-items:center; gap:8px; margin-left:2px; }
.nav-social-btn { width:38px; height:38px; padding:0 !important; border:1.5px solid var(--orange) !important; border-radius:4px !important; background:var(--white) !important; color:var(--orange) !important; display:flex !important; align-items:center; justify-content:center; text-decoration:none; transition:background .2s, color .2s, transform .2s; }
.nav-social-btn svg { width:18px; height:18px; }
.nav-social-btn:hover { background:var(--orange) !important; color:var(--white) !important; transform:translateY(-2px); }
.nav-social-wa, .nav-social-ms { background:var(--white) !important; color:var(--orange) !important; }
[data-theme="dark"] .nav-cta:hover, [data-theme="dark"] .nav-social-btn:hover { color:#ffffff !important; }
@media (min-width:769px) {
   #navbar .nav-links { display:flex; align-items:center !important; }
   #navbar .nav-links > li { display:flex !important; align-items:center !important; }
   #navbar .nav-links .nav-cta { height:38px !important; min-height:38px !important; padding-top:0 !important; padding-bottom:0 !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; box-sizing:border-box !important; line-height:1 !important; }
   #navbar .nav-links .nav-social { display:flex !important; align-items:center !important; gap:6px !important; margin:0 !important; padding:0 !important; height:38px !important; }
   #navbar .nav-links .nav-social-btn { width:38px !important; height:38px !important; min-width:38px !important; min-height:38px !important; padding:0 !important; margin:0 !important; box-sizing:border-box !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; line-height:1 !important; border:1.5px solid var(--orange) !important; }
}

/* ── STOPKA ── */
footer { background:var(--cream); border-top:1px solid var(--border); padding:18px 5%; }
.footer-inner { max-width:1100px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.footer-copy { margin:0; padding:0; border:0; width:auto; font-family:'Source Sans 3', sans-serif; font-size:.78rem; line-height:1.4; color:var(--text-light); text-align:left; }
.footer-links { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.footer-links a, .footer-links button { border:0; background:none; padding:0; color:var(--text-light); font-family:'Source Sans 3', sans-serif; font-size:.78rem; line-height:1.4; text-decoration:none; cursor:pointer; transition:color .2s; }
.footer-links a:hover, .footer-links button:hover { color:var(--orange); }

/* ── PRZEŁĄCZNIK MOTYWU ── */
.theme-toggle { display:flex; align-items:center; gap:6px; background:none; border:none; cursor:pointer; padding:2px 6px; color:var(--text-light); transition:color .2s; }
.theme-toggle:hover { color:var(--orange); }
.theme-toggle__track { width:36px; height:20px; border-radius:20px; background:var(--warm-gray); border:1px solid var(--border); position:relative; transition:background .2s, border-color .2s; }
.theme-toggle__thumb { position:absolute; top:1px; left:1px; width:16px; height:16px; border-radius:50%; background:var(--orange); transition:transform .2s, background .2s; }
[data-theme="dark"] .theme-toggle__track { background:var(--orange); border-color:var(--orange); }
[data-theme="dark"] .theme-toggle__thumb { transform:translateX(16px); background:#ffffff; }
.theme-toggle__icon { flex-shrink:0; display:block; }

/* ── MOBILE (navbar + stopka) ── */
@media (max-width:768px) {
   .nav-links { display:none; flex-direction:column; position:absolute; top:68px; left:0; right:0; background:var(--white); border-top:1px solid var(--border); padding:28px 5% 30px; gap:16px; box-shadow:0 8px 24px rgba(0,0,0,.08); }
   .nav-links.open { display:flex; }
   .nav-links a { font-size:1.15rem; padding:10px 24px; min-width:150px; text-align:center; }
   .nav-drop { display:flex; flex-direction:column; align-items:center; gap:6px; }
   .nav-drop-menu { position:static; opacity:1; visibility:visible; transform:none; border:none; box-shadow:none; background:transparent; padding:0; align-items:center; }
   .nav-drop-menu a { font-size:1rem; }
   .nav-sep { display:none; }
   .nav-cta { margin-top:8px; justify-content:center; }
   .hamburger { display:flex; }
   footer { padding:20px 5%; }
   .footer-inner { flex-direction:column; justify-content:center; text-align:center; gap:10px; }
   .footer-copy { text-align:center; }
   .footer-links { justify-content:center; gap:14px; }
}
