:root{
  --primary:#1e4a8d;
  --primary-light:#2d63bf;
  --border:#dbe1ea;
  --bg:#f6f8fb;
  --text:#1c2430;
  --success:#198754;
  --warn:#f0ad4e;
  --error:#c0392b;
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
  color:var(--text);
  background:var(--bg);
}

.header{
  text-align:center;
  padding:24px 12px 12px;
  background:#113660;
  color:#fff;
}
.header img{ max-height:76px; display:block; margin:0 auto 8px; }
.header h1{ margin:0 0 4px; font-weight:700; font-size:22px; }
.header p{ margin:0; opacity:.9; font-size:14px; }

.contactbar{
  text-align:center;
  padding:8px 12px;
  font-size:14px;
  background:#e9eef7;
  border-bottom:1px solid var(--border);
}
.contactbar a{ color:#0b5ed7; text-decoration:none; }

.language-selector{
  max-width:980px; margin:10px auto; padding:0 12px;
  display:flex; align-items:center; justify-content:space-between;
  gap:8px; flex-wrap:wrap; /* keep Admin visible on mobile */
}
.lang-left{ display:flex; gap:6px; flex-wrap:wrap; }
.language-selector button{
  border:1px solid var(--border); background:#fff; color:#113660;
  padding:6px 12px; border-radius:6px; cursor:pointer; font-weight:600;
}
.language-selector button.active,
.language-selector button:hover{ background:var(--primary); color:#fff; border-color:var(--primary); }
.btn-ghost{ background:#fff; color:var(--primary); }

.container{ max-width:980px; margin:0 auto 18px; padding:0 12px; }

.card{
  background:#fff; border:1px solid var(--border);
  border-radius:10px; padding:16px; margin:12px 0;
  box-shadow:0 2px 4px rgba(0,0,0,.03);
}
.card h2{ margin:4px 0 8px; }
.card h3{ margin:4px 0 12px; }

.form-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:12px;
}
.form-grid .full{ grid-column:1 / -1; }
.form-grid .checkbox{ display:flex; align-items:center; }

label{ display:block; font-size:13px; margin:4px 0; color:#2c3e50; }
input[type=text], input[type=email], input[type=tel], input[type=password], textarea, select{
  width:100%; border:1px solid var(--border); border-radius:8px; padding:10px 12px;
  font-size:15px; background:#fff; outline:none;
}
input:focus, textarea:focus, select:focus{ border-color:var(--primary-light); box-shadow:0 0 0 3px rgba(46,128,255,.12); }

.btn{
  background:var(--primary); color:#fff; border:none; border-radius:8px;
  padding:10px 14px; font-weight:700; cursor:pointer;
}
.btn:hover{ background:var(--primary-light); }
.note{ margin-left:10px; color:#0b5ed7; text-decoration:none; }

/* MESSAGE BANNER (centered colored box) */
.message{
  max-width:980px; margin:12px auto 0; padding:10px 12px; border-radius:8px;
  display:block; text-align:center; font-weight:500;
}
.message.success{ background:#eaf7ef; color:#0f5132; border:1px solid #badbcc; }
.message.warn{ background:#fff7e0; color:#7a4f00; border:1px solid #f6d58f; }
.message.error{ background:#fdecea; color:#842029; border:1px solid #f5c2c7; }

/* Mobile-first polish:
   Use 768px so most phones collapse to one column immediately */
@media (max-width: 768px){
  .form-grid{ grid-template-columns:1fr; }
  .btn{ width:100%; }
  input, textarea, select{ font-size:16px; } /* prevents zoom on iOS */
  .header img{ max-height:64px; }
}