/* GAM-012 R2: add breathing room and equal-width mobile appointment actions. */
#gz-appointment.apcard .apnav {
  margin-top: 24px;
}

#gz-appointment.apcard [data-appointment-step="contact"] .apnav {
  margin-top: 24px;
}

#gz-appointment.apcard .apnav > * {
  min-height: 48px;
}

@media (max-width: 700px) {
  #gz-appointment.apcard {
    padding-bottom: 24px;
  }

  #gz-appointment.apcard .apnav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #gz-appointment.apcard .apnav.end {
    grid-template-columns: minmax(0, 1fr);
  }

  #gz-appointment.apcard .apnav > * {
    flex: 1 1 0;
    min-width: 0;
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* Revision 3: scoped action spacing for paid, home/hub, callback, and contact forms. */
#gz-ac-paid .ac-actions,
#gz-paid-bmw .ac-actions,
#gz-paid-mercedes .ac-actions {
  margin-top: 24px;
  gap: 12px;
}

#gz-ac-paid .ac-actions > button,
#gz-paid-bmw .ac-actions > button,
#gz-paid-mercedes .ac-actions > button {
  min-height: 48px;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
}

@media (min-width: 700px) {
  #gz-ac-paid .ac-actions,
  #gz-paid-bmw .ac-actions,
  #gz-paid-mercedes .ac-actions {
    justify-content: space-between;
  }

  #gz-ac-paid .ac-actions > :only-child,
  #gz-paid-bmw .ac-actions > :only-child,
  #gz-paid-mercedes .ac-actions > :only-child {
    margin-left: auto;
  }

  #gz-ac-paid .ac-actions > .ac-soft-action,
  #gz-paid-bmw .ac-actions > .ac-soft-action,
  #gz-paid-mercedes .ac-actions > .ac-soft-action {
    flex: 0 0 auto;
    width: auto;
  }
}

@media (max-width: 700px) {
  #gz-ac-paid .ac-actions,
  #gz-paid-bmw .ac-actions,
  #gz-paid-mercedes .ac-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #gz-ac-paid .ac-actions > *,
  #gz-paid-bmw .ac-actions > *,
  #gz-paid-mercedes .ac-actions > * {
    width: 100%;
    min-width: 0;
    padding-left: 10px;
    padding-right: 10px;
  }

  #gz-ac-paid .ac-actions > :only-child,
  #gz-paid-bmw .ac-actions > :only-child,
  #gz-paid-mercedes .ac-actions > :only-child {
    grid-column: 1 / -1;
    width: 100%;
    margin-left: 0;
  }

  .paid-search-page .ad-ac-form-card {
    padding-bottom: 24px;
  }

  .paid-search-page .ad-guided-brand-hero .ad-guided-form-card {
    padding-bottom: 24px;
  }

  .contact-form-card {
    padding-bottom: 24px;
  }

  #gz-funnel .wbd {
    padding-bottom: 24px;
  }

  #gz-callback > .wbd {
    padding-bottom: 24px;
  }
}

#gz-funnel #gz-home-widget-form > .gw-send,
#gz-funnel #gz-hub-widget-form > .gw-send {
  margin-top: 24px;
  min-height: 48px;
}

#gz-callback .wbd > button[type="submit"],
#gz-contact .wbd > button[type="submit"] {
  margin-top: 12px;
  min-height: 48px;
}

#gz-callback .wbd > button[type="submit"] {
  margin-top: 13px;
}

/* Revision 4: place desktop contact preferences and Next in one compact band. */
@media (width > 700px) {
  #gz-appointment.apcard > .appane[data-appointment-step="contact"]:not([hidden]) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  #gz-appointment.apcard > .appane[data-appointment-step="contact"]:not([hidden]) > .row,
  #gz-appointment.apcard > .appane[data-appointment-step="contact"]:not([hidden]) > div.fldwrap {
    grid-column: 1 / -1;
  }

  #gz-appointment.apcard > .appane[data-appointment-step="contact"]:not([hidden]) > fieldset.fldwrap {
    grid-column: 1;
    grid-row: 4;
    margin: 0;
  }

  #gz-appointment.apcard > .appane[data-appointment-step="contact"]:not([hidden]) > .apnav.end {
    grid-column: 2;
    grid-row: 4;
    margin: 0;
    align-self: center;
  }

  #gz-appointment.apcard > .appane[data-appointment-step="contact"]:not([hidden]) > [data-email-requirement] {
    grid-column: 1 / -1;
  }
}

@media(max-width:700px){#gz-appointment.apcard [data-appointment-step="contact"] .apnav{margin-top:12px;}}
