/* =====================================================================
   Smartware — deck.css
   Style dla: prezentacji (decki/slajdy), artykułów (proza), schematów SQLC.
   Rozszerza assets/styles.css (te same tokeny --brand itd.). Dołączać PO styles.css.
   ===================================================================== */

/* ============================ PROZA / ARTYKUŁY ============================ */
.article{max-width:760px;margin:0 auto;padding:0 24px}
.article .lead{font-size:21px;line-height:1.5;color:var(--ink);font-weight:500;margin:0 0 28px}
.article .kicker{margin-bottom:18px}
.article h1{font-size:clamp(30px,4.4vw,46px);font-weight:800;letter-spacing:-1px;line-height:1.08;margin:0 0 18px}
.article .byline{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:13.5px;color:var(--muted);
  border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:30px}
.article .byline .tag{font-weight:800;color:var(--brand);background:#EAF1FD;border-radius:7px;padding:3px 10px;letter-spacing:.3px}
.article h2{font-size:25px;font-weight:800;letter-spacing:-.5px;margin:38px 0 14px}
.article h3{font-size:19px;font-weight:800;margin:28px 0 10px}
.article p{font-size:17px;line-height:1.72;color:var(--text);margin:0 0 18px}
.article ul,.article ol{font-size:17px;line-height:1.7;color:var(--text);margin:0 0 18px;padding-left:4px;list-style:none}
.article ul li,.article ol li{position:relative;padding-left:30px;margin-bottom:10px}
.article ul li::before{content:"";position:absolute;left:6px;top:11px;width:8px;height:8px;border-radius:50%;background:var(--brand)}
.article ol{counter-reset:li}
.article ol li{counter-increment:li}
.article ol li::before{content:counter(li);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:7px;background:#EAF1FD;color:var(--brand);font-size:12px;font-weight:800;display:grid;place-items:center}
.article blockquote{margin:26px 0;padding:20px 26px;border-left:4px solid var(--brand);background:var(--line-2);border-radius:0 14px 14px 0;
  font-size:19px;line-height:1.55;color:var(--ink);font-weight:600;font-style:normal}
.article .boxout{background:linear-gradient(150deg,#0E2348,#103064);color:#fff;border-radius:var(--radius);padding:28px 30px;margin:32px 0;position:relative;overflow:hidden;box-shadow:var(--shadow-l)}
.article .boxout::before{content:"";position:absolute;inset:0;opacity:.4;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:40px 40px;mask:radial-gradient(420px 240px at 80% 0%,#000 30%,transparent 75%)}
.article .boxout > *{position:relative;z-index:2}
.article .boxout h4{color:#fff;font-size:13px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;margin:0 0 14px;color:#9bbcf0}
.article .boxout p{color:rgba(232,240,252,.9);font-size:16px;margin:0}
.article .boxout ul,.article .boxout ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px}
.article .boxout li{color:rgba(232,240,252,.9);font-size:15.5px;line-height:1.6}
.article .boxout li::marker{color:#7fb0ff}
.article .boxout b,.article .boxout strong{color:#fff}
.article .boxout a{color:#9ec7ff}
.article .boxout .grid-stats{display:flex;gap:30px;flex-wrap:wrap;margin-top:6px}
.article .boxout .grid-stats div b{display:block;font-size:32px;font-weight:800;letter-spacing:-1px;color:#fff}
.article .boxout .grid-stats div span{font-size:13px;color:rgba(232,240,252,.7)}
.article figure{margin:30px 0}
.article figure .fig{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.article figcaption{font-size:13px;color:var(--muted);margin-top:10px;text-align:center}
.article .endnote{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);font-size:14.5px;color:var(--muted)}

/* ============================ DECK / SLAJDY ============================ */
.deck{background:var(--bg)}
.slide{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:96px 0 80px;position:relative;scroll-snap-align:start}
.deck.snap{scroll-snap-type:y mandatory;overflow-y:auto;height:100vh}
.slide.dark{color:#fff;background:
  radial-gradient(900px 480px at 85% -8%, rgba(78,141,240,.34), transparent 60%),
  radial-gradient(700px 420px at 8% 110%, rgba(110,91,240,.28), transparent 55%),
  linear-gradient(160deg,#081226,#0E2348 55%,#103064)}
.slide.dark::before{content:"";position:absolute;inset:0;opacity:.45;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:54px 54px;mask:radial-gradient(900px 520px at 70% 0%,#000 30%,transparent 75%)}
.slide .container{position:relative;z-index:2;width:100%}
.slide .snum{position:absolute;top:28px;right:32px;font-size:13px;font-weight:800;color:var(--faint);letter-spacing:1px;z-index:3}
.slide.dark .snum{color:rgba(255,255,255,.4)}
.slide .stag{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:800;letter-spacing:1.6px;text-transform:uppercase;
  color:var(--brand);background:#EAF1FD;border:1px solid #D2E2FA;padding:7px 14px;border-radius:30px;margin-bottom:22px}
.slide.dark .stag{color:#bcd3f5;background:rgba(78,141,240,.13);border-color:rgba(120,170,250,.28)}
.slide h2.sh{font-size:clamp(30px,5vw,52px);font-weight:800;letter-spacing:-1.4px;line-height:1.06;margin:0 0 20px}
.slide.dark h2.sh{color:#fff}
.slide .ssub{font-size:clamp(16px,2vw,21px);color:var(--muted);max-width:760px;line-height:1.5}
.slide.dark .ssub{color:rgba(232,240,252,.82)}
.slide .lead-num{font-size:clamp(64px,12vw,150px);font-weight:800;letter-spacing:-5px;line-height:.9;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.slide .points{display:flex;flex-direction:column;gap:16px;margin-top:30px;max-width:820px}
.slide .points .pt{display:flex;gap:16px;align-items:flex-start;font-size:18px;line-height:1.5}
.slide .points .pt .pn{width:38px;height:38px;border-radius:11px;background:var(--grad-brand);color:#fff;font-weight:800;display:grid;place-items:center;flex:none;font-size:15px}
.slide.dark .points .pt{color:rgba(232,240,252,.92)}
.slide.dark .points .pt .pn{background:rgba(255,255,255,.12);color:#cfe0f8}
.slide .kpis{display:flex;gap:40px;flex-wrap:wrap;margin-top:30px}
.slide .kpis .k b{display:block;font-size:clamp(40px,6vw,68px);font-weight:800;letter-spacing:-2px;line-height:1;background:var(--grad-brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.slide.dark .kpis .k b{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.slide .kpis .k span{font-size:15px;color:var(--muted);margin-top:10px;display:block}
.slide.dark .kpis .k span{color:rgba(232,240,252,.7)}
/* pasek nawigacji decku */
.deck-nav{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:50;display:flex;align-items:center;gap:14px;
  background:rgba(255,255,255,.86);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:30px;padding:8px 10px;box-shadow:var(--shadow)}
.deck-nav button{appearance:none;border:0;background:#EAF1FD;color:var(--brand);width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:16px;font-weight:800;transition:.16s}
.deck-nav button:hover{background:var(--brand);color:#fff}
.deck-nav .pos{font-size:13px;font-weight:800;color:var(--muted);min-width:52px;text-align:center}
.deck-nav .home{font-size:12px;font-weight:700;color:var(--muted);padding:0 8px}
.deck-nav .home:hover{color:var(--brand)}
.deck-top{position:fixed;top:0;left:0;right:0;height:4px;background:var(--line-2);z-index:50}
.deck-top .bar{height:100%;background:var(--grad-brand);width:0;transition:width .2s}

/* ============================ SCHEMAT — pomocnicze ============================ */
.lanes{display:flex;flex-direction:column;gap:14px}
.lane-row{display:grid;grid-template-columns:160px 1fr;gap:14px;align-items:stretch}
.lane-label{display:flex;align-items:center;flex-wrap:wrap;align-content:center;gap:10px;font-weight:800;font-size:13.5px;color:var(--ink);
  background:#F1F6FE;border:1px solid #DCE9FB;border-radius:12px;padding:12px 14px}
.lane-label small{flex-basis:100%;line-height:1.3}
.lane-label .ic{font-size:18px}
.lane-cells{display:flex;gap:10px;overflow-x:auto;padding-bottom:2px}
.cell{flex:1 1 0;min-width:130px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:var(--shadow-s)}
.cell .ct{font-weight:800;font-size:12.5px;color:var(--ink);display:flex;align-items:center;gap:7px}
.cell .cd{font-size:11.5px;color:var(--muted);margin-top:4px;line-height:1.4}
.cell.ok{border-color:#bfe7d4;background:#f6fcf9}
.cell.ok .ct{color:var(--ok)}
.cell.warn{border-color:#f0dbb0;background:var(--amber-bg)}
.cell.warn .ct{color:var(--amber-ink)}
.cell.bad{border-color:#f1c5c0;background:#fff8f7}
.cell.bad .ct{color:var(--red)}
.process-arrow{display:flex;align-items:center;gap:8px;background:linear-gradient(100deg,#FCEAE8,#FFF4F2);border:1.5px dashed var(--red);border-radius:12px;padding:12px 16px;color:var(--red-ink);font-size:13px;font-weight:700;margin:14px 0}
.process-arrow.ok{background:linear-gradient(100deg,#E2F6EE,#F3FBF7);border-color:var(--ok);color:#0b6e49}
.seam{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;flex:none}
.seam.broken{background:var(--red-bg);color:var(--red);border:1.5px dashed var(--red)}
.seam.joined{background:var(--ok-bg);color:var(--ok);border:1.5px solid var(--ok)}
.blindspot{border:1.5px dashed var(--red);background:repeating-linear-gradient(45deg,#fff,#fff 8px,#fceae8 8px,#fceae8 16px);border-radius:14px;padding:18px 20px;color:var(--red-ink)}

/* ============================ DRUK / PDF ============================ */
@media print{
  *{ -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important }
  .site-head,.mobile-nav,.deck-nav,.deck-top,.burger,.cta-band .hero-cta,.foot .social{display:none !important}
  html,body{background:#fff}
  .deck.snap{height:auto !important;overflow:visible !important;scroll-snap-type:none !important}
  .hero,.slide.dark,.slide{padding-top:34px !important;padding-bottom:34px !important;min-height:auto !important}
  .slide{page-break-after:always;break-after:page;min-height:auto !important;justify-content:flex-start}
  .slide:last-child{page-break-after:auto}
  .section{padding:24px 0 !important}
  .reveal{opacity:1 !important;transform:none !important}
  .article{max-width:100%}
  a{color:inherit;text-decoration:none}
  .card,.case,.post,.cell{box-shadow:none}
  /* marka na każdej stronie PDF: logo u góry + stopka */
  @page{ margin:20mm 12mm 15mm 12mm }
  body::before{ content:""; position:fixed; top:7mm; left:12mm; right:12mm; height:7mm;
    background:url(logo-dark.svg) no-repeat left center; background-size:auto 6mm;
    border-bottom:2px solid #1C69D4; z-index:99999 }
  body::after{ content:"smartware.pl · Smart Testing Suite"; position:fixed; bottom:6mm; right:12mm;
    font:600 8pt ui-sans-serif, system-ui, sans-serif; letter-spacing:.3px; color:#5C7187; z-index:99999 }
}
