/* MSM „CHEMIK” – niebiesko-biały. Kolor logo: #1a9ec4 (akcent), główny niebieski ciemniejszy dla kontrastu z białym tekstem. */
:root {
  --blue: #1567a8;       /* przyciski, linki (kontrast z białym ≥ 5:1) */
  --blue-d: #0f4c81;     /* hover, nagłówki */
  --navy: #0b2f50;       /* stopka, pasek awarii */
  --cyan: #1a9ec4;       /* kolor logo – akcenty */
  --sky: #eaf3fb;        /* jasne tła sekcji */
  --sky-2: #d6e8f7;
  --ink: #14263a;
  --muted: #536579;
  --line: #d9e3ee;
  --white: #ffffff;
  --radius: 14px;
  --shadow: 0 8px 28px rgba(15, 76, 129, .10);
  --wrap: 1240px;
  font-size: 17px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before { transition: none !important; animation: none !important; } }
body { margin: 0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--ink); background: var(--white); line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--blue); text-underline-offset: 3px; }
a:hover { color: var(--blue-d); }
:focus-visible { outline: 3px solid var(--navy); outline-offset: 3px; box-shadow: 0 0 0 3px #fff; }
.hero :focus-visible, .page-head :focus-visible, .alarm :focus-visible, .foot :focus-visible { outline-color: #fff; box-shadow: 0 0 0 3px var(--navy); }
main:focus { outline: none; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
h1, h2, h3 { line-height: 1.22; color: var(--blue-d); margin: 0 0 .5em; }
h1 { font-size: clamp(1.8rem, 4vw, 2.7rem); }
h2 { font-size: clamp(1.4rem, 2.6vw, 1.9rem); }
h3 { font-size: 1.12rem; }
p { margin: 0 0 1em; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 20px; }
.narrow { max-width: 860px; }
.block { padding-top: 64px; padding-bottom: 64px; }
.soft { background: var(--sky); }
.center { text-align: center; }
.muted { color: var(--muted); }
.lead { font-size: 1.15rem; color: var(--muted); }
.sec-title { text-align: center; margin-bottom: .8em; position: relative; padding-bottom: .5em; }
.sec-title::after { content: ""; display: block; width: 56px; height: 4px; border-radius: 2px; background: var(--cyan); margin: .5em auto 0; }
.sec-lead { margin-top: -.6em; margin-bottom: 2em; color: var(--muted); }
.empty { text-align: center; padding: 48px 20px; background: var(--sky); border-radius: var(--radius); color: var(--muted); font-size: 1.1rem; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--navy); color: #fff; padding: 10px 18px; z-index: 99; border-radius: 8px; font-weight: 600; }
.skip:focus { left: 8px; color: #fff; }

/* przyciski */
.btn { display: inline-flex; align-items: center; gap: .45em; background: var(--blue); color: #fff; padding: .65em 1.3em;
  border-radius: 999px; text-decoration: none; font-weight: 600; border: 2px solid var(--blue); transition: background .15s, border-color .15s; }
.btn:hover { background: var(--blue-d); border-color: var(--blue-d); color: #fff; }
.btn.ghost { background: transparent; color: var(--blue); }
.btn.ghost:hover { background: var(--sky); color: var(--blue-d); }
.btn.light { background: #fff; color: var(--blue-d); border-color: #fff; }
.btn.light:hover { background: var(--sky); border-color: var(--sky); }

/* nagłówek */
.top { background: #fff; border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 30; }
.top-in { display: flex; align-items: center; gap: 16px; min-height: 76px; }
.brand { margin-right: auto; flex-shrink: 0; }
.brand img { height: 50px; width: auto; }
#nav { display: flex; align-items: center; gap: 12px; }
.menu { list-style: none; display: flex; gap: 2px; margin: 0; padding: 0; }
.menu li { position: relative; }
.menu a, .menu button { display: block; padding: 8px 10px; white-space: nowrap; color: var(--ink); text-decoration: none; font: inherit;
  font-size: .96rem; font-weight: 500; background: none; border: 0; cursor: pointer; border-radius: 8px; }
.menu a:hover, .menu button:hover { background: var(--sky); color: var(--blue-d); }
.menu a[aria-current], .menu button.on { color: var(--blue); box-shadow: inset 0 -3px 0 var(--cyan); border-radius: 0; }
.has-sub > button::after { content: ""; display: inline-block; margin-left: 6px; vertical-align: 3px; border: 4px solid transparent; border-top-color: currentColor; border-bottom: 0; }
.has-sub ul { display: none; position: absolute; top: 100%; left: 0; min-width: 220px; list-style: none; margin: 0;
  padding: 8px; background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: var(--shadow); }
.has-sub ul a { border-radius: 8px; }
.has-sub ul a[aria-current] { box-shadow: none; background: var(--sky); }
.has-sub.open ul, .has-sub:hover ul, .has-sub:focus-within ul { display: block; }
.nav-btns { display: flex; gap: 8px; }
.nav-btns .btn { padding: .45em 1em; font-size: .93rem; white-space: nowrap; }
.nav-btns .btn.fb { background: #fff; color: var(--blue); }
.nav-btns .btn.fb:hover { background: var(--sky); }
.nav-toggle { display: none; }

/* menu mobilne – klasa navm ustawiana w JS (próg rośnie razem z powiększeniem tekstu) */
html.navm .nav-toggle { display: inline-flex; align-items: center; gap: 10px; font: inherit; font-weight: 600; padding: 9px 16px; border: 2px solid var(--blue); color: var(--blue); background: #fff; border-radius: 999px; cursor: pointer; }
html.navm .bars, html.navm .bars::before, html.navm .bars::after { display: block; width: 18px; height: 2px; background: currentColor; position: relative; }
html.navm .bars::before, html.navm .bars::after { content: ""; position: absolute; }
html.navm .bars::before { top: -6px; }
html.navm .bars::after { top: 6px; }
html.navm #nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--line); box-shadow: var(--shadow); flex-direction: column; align-items: stretch; padding: 12px 20px 22px; max-height: calc(100vh - 76px); overflow: auto; }
html.navm #nav.open { display: flex; }
html.navm .menu { flex-direction: column; }
html.navm .menu a, html.navm .menu button { padding: 11px 12px; font-size: 1.02rem; }
html.navm .menu a[aria-current] { box-shadow: inset 4px 0 0 var(--cyan); }
html.navm .has-sub > button { display: none; }
html.navm .has-sub ul { display: block; position: static; box-shadow: none; border: 0; padding: 0; min-width: 0; }
html.navm .nav-btns { padding-top: 10px; border-top: 1px solid var(--line); }
html.navm .nav-btns .btn { flex: 1; justify-content: center; }

/* hero */
.hero { position: relative; color: #fff; background: var(--navy) var(--hero) center 35%/cover no-repeat; }
.hero::before { content: ""; position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(11,47,80,.92) 0%, rgba(15,76,129,.78) 45%, rgba(21,103,168,.25) 100%); }
@media (max-width: 760px) { .hero::before { background: rgba(11,47,80,.84); } }
.hero-in { position: relative; padding-top: clamp(80px, 12vw, 150px); padding-bottom: clamp(80px, 12vw, 150px); }
.hero h1 { color: #fff; max-width: 720px; }
.hero-sub { font-size: 1.3rem; color: #d3e8f6; margin-bottom: 1.6em; display: flex; align-items: center; gap: 12px; }
.hero-sub::before { content: ""; width: 36px; height: 3px; background: var(--cyan); border-radius: 2px; }

/* nagłówek podstron */
.page-head { background: linear-gradient(120deg, var(--blue-d), var(--blue)); color: #fff; }
.page-head .wrap { padding-top: 48px; padding-bottom: 44px; }
.page-head h1 { color: #fff; margin: 0; }
.page-head .lead { color: #d3e8f6; margin: .5em 0 0; }
.page-head .crumb { margin: 0 0 10px; }
.page-head .crumb a { color: #d3e8f6; text-decoration: none; font-weight: 500; }
.page-head .crumb a:hover { color: #fff; text-decoration: underline; }

/* kafelki aktualności */
.tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin-bottom: 36px; }
@media (max-width: 960px) { .tiles { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .tiles { grid-template-columns: 1fr; } }
.tile { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: box-shadow .2s, transform .2s; }
.tile:hover { box-shadow: var(--shadow); transform: translateY(-3px); }
.tile-link { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; }
.tile-img { aspect-ratio: 16 / 10; background: var(--sky); overflow: hidden; }
.tile-img img { width: 100%; height: 100%; object-fit: cover; }
.tile-img.ph { display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--blue), var(--cyan)); }
.tile-body { padding: 18px 20px 20px; display: flex; flex-direction: column; flex: 1; }
.tile-body time { font-size: .85rem; color: var(--muted); margin-bottom: 4px; }
.tile-title { color: var(--ink); margin-bottom: .4em; font-size: 1.12rem; }
.tile-link:hover .tile-title { color: var(--blue); }
.tile-body p { color: var(--muted); font-size: .95rem; }
.more { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; color: var(--blue); font-weight: 600; font-size: .93rem; }
.pager { display: flex; justify-content: center; gap: 6px; }
.pager a { min-width: 42px; text-align: center; padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; text-decoration: none; }
.pager a[aria-current] { background: var(--blue); color: #fff; border-color: var(--blue); }

/* akty prawne – koła */
.circles { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10em), 1fr)); gap: 28px 20px; }
.circles > li { min-width: 0; }
.circles a { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; text-decoration: none; color: var(--blue); padding: 10px; border-radius: var(--radius); }
.circle { width: 112px; height: 112px; border-radius: 50%; background: var(--blue); color: #fff; display: grid; place-items: center;
  box-shadow: 0 10px 24px rgba(21,103,168,.25); transition: transform .2s, background .2s; }
.circles a:hover .circle { transform: scale(1.06); background: var(--blue-d); }
.circle-title { font-size: 1.15rem; font-weight: 600; line-height: 1.3; max-width: 230px; overflow-wrap: anywhere; hyphens: auto; }
.circles a:hover .circle-title { color: var(--blue-d); text-decoration: underline; }

/* klub */
.club { display: grid; grid-template-columns: 1.15fr 1fr; gap: 48px; align-items: center; }
.club-img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); box-shadow: var(--shadow); }
.club-txt h2::after { content: ""; display: block; width: 56px; height: 4px; border-radius: 2px; background: var(--cyan); margin-top: .5em; }
@media (max-width: 820px) { .club { grid-template-columns: 1fr; gap: 28px; } }

/* slider galerii */
.slider { position: relative; }
.slides { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding-bottom: 6px; scrollbar-width: none; }
.slides::-webkit-scrollbar { display: none; }
.slide { flex: 0 0 calc((100% - 36px) / 3); margin: 0; scroll-snap-align: start; }
@media (max-width: 960px) { .slide { flex-basis: calc((100% - 18px) / 2); } }
@media (max-width: 600px) { .slide { flex-basis: 88%; } }
.slide img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius); }
.slide figcaption { font-size: .9rem; color: var(--muted); margin-top: 6px; }
.sl-btn { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%; border: 0; cursor: pointer;
  background: #fff; color: var(--blue-d); font-size: 2rem; line-height: 1; box-shadow: var(--shadow); display: grid; place-items: center; padding-bottom: 4px; }
.sl-btn:hover { background: var(--blue); color: #fff; }
.sl-btn.prev { left: -14px; } .sl-btn.next { right: -14px; }
.sl-pause { margin-top: 14px; display: inline-flex; align-items: center; gap: 8px; background: #fff; color: var(--blue-d); border: 2px solid var(--blue); border-radius: 999px; padding: 6px 16px; font: inherit; font-size: .9rem; font-weight: 600; cursor: pointer; }
.sl-pause:hover { background: var(--sky-2); }
.sl-pause .ico { font-size: .75em; letter-spacing: -1px; }
@media (max-width: 600px) { .sl-btn { width: 40px; height: 40px; } .sl-btn.prev { left: 4px; } .sl-btn.next { right: 4px; } }
.lb { position: fixed; inset: 0; background: rgba(6, 22, 38, .92); display: grid; place-items: center; z-index: 100; padding: 20px;
  border: 0; max-width: none; max-height: none; width: 100%; height: 100%; }
.lb img { max-height: 88vh; max-width: 100%; border-radius: 8px; }
.lb .lb-x { position: absolute; top: 14px; right: 18px; font-size: 1.8rem; background: none; color: #fff; border: 0; cursor: pointer; }

/* dokumenty */
.docs { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.doc { display: flex; gap: 16px; align-items: center; padding: 14px 18px; border: 1px solid var(--line); border-radius: var(--radius);
  text-decoration: none; color: var(--ink); background: #fff; transition: border-color .15s, background .15s; }
.doc:hover { border-color: var(--blue); background: var(--sky); color: var(--ink); }
.doc-ico { flex-shrink: 0; width: 50px; height: 50px; border-radius: 50%; background: var(--blue); color: #fff; display: grid; place-items: center; }
.doc-txt { flex: 1; }
.doc strong { display: block; }
.doc small { display: block; font-size: .87rem; }
.doc-dl { color: var(--blue); font-weight: 600; font-size: .92rem; }
@media (max-width: 520px) { .doc-dl { display: none; } }

/* treść stron */
.prose { overflow-wrap: anywhere; }
.prose h2 { margin-top: 1.6em; }
.prose h2:first-child { margin-top: 0; }
.prose ul { padding-left: 1.3em; }
.prose li { margin-bottom: .4em; }
.prose li::marker { color: var(--cyan); }
.prose img { border-radius: var(--radius); }
.prose table { border-collapse: collapse; width: 100%; }
.prose td, .prose th { border: 1px solid var(--line); padding: 6px 10px; }
.lead-img { width: 100%; max-height: 460px; object-fit: cover; border-radius: var(--radius); margin: 0 0 32px; }
.date { color: var(--muted); margin-bottom: 18px; }
.att-title { margin-top: 1.8em; }
.back { margin-top: 36px; }

/* kontakt (na każdej podstronie) */
.contact { background: var(--sky); padding-top: 64px; border-top: 1px solid var(--sky-2); }
.cards { display: grid; gap: 22px; }
.cards.two { grid-template-columns: repeat(2, 1fr); }
.cards.three { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 860px) { .cards.two, .cards.three { grid-template-columns: 1fr; } }
.card { background: #fff; border-radius: var(--radius); padding: 26px 28px; box-shadow: 0 2px 10px rgba(15,76,129,.06); border-top: 4px solid var(--cyan); }
.card h3 { font-size: 1.25rem; }
.card p { margin-bottom: .8em; }
.card .addr { font-weight: 700; color: var(--ink); }
.card .hours { background: var(--sky); padding: 12px 14px; border-radius: 10px; font-size: .95rem; margin: 1em 0 0; }
.alarm { background: var(--navy); color: #dcebf7; margin: 56px 0; }
.alarm .wrap { padding-top: 40px; padding-bottom: 40px; }
.alarm h2 { color: #fff; display: flex; align-items: center; gap: 12px; }
.alarm h2 svg { color: var(--cyan); }
.phones { display: flex; flex-wrap: wrap; gap: 18px 56px; margin-top: 8px; }
.phones div { display: flex; flex-wrap: wrap; column-gap: 28px; row-gap: 2px; }
.phones div span { flex-basis: 100%; }
.phones span { font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; color: #9fc6e6; font-weight: 600; }
.phones a { color: #fff; font-size: 1.5rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.phones a:hover { color: #9fe0f5; text-decoration: underline; }
.contact > .wrap:last-child { padding-bottom: 64px; }
.contact .center { margin-top: 28px; }

/* stopka */
.foot { background: var(--blue-d); color: #cfe2f2; font-size: .95rem; }
.foot a { color: #fff; }
.foot-in { display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; padding-top: 30px; }
.foot-links { display: flex; gap: 20px; flex-wrap: wrap; }
.copy { padding-bottom: 26px; font-size: .85rem; color: #cfe2f2; }

/* ---------- informacja o cookies ---------- */
.cookie { position: fixed; left: 16px; bottom: 16px; z-index: 60; max-width: 440px; background: #fff; color: var(--ink);
  border: 1px solid var(--line); border-top: 4px solid var(--blue); border-radius: var(--radius); box-shadow: 0 12px 40px rgba(11,47,80,.22);
  padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; font-size: .95rem; }
.cookie[hidden] { display: none; }
.cookie p { margin: 0; }
.cookie .btn { align-self: flex-start; }
@media (max-width: 600px) { .cookie { left: 8px; right: 8px; bottom: 8px; max-width: none; padding-right: 20px; } }

/* ---------- panel ułatwień dostępu ---------- */
.a11y { position: fixed; right: 16px; bottom: calc(16px + var(--cookie-h, 0px)); z-index: 70; }
.a11y-btn { width: 58px; height: 58px; border-radius: 50%; border: 3px solid #fff; background: var(--blue-d); color: #fff; cursor: pointer;
  display: grid; place-items: center; box-shadow: 0 8px 24px rgba(11,47,80,.35); }
.a11y-btn:hover { background: var(--navy); }
.a11y-panel { position: absolute; right: 0; bottom: 70px; width: min(340px, calc(100vw - 32px)); max-height: calc(100vh - 110px); overflow: auto;
  background: #fff; color: var(--ink); border-radius: var(--radius); box-shadow: 0 16px 48px rgba(11,47,80,.3); border: 1px solid var(--line); padding: 18px; }
.a11y-panel[hidden] { display: none; }
.a11y-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.a11y-head h2 { font-size: 1.15rem; margin: 0; }
.a11y-x { background: none; border: 0; font-size: 1.2rem; cursor: pointer; color: var(--ink); width: 40px; height: 40px; border-radius: 8px; }
.a11y-x:hover { background: var(--sky); }
.a11y-label { font-weight: 600; font-size: .9rem; margin: 8px 0 6px; }
.a11y-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 12px; }
.a11y-row button, .a11y-opts button, .a11y-reset { font: inherit; cursor: pointer; border: 2px solid var(--line); background: #fff; color: var(--ink); border-radius: 10px; }
.a11y-row button { padding: 8px 0; font-weight: 700; }
.a11y-row .t1 { font-size: 1.15em; } .a11y-row .t2 { font-size: 1.3em; }
.a11y-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.a11y-opts button { padding: 10px 8px; font-size: .88rem; font-weight: 600; display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; line-height: 1.25; }
.a11y-opts .ico { font-size: 1.25rem; line-height: 1; }
.a11y-row button:hover, .a11y-opts button:hover { border-color: var(--blue); }
.a11y-row button[aria-pressed="true"], .a11y-opts button[aria-pressed="true"] { background: var(--blue); border-color: var(--blue); color: #fff; }
.a11y-reset { width: 100%; margin-top: 10px; padding: 9px; font-size: .9rem; font-weight: 600; color: var(--blue) !important; }
.a11y-reset:hover { background: var(--sky); }
.a11y-more { margin: 10px 0 0; text-align: center; font-size: .9rem; }

/* powiększenie tekstu (wszystko w rem/em, więc skaluje się cała strona) */
html.a11y-text-1 { font-size: 20px; }
html.a11y-text-2 { font-size: 23px; }

/* podkreślenie odnośników */
html.a11y-links a { text-decoration: underline !important; text-decoration-thickness: 2px !important; }
html.a11y-links .btn, html.a11y-links .tile-link, html.a11y-links .doc, html.a11y-links .circles a { outline: 2px dashed currentColor; outline-offset: 2px; }

/* czytelna czcionka */
html.a11y-font body, html.a11y-font button { font-family: Verdana, Tahoma, "DejaVu Sans", sans-serif !important; }

/* większe odstępy (WCAG 1.4.12) */
html.a11y-spacing body { line-height: 1.9; letter-spacing: .06em; word-spacing: .14em; }
html.a11y-spacing p, html.a11y-spacing li { margin-bottom: 1.4em; }

/* zatrzymanie animacji */
html.a11y-still *, html.a11y-still *::before, html.a11y-still *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }

/* wysoki kontrast: czarne tło, biały tekst, żółte odnośniki */
html.a11y-contrast body, html.a11y-contrast body :where(*:not(svg, path, circle, img)) {
  background-color: #000 !important; background-image: none !important; color: #fff !important; border-color: #fff !important; box-shadow: none !important; text-shadow: none !important; }
html.a11y-contrast a, html.a11y-contrast a *, html.a11y-contrast button, html.a11y-contrast button * { color: #ff0 !important; background-color: #000 !important; }
html.a11y-contrast .btn, html.a11y-contrast button { border-color: #ff0 !important; }
html.a11y-contrast .btn, html.a11y-contrast .tile, html.a11y-contrast .doc, html.a11y-contrast .card, html.a11y-contrast .a11y-panel, html.a11y-contrast .cookie { border: 2px solid #fff !important; }
html.a11y-contrast .hero::before, html.a11y-contrast .sec-title::after, html.a11y-contrast .club-txt h2::after, html.a11y-contrast .hero-sub::before { display: none; }
html.a11y-contrast .circle, html.a11y-contrast .doc-ico, html.a11y-contrast .tile-img.ph { border: 2px solid #ff0 !important; }
html.a11y-contrast [aria-pressed="true"], html.a11y-contrast [aria-pressed="true"] * { background-color: #ff0 !important; color: #000 !important; }
html.a11y-contrast .brand img { background: #fff !important; padding: 4px; border-radius: 6px; }
html.a11y-contrast :focus-visible { outline: 3px solid #ff0 !important; box-shadow: none !important; }
html.a11y-contrast .menu a[aria-current], html.a11y-contrast .menu button.on { box-shadow: inset 0 -3px 0 #ff0 !important; }
.sl-pause[hidden] { display: none; }

/* elementy sr-only muszą mieć pozycjonowanego rodzica wewnątrz przewijanego slidera */
.slide, .slide a { position: relative; }
/* zawijanie długich adresów e-mail i numerów przy dużym powiększeniu / wąskim ekranie */
.cards > *, .tiles > *, .club > * { min-width: 0; }
.card, .prose, .doc-txt { overflow-wrap: anywhere; }
@media (max-width: 420px) { .phones a { white-space: normal; } .card { padding: 22px 18px; } }
html.a11y-text-2 .phones a, html.a11y-text-1 .phones a { white-space: normal; }
body { overflow-wrap: break-word; }
h1, h2, h3 { hyphens: auto; }
/* pełne menu nie może się zawijać – zawinięcie oznacza przejście na menu mobilne */
html:not(.navm) .menu { flex-wrap: nowrap; }
html:not(.navm) #nav { flex-wrap: nowrap; }
