/* weterynarze.com — nowy arkusz (nazwa celowo inna niż stary weterynarze.css).
   Zasady: mobile-first, systemowe fonty, pełny kontrast (stary szablon miał tekst #aaa),
   strona NAP = odpowiedź w jednym ekranie. */

:root {
  --tusz: #1c2b33;          /* tekst podstawowy */
  --tusz-slaby: #51646e;
  --tlo: #ffffff;
  --tlo-karty: #f5f8f9;
  --akcent: #0b6e5f;        /* zieleń weterynaryjna */
  --akcent-ciemny: #095446;
  --zloty: #c8871a;         /* gwiazdka oceny */
  --linia: #dbe4e8;
  --uwaga: #b3261e;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 16px; line-height: 1.55;
  color: var(--tusz); background: var(--tlo);
}
main { max-width: 720px; margin: 0 auto; padding: 0 16px 32px; }
a { color: var(--akcent); }
h1 { font-size: 1.65rem; line-height: 1.25; margin: 0.7em 0 0.35em; }
h2 { font-size: 1.25rem; margin: 1.2em 0 0.4em; }
h3 { font-size: 1.05rem; margin: 1em 0 0.3em; }
small { color: var(--tusz-slaby); }

/* nagłówek serwisu */
.naglowek {
  display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap;
  padding: 12px 16px; border-bottom: 1px solid var(--linia);
}
.logo { font-weight: 700; font-size: 1.15rem; text-decoration: none; color: var(--tusz); }
.logo span { color: var(--akcent); }
.haslo { font-size: 0.8rem; color: var(--tusz-slaby); }

/* przyciski */
.przycisk {
  display: inline-block; padding: 10px 18px; border: 0; border-radius: 8px;
  background: var(--akcent); color: #fff; font-size: 1rem; font-weight: 600;
  text-decoration: none; cursor: pointer;
}
.przycisk:hover { background: var(--akcent-ciemny); }
.przycisk-tel { display: block; text-align: center; font-size: 1.15rem; margin: 14px 0; }

