/* ----------------- Forms (mobile-first) ----------------- */

/* Section + titles */
.form-section { padding: 2rem 0; background:#f9f9f9; border-top:3px solid var(--light-blue); }
.form-title h1 { font-size:1.8rem; color:var(--dark-blue); text-align:center; margin-bottom:.5rem; }
.form-title p { text-align:center; color:var(--grey); margin-bottom:1.5rem; }

/* Shared layout */
.form-message { margin:0; } /* fixed selector */
.form-row { display:flex; flex-direction:column; gap:.56rem; margin-bottom:.56rem; }
.form-group { flex:1 1 100%; }
.form-control { width:100%; font:16px/1.4 "Roboto",sans-serif; color:var(--dark-blue);
  background:#fff; border:1px solid #ccc; border-radius:4px; padding:10px; box-sizing:border-box;
  transition:border-color .3s ease, box-shadow .3s ease; }
.form-control::placeholder { color:#aaa; }
.form-control:focus { outline:0; border-color:var(--light-blue); box-shadow:0 0 5px rgba(82,169,201,.3); }
textarea.form-control { resize:vertical; }
.btn-submit { padding:.75rem 2rem; background:var(--orange); color:#fff; font:500 1.1rem "Roboto",sans-serif;
  text-transform:uppercase; border:0; border-radius:4px; cursor:pointer; transition:background-color .3s ease; }
.btn-submit:hover { background:#ff9d4b; }
.error { border-color:#e03131; }
.error-msg { color:#e03131; font-size:.9rem; margin-top:.3rem; }
.form-success { color:var(--dark-blue); font-size:1.1rem; font-weight:500; margin:0 auto; }

/* Page-level wrappers (used by Contact + others as needed) */
.contact-content { display:flex; flex-direction:column; gap:1rem; max-width:1225px; margin:0 auto; padding-top:10px; text-align:left; }
.contact-form { box-sizing:border-box; }
.contact-details { display:flex; flex-direction:column; gap:.5rem; box-sizing:border-box; }
.contact-details a { color:var(--dark-blue); }
.contact-details a:hover { text-decoration:underline; }

/* Contact form container */
#contact-form { display:block; width:100%; max-width:800px; }
#contact-form .g-recaptcha { margin-bottom:10px; text-align:left; }

/* Checkboxes */
.checkbox-group { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; margin-top:3px; }
.checkbox-group label { font-size:1rem; color:var(--grey); font-weight:400; display:flex; align-items:center; gap:.25rem; }

/* Responsive enhancements */
@media (min-width: 48rem) { /* --bp-md */
  .form-row { flex-direction:row; }
  .contact-content { flex-direction:row; justify-content:space-between; }
  .contact-form { flex:2; }
  .contact-details { flex:1; }
}