/* Shared Livewire consultation form on Contact and About. */
.form-card { position: relative; width: 608px; margin: 0 auto; padding: 36px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; border-radius: 28px; background: var(--white); box-shadow: 0 8px 16px rgba(0,0,0,.04); }
.form-card .field { position: static; min-width: 0; grid-column: 1 / -1; }
.form-card .field--first, .form-card .field--last { grid-column: auto; }
.form-card .field__phone input { flex: 1; min-width: 0; width: 100%; height: 100%; outline: none; }
.form-card .field__phone:focus-within { outline: 2px solid var(--navy); outline-offset: 2px; }
.form-card .field__phone--invalid { border-color: #b42318; }
.form-card .field__textarea { min-height: 148px; resize: vertical; }
.form-card__consent, .form-card__error, .form-card .btn { grid-column: 1 / -1; }
.form-card .consent { position: static; white-space: normal; }
.form-card .consent input { width: 20px; height: 20px; flex: none; accent-color: var(--navy); cursor: pointer; }
.form-card .consent label { cursor: pointer; }
.form-card .btn { position: static; width: 100%; }
.form-card .btn:disabled { cursor: wait; opacity: .65; }
.form-card [aria-invalid="true"] { border-color: #b42318; }
.field__error, .form-card__error { color: #b42318; font-size: 14px; line-height: 20px; overflow-wrap: anywhere; }
.form-card__consent .field__error { margin-top: 8px; }
.form-card--success { display: block; min-height: 240px; }
.form-card--success h2 { font-size: 28px; line-height: 1.2; margin-bottom: 16px; }
.form-card--success p { font-size: 18px; line-height: 1.5; }

@media (max-width: 899px) {
  .form-card { width: 370px; padding: 16px; grid-template-columns: minmax(0, 1fr); gap: 16px; border-radius: 24px; }   /* Figma mobile: 16px between fields */
  .form-card .btn { margin-top: 12px; }   /* consent → button = 44px (16 gap + 12 + 16 line) */
  .field__input { padding: 0 18.5px; }
  .field__textarea { padding: 14.5px 18.5px; border-radius: 16px; }
  .form-card .field__textarea { min-height: 112px; }
  .form-card .consent { font-size: 14px; }
  .form-card--success h2 { font-size: 24px; }
  .form-card--success p { font-size: 16px; }
}

/* Figma mobile form: plain phone field (no flag), labels handled in the template */
@media (max-width: 899px) {
  .field__phone .field__flag, .field__phone .field__sep { display: none; }
  .field__phone { padding: 0 18.5px; gap: 0; }
  .field__label .desktop-only { display: none !important; }
  .field__label .mobile-only { display: inline !important; }
}
