/* ============================================================
   OPAKUJ.COM — WARSTWA BLOGA
   Wczytywana PO assets/theme.css i assets/uslugi.css.
   Wszystkie klasy mają przedrostek `b-`, więc arkusz główny
   i warstwa podstron usługowych pozostają nietknięte.
   Kolory, krój i odstępy pochodzą ze zmiennych w theme.css.
   ============================================================ */

/* ===== NAGŁÓWEK WPISU ===== */
.b-head{padding:clamp(30px,4.2vw,58px) 0 clamp(20px,2.6vw,34px)}
.b-head .h1{max-width:20ch}
.b-head .lead{max-width:64ch;margin-top:18px}
.b-meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;
  margin:0 0 16px;padding:0;list-style:none;
  font-size:13.5px;color:var(--muted);
}
.b-meta li{display:inline-flex;align-items:center;gap:8px}
.b-meta li+li::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--red);flex:none}

/* ===== KOLUMNA TREŚCI ===== */
.b-body{padding:0 0 clamp(40px,5.4vw,76px)}
.b-col{max-width:74ch;margin:0 auto}
.b-col p{color:var(--ink);font-size:clamp(16px,1.15vw,17.4px);line-height:1.74}
.b-col h2{
  font-size:clamp(22px,2.7vw,32px);line-height:1.18;
  margin:clamp(38px,4.4vw,60px) 0 14px;scroll-margin-top:18px;
}
.b-col h3{
  font-size:clamp(17px,1.55vw,20px);font-weight:700;line-height:1.3;
  margin:clamp(24px,2.6vw,34px) 0 8px;
}
.b-col h2+p,.b-col h3+p{margin-top:0}
.b-col a{color:var(--blue-deep);text-decoration:underline;text-underline-offset:3px}
.b-col a:hover{color:var(--red-deep)}
.b-col ul{margin:0 0 1.2em;padding:0 0 0 4px;list-style:none;display:grid;gap:10px}
.b-col ul li{position:relative;padding-left:26px;line-height:1.65;color:var(--ink)}
.b-col ul li::before{
  content:"";position:absolute;left:2px;top:.62em;
  width:8px;height:8px;border-radius:50%;background:var(--red);
}

/* ===== SPIS TREŚCI ===== */
.b-toc{
  margin:clamp(24px,3vw,36px) 0 0;padding:clamp(20px,2.4vw,28px);
  background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:3px;
}
.b-toc h2{font-size:15px !important;font-weight:800;margin:0 0 12px !important;letter-spacing:.02em;text-transform:uppercase;color:var(--navy-deep)}
.b-toc ol{margin:0;padding:0 0 0 20px;display:grid;gap:8px;font-size:15.2px}
.b-toc li{padding-left:4px}
.b-toc a{color:var(--blue-deep);text-decoration:none}
.b-toc a:hover{text-decoration:underline}

