/* Formularz kontaktowy [efk_kontakt] – styl spójny z kalkulatorami. */
.efk-kontakt{
  --efk-primary:#003785; --efk-text:#111; --efk-muted:#54657a; --efk-border:#d9e1ef; --efk-soft:#f5f7fb; --efk-accent:#c8285d;
  max-width:760px;margin:0 auto;color:var(--efk-text);
}
.efk-kontakt-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media (max-width:640px){.efk-kontakt-form{grid-template-columns:1fr;}}
.efk-kontakt .efk-field{display:flex;flex-direction:column;gap:6px;}
.efk-kontakt .efk-field--full{grid-column:1 / -1;}
.efk-kontakt label{font-weight:700;font-size:14px;}
.efk-kontakt input[type="text"],.efk-kontakt input[type="email"],.efk-kontakt textarea{
  width:100%;padding:12px 14px;border:1px solid var(--efk-border);border-radius:12px;font:inherit;font-size:15px;background:#fff;color:var(--efk-text);
}
.efk-kontakt textarea{resize:vertical;min-height:140px;}
.efk-kontakt input:focus,.efk-kontakt textarea:focus{outline:none;border-color:var(--efk-primary);box-shadow:0 0 0 3px rgba(0,55,133,.15);}
.efk-kontakt .efk-field--check label{font-weight:400;font-size:13px;color:var(--efk-muted);display:flex;gap:10px;align-items:flex-start;line-height:1.5;}
.efk-kontakt .efk-field--check input{margin-top:3px;flex:0 0 auto;}
.efk-kontakt .efk-field--check a{color:var(--efk-primary);}
.efk-kontakt-hp{position:absolute;left:-9999px;top:-9999px;opacity:0;height:0;overflow:hidden;}
.efk-kontakt .efk-actions{grid-column:1 / -1;display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:4px;}
.efk-kontakt .efk-actions button.primary{
  background:var(--efk-primary);color:#fff;border:0;border-radius:12px;padding:12px 26px;font-weight:700;font-size:15px;cursor:pointer;
}
.efk-kontakt .efk-actions button.primary:hover{filter:brightness(1.1);}
.efk-kontakt .efk-btn-secondary{
  display:inline-block;padding:11px 24px;border:1px solid var(--efk-accent);color:var(--efk-accent);border-radius:12px;font-weight:700;font-size:15px;text-decoration:none;
}
.efk-kontakt .efk-btn-secondary:hover{background:var(--efk-accent);color:#fff;}
.efk-kontakt-ok,.efk-kontakt-err{padding:16px 18px;border-radius:12px;margin:0 0 16px;font-size:15px;}
.efk-kontakt-ok{background:#e8f5ec;border:1px solid #b7dfc3;color:#1b6e2b;}
.efk-kontakt-err{background:#fdecef;border:1px solid #f3b9c5;color:#8f1537;}
.efk-kontakt button:focus-visible,.efk-kontakt a:focus-visible{outline:3px solid rgba(0,55,133,.35);outline-offset:2px;}
