/* ============================================================================
   DeepCheck — motyw 1a „urzędowo-techniczny" (navy / Plus Jakarta Sans)
   ============================================================================
   Aktywny TYLKO pod `body.dc-theme` — nie rusza pozostałych stron publicznych,
   które nadal używają starego wyglądu z public.css. Wdrażany etapami
   (start: index.php). Fonty ładowane przez <link> w <head> strony.
   Referencja: dokumentacja/design1/ (README + DeepCheck.dc.html, wariant 1a).
   ============================================================================ */

.dc-theme {
  --navy:#0B2942; --blue-accent:#1E88C7; --blue-light:#5FB6E8;
  --bg:#F4F2ED; --surface:#FFFFFF; --border:#D8DEE2; --border-light:#E5E9EB;
  --input-border:#C7D1D7; --text-primary:#0B2942; --text-secondary:#3A4750;
  --text-muted:#5A6870; --text-muted-2:#6B7A83; --inverse:#CFE0EC;
  --pub-navbar-height:76px;
  --dc-maxw:1320px;
  /* boczny padding rośnie na szerokich ekranach → treść wyśrodkowana w kolumnie --dc-maxw,
     a kolorowe pasy (header/stopka/hero) pozostają na całą szerokość. */
  --dc-side:max(clamp(18px,4vw,56px), calc((100% - var(--dc-maxw)) / 2));
  background:var(--bg);
  color:var(--text-primary);
  font-family:'Inter',-apple-system,'Segoe UI',sans-serif;
}

