/* ===========================
   Contact page — form + disclaimer
   =========================== */

/* Two-column page area: form left, disclaimer right */
.contact-wrap {
  max-width: 1400px;
  margin: 0 auto 48px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 24px;
  align-items: start;
  padding: 0 20px;
}

/* Let the form expand inside the grid */
.contact-wrap form { max-width: none; margin: 0; }

/* Make your H2 bigger (scoped to the form area) */
.contact-wrap h2 {
  text-align: left;
  font-size: clamp(1.75rem, 2.2vw, 2.4rem);
  margin: 0 0 10px;
}

/* Disclaimer card (sidebar) */
.disclaimer {
  background: #fafafa;
  border: 1px solid #e6e6e6;
  border-radius: 12px;
  padding: 16px 16px 12px;
  font-size: clamp(0.95rem, 0.88rem + 0.30vw, 1.10rem);
  line-height: 1.45;
  align-self: center;        /* center within the row’s height */
  justify-self: center;      /* center within the column */
  width: 100%;
  max-width: 320px;
}
.disclaimer h3 { margin: 0 0 8px; font-size: clamp(1.05rem, 0.98rem + 0.50vw, 1.35rem); }
.disclaimer ul { margin: 8px 0 0 18px; padding: 0; }
.disclaimer a { color: inherit; text-decoration: underline; }

/* Stack to single column on small screens */
@media (max-width: 900px) {
  .contact-wrap { grid-template-columns: 1fr; }
}

/* ===========================
   Form layout
   =========================== */

.form-grid { 
   display: grid;
   gap: 0;
   min-height: 0;
}

/* Labels left, inputs right */
.form-row {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  align-items: center;
  gap: 8px 16px;
  margin: 12px 0;
}

.form-row label { font-weight: 600; }
.form-row textarea { min-height: 120px; }

/* Actions row: Turnstile + button + status */
.actions-right {
  display: grid;
  grid-template-columns: auto auto;
  gap: 12px 12px;
  align-items: center;
}
#msg { grid-column: 1 / -1; margin-top: 4px; }

/* Base controls */
input, select, textarea { width: 100%; padding: 8px; box-sizing: border-box; }
button { padding: 10px 20px; }

/* Turnstile scaling on desktop */
@media (min-width: 640px) {
  .actions-right .cf-turnstile { transform: scale(.95); transform-origin: left center; }
}

/* Stack labels above inputs on small screens */
@media (max-width: 640px) {
  .form-row { grid-template-columns: 1fr; }
  .form-row label { margin-bottom: 6px; }
  .actions-right { grid-template-columns: 1fr; }
}

/* Status messages */
.notice { padding: 10px; border-radius: 8px; }
.notice.success { background:#e6f4ea; border:1px solid #c8e6c9; color:#0b6b35; }
.notice.warning { background:#fff8e1; border:1px solid #ffe082; color:#664d03; }
.notice.error   { background:#fdecea; border:1px solid #f5c6cb; color:#842029; }
