:root{
  --brand-green:#326647;
  --text:#111;
  --muted:#666;
  --bg:#faf9f6;
  --card:#fff;
  --border:#d0d0d0;
  --shadow:0 8px 18px rgba(0,0,0,.06);
  --radius:12px;
}

/* Base */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Lato',system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Arial,sans-serif;
  color:var(--text); background:var(--bg); line-height:1.55;
}

/* Header */
.nav-header{background:#fff;border-bottom:1px solid var(--border)}
.nav-inner{max-width:1100px;margin:0 auto;padding:.6rem 1rem}
.nav-inner.center{display:flex;justify-content:center}
.logo{height:80px;display:block}

/* Layout + card */
main{max-width:920px;margin:32px auto;padding:0 16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:28px;box-shadow:var(--shadow)}
h2{margin:0 0 1rem;font-weight:700}
.lead{margin:0 0 1.25rem;color:#2b2b2b}

/* ===== Pola (spójny wrapper) ===== */
.field{margin-bottom:1rem}
.field > label{display:block;margin:0 0 .45rem;font-weight:700}
.control{position:relative}
.input, .textarea, .box{
  width:100%; border:1px solid var(--border); border-radius:var(--radius); background:#fff;
}
.input, .textarea{padding:.8rem .95rem; font-family:inherit}
.textarea{min-height:140px; resize:vertical}
.box{padding:1rem}

.input:focus, .textarea:focus, .box:focus-within{
  border-color:var(--brand-green);
  box-shadow:0 0 0 3px rgba(50,102,71,.18);
  outline:none;
}

/* 2 kolumny tylko gdy wskazane */
.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media (max-width:760px){ .grid.two{grid-template-columns:1fr} }

/* Radio TAK/NIE – w spójnym boxie */
.radio-options{display:flex;gap:1.25rem;flex-wrap:wrap}
.radio-options label{display:flex;align-items:center;gap:.4rem;cursor:pointer;font-weight:400}

/* Actions */
.form-actions{display:flex;justify-content:flex-end;margin-top:1rem}
.btn{
  background:var(--brand-green);color:#fff;border:none;border-radius:var(--radius);
  padding:.9rem 1.2rem;font-weight:700;cursor:pointer;font-family:inherit;
}
.btn:hover{filter:brightness(.96)}
.btn:active{transform:translateY(1px)}

.status{margin-top:.75rem;color:var(--muted)}
.disclaimer{margin-top:1rem;color:#444;font-size:.95rem}
.site-footer{text-align:center;padding:2rem;color:#777}
.hp{display:none}