/* *** ZMIENIONY v0.6 (26.10.2026): wygląd jak stara strona (Quicksand, nagłówek #2B7AA6, akcent #41A6DF, stopka #363F48/#45505B, bez trybu ciemnego); v0.3: style mobile first *** */
@font-face { font-family: "Quicksand"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/assets/fonts/quicksand-latin-ext.woff2) format("woff2"); 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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Quicksand"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(/assets/fonts/quicksand-latin.woff2) format("woff2"); 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; }
:root {
  --niebieski: #2B7AA6; --niebieski-jasny: #41A6DF; --grafit: #2B3540; --grafit-2: #363F48;
  --tlo: #ffffff; --tlo-2: #f3f3f3; --tekst: #333333; --tekst-2: #7f7f7f; --linia: #dde3e8; --ok: #15803d; --blad: #b91c1c;
  --zaokr: 8px; --cien: 0 2px 10px rgba(20, 30, 40, .08);
  --font: "Quicksand", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; font-family: var(--font); font-size: 17px; line-height: 1.55; color: var(--tekst); background: var(--tlo); }
img { max-width: 100%; height: auto; }
a { color: var(--niebieski); }
h1, h2, h3 { line-height: 1.2; margin: 0 0 .5em; }
h1 { font-size: clamp(1.6rem, 5vw, 2.4rem); } h2 { font-size: clamp(1.25rem, 3.5vw, 1.6rem); } h3 { font-size: 1.1rem; }
.sr, .pomin:not(:focus) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.pomin:focus { position: fixed; top: 8px; left: 8px; z-index: 100; background: #fff; padding: 8px 12px; border-radius: 8px; }
.ukryte { position: absolute; left: -9999px; }
.kontener { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.kontener--waski { max-width: 780px; } .kontener--formularz { max-width: 560px; }
.ikona { width: 1.2em; height: 1.2em; fill: currentColor; vertical-align: -0.2em; flex: none; }
.drobny { font-size: .85rem; color: var(--tekst-2); }

/* nagłówek */
.naglowek { background: var(--grafit); color: #fff; position: sticky; top: 0; z-index: 50; }
.naglowek__w { max-width: 1200px; margin: 0 auto; padding: 8px 16px; display: flex; align-items: center; gap: 12px; min-height: 56px; }
.logo img { display: block; width: 140px; height: auto; }
.menu { display: none; }
.menu a { color: #fff; text-decoration: none; padding: 8px 10px; border-radius: 8px; font-weight: 500; }
.menu a:hover { background: rgba(255,255,255,.1); }
.naglowek__akcje { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.ikona-przycisk { background: none; border: 0; color: inherit; display: inline-flex; align-items: center; gap: 6px; padding: 10px; border-radius: 10px; text-decoration: none; font: inherit; cursor: pointer; min-width: 44px; min-height: 44px; justify-content: center; }
.ikona-przycisk:hover { background: rgba(255,255,255,.1); }
.ukryj-mobile { display: none !important; }
body.menu-otwarte .menu { display: flex; flex-direction: column; position: absolute; top: 100%; left: 0; right: 0; background: var(--grafit); padding: 8px 16px 16px; box-shadow: var(--cien); }
body.menu-otwarte .menu a { padding: 14px 10px; border-bottom: 1px solid rgba(255,255,255,.08); }
@media (min-width: 960px) {
  .menu { display: flex; gap: 2px; } .pokaz-mobile { display: none !important; } .ukryj-mobile { display: inline-flex !important; }
  .logo img { width: 170px; }
}

/* przyciski */
.przycisk { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 18px; border-radius: 999px; border: 2px solid var(--niebieski-jasny);
  background: var(--niebieski-jasny); color: #fff; font: inherit; font-weight: 600; text-decoration: none; cursor: pointer; white-space: nowrap; }
.przycisk:hover { filter: brightness(1.05); }
.przycisk--obrys { background: transparent; color: var(--niebieski); border-color: currentColor; }
.przycisk--jasny { background: #fff; color: var(--grafit); border-color: #fff; }
.przycisk--maly { min-height: 38px; padding: 0 14px; font-size: .92rem; }
.przycisk.jest { background: #fde8ea; color: #be123c; border-color: #be123c; }
.przycisk small { opacity: .75; }

/* komunikaty */
.komunikaty { max-width: 1200px; margin: 12px auto 0; padding: 0 16px; }
.komunikat { padding: 12px 16px; border-radius: 10px; background: #e7f6ec; color: #14532d; margin: 0 0 8px; }
.komunikat--blad { background: #fde8e8; color: #7f1d1d; } .komunikat--info { background: #e6f2fb; color: #0c4a6e; }

/* bohater i wyszukiwarka */
.bohater { background: linear-gradient(160deg, var(--grafit) 0%, #24506b 100%); color: #fff; padding: 32px 0 28px; }
.bohater__w { max-width: 1000px; margin: 0 auto; padding: 0 16px; }
.bohater__lead { font-size: 1.05rem; opacity: .92; max-width: 640px; }
.wyszukiwarka { display: grid; gap: 8px; background: #fff; padding: 8px; border-radius: 18px; box-shadow: var(--cien); margin: 18px 0 14px; color: #1d2329; }
.wyszukiwarka__pole { display: flex; align-items: center; gap: 8px; padding: 0 12px; border-radius: 12px; background: #f3f6f8; min-height: 50px; color: #55616d; }
.wyszukiwarka__pole input { border: 0; background: transparent; font: inherit; width: 100%; min-height: 48px; color: #1d2329; outline: none; }
.wyszukiwarka__blisko { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 0; border-radius: 12px; background: #e6f2fb; color: #0c4a6e; font: inherit; min-height: 50px; cursor: pointer; padding: 0 14px; }
.wyszukiwarka__blisko.trwa { opacity: .6; }
@media (max-width: 759px) {
  .wyszukiwarka { grid-template-columns: 1fr auto; }
  .wyszukiwarka__pole:first-child, .wyszukiwarka .przycisk { grid-column: 1 / -1; }
  .wyszukiwarka__blisko span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .wyszukiwarka__blisko { min-width: 50px; }
  .szukaj__gora h1 { font-size: 1.4rem; }
}
@media (min-width: 760px) { .wyszukiwarka { grid-template-columns: 1.3fr 1fr auto auto; border-radius: 999px; padding: 6px; } .wyszukiwarka__pole { border-radius: 999px; } .wyszukiwarka__blisko { border-radius: 999px; } }
.kafle-typow { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.kafle-typow a { display: inline-flex; gap: 8px; align-items: center; padding: 8px 14px; border-radius: 999px; background: rgba(255,255,255,.12); color: #fff; text-decoration: none; border-left: 4px solid var(--kolor); }
.kafle-typow__n { font-weight: 700; }

/* sekcje */
.sekcja { padding: 28px 0; } .sekcja--szara { background: var(--tlo-2); }
.sekcja--akcent { background: #e6f2fb; color: #0c2a3d; }
.sekcja__tytul { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.sekcja__tytul h1, .sekcja__tytul h2 { margin: 0; }
.dwie-kolumny { display: grid; gap: 16px; align-items: center; } @media (min-width: 760px) { .dwie-kolumny { grid-template-columns: 2fr 1fr; } .dwie-kolumny__akcje { text-align: right; } }

/* mapa */
.mapa { width: 100%; border-radius: var(--zaokr); background: #dfe7ec; z-index: 1; }
.mapa--glowna { height: 62vh; min-height: 340px; max-height: 560px; }
.mapa--miasto { height: 52vh; min-height: 300px; max-height: 480px; }
.mapa--wpis { height: 240px; margin-top: 12px; }
.legenda { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.legenda__el { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--linia); cursor: pointer; font-size: .92rem; }
.legenda__el input { accent-color: var(--kolor); width: 18px; height: 18px; }
.legenda__el span::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--kolor); margin-right: 6px; }
.pinezka { width: 28px; height: 28px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); border: 3px solid #fff; box-shadow: 0 1px 4px rgba(0,0,0,.4); }
.pinezka span { display: block; transform: rotate(45deg); color: #fff; font-size: 14px; line-height: 22px; text-align: center; }
.dymek { font-family: var(--font); min-width: 180px; } .dymek a { font-weight: 600; } .dymek small { color: #55616d; display: block; }
.marker-cluster-small, .marker-cluster-medium, .marker-cluster-large { background: rgba(65, 166, 223, .35); }
.marker-cluster-small div, .marker-cluster-medium div, .marker-cluster-large div { background: rgba(43, 122, 166, .9); color: #fff; font-weight: 700; }
.mapa__obszar { position: absolute; top: 10px; left: 50%; transform: translateX(-50%); z-index: 500; box-shadow: var(--cien); }

/* karty wpisów */
.karty { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
@media (min-width: 640px) { .karty { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .karty { grid-template-columns: repeat(3, 1fr); } .karty--lista { grid-template-columns: 1fr; } }
.karta__link { display: flex; gap: 12px; padding: 12px; border: 1px solid var(--linia); border-radius: var(--zaokr); background: var(--tlo); color: inherit; text-decoration: none; height: 100%; }
.karta__link:hover, .karta.aktywna .karta__link { border-color: var(--niebieski-jasny); box-shadow: var(--cien); }
.karta__obraz img, .karta__inicjal { width: 64px; height: 64px; border-radius: 10px; object-fit: contain; background: #fff; display: flex; align-items: center; justify-content: center; }
.karta__inicjal { color: #fff; font-weight: 700; font-size: 1.5rem; }
.karta__inicjal--duzy { width: 88px; height: 88px; font-size: 2.2rem; }
.karta__tresc { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.karta__typ { font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.karta__nazwa { font-size: 1.02rem; }
.karta__miejsce, .karta__cechy { font-size: .9rem; color: var(--tekst-2); }
.karta__ocena { font-size: .9rem; display: flex; align-items: center; gap: 6px; }
.znaczek { display: inline-flex; align-items: center; gap: 3px; color: var(--ok); font-weight: 600; font-size: .85em; text-transform: none; letter-spacing: 0; }
.znaczek--duzy { font-size: .95rem; }
.gwiazdki { position: relative; display: inline-block; width: 90px; height: 18px; background: linear-gradient(90deg, #d5dbe0 0 100%); -webkit-mask: var(--g) 0 0/18px 18px repeat-x; mask: var(--g) 0 0/18px 18px repeat-x;
  --g: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2l3 6.6 7.2.7-5.4 4.8 1.6 7.1L12 17.6 5.6 21.2l1.6-7.1L1.8 9.3 9 8.6z'/%3E%3C/svg%3E"); }
.gwiazdki span { position: absolute; inset: 0 auto 0 0; background: #f5a623; }
.gwiazdki--male { width: 75px; height: 15px; -webkit-mask-size: 15px 15px; mask-size: 15px 15px; }

/* wyszukiwarka z mapą */
.szukaj { display: grid; gap: 0; }
.szukaj__gora { padding: 16px 16px 0; max-width: 1200px; width: 100%; margin: 0 auto; }
.szukaj__gora h1 span { color: var(--tekst-2); font-weight: 400; }
.szukaj__gora .wyszukiwarka { background: var(--tlo-2); box-shadow: none; margin-top: 8px; }
.szukaj__pasek { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 4px 0 12px; }
.szukaj__liczba { font-weight: 600; margin-right: auto; }
.przelacznik { display: inline-flex; border: 2px solid var(--niebieski-jasny); border-radius: 999px; overflow: hidden; }
.przelacznik button { border: 0; background: transparent; color: var(--niebieski); font: inherit; font-weight: 600; padding: 6px 12px; display: inline-flex; gap: 6px; align-items: center; min-height: 38px; }
.przelacznik button[aria-selected="true"] { background: var(--niebieski-jasny); color: #fff; }
.szukaj__wyniki { padding: 0 16px 24px; }
.szukaj__mapa { display: none; }
.szukaj[data-widok="mapa"] .szukaj__wyniki { display: none; }
.szukaj[data-widok="mapa"] .szukaj__mapa { display: block; position: relative; }
.mapa--szukaj { height: calc(100vh - 210px); min-height: 360px; border-radius: 0; }
@media (min-width: 960px) {
  .szukaj { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "gora gora" "wyniki mapa"; }
  .szukaj__gora { grid-area: gora; } .szukaj__wyniki { grid-area: wyniki; display: block !important; padding-left: max(16px, calc((100vw - 1200px) / 2)); }
  .szukaj__mapa { grid-area: mapa; display: block !important; position: relative; }
  .mapa--szukaj { position: sticky; top: 64px; height: calc(100vh - 80px); border-radius: var(--zaokr) 0 0 var(--zaokr); }
}
.filtry { position: fixed; inset: 0; z-index: 80; background: var(--tlo); overflow-y: auto; padding: 16px; transform: translateY(100%); transition: transform .25s; visibility: hidden; }
body.filtry-otwarte .filtry { transform: none; visibility: visible; }
.filtry__glowa { display: flex; justify-content: space-between; align-items: center; }
.filtry fieldset { border: 0; padding: 0; margin: 0 0 16px; } .filtry legend { font-weight: 700; margin-bottom: 8px; }
.filtry select { width: 100%; }
.filtry__stopka { position: sticky; bottom: -16px; background: var(--tlo); padding: 12px 0; display: flex; gap: 8px; border-top: 1px solid var(--linia); }
.filtry__stopka .przycisk { flex: 1; }
.filtry__uwaga { font-size: .85rem; color: var(--tekst-2); }
@media (min-width: 960px) { .filtry { max-width: 420px; left: auto; transform: translateX(100%); box-shadow: var(--cien); } }
.chip { display: inline-flex; margin: 0 6px 6px 0; cursor: pointer; }
.chip input { position: absolute; opacity: 0; }
.chip span { padding: 8px 14px; border-radius: 999px; border: 1px solid var(--linia); background: var(--tlo); font-size: .95rem; }
.chip input:checked + span { background: var(--niebieski-jasny); border-color: var(--niebieski-jasny); color: #fff; }
.chip input:focus-visible + span { outline: 2px solid var(--niebieski); outline-offset: 2px; }
.chip--maly span { padding: 6px 10px; }
.przelacznik-pole { display: flex; align-items: center; gap: 10px; min-height: 40px; }
.przelacznik-pole input { width: 20px; height: 20px; }
.pusto { padding: 24px; background: var(--tlo-2); border-radius: var(--zaokr); }
.stronicowanie { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.stronicowanie a, .stronicowanie span { min-width: 42px; min-height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; border: 1px solid var(--linia); text-decoration: none; }
.stronicowanie [aria-current] { background: var(--niebieski-jasny); color: #fff; border-color: var(--niebieski-jasny); }

/* wizytówka */
.wpis__glowa { background: var(--tlo-2); padding: 16px 0 18px; }
.okruchy { font-size: .9rem; color: var(--tekst-2); margin-bottom: 10px; } .okruchy a { color: inherit; }
.wpis__naglowek { display: flex; gap: 14px; align-items: flex-start; }
.wpis__logo img { width: 88px; height: 88px; object-fit: contain; border-radius: 14px; background: #fff; border: 1px solid var(--linia); }
.wpis__typ { margin: 0; font-weight: 700; text-transform: uppercase; font-size: .82rem; letter-spacing: .03em; }
.wpis__meta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 4px 0; } .wpis__meta a { color: inherit; display: inline-flex; gap: 6px; align-items: center; }
.wpis__swiezosc { font-size: .85rem; color: var(--tekst-2); margin: 0; }
.akcje { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.akcje__obserwuj { display: contents; }
.wpis__uklad { display: grid; gap: 8px; padding-top: 8px; padding-bottom: 24px; }
@media (min-width: 960px) { .wpis__uklad { grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; } .wpis__bok { align-self: start; } }
.wpis__sekcja { padding: 18px 0; border-bottom: 1px solid var(--linia); }
.cechy { display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px; margin: 0; } .cechy dt { color: var(--tekst-2); } .cechy dd { margin: 0; }
.pierwsze { margin-top: 14px; padding: 14px; border-radius: var(--zaokr); background: #e7f6ec; color: #14532d; } .pierwsze h3 { margin: 0 0 4px; }
.kontakt-lista { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; } .kontakt-lista li { display: flex; gap: 10px; align-items: flex-start; word-break: break-word; }
.galeria { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; }
.galeria img { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 10px; display: block; }
.opinie-podsumowanie { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; } .opinie-podsumowanie strong { font-size: 2rem; }
.opinie { list-style: none; padding: 0; margin: 0 0 16px; display: grid; gap: 12px; }
.opinia { padding: 14px; border: 1px solid var(--linia); border-radius: var(--zaokr); }
.opinia__glowa { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; } .opinia__glowa time { color: var(--tekst-2); font-size: .85rem; }
.opinia__tytul { font-weight: 600; margin: 6px 0 0; }
.opinia__czesci { display: flex; flex-wrap: wrap; gap: 6px; font-size: .85rem; } .opinia__czesci span { background: var(--tlo-2); padding: 2px 8px; border-radius: 999px; }
.opinia__odp { margin-top: 8px; padding: 10px 12px; border-left: 3px solid var(--niebieski-jasny); background: var(--tlo-2); border-radius: 0 10px 10px 0; } .opinia__odp p { margin: 4px 0 0; }
.opinia__odp-form { display: grid; gap: 6px; margin-top: 8px; }
.formularz-opinii summary, #zglos summary { cursor: pointer; font-weight: 600; color: var(--niebieski); padding: 8px 0; }
.oceniacz { border: 0; padding: 0; margin: 0 0 8px; display: inline-flex; flex-direction: row-reverse; justify-content: flex-end; }
.oceniacz legend { width: 100%; font-weight: 600; float: left; }
.oceniacz input { position: absolute; opacity: 0; }
.oceniacz label { font-size: 2.2rem; color: #d5dbe0; cursor: pointer; padding: 0 2px; line-height: 1; }
.oceniacz input:checked ~ label, .oceniacz label:hover, .oceniacz label:hover ~ label { color: #f5a623; }
.oceniacz input:focus-visible + label { outline: 2px solid var(--niebieski); }
.oceny-czesci { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; margin-bottom: 8px; } .oceny-czesci label { font-size: .9rem; }
.pasek-akcji { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: flex; gap: 8px; padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); background: var(--tlo); box-shadow: 0 -2px 10px rgba(0,0,0,.1); }
.pasek-akcji .przycisk { flex: 1; }
@media (max-width: 959px) { .str-wizytowka .stopka { padding-bottom: 80px; } }

/* formularze */
.formularz { display: grid; gap: 12px; }
.formularz label, .formularz-opinii label { display: grid; gap: 4px; font-weight: 500; }
input[type=text], input[type=email], input[type=tel], input[type=url], input[type=number], input[type=password], input[type=search], select, textarea {
  font: inherit; width: 100%; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--linia); background: var(--tlo); color: var(--tekst); min-height: 46px; }
textarea { min-height: 90px; }
.formularz fieldset { border: 1px solid var(--linia); border-radius: var(--zaokr); padding: 12px 14px; margin: 0; display: grid; gap: 12px; }
.formularz legend { font-weight: 700; padding: 0 6px; }
.pole-tytul { margin: 0; font-weight: 500; } .chipy { display: flex; flex-wrap: wrap; }
.pola-w-rzedzie { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 8px; }
.w-rzedzie { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }

/* miasta, blog */
.miasto-glowa { background: linear-gradient(160deg, var(--grafit) 0%, #24506b 100%); color: #fff; padding: 20px 0 22px; }
.miasto-glowa .okruchy, .miasto-glowa .okruchy a { color: #cfe3f0; }
.miasto-glowa .przycisk--obrys { color: #fff; }
.miasta-siatka { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; }
.miasta-siatka a { display: flex; flex-direction: column; padding: 12px; border-radius: var(--zaokr); background: var(--tlo); border: 1px solid var(--linia); text-decoration: none; color: inherit; }
.miasta-siatka a:hover { border-color: var(--niebieski-jasny); }
.miasta-siatka span { color: var(--tekst-2); font-size: .88rem; }
.miasta-siatka--male a { flex-direction: row; justify-content: space-between; }
.alfabet { display: flex; flex-wrap: wrap; gap: 4px; margin: 12px 0; } .alfabet a { padding: 6px 10px; border: 1px solid var(--linia); border-radius: 8px; text-decoration: none; }
.artykuly { list-style: none; padding: 0; margin: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.artykul-karta a { display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: inherit; }
.artykul-karta img { border-radius: var(--zaokr); aspect-ratio: 16/9; object-fit: cover; width: 100%; }
.artykul-karta__data { font-size: .85rem; color: var(--tekst-2); } .artykul-karta__zajawka { color: var(--tekst-2); font-size: .95rem; }
.artykul__data { color: var(--tekst-2); } .artykul__zdjecie { border-radius: var(--zaokr); margin: 8px 0 16px; width: 100%; }
.tresc-artykulu { overflow-wrap: break-word; } .tresc-artykulu img { border-radius: 10px; height: auto; }
.tresc-artykulu table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; } .tresc-artykulu td, .tresc-artykulu th { border: 1px solid var(--linia); padding: 6px 8px; }
.lista-prosta { padding-left: 18px; } .lista-prosta li { margin-bottom: 6px; }

/* admin */
.kafle-admin { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.kafle-admin a, .kafle-admin span { display: block; padding: 16px; border: 1px solid var(--linia); border-radius: var(--zaokr); text-decoration: none; color: inherit; }
.kafle-admin strong { display: block; font-size: 1.8rem; color: var(--niebieski); }
.lista-admin { list-style: none; padding: 0; display: grid; gap: 12px; } .lista-admin li { padding: 14px; border: 1px solid var(--linia); border-radius: var(--zaokr); }
.tabela { width: 100%; border-collapse: collapse; font-size: .92rem; display: block; overflow-x: auto; } .tabela th, .tabela td { text-align: left; padding: 8px; border-bottom: 1px solid var(--linia); vertical-align: top; }

/* stopka */
.stopka { background: var(--grafit); color: #cfd8df; padding: 28px 0 12px; margin-top: 24px; }
.stopka__w { max-width: 1200px; margin: 0 auto; padding: 0 16px; display: grid; gap: 20px; }
@media (min-width: 760px) { .stopka__w { grid-template-columns: 2fr 1fr 1fr; } }
.stopka h2 { font-size: 1rem; color: #fff; } .stopka a { display: block; color: #cfd8df; text-decoration: none; padding: 4px 0; } .stopka a:hover { color: #fff; }
.stopka__dol { text-align: center; font-size: .85rem; opacity: .7; margin: 20px 0 0; }

/* v0.5 (26.10.2026): kategorie bloga */
.blog-opis { color: var(--tekst-2); max-width: 760px; margin: -4px 0 18px; }
.kategorie-bloga { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.kategorie-bloga a { padding: 7px 14px; border-radius: 999px; border: 1px solid var(--linia); background: var(--tlo); color: var(--tekst); text-decoration: none; font-size: .95rem; }
.kategorie-bloga a span { color: var(--tekst-2); font-size: .85rem; margin-left: 2px; }
.kategorie-bloga a:hover { border-color: var(--niebieski-jasny); }
.kategorie-bloga a[aria-current="page"] { background: var(--niebieski-jasny); border-color: var(--niebieski-jasny); color: #fff; }
.kategorie-bloga a[aria-current="page"] span { color: #eaf5fc; }
@media (max-width: 640px) {
  .kategorie-bloga { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin-bottom: 18px; padding-bottom: 2px; }
  .kategorie-bloga::-webkit-scrollbar { display: none; }
  .kategorie-bloga a { flex: 0 0 auto; white-space: nowrap; padding: 6px 12px; font-size: .9rem; }
  .blog-opis { font-size: .95rem; }
}

/* ===== v0.6 (26.10.2026): motyw starej strony klubszachowy.pl (kolory, fonty, kolaż, kafelki), układ nowy ===== */
body { font-size: 16px; color: #555; }
h1, h2, h3, .karta__nazwa, .artykul-karta strong { color: #333; font-weight: 700; }
a { color: var(--niebieski); }
.naglowek { background: var(--niebieski); box-shadow: 0 1px 0 rgba(0,0,0,.08); }
body.menu-otwarte .menu { background: var(--niebieski); }
.menu a { font-weight: 600; font-size: 1rem; }
.menu a:hover, .ikona-przycisk:hover { background: rgba(255,255,255,.14); }
.przycisk { border-radius: 5px; font-weight: 700; }
.przycisk--jasny { color: var(--niebieski); }
.legenda__el, .chip span, .kategorie-bloga a { border-radius: 5px; }

/* strona główna: kolaż jak na starej stronie */
.str-glowna .bohater { position: relative; padding: 56px 0 0; text-align: center; color: #fff;
  background: #2b3540 url(/assets/img/kolaz-960.jpg) center/cover no-repeat; }
@media (min-width: 961px) { .str-glowna .bohater { background-image: url(/assets/img/kolaz.jpg); padding-top: 90px; } }
.str-glowna .bohater::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.str-glowna .bohater__w { position: relative; max-width: 880px; }
.str-glowna .bohater h1 { color: #fff; font-size: clamp(1.7rem, 5vw, 2.5rem); }
.bohater__pod { font-weight: 700; font-size: 1.05rem; margin: 0 0 6px; } .bohater__pod span { color: var(--niebieski-jasny); }
.str-glowna .bohater__lead { margin: 0 auto; opacity: .95; }
.str-glowna .wyszukiwarka { background: rgba(255,255,255,.2); box-shadow: none; border-radius: 5px; padding: 8px; }
.str-glowna .wyszukiwarka__pole, .str-glowna .wyszukiwarka__blisko { border-radius: 5px; background: #fff; }
.str-glowna .wyszukiwarka .przycisk { border-radius: 5px; }
.kafle-kat { list-style: none; padding: 0; margin: 26px auto 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; position: relative; top: 34px; }
.kafle-kat a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 104px; height: 96px; padding: 8px 6px;
  background: var(--niebieski-jasny); color: #fff; text-decoration: none; border-radius: 3px; font-size: .82rem; font-weight: 600; line-height: 1.2; box-shadow: 0 6px 16px rgba(0,0,0,.18); }
.kafle-kat a:hover { background: var(--niebieski); }
.kafle-kat img { width: 34px; height: 34px; object-fit: contain; }
.kafle-kat small { font-weight: 400; opacity: .9; }
.str-glowna .bohater + .sekcja { padding-top: 64px; }
@media (max-width: 520px) { .kafle-kat { gap: 8px; } .kafle-kat li { width: calc(33.33% - 6px); } .kafle-kat a { width: 100%; height: 92px; font-size: .78rem; } }

/* nagłówki sekcji wyśrodkowane jak na starej stronie */
.sekcja__tytul--srodek { flex-direction: column; align-items: center; text-align: center; gap: 4px; margin-bottom: 20px; }
.sekcja__tytul--srodek p { margin: 0; color: var(--tekst-2); font-size: .95rem; }

/* miasta jako kafelki ze zdjęciami */
.miasta-kafle { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; grid-template-columns: repeat(2, 1fr); }
@media (min-width: 640px) { .miasta-kafle { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 960px) { .miasta-kafle { grid-template-columns: repeat(4, 1fr); } }
.miasta-kafle a { position: relative; display: flex; align-items: flex-end; justify-content: center; height: 110px; border-radius: var(--zaokr); overflow: hidden; color: #fff; text-decoration: none;
  background: linear-gradient(180deg, #8a939b 0%, #2b3540 100%); box-shadow: 0 4px 10px rgba(0,0,0,.15); }
.miasta-kafle img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.miasta-kafle a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.65) 100%); }
.miasta-kafle a:hover img { transform: scale(1.05); }
.miasta-kafle strong { position: relative; z-index: 1; padding: 10px; font-size: 1rem; text-align: center; color: #fff; }
.miasta-kafle span { display: block; font-weight: 400; font-size: .82rem; opacity: .9; }

/* sekcja "dodaj wizytówkę" szara jak na starej stronie */
.sekcja--akcent { background: var(--tlo-2); color: #555; }

/* karty: biała karta z cieniem jak na starej stronie */
.karta__link, .miasta-siatka a { border-color: #eaeaea; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.artykul-karta a { background: #fff; border-radius: var(--zaokr); box-shadow: 0 2px 8px rgba(0,0,0,.08); padding-bottom: 12px; overflow: hidden; }
.artykul-karta a > :not(img) { padding: 0 12px; }
.artykul-karta img { border-radius: 0; }

/* stopka jak na starej stronie */
.stopka { background: var(--grafit-2); color: #c4cbd1; margin-top: 0; padding-bottom: 0; }
.stopka__dol { background: #45505b; opacity: 1; color: #b7c0c8; margin: 24px 0 0; padding: 14px 16px; }
.stopka__social { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 16px; margin-top: 6px; }
.stopka__social a { display: inline; padding: 0; color: #dfe5ea; }
.stopka__dol p { margin: 0; }
.wyszukiwarka__pole input, .wyszukiwarka__pole input:focus { border: 0 !important; box-shadow: none !important; background: transparent !important; border-radius: 0; padding-left: 0; }
.wyszukiwarka__pole:focus-within { outline: 2px solid var(--niebieski-jasny); outline-offset: -2px; }
/* v0.6: siatka artykułów stała (bez pustych miejsc w rzędzie): 1 / 2 / 4 kolumny */
.artykuly { grid-template-columns: 1fr; }
@media (min-width: 600px) { .artykuly { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .artykuly { grid-template-columns: repeat(4, 1fr); } }
.powrot { margin: 0 0 8px; font-size: .95rem; } .powrot a { text-decoration: none; font-weight: 600; } .powrot a:hover { text-decoration: underline; }
/* v0.6: opisy bez dziur */
.tresc-artykulu > :first-child { margin-top: 0; } .tresc-artykulu p { margin: 0 0 .8em; }
.tresc-artykulu h2, .tresc-artykulu h3 { margin: 1.3em 0 .45em; } .tresc-artykulu ul, .tresc-artykulu ol { margin: 0 0 .9em; padding-left: 1.3em; } .tresc-artykulu li { margin: .15em 0; }
.opis-miasta { border-top: 1px solid #eaeaea; }
/* v0.6: grupy na pulpicie redakcji */
.grupa-admin { margin: 0 0 22px; padding: 14px 16px 6px; border-radius: var(--zaokr); border-left: 5px solid var(--kolor-grupy); background: var(--tlo-grupy); }
.grupa-admin h2 { font-size: 1.15rem; margin: 0 0 10px; color: var(--kolor-grupy); }
.grupa-admin .kafle-admin a, .grupa-admin .kafle-admin span { background: #fff; }
.grupa-admin .kafle-admin strong { color: var(--kolor-grupy); }
.grupa-admin--wizytowki { --kolor-grupy: #2B7AA6; --tlo-grupy: #eef6fb; }
.grupa-admin--blog { --kolor-grupy: #15803D; --tlo-grupy: #eef8f1; }
.grupa-admin--konta { --kolor-grupy: #45505B; --tlo-grupy: #f3f3f3; }
/* v0.6: wskazówki i cytaty w artykułach */
.tresc-artykulu blockquote { margin: 1.2em 0; padding: 14px 18px; background: #eef6fb; border-left: 4px solid var(--niebieski-jasny); border-radius: 0 var(--zaokr) var(--zaokr) 0; color: #333; }
.tresc-artykulu blockquote.ramka strong:first-child { color: var(--niebieski); }
.tresc-artykulu blockquote p:last-child { margin-bottom: 0; }
/* v0.6: nawigacja starszy / nowszy artykuł */
.art-nawigacja { display: grid; gap: 12px; margin: 32px 0 8px; padding-top: 20px; border-top: 1px solid #eaeaea; }
@media (min-width: 640px) { .art-nawigacja { grid-template-columns: 1fr 1fr; } }
.art-nawigacja a { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px; border: 1px solid #eaeaea; border-radius: var(--zaokr); text-decoration: none; color: #333; box-shadow: 0 2px 8px rgba(0,0,0,.05); }
.art-nawigacja a:hover { border-color: var(--niebieski-jasny); }
.art-nawigacja span { font-size: .85rem; font-weight: 700; color: var(--niebieski); text-transform: uppercase; letter-spacing: .03em; }
.art-nawigacja strong { font-size: 1rem; line-height: 1.35; }
.art-nawigacja__nowszy { text-align: right; align-items: flex-end; }
@media (max-width: 639px) { .art-nawigacja__nowszy { text-align: left; align-items: flex-start; } }

/* v0.6 (26.10.2026): galeria zdjęć wizytówki, wzorzec serwisy/tworzenie-stron/baza-wiedzy/galeria-lightbox (galeria.css), kolory strony */
.galeria a{display:block;cursor:zoom-in}
.lb-otwarta,.lb-otwarta body{overflow:hidden}
.lb{position:fixed;inset:0;z-index:300;background:#0f1114;display:flex;align-items:center;justify-content:center;color:#fff}
.lb[hidden]{display:none}
.lb-scena{position:absolute;inset:56px 64px 76px;display:flex;align-items:center;justify-content:center;touch-action:pan-y;user-select:none}
.lb-obraz{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:6px;transition:transform .2s ease}
.lb button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:50%;width:48px;height:48px;font-size:34px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 0 4px}
.lb button:hover,.lb button:focus-visible{background:var(--niebieski-jasny);color:#fff;outline:0}
.lb-zamknij{top:10px;right:12px}
.lb-wstecz{left:10px;top:50%;transform:translateY(-50%)}
.lb-dalej{right:10px;top:50%;transform:translateY(-50%)}
.lb-jedno .lb-strzalka,.lb-jedno .lb-licznik{display:none}
.lb-dol{position:absolute;left:0;right:0;bottom:0;padding:14px 20px 18px;text-align:center;font-size:15px;line-height:1.4}
.lb-licznik{display:block;color:#adb5bd;font-size:13px;margin-bottom:2px}
@media (max-width:700px){.lb-scena{inset:60px 0 84px}.lb-strzalka{top:auto;bottom:16px;transform:none;width:44px;height:44px}.lb-wstecz{left:12px}.lb-dalej{right:12px}.lb-dol{padding:12px 64px 18px}}

/* v0.6 (26.10.2026): baner zgód + Consent Mode v2, wzorzec sushi-kanso.pl (baza wiedzy baner-zgod-consent-mode.md), kolory jasnego motywu klubszachowy.pl */
.zgody{--tlo-2:#fff;--tlo-3:#f3f3f3;--linia:#e3e6ea;--tekst:#333;--tekst-2:#5f6b76;--akcent:#41A6DF;--akcent-2:#2B7AA6;--r:8px}
.zgody{position:fixed;right:10px;bottom:10px;z-index:260;width:526px;max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);overflow-y:auto;display:grid;gap:10px;padding:16px 20px;background:var(--tlo-2);border:1px solid var(--linia);border-radius:var(--r);box-shadow:0 10px 30px rgba(20,30,40,.18)}
.zgody[hidden]{display:none}
.zgody-tytul{display:block;text-align:center;font-weight:500;font-size:.95rem;color:var(--tekst)}
.zgody-opis{margin:0;font-size:.8rem;line-height:1.5;color:var(--tekst-2)}
.zgody-opis a{color:var(--akcent-2);text-decoration:underline}
.zgody-linia{height:1px;background:var(--linia);margin:0 -20px}
.zgody-kategorie{display:grid;gap:8px;max-height:230px;overflow-y:auto}
.zgody-kategorie[hidden]{display:none}
.zgody-kat{background:var(--tlo-3);border-radius:8px}
.zgody-kat-glowa{display:grid;grid-template-columns:1fr auto 18px;align-items:center;gap:10px;padding:10px}
.zgody-kat-tytul{font-weight:500;font-size:.85rem;color:var(--tekst)}
.zgody-kat-stan{font-size:.72rem;font-weight:500;color:#63c67c}
.zgody-kat-opis{font-size:.75rem;line-height:1.5;color:var(--tekst-2);padding:0 10px 10px}
.zgody-kat-opis[hidden]{display:none}
.zgody-rozwin{background:none;border:0;padding:0;color:var(--tekst-2);cursor:pointer;display:flex;align-items:center;justify-content:center}
.zgody-rozwin svg{width:16px;height:16px;fill:currentColor;transition:transform .3s}
.zgody-rozwin[aria-expanded=true] svg{transform:rotate(180deg)}
.zgody-suwak{position:relative;display:inline-flex;align-items:center;width:30px;height:16px}
.zgody-suwak input{position:absolute;inset:-14px;width:auto;height:auto;margin:0;opacity:0;cursor:pointer;z-index:2}
.zgody-suwak span{position:absolute;inset:0;border-radius:999px;background:#5a5a5a;transition:background .25s;pointer-events:none}
.zgody-suwak span::after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:999px;background:#fff;transition:left .25s}
.zgody-suwak input:checked+span{background:var(--akcent)}
.zgody-suwak input:checked+span::after{left:16px}
.zgody-suwak input:focus-visible+span{outline:2px solid var(--akcent-2);outline-offset:2px}
.zgody-przyciski{display:flex;gap:10px}
.zgody-przyciski .zgody-btn{flex:1;min-height:44px;padding:10px;border-radius:8px;font-family:inherit;font-weight:600;font-size:.95rem;line-height:1.25;cursor:pointer;border:1px solid var(--akcent);background:var(--akcent);color:#fff}
.zgody-przyciski .zgody-btn:hover{background:var(--akcent-2);border-color:var(--akcent-2)}
.zgody-przyciski .zgody-btn.drugi{background:var(--tlo-3);border-color:var(--linia);color:var(--tekst)}
.zgody-przyciski .zgody-btn.drugi:hover{background:#e6eef3;color:var(--tekst)}
.zgody-przyciski .zgody-btn[hidden]{display:none}
.zgody-linki{text-align:center;font-size:.75rem}
.zgody-linki a{color:var(--akcent-2);text-decoration:underline}
.zgody-ustawienia{background:none;border:0;padding:0;font:inherit;color:#dfe5ea;text-decoration:underline;cursor:pointer}
.zgody-ustawienia:hover{color:#fff}
@media (max-width:760px){
  .zgody{left:0;right:0;bottom:0;width:auto;max-width:none;border-radius:var(--r) var(--r) 0 0;border-left:0;border-right:0;max-height:calc(100vh - 100px)}
  .zgody-przyciski{flex-direction:column}
}
