body,html{background:#071c31}:root{--bg-1:#0B1F3A;--bg-2:#0D2A52;--bg-3:#0A1E3B;--text:#E6EEFF;--muted:#C7D8FF;--card:#D6E4FF;--card-tint:#CCDBFF;--border:#7FA3F5;--accent:#0F2C8F;--accent-2:#1D4ED8;--err:#DC2626;--radius:16px}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,var(--bg-1),var(--bg-2) 55%,var(--bg-3));color:var(--text);font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Open Sans",sans-serif}.wrap{max-width:1180px;margin-inline:auto;padding:0 24px 24px}header{display:flex;align-items:center;gap:16px;margin:8px 0 16px}header img{width:48px;height:48px;border-radius:12px}h2{font-size:clamp(20px,3vw,28px);margin:20px 0 12px;color:var(--text)}p.lead{margin:0 0 12px;color:var(--muted)}.grid{display:grid;gap:16px}.grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid label>input,.grid label>select,.grid label>textarea{width:100%}.g2{grid-template-columns:2fr 3fr}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:960px){.g2,.g3,.grid.g3{grid-template-columns:1fr!important}}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;color:#0b1f3a;box-shadow:0 .5px 1px rgba(0,0,0,.05)}.card h3{margin:0 0 6px;font-size:18px;color:#0b1f3a}.list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.list a{color:#0b1f3a;text-decoration:none}.list a:hover{text-decoration:underline}.cta{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0}.hours{width:100%;border-collapse:collapse}.hours td,.hours th{padding:8px 10px;border-bottom:1px solid #bdd0ff;text-align:left;color:#0b1f3a}.badge.open{background:#15803d}.badge.closed{background:#7f1d1d}.map{overflow:hidden;border-radius:var(--radius);border:1px solid var(--border);background:#eef3ff}.map iframe{width:100%;height:320px;border:0;display:block}.gallery{display:grid;grid-auto-flow:column;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.gallery figure{min-width:260px;margin:0;scroll-snap-align:start;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}.gallery img{width:100%;height:160px;object-fit:cover;display:block}.gallery figcaption{padding:8px 10px;font-size:14px;color:#0b1f3a}.docs-grid h4{margin:0 0 6px;font-size:15px;color:#0b1f3a}.docs-list{margin-top:4px}.docs-list a{font-size:14px}form{background:var(--card-tint);border:1px solid var(--border);border-radius:var(--radius);padding:16px;color:#0b1f3a}.row-extra{display:flex;flex-wrap:wrap;align-items:flex-end}.row-extra label:not(.copy-to-email){flex:1 1 0;display:flex!important;flex-direction:column!important;align-items:flex-start!important}.row-extra .copy-to-email{flex:0 0 auto;display:flex!important;flex-direction:row!important;align-items:center!important}.row-extra button{flex:0 0 auto}@media (max-width:720px){.row-extra{flex-direction:column;align-items:stretch}.row-extra>*{width:100%}}label{display:flex;flex-direction:column;gap:6px;font-weight:600}label.field-error input,label.field-error select,label.field-error textarea{border-color:var(--err)}input,textarea{border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit;background:#fff;transition:border-color .15s,box-shadow .15s}textarea{min-height:132px}input:focus,textarea:focus{outline:0;border-color:var(--accent-2);box-shadow:0 0 0 4px rgba(29,78,216,.18)}.actions{display:flex;gap:12px;align-items:center;margin-top:8px;flex-wrap:wrap;color:#0b1f3a}.muted{color:#405175;font-size:14px}.big-check input[type=checkbox]{width:24px;height:24px;accent-color:#1333A3}.consent-text{display:block}.hp{position:static!important;left:auto!important;width:auto!important;height:auto!important;overflow:visible!important}.hp-hidden{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}.row-extra{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin-top:12px!important;align-items:flex-end!important}.row-extra label:not(.copy-to-email){flex:1 1 0!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important;font-weight:600!important}.row-extra .copy-to-email{flex:0 0 auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;font-weight:600!important}.row-extra button{flex:0 0 auto!important}@media (max-width:720px){.row-extra{flex-direction:column!important;align-items:stretch!important}.row-extra>*{width:100%!important}}.row-extra label.hp .hp-text{white-space:normal!important}.row-extra label.hp input[name=hp]{width:100%!important}.row-extra label>input[type=file]{flex:1 1 auto!important;width:auto!important}.input-error,label.field-error input,label.field-error select,label.field-error textarea{border-color:var(--err)!important;box-shadow:0 0 0 3px rgba(220,38,38,.35)!important}.copy-to-email{flex-direction:row;align-items:center;gap:8px}.toast{position:fixed;left:50%;top:auto;bottom:18px;transform:translateX(-50%) translateY(-10px);background:#fff;color:#0b1220;padding:12px 14px;border-radius:12px;font-size:14px;z-index:9999;max-width:min(92vw,680px);width:max-content;box-shadow:0 10px 30px rgba(0,0,0,.35);display:none;opacity:0;pointer-events:none;transition:opacity .22s,transform .22s;text-align:center;line-height:1.35}.toast .toast__text{display:inline-block;vertical-align:middle}.toast .toast__close{margin-left:10px;border:0;background:0 0;color:#0b1220;font-size:18px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:10px}.toast .toast__close:focus-visible{outline:rgba(220,38,38,.65) solid 2px;outline-offset:2px}.toast.show{display:flex;align-items:center;justify-content:center;opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}.form-status{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid rgba(15,23,42,.18);color:#0b1220;font-size:14px;line-height:1.35;display:flex;align-items:center;justify-content:space-between;gap:10px}.form-status .status-text{flex:1}.form-status .status-close{border:0;background:0 0;color:#dc2626;font-size:18px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:10px}.form-status .status-close:hover{background:rgba(220,38,38,.1)}.form-status[hidden]{display:none}footer{margin:24px 0 8px;color:var(--muted);font-size:14px}.emergency{background:#fee2e2;border:1px solid #fca5a5;color:#7f1d1d;border-radius:12px;padding:12px}.emergency h3{margin:0 0 6px;color:#7f1d1d}.seo{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:16px;color:#0b1f3a}.seo h2{color:#0b1f3a}.copy{background:0 0;border:1px dashed #0b1f3a;border-radius:8px;padding:4px 8px;font-size:12px;color:#0b1f3a;cursor:pointer}.copy.ok{border-color:#16a34a;color:#16a34a}.mini-qr{margin-top:8px;display:flex;align-items:center;gap:12px;color:#0b1f3a}.mini-qr-grid{margin-top:8px;display:grid;gap:12px;grid-template-columns:1fr}@media(min-width:1200px){.mini-qr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.qr-card{background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:10px;display:flex;gap:12px;align-items:center}.qr-card img{background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:120px;height:120px}.qr-card .actions{display:flex;gap:8px;margin-top:6px}.contact-lines{margin-top:6px}.contact-lines li,.contact-lines p{margin:2px 0;line-height:1.2}.emergency-row-131{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;margin-top:10px}@media (max-width:900px){.emergency-row-131{grid-template-columns:1fr}}.emergency-row-131 .emergency{width:100%}.tiles-card .tile>img:first-child{display:none!important}.tiles-card .tile h4 img{width:36px!important;height:36px!important;max-width:36px!important;flex:0 0 36px!important;display:inline-block!important;margin:0 8px 0 0}.tiles-card .tile h4{display:flex!important;align-items:center!important;gap:12px!important;margin:0 0 10px!important}.copy-to-email{flex-direction:row!important;align-items:center!important;gap:6px!important;margin-left:4px!important}.copy-to-email input[type=checkbox]{margin:0}/* v266: wymuszenie ciemnego motywu (kontakt) */
:root{--bg:#071c31;--bg-2:#0d274d;--card:#102a43;--card-tint:#102a43;--border:rgba(148,163,184,.25);--text:#e2e8f0;--muted:#94a3b8;--accent:#67e8f9}
body{background:linear-gradient(180deg,var(--bg) 0,var(--bg-2) 100%)!important;color:var(--text)!important}
.wrap,.card,form,.seo,.actions,.contact-grid,.contact-grid *{color:var(--text)!important}
.card,form,.seo{background:var(--card)!important;border-color:var(--border)!important}
.muted,.remember-note,.remember-note *{color:var(--muted)!important}
a,.list a,.quick-links a{color:var(--accent)!important}
input,textarea,select{background:rgba(255,255,255,.06)!important;color:var(--text)!important;border-color:var(--border)!important}
input::placeholder,textarea::placeholder{color:rgba(226,232,240,.55)!important}

/* v282: stopka (Kontakt) – turkus dla danych firmowych */
footer.site-footer .footer-company p,footer.site-footer .footer-company li{color:#fff!important;}
/* v343: ujednolicone obramowania pól formularzy (Kontakt) */
body.page-kontakt label:not(.field-error) input:not([type=checkbox]):not([type=radio]):not([type=file]),
body.page-kontakt label:not(.field-error) select,
body.page-kontakt label:not(.field-error) textarea{
  border:1.5px solid rgba(103,232,249,.58)!important;
}
body.page-kontakt label:not(.field-error) input:not([type=checkbox]):not([type=radio]):not([type=file]):focus,
body.page-kontakt label:not(.field-error) select:focus,
body.page-kontakt label:not(.field-error) textarea:focus{
  border-color:rgba(103,232,249,.92)!important;
  box-shadow:0 0 0 4px rgba(103,232,249,.22)!important;
}
body.page-kontakt input[type=file]{
  border:1.5px solid rgba(103,232,249,.58)!important;
  background:rgba(255,255,255,.06)!important;
  color:var(--text)!important;
}
body.page-kontakt input[type=file]:focus{
  border-color:rgba(103,232,249,.92)!important;
  box-shadow:0 0 0 4px rgba(103,232,249,.22)!important;
}
body.page-kontakt input[type=file]::file-selector-button,
body.page-kontakt input[type=file]::-webkit-file-upload-button{
  border:1px solid rgba(103,232,249,.58)!important;
  background:rgba(103,232,249,.14)!important;
  color:var(--text)!important;
  border-radius:10px!important;
  padding:8px 10px!important;
  margin-right:10px!important;
}

/* v300_stable_scroll_cls_fix */
.scroll-btn{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;border-radius:999px!important;background:#2196f3!important;border:1px solid rgba(255,255,255,.28)!important;color:#fff!important;box-shadow:none!important}
.scroll-btn:focus-visible{outline:3px solid #fff!important;outline-offset:3px!important}
.nav-toggle{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;padding:0!important;line-height:44px!important}
.nav-toggle:focus-visible{outline:3px solid #fff!important;outline-offset:3px!important}


/* v313: czytelne błędy pól – bez czerwieni (cyan + jasne tło) */
body.page-kontakt label.field-error input,
body.page-kontakt label.field-error select,
body.page-kontakt label.field-error textarea,
body.page-kontakt .input-error,
.input-error,label.field-error input,label.field-error select,label.field-error textarea{
  border:2px solid rgba(56,189,248,.98)!important;
  box-shadow:none!important;
  background:#fff!important;
  color:#0b1f3a!important;
}

/* v314: spójny wygląd dla :invalid – bez "poświaty" */
body.page-kontakt input:invalid,
body.page-kontakt textarea:invalid,
body.page-kontakt select:invalid{
  border:1.5px solid rgba(103,232,249,.58)!important;
  box-shadow:none!important;
}

/* vCard download note (browser warning helper) */
.vcard-note{margin:10px 0 0;font-size:13px;line-height:1.35;color:var(--muted);}
.vcard-note strong{color:rgba(234,242,255,.92);}


/* v499: MOBILE – vCard buttons never overflow */
@media (max-width:900px){
  body.page-kontakt #vcard-qr .qr-card{flex-direction:column;align-items:stretch}
  body.page-kontakt #vcard-qr .qr-card img{align-self:center}
  body.page-kontakt #vcard-qr .qr-card .actions{flex-wrap:wrap}
  body.page-kontakt #vcard-qr .qr-card .actions .btn{width:100%;max-width:100%;white-space:normal;text-align:center}
}

/* v499: MOBILE – skip rendering heavy sections below the fold */
@media (max-width:900px){
  body.page-kontakt #godziny-i-alarmy,
  body.page-kontakt #kontakt-form,
  body.page-kontakt #mapa,
  body.page-kontakt #biuro-zdjecia,
  body.page-kontakt #seo-kontakt{content-visibility:auto;contain-intrinsic-size:1px 900px}
}