/* ---------- NAVBAR (override public.css, scoped) ---------- */
.dc-theme .public-navbar{
  background:var(--navy); backdrop-filter:none; border-bottom:none;
  box-shadow:none; height:var(--pub-navbar-height);
  padding:0 var(--dc-side);
}
.dc-theme .public-logo{flex-direction:row; align-items:center; gap:11px; letter-spacing:normal;}
.dc-theme .public-logo .dc-hex{display:block; flex-shrink:0;}
.dc-theme .public-logo-wm{display:flex; flex-direction:column; line-height:1.05;}
.dc-theme .public-logo-brand{display:flex; align-items:baseline;}
.dc-theme .public-logo-primary{font:800 18px 'Plus Jakarta Sans',sans-serif; color:#C1440E;}
.dc-theme .public-logo-accent{font:800 18px 'Plus Jakarta Sans',sans-serif; color:#1E88C7; font-size:18px;}
.dc-theme .public-logo-sub{font:600 9px 'IBM Plex Mono',monospace; color:var(--blue-light); letter-spacing:.14em; margin-top:3px;}
.dc-theme .public-nav{gap:clamp(16px,2.6vw,30px);}
.dc-theme .public-nav-links{gap:clamp(14px,2vw,26px); align-items:center;}

/* Linki tekstowe (Baza Wiedzy / Kontakt / Program Partnerski) — JEDEN spójny styl:
   ikona w kolorze tekstu, subtelne animowane podkreślenie na hover. */
.dc-theme .public-nav-links a{
  position:relative; display:inline-flex; align-items:center; gap:7px;
  font:500 14px 'Inter',sans-serif; color:rgba(255,255,255,.82); background:none;
  padding:6px 1px; border-radius:0; transition:color .15s ease;
}
.dc-theme .public-nav-links a i{color:inherit; font-size:.92em; opacity:.85;}
.dc-theme .public-nav-links a::after{
  content:""; position:absolute; left:0; right:100%; bottom:-1px; height:2px;
  background:var(--blue-light); transition:right .18s ease;
}
.dc-theme .public-nav-links a:hover,
.dc-theme .public-nav-links a:focus-visible{color:#fff;}
.dc-theme .public-nav-links a:hover::after,
.dc-theme .public-nav-links a:focus-visible::after{right:0;}

/* Program Partnerski — akcent na marce zamiast krzykliwej zieleni
   (override inline color:#2ecc71 / bold z public_navbar.php — tylko w dc-theme). */
.dc-theme .public-nav-links a[href="partnerzy.php"]{color:var(--blue-light) !important; font-weight:600 !important;}
.dc-theme .public-nav-links a[href="partnerzy.php"]:hover{color:#fff !important;}

/* Zaloguj / Zarejestruj — bez ramki i bez tła: te same płaskie linki tekstowe co reszta
   (decyzja usera: „wszystko płaskie"). Żadnych reguł specjalnych po href — dziedziczą
   styl bazowy .public-nav-links a (przygaszona biel + animowane podkreślenie na hover). */
.dc-theme .lang-island{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.22); border-radius:3px;}
.dc-theme .public-toggle{color:#fff;}

/* ---------- HERO (light, 2-kolumny) ---------- */
.dc-theme .hero{
  flex:0 0 auto; display:flex; flex-direction:row; align-items:center; text-align:left;
  gap:clamp(28px,4vw,56px);
  padding:calc(var(--pub-navbar-height) + clamp(28px,4vw,52px)) var(--dc-side) clamp(36px,5vw,56px);
  background:var(--bg);
}
.dc-theme .hero-l{flex:1.1; display:flex; flex-direction:column; gap:22px; min-width:0;}
.dc-theme .hero h1{margin:0; font:700 clamp(30px,4.4vw,44px)/1.18 'Plus Jakarta Sans',sans-serif; color:var(--navy); letter-spacing:-.01em;}
.dc-theme .hero p{margin:0; font:400 16.5px/1.6 'Inter',sans-serif; color:var(--text-secondary); max-width:520px;}
.dc-theme .hero .hero-cta,
.dc-theme .hero .hero-cta:link,
.dc-theme .hero .hero-cta:visited{
  display:inline-flex; align-self:flex-start; align-items:center; gap:10px; margin-top:6px;
  padding:14px 26px; background:var(--navy); color:#fff; text-decoration:none;
  font:600 15px 'Inter',sans-serif; text-transform:none; letter-spacing:normal;
  border-radius:2px; box-shadow:none; border:none;
}
.dc-theme .hero .hero-cta:hover,.dc-theme .hero .hero-cta:focus{background:#123454; transform:none; box-shadow:none; filter:none; color:#fff;}
.dc-theme .hero-r{flex:1; min-width:0;}
.dc-theme .hero-photo{
  position:relative; height:clamp(260px,34vw,380px); border:1px solid var(--input-border); border-radius:2px;
  overflow:hidden; background:#0B2942;
}
/* Pokaz slajdów — dwie warstwy crossfade */
.dc-theme .hero-slide{position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.2s ease;}
.dc-theme .hero-slide.is-active{opacity:1;}
/* Przyciemnienie zdjęcia (pod dokumentami) */
.dc-theme .hero-shade{position:absolute; inset:0; z-index:1; background:linear-gradient(rgba(11,41,66,.30), rgba(11,41,66,.52));}
/* „Niedbale rzucone" dokumenty — rozmyte, pod losowym kątem (transform ustawia JS) */
.dc-theme .hero-docs{position:absolute; inset:0; z-index:2; pointer-events:none;}
.dc-theme .hero-doc{
  position:absolute; top:50%; left:50%;
  /* Rozmycie pochodzi już z dostarczonych plików (są celowo nieczytelne) — NIE dokładamy blur,
     żeby nie rozmywać podwójnie. Lekkie saturate tylko dla wtopienia w scenę. */
  filter:saturate(.96);
  box-shadow:0 14px 36px rgba(0,0,0,.48);
  border-radius:2px; background:#fff;
  transition:transform 1.45s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.dc-theme .hero-doc.doc-cert{height:58%; width:auto;}
.dc-theme .hero-doc.doc-protokol{width:52%; height:auto;}
@media (prefers-reduced-motion: reduce){
  .dc-theme .hero-slide, .dc-theme .hero-doc{transition:none;}
}

/* ---------- SEGMENTY (płaskie karty) ---------- */
.dc-theme .offer-segments-wrap{flex:1 0 auto; padding:0 var(--dc-side) clamp(40px,6vw,64px); background:var(--bg);}
.dc-theme .offer-segments{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; max-width:none; margin:0; text-align:left;}
.dc-theme .segment-card{
  background:var(--surface); border:1px solid var(--border); border-top:3px solid var(--blue-accent);
  border-radius:0; padding:26px 24px 20px; box-shadow:none;
}
/* Sekcja „Z bazy wiedzy" na stronie głównej: trzy karty z linkami do artykułów */
.dc-theme .home-kb{margin:32px 0 0;}
.dc-theme .home-kb-head{display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin:0 0 14px;}
.dc-theme .home-kb-head h2{font:700 20px/1.3 'Plus Jakarta Sans',sans-serif; color:var(--navy); margin:0;}
.dc-theme .home-kb-all{font:600 13.5px 'Inter',sans-serif; color:var(--blue-accent); text-decoration:none; white-space:nowrap;}
.dc-theme .home-kb-all:hover{text-decoration:underline;}
.dc-theme .home-kb-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px;}
.dc-theme .home-kb-card{display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border); border-top:3px solid var(--blue-accent); padding:20px 22px 16px; text-decoration:none; color:inherit;}
.dc-theme .home-kb-card:hover{border-color:var(--blue-accent);}
.dc-theme .home-kb-card h3{font:700 16px/1.35 'Plus Jakarta Sans',sans-serif; color:var(--navy); margin:0 0 8px;}
.dc-theme .home-kb-card p{font:400 13.5px/1.6 'Inter',sans-serif; color:var(--text-muted); margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.dc-theme .home-kb-more{margin-top:auto; padding-top:14px; font:600 13.5px 'Inter',sans-serif; color:var(--blue-accent);}
.dc-theme .segment-card .seg-icon{font-size:44px; color:var(--blue-accent); margin-bottom:14px;}
.dc-theme .segment-card .seg-icon svg{width:1em; height:1em; display:block;}
.dc-theme .segment-card h2,.dc-theme .segment-card h3{font:700 18px/1.3 'Plus Jakarta Sans',sans-serif; color:var(--navy); margin:0 0 10px;}
.dc-theme .segment-card .seg-lead{font:400 14px/1.6 'Inter',sans-serif; color:var(--text-muted); margin:0;}
.dc-theme .segment-card .seg-more p{font:400 13.5px/1.6 'Inter',sans-serif; color:var(--text-muted); margin:12px 0 0;}
.dc-theme .segment-card .seg-sub{font:700 12.5px 'Inter',sans-serif; color:var(--blue-accent); display:block; margin:14px 0 2px;}
.dc-theme .segment-card strong{color:var(--navy); font-weight:600;}
.dc-theme .segment-card .seg-more p a{color:var(--blue-accent); font-weight:600; text-decoration:underline;}
.dc-theme .segment-card .seg-more p a:hover{color:var(--navy);}
.dc-theme .segment-card .seg-toggle{margin-top:auto; align-self:flex-start; background:none; border:none; cursor:pointer; color:var(--blue-accent); font:600 13.5px 'Inter',sans-serif; padding:16px 0 0; display:inline-flex; align-items:center; gap:6px;}
.dc-theme .segment-card .seg-toggle:hover{text-decoration:underline;}
/* Szarfa "Nowość" — po przekątnej w rogu karty */
.dc-theme .segment-card.is-new{position:relative; overflow:hidden;}
.dc-theme .segment-card .seg-ribbon{
  position:absolute; top:17px; right:-42px; width:170px;
  transform:rotate(45deg); text-align:center;
  background:#1E8A5F; color:#fff; font:800 13px/1 'Inter',sans-serif; letter-spacing:1px;
  text-transform:uppercase; padding:7px 0;
  border-top:1px solid rgba(255,255,255,.4); border-bottom:1px solid rgba(255,255,255,.4);
  box-shadow:0 3px 10px rgba(0,0,0,.28); z-index:2;
}

/* ---------- FOOTER ----------
   Stopka jest IDENTYCZNA na wszystkich stronach publicznych (includes/public_footer.php).
   Treść wyśrodkowana w tej samej kolumnie --dc-maxw co reszta strony, żeby na szerokim
   monitorze nie rozjeżdżała się na całą szerokość ekranu. */
.dc-theme footer{
  flex-shrink:0; background:var(--navy); border-top:none; text-align:center;
  padding:26px var(--dc-side);
  display:flex; flex-direction:column; align-items:center; gap:12px;
}
.dc-theme footer .footer-links{
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  gap:10px 22px; margin:0; width:100%; max-width:var(--dc-maxw);
}
.dc-theme footer .footer-links a{
  font:500 12.5px 'Inter',sans-serif; color:#9FB4C1; margin:0; text-decoration:none;
  white-space:nowrap;              /* etykieta nie łamie się w środku wyrazu */
  padding:4px 2px;                 /* większe pole trafienia palcem na telefonie */
}
.dc-theme footer .footer-links a:hover,
.dc-theme footer .footer-links a:focus-visible{color:#fff;}
.dc-theme footer .footer-links a.fl-kb{color:var(--blue-light); font-weight:700;}
.dc-theme footer .footer-links a.fl-partner{color:#5FD79B; font-weight:700;}
.dc-theme footer .footer-links a.fl-kb:hover,
.dc-theme footer .footer-links a.fl-partner:hover{color:#fff;}
.dc-theme footer p{margin:0; font:500 12.5px 'Inter',sans-serif; color:#7C93A2;}

/* Telefon: linki układają się w dwie kolumny zamiast długiej rozsypanej listy —
   przy dziewięciu pozycjach zawijanie w jednym rzędzie daje nierówne, poszarpane wiersze. */
@media (max-width:560px){
  .dc-theme footer{padding:22px var(--dc-side); gap:14px;}
  .dc-theme footer .footer-links{
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:2px 14px; justify-items:center; max-width:340px;
  }
  /* Bez nowrap: najdłuższa etykieta („Instrukcja Pakowania Butli") jest szersza niż kolumna
     i wystawała poza siatkę. Zawinięcie w dwie linie wygląda lepiej niż wyłażenie poza obrys. */
  .dc-theme footer .footer-links a{
    padding:7px 2px; font-size:13px; white-space:normal; text-align:center; line-height:1.35;
  }
}

/* ---------- PODSTRONY Z WŁASNYM AKCENTEM (Baza Wiedzy / Partnerski / …) ----------
   Akcent per strona ustawiany na <body> zmiennymi: --acc (kolor), --acc-d (ciemniejszy —
   tekst/ikony na jasnym tincie), --acc-tint (jasne tło ikon/badge). page-hero = kolorowy
   pas nagłówka RÓŻNY per strona (spełnia „inne tło nagłówka"). */
.dc-theme .page-hero{
  background:var(--acc); color:#fff;
  padding:calc(var(--pub-navbar-height) + clamp(28px,4vw,46px)) var(--dc-side) clamp(28px,4vw,44px);
}
.dc-theme .page-hero .ph-kicker{font:600 11px 'IBM Plex Mono',monospace; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.82);}
.dc-theme .page-hero h1{margin:9px 0 0; font:700 clamp(27px,3.8vw,40px)/1.15 'Plus Jakarta Sans',sans-serif; letter-spacing:-.01em; color:#fff; display:flex; align-items:center; gap:12px;}
.dc-theme .page-hero p{margin:12px 0 0; font:400 16px/1.6 'Inter',sans-serif; color:rgba(255,255,255,.92); max-width:660px;}
.dc-theme .page-body{flex:1 0 auto; background:var(--bg); padding:clamp(32px,4vw,50px) var(--dc-side);}
.dc-theme .acc-card{background:var(--surface); border:1px solid var(--border); border-top:3px solid var(--acc); border-radius:0; padding:22px 22px 20px;}
.dc-theme .acc-btn{display:inline-flex; align-items:center; gap:9px; background:var(--acc); color:#fff; border:none; border-radius:0; padding:13px 22px; font:600 14.5px 'Inter',sans-serif; cursor:pointer; text-decoration:none; transition:filter .15s;}
.dc-theme .acc-btn:hover{filter:brightness(.93); color:#fff;}
.dc-theme .acc-btn-ghost{display:inline-flex; align-items:center; gap:9px; background:transparent; color:var(--navy); border:1px solid var(--input-border); border-radius:0; padding:13px 22px; font:600 14.5px 'Inter',sans-serif; cursor:pointer; text-decoration:none;}
.dc-theme .acc-btn-ghost:hover{background:#fff; border-color:var(--acc);}

/* ---------- RESPONSYWNOŚĆ ---------- */
@media (max-width:900px){
  .dc-theme .hero{flex-direction:column; align-items:stretch; text-align:left;}
  .dc-theme .hero-l{flex:none;}
  .dc-theme .hero p{max-width:none;}
  .dc-theme .hero-r{order:-1;}
}
@media (max-width:560px){
  .dc-theme .hero .hero-cta{align-self:stretch; justify-content:center;}
}