/* ===== WYRÓŻNIONY AKAPIT ===== */
.b-note{
  margin:clamp(24px,3vw,34px) 0;padding:clamp(18px,2.2vw,26px);
  background:#eef4fd;border-left:4px solid var(--blue);border-radius:3px;
}
.b-note p{margin:0;font-size:15.8px;color:#2b3a4d}
.b-note p+p{margin-top:.9em}
.b-note b{color:var(--navy-deep)}

/* ===== GRAFIKA INFORMACYJNA ===== */
.b-fig{
  margin:clamp(30px,3.6vw,48px) 0;padding:0;
  border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:3px;
  background:var(--white);
}
.b-fig-hd{padding:clamp(16px,1.9vw,22px) clamp(16px,2vw,26px) 0}
.b-fig-hd .tag{margin:0 0 6px}
.b-fig-hd b{display:block;font-size:clamp(16px,1.5vw,19px);font-weight:800;color:var(--navy-deep);line-height:1.25}
.b-fig-in{padding:clamp(14px,1.8vw,22px) clamp(16px,2vw,26px)}
.b-fig figcaption{
  padding:0 clamp(16px,2vw,26px) clamp(16px,1.9vw,22px);
  font-size:13.2px;line-height:1.55;color:var(--muted);
}
.b-fig svg{display:block;width:100%;height:auto}

/* ===== POZIOMA PRZEWIJKA (tabele i szerokie rysunki) ===== */
.b-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.b-scroll:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
/* Rysunek nie kurczy się poniżej tej szerokości, bo opisy przestałyby być
   czytelne. Przewijka jest lokalna — strona nadal nie jeździ w bok. */
.b-scroll--fig svg{min-width:700px}
/* Podpowiedź „przewiń w bok" tylko tam, gdzie zawartość faktycznie nie mieści się
   w kolumnie treści. */
.b-hint{display:none;margin:8px 0 0;font-size:12.6px;color:var(--muted)}
@media(max-width:900px){.b-hint{display:block}}

/* ===== TABELA ===== */
.b-tab{border-collapse:collapse;width:100%;min-width:640px;font-size:14.6px}
.b-tab caption{text-align:left;font-size:13px;color:var(--muted);padding:0 0 10px}
.b-tab th,.b-tab td{padding:11px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);line-height:1.5}
.b-tab thead th{
  background:var(--navy);color:#fff;font-weight:700;font-size:13.6px;
  border-bottom:none;position:sticky;left:auto;
}
.b-tab tbody th{font-weight:700;color:var(--navy-deep);background:var(--paper);white-space:nowrap}
.b-tab td{color:#3d4655}
.b-tab tbody tr:last-child th,.b-tab tbody tr:last-child td{border-bottom:none}
/* Wyższa specyficzność niż `.b-tab td`, inaczej kolor komórki wygrywa. */
.b-tab td.b-yes{color:#186036;font-weight:700}
.b-tab td.b-no{color:#a5310f;font-weight:700}

/* ===== TRZY SCENKI OBOK SIEBIE ===== */
.b-trio{display:grid;gap:clamp(16px,2vw,24px)}
@media(min-width:700px){.b-trio{grid-template-columns:repeat(3,1fr)}}
.b-trio figure{margin:0;min-width:0}
.b-trio figcaption{font-size:13.2px;color:var(--muted);line-height:1.5;margin-top:8px;padding-left:12px;border-left:3px solid var(--red)}
.b-trio b{display:block;font-size:14.6px;font-weight:700;color:var(--navy-deep);margin-bottom:8px}

/* ===== OŚ SEZONU ===== */
.b-tl{list-style:none;margin:0;padding:0;display:grid;gap:0}
@media(min-width:760px){.b-tl{grid-template-columns:repeat(4,1fr);gap:0}}
.b-tl li{position:relative;padding:0 0 20px 26px;min-width:0}
@media(min-width:760px){.b-tl li{padding:26px 18px 0 0}}
/* linia biegnąca przez wszystkie etapy */
.b-tl li::after{
  content:"";position:absolute;left:5px;top:14px;bottom:0;width:2px;background:var(--line);
}
@media(min-width:760px){
  .b-tl li::after{left:0;right:0;top:5px;bottom:auto;width:auto;height:2px}
}
.b-tl li:last-child::after{display:none}
@media(min-width:760px){.b-tl li:last-child::after{display:block;background:linear-gradient(90deg,var(--line) 0 14px,transparent 14px)}}
.b-tl li::before{
  content:"";position:absolute;left:0;top:8px;width:12px;height:12px;border-radius:50%;
  background:var(--white);border:3px solid var(--blue);z-index:1;
}
@media(min-width:760px){.b-tl li::before{left:0;top:0}}
.b-tl li:nth-child(2)::before{border-color:var(--red)}
.b-tl li:nth-child(3)::before{border-color:var(--navy)}
.b-tl li:nth-child(4)::before{border-color:var(--blue)}
.b-tl .b-tl-m{display:block;font-size:12.6px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--red-deep);margin-bottom:4px}
.b-tl b{display:block;font-size:15.6px;font-weight:700;color:var(--navy-deep);margin-bottom:5px}
.b-tl span.b-tl-d{display:block;font-size:14.2px;color:var(--muted);line-height:1.55}

/* ===== LISTA KONTROLNA ===== */
/* Selektory celowo z `ul` na początku — inaczej ogólna reguła `.b-col ul li`
   z sekcji treści wygrywa specyficznością i podmienia ptaszek na kropkę. */
ul.b-check{list-style:none;margin:0;padding:0;display:grid;gap:2px}
@media(min-width:720px){ul.b-check{grid-template-columns:repeat(2,1fr);column-gap:clamp(18px,2.4vw,34px)}}
ul.b-check li{
  position:relative;padding:11px 0 11px 34px;min-width:0;
  border-bottom:1px solid var(--line);font-size:15px;line-height:1.55;color:#3d4655;
}
ul.b-check li::before{
  content:"";position:absolute;left:4px;top:15px;width:10px;height:17px;border-radius:0;
  background:none;border-right:2.6px solid var(--blue);border-bottom:2.6px solid var(--blue);
  transform:rotate(42deg);
}
ul.b-check li b{display:block;color:var(--navy-deep);font-weight:700;font-size:15.2px;margin-bottom:2px}

/* ===== FAQ WEWNĄTRZ TREŚCI =====
   Rozwijane pytania korzystają ze stylów `.faq` z theme.css, ale bez
   pionowego oddechu sekcji — wewnątrz artykułu odstępy daje nagłówek H2. */
.b-faq{padding:0;margin-top:20px}
.b-faq .faq-list{margin-top:0}
.b-col .b-faq summary{color:var(--navy-deep)}

/* ===== POWIĄZANE / KONIEC WPISU ===== */
.b-links{
  margin:clamp(34px,4vw,54px) 0 0;padding:clamp(20px,2.4vw,28px);
  background:var(--paper);border:1px solid var(--line);border-radius:3px;
}
.b-links h2{font-size:16px !important;margin:0 0 12px !important;text-transform:uppercase;letter-spacing:.02em}
.b-links ul{margin:0;gap:9px}

.b-src{margin:clamp(28px,3.4vw,42px) 0 0;padding-top:18px;border-top:1px solid var(--line);font-size:13.2px;color:var(--muted);line-height:1.6}
.b-src p{font-size:13.2px !important;color:var(--muted) !important;line-height:1.6 !important;margin:0}

/* ===== LISTA WPISÓW (blog/index.html) ===== */
.b-list{display:grid;gap:clamp(18px,2.2vw,26px);margin-top:clamp(24px,3vw,38px)}
@media(min-width:820px){.b-list{grid-template-columns:repeat(2,1fr)}}
.b-item{
  border:1px solid var(--line);border-top:3px solid var(--blue);border-radius:3px;
  background:var(--white);padding:clamp(20px,2.4vw,30px);min-width:0;
}
.b-item .tag{margin:0 0 10px}
.b-item h2{font-size:clamp(19px,2vw,24px);line-height:1.22;margin:0 0 10px}
.b-item h2 a{color:var(--navy-deep);text-decoration:none}
.b-item h2 a:hover{color:var(--blue)}
.b-item p{margin:0 0 16px;font-size:15.2px;color:var(--muted);line-height:1.62}
.b-item .b-meta{margin:0 0 12px}
.b-soon{
  border:1px dashed var(--line);border-top:3px solid var(--line);
  background:var(--paper);color:var(--muted);
}
.b-soon h2{color:var(--muted);font-size:clamp(17px,1.7vw,20px)}
.b-soon ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;font-size:14.6px;color:var(--muted)}
.b-soon li{position:relative;padding-left:20px;line-height:1.55}
.b-soon li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:#b9c0ca}
