/* Shared actions for Quick Generate, Customize, and itinerary results only. */
.quick-actions,
.plan-actions,
.itinerary-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 12px;
}

.quick-actions > .button,
.plan-actions > .button,
.itinerary-actions > .button,
.itinerary-actions > form {
  display: inline-flex;
  flex: 1 1 200px;
  min-width: 0;
  min-height: 44px;
  margin: 0;
}

.itinerary-actions > form > .button {
  width: 100%;
  min-width: 0;
}

.quick-actions > .button,
.plan-actions > .button,
.itinerary-actions > .button,
.itinerary-actions > form > .button {
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  border-radius: 10px;
  font-size: 0.95rem;
  line-height: 1.2;
  text-align: center;
  white-space: normal;
}

/* Customise page: desktop actions are deliberately equal, compact controls.
   The mobile stack below remains the source of truth on narrow screens. */
@media (min-width: 761px) {
  .plan-actions {
    gap: 16px;
  }

  .plan-actions > .button {
    flex: 0 0 210px;
    width: 210px;
    min-width: 210px;
    height: 46px;
    min-height: 46px;
  }
}

@media (max-width: 760px) {
  .quick-actions,
  .plan-actions,
  .itinerary-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px;
    width: 100%;
  }

  .quick-actions > .button,
  .plan-actions > .button,
  .itinerary-actions > .button,
  .itinerary-actions > form,
  .itinerary-actions > form > .button {
    box-sizing: border-box;
    width: 100% !important;
    height: 44px;
    min-height: 44px;
  }

  .itinerary-actions > .button,
  .itinerary-actions > form {
    flex: 1 1 auto !important;
    align-self: stretch;
  }

  .itinerary-actions > form > .button {
    flex: 1 1 auto !important;
    align-self: stretch;
  }
}
