/* GN-ICON-TEXT-ALIGNMENT-V18
 * Text and SVG icons inside labelled controls must behave as one centred unit.
 * This deliberately overrides the legacy edge-pinned icon treatment that could
 * make compact buttons read as "Continue→" or leave an icon detached at an edge.
 */
html body :is(
  .launch-primary,
  .launch-secondary,
  .launch-soft-button,
  .primary-action,
  .secondary-action,
  .glass-action,
  .danger-action,
  .gn-control-with-icon,
  .admin-theme-toggle,
  .service-chip
):not([aria-label]):has(> :is(svg, i[data-lucide]):first-child) {
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  padding-inline: 16px !important;
}

html body :is(
  .launch-primary,
  .launch-secondary,
  .launch-soft-button,
  .primary-action,
  .secondary-action,
  .glass-action,
  .danger-action,
  .gn-control-with-icon,
  .admin-theme-toggle,
  .service-chip
):not([aria-label]) > :is(svg, i[data-lucide]):first-child {
  position: static !important;
  inset: auto !important;
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 17px !important;
  margin: 0 !important;
  transform: none !important;
  pointer-events: none !important;
}

html body.launch-body .booking-flow-controls #bookingContinueButton {
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding-inline: 20px !important;
}

html body.launch-body .booking-flow-controls #bookingContinueButton > svg {
  position: static !important;
  inset: auto !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  margin: 0 !important;
  transform: none !important;
}
