:root{
    --bg:#faf9f6;
    --text:#222;
    --muted:#555;
    --green:#326647;
    --border:#d7d5d0;
    --card:#ffffff;
    --shadow:0 2px 12px rgba(0,0,0,.06);
  }
  
  *{box-sizing:border-box}
  html,body{
    margin:0; padding:0;
    font-family:Lato,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
    color:var(--text); background:var(--bg);
  }
  
  /* Header */
  .nav-header{border-top:4px solid #111;border-bottom:1px solid #e6e3dc;background:#fff}
  .nav-inner{max-width:980px;margin:0 auto;padding:18px 20px}
  .center{display:flex;justify-content:center}
  .logo{height:72px;display:block}
  
  /* Layout */
  main{max-width:980px;margin:28px auto;padding:0 20px}
  .card{
    background:var(--card); border:1px solid #eceae5; border-radius:14px;
    padding:26px 26px 30px; box-shadow:var(--shadow)
  }
  h2{margin:0 0 8px; font-size:30px; font-weight:900; letter-spacing:0.2px}
  .lead{margin:0 0 18px; color:var(--muted)}
  
  /* Formularz – pola i siatka */
  .field{margin:14px 0}
  label{display:block;margin:0 0 8px;font-weight:800}
  
  .input,.textarea,.select{
    width:100%; border:1px solid var(--border); border-radius:12px;
    padding:12px 14px; font-size:16px; background:#fff; outline:none;
    box-shadow: inset 0 1px 0 rgba(0,0,0,.02);
  }
  .input:focus,.textarea:focus,.select:focus{
    border-color:#bfc0bb; box-shadow:0 0 0 3px rgba(50,102,71,.08), inset 0 1px 0 rgba(0,0,0,.02)
  }
  
  /* Kompaktowa wysokość textarea (ok. połowa poprzedniej) */
  .textarea{min-height:120px; resize:vertical}
  
  /* Dla pól "połowa szerokości" – tak jak wcześniej */
  .grid.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  @media (max-width:760px){ .grid.two{grid-template-columns:1fr} }
  
  /* Intro/outro (wstrzykiwane przez app.js) */
  .intro-note,.outro-note{margin:10px 0 16px}
  .intro-note p{margin:0;text-align:center;font-weight:800;line-height:1.35}
  .outro-note p{margin:0 0 6px}
  
  /* Radio / checkbox jako „chipsy” – jeśli używane */
  .choice-grid{display:flex;flex-wrap:wrap;gap:10px}
  .choice-grid label{
    display:inline-flex; align-items:center; gap:8px;
    border:1px solid var(--border); border-radius:12px; background:#fff;
    padding:8px 12px; cursor:pointer; box-shadow: inset 0 1px 0 rgba(0,0,0,.02)
  }
  .choice-grid input{accent-color:var(--green)}
  
  /* Honeypot */
  .hp{display:none}
  
  /* Actions */
  .form-actions{display:flex;justify-content:flex-end;margin-top:10px}
  .btn{
    background:var(--green); color:#fff; border:0; border-radius:12px;
    padding:10px 18px; font-size:16px; cursor:pointer
  }
  .btn:hover{filter:brightness(0.95)}
  .status{margin-top:10px}
  
  /* Stopka wyśrodkowana */
  footer{
    text-align:center;
    margin-top:2rem;
    padding:1rem 0;
    font-size:.9rem;
    color:#555;
  }
  .client-msg {
    text-align: center;
    font-size: 15px;
    margin: 15px 0;
    color: #333;
  }