/* Match Contact Us buttons to hero button sizing */
.contact-form button,
.recaptcha-consent .btn,
.recaptcha-consent .button {
  max-width: 150px;
  min-width: 130px;
  padding: 0.5rem 1.5rem;
  font-size: clamp(0.85rem, 1.75vw, 0.90rem);
  white-space: nowrap;
}

@media (max-width: 480px) {
  .contact-form button,
  .recaptcha-consent .btn,
  .recaptcha-consent .button {
    max-width: none;
    min-width: 0;
  }

  #enable-recaptcha {
    padding-inline: 1rem;
  }
}
/* ============ CONTACT CARD ============ */
/* Outer: .contact-section already has .section-card */
.contact-section{
  background:transparent;  /* let .section-card paint the box */
  text-align: center;
}

.resources-contact-wrapper > .contact-section.container {
  max-width: none;
  margin: 0;
  padding-inline: 0;
}
/* .contact-intro{ margin:0; color:var(--text-primary); } */
.contact-intro h2{
  /* margin:0;
  font-weight:300; */
  text-transform:uppercase;
  color:var(--primary-color-dark);
}
.contact-intro {
  max-width: 70ch;
  margin: 0 auto clamp(1rem, 3vw, 2rem);
}
.contact-intro p {
  font-size: var(--text-base);
  line-height: 1.6;
  color: var(--text-secondary);
  margin-top: 0;
  margin-bottom: var(--space-4);
}

/* Consent box */
.recaptcha-consent p {
  background:rgba(0,0,0,.04);
  border:1px rgba(0,0,0,.12);
  border-radius:var(--radius-md);
  padding:.75rem 1rem;
  color:var(--text-secondary);
  text-align: center;
  font-size: var(--text-sm) !important;
}

.recaptcha-consent .btn,
.recaptcha-consent .button {
  background-color: var(--primary-color, #0c74d4);
  border: 1px solid var(--neutral-white);
  color: var(--neutral-white);
  font-size: var(--text-sm);
  /* box-shadow: 0 4px 12px rgba(0,0,0,.05); */
}

.recaptcha-consent .btn:hover,
.recaptcha-consent .button:hover {
  background-color: var(--primary-color-light, #0c74d4);
  color: #fff;
  transition: background-color 0.18s, color 0.18s;
  border-color: #fff;
}

/* Button highlight colour to primary blue */

#enable-recaptcha {
  display: block;
  margin: 1rem auto 0;
  width: auto;
  min-width: max-content;
  max-width: 100%;
  line-height: 1.2;
}

/* Form (light card inside the card) */
.contact-form {
  max-width: 520px;
  margin: 0 auto;  /* Center the form */
  padding: var(--space-3);
  background: #f5f5f5;
  /* background: transparent; */
  border: 1px solid rgba(0,0,0,.12);
  border-radius: var(--radius-md);
  box-shadow: 0 4px 12px rgba(0,0,0,.05);
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
  width: 100%;  /* Fill available space up to max-width */
}

.resources-contact-wrapper .section-card,
.resources-contact-wrapper .section-card--dark {
  padding: clamp(1rem, 2.5vw, 1.25rem);
}

/* Full width form on mobile */
@media (max-width: 600px) {
  .contact-form {
    max-width: 100%;
  }
}

.contact-form button {
  justify-self: center;
}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea {
  width: 100%;
  padding: var(--space-2) var(--space-3);
  border: 1px solid rgba(0,0,0,.15);
  border-radius: var(--radius-sm);
  font-family: 'Noto Sans', sans-serif;
  font-weight: 300;
  font-size: var(--text-sm);
  color: var(--text-primary);
  background: #fff;
  box-sizing: border-box;
}
.contact-form textarea{ resize:vertical; min-height:120px; }
.contact-form :is(input,textarea):focus{
  outline:3px solid rgba(37,99,235,.25);
  border-color:var(--primary-color-dark);
}
.contact-form .form-control::placeholder{ color:var(--text-secondary); }

.checkbox-wrapper{
  display:flex; align-items:center; gap:.5rem;
  font-size: var(--text-sm); margin:.25rem 0;
}
.recaptcha-consent .btn,
.recaptcha-consent .button{
  display:inline-block;
  margin-top:.75rem;
}
.error{ color:#c0392b; font-size:var(--text-xs); }

.contact-alt {
  margin-top: 1rem;
  font-size: var(--text-sm);
  color: var(--text-secondary);
  text-align: center;
}

.contact-address {
  margin-top: 1rem;
  font-size: var(--text-xs);
  color: var(--text-secondary);
  text-align: center;
}


/* Shared `.section-card` global styles moved to `app/static/style.css` */