/* Strona wizyty24.pl z serwera (etap 9, 12.11.2026): dołącza TYLKO serwer (serwer/src/strona.mjs); makieta na Vercelu go nie ma.
   Tokeny strony (--ink, --bg-2, --line, --bad, --font) z arkusza strony; nowe elementy w tym samym stylu (karty z cieniem, pigułki). */

/* formularz kontaktowy: pole-pułapka niewidoczne dla ludzi, błąd wysyłki, „Wysyłamy…” */
.w24-hp { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.w24-kf-err { flex-basis: 100%; font-size: 13.5px !important; color: color-mix(in srgb, var(--bad, #ff3b30) 80%, #000) !important; }
.w24-kf-err[hidden] { display: none; }
.w24-spin { width: 16px; height: 16px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .45); border-top-color: #fff; animation: w24spin .8s linear infinite; display: inline-block; }
@keyframes w24spin { to { transform: rotate(360deg); } }

/* baner zgody (assets/analityka.js; pokazuje się tylko, gdy serwer ma narzędzie wymagające zgody: PostHog) */
.w24-zg { position: fixed; z-index: 200; left: 20px; bottom: 20px; width: min(520px, calc(100% - 40px)); padding: 20px 22px 18px; border-radius: 22px; background: #fff;
  box-shadow: 0 0 0 .5px var(--line, rgba(17, 19, 24, .1)), 0 24px 60px -24px rgba(0, 0, 0, .35); font-family: var(--font, -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif);
  color: var(--ink, #111318); animation: w24zg .35s cubic-bezier(.2, .8, .2, 1) both; }
.w24-zg[hidden] { display: none; }
@keyframes w24zg { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.w24-zg-h { display: flex; align-items: center; gap: 10px; margin: 0 0 8px; font-size: 17px; font-weight: 700; letter-spacing: -.01em; }
.w24-zg-h img { width: 26px; height: 26px; flex: none; }
.w24-zg p { margin: 0; font-size: 14.5px; line-height: 1.5; color: var(--ink-2, #5f646d); }
.w24-zg p a { color: inherit; font-weight: 600; }
.w24-zg-b { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.w24-zg-b button { height: 46px; border: 0; border-radius: 99px; background: var(--bg-2, #f4f5f7); color: var(--ink, #111318); font: 600 15.5px/1 var(--font, -apple-system, sans-serif); cursor: pointer;
  box-shadow: inset 0 0 0 1px var(--line, rgba(17, 19, 24, .1)); transition: background .2s; }
.w24-zg-b button:hover { background: color-mix(in srgb, var(--bg-2, #f4f5f7) 70%, #d8dbe0); }
.w24-zg-b button:focus-visible { outline: 2px solid var(--brand, #2a7bff); outline-offset: 2px; }
@media (max-width: 600px) { .w24-zg { left: 12px; right: 12px; bottom: 12px; width: auto; padding: 18px 18px 16px; } body.mbar-on .w24-zg { bottom: 84px; } }