/* karta NAP */
.karta-nap { background: var(--tlo-karty); border: 1px solid var(--linia); border-radius: 12px; padding: 18px; margin-top: 16px; }
.nap-nazwa { margin-top: 0; }
.nap-ocena { margin: 4px 0 10px; }
.gwiazdka { color: var(--zloty); }
.plakietka {
  display: inline-block; margin: 0 0 8px; padding: 2px 10px; border-radius: 999px;
  background: #e7efed; color: var(--akcent-ciemny); font-size: 0.85rem; font-weight: 600;
}
.plakietka-24h { background: var(--akcent); color: #fff; }
.nap-dane p { margin: 4px 0; }
.nap-adres { font-size: 1.05rem; }
.nap-rejestr { font-size: 0.82rem; color: var(--tusz-slaby); }
.nap-socjale a { margin-right: 12px; }
.nap-godziny ul { list-style: none; margin: 6px 0; padding: 0; }
.nap-godziny li { display: flex; justify-content: space-between; padding: 3px 0; border-bottom: 1px dotted var(--linia); }
.nap-godziny li.dzis { font-weight: 700; }
.nap-opis { margin-top: 14px; }
.nap-mapa { margin-top: 14px; }

/* lista placówek w mieście */
.karta-lista { border: 1px solid var(--linia); border-radius: 12px; padding: 12px 16px; margin-top: 12px; }
.karta-lista h2 { margin: 0 0 4px; font-size: 1.1rem; }
.karta-lista p { margin: 2px 0; }

/* FAQ */
.faq details { border-bottom: 1px solid var(--linia); padding: 8px 0; }
.faq summary { cursor: pointer; font-weight: 600; }

/* okolica */
.okolica ul { list-style: none; padding: 0; margin: 8px 0; }
.okolica li { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; border-bottom: 1px dotted var(--linia); }
.okolica-meta { color: var(--tusz-slaby); white-space: nowrap; font-size: 0.9rem; }

/* zgłoszenia */
.zglos { margin-top: 16px; font-size: 0.92rem; }
.zglos summary { cursor: pointer; color: var(--tusz-slaby); }
.zglos label { display: block; margin: 10px 0; }
.zglos textarea, .zglos input[type=text] { width: 100%; padding: 8px; border: 1px solid var(--linia); border-radius: 6px; font: inherit; }
.ukryte { position: absolute; left: -9999px; }
.komunikat { background: #e7efed; border-radius: 8px; padding: 10px 14px; color: var(--akcent-ciemny); }

/* strona główna */
.hero { text-align: center; padding-top: 28px; }
.hero-podtytul { color: var(--tusz-slaby); }
.szukajka { position: relative; max-width: 560px; margin: 18px auto 0; }
#szukaj-pole { width: 100%; padding: 13px 16px; font-size: 1.05rem; border: 2px solid var(--akcent); border-radius: 10px; }
#szukaj-podpowiedzi {
  position: absolute; left: 0; right: 0; top: 100%; z-index: 10;
  list-style: none; margin: 4px 0 0; padding: 4px;
  background: #fff; border: 1px solid var(--linia); border-radius: 10px; box-shadow: 0 6px 20px rgba(0,0,0,.08);
  text-align: left;
}
#szukaj-podpowiedzi a { display: block; padding: 8px 10px; text-decoration: none; border-radius: 6px; }
#szukaj-podpowiedzi a:hover { background: var(--tlo-karty); }
.hero-akcje { margin: 16px 0; }
.najblizsi { list-style: none; padding: 0; text-align: left; max-width: 560px; margin: 12px auto; }
.najblizsi li { padding: 6px 0; border-bottom: 1px dotted var(--linia); }
.lista-chipow { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.lista-chipow a {
  display: inline-block; padding: 6px 12px; border: 1px solid var(--linia); border-radius: 999px;
  text-decoration: none; color: var(--tusz); background: var(--tlo-karty); font-size: 0.92rem;
}
.lista-chipow a:hover { border-color: var(--akcent); color: var(--akcent); }

/* okruszki */
.okruszki { font-size: 0.88rem; margin-top: 14px; }

/* banner własny */
.banner-wlasny {
  max-width: 720px; margin: 24px auto; padding: 18px;
  display: flex; flex-wrap: wrap; gap: 14px; align-items: center; justify-content: space-between;
  background: var(--akcent-ciemny); color: #fff; border-radius: 12px;
}
.banner-wlasny p { margin: 4px 0 0; opacity: 0.9; }
.banner-wlasny .przycisk { background: #fff; color: var(--akcent-ciemny); }

/* stopka */
.stopka { border-top: 1px solid var(--linia); margin-top: 24px; padding: 18px 16px 30px; font-size: 0.88rem; color: var(--tusz-slaby); }
.stopka-woj { max-width: 720px; margin: 0 auto 10px; }
.stopka-woj a { margin-right: 10px; white-space: nowrap; color: var(--tusz-slaby); }
.stopka > p { max-width: 720px; margin: 10px auto 0; }

/* reklamy — nigdy nad treścią; slot dostaje miejsce dopiero pod sekcjami */
.adsbygoogle { margin-top: 24px; }

@media (min-width: 700px) {
  h1 { font-size: 2rem; }
  .przycisk-tel { display: inline-block; }
}
.plakietka-spec { background: #eef2e7; color: #4a5d23; }
.nap-lekarze { margin-top: 14px; }
.nap-lekarze ul { list-style: none; padding: 0; margin: 6px 0; }
.nap-lekarze li { padding: 6px 0; border-bottom: 1px dotted var(--linia); }
.lekarz-spec { color: #4a5d23; font-size: 0.9rem; }
.lekarz-inne { font-size: 0.9rem; color: var(--tusz-slaby); }
