/**
 * Lamilka 0.6.59 — stable payment identity and repeatable form interaction.
 *
 * The compact Card Details identity is identical before and after the secure
 * card form mounts. Clickable controls keep a truthful cursor, hidden popovers
 * cannot intercept pointer input, and the payment CTA uses one optical type
 * size and baseline for its action and amount.
 */

/* Keep the pre-mount identity centered on its text. The lock is decorative and
 * must not push the words away from the visual centre. */
body :is(.lamilka-detail__secure-payment, .lamilka-transfer__secure-payment):not(.has-provider-session) > h3 {
  display: block !important;
  margin: 0 auto !important;
  max-width: calc(100% - 56px) !important;
  position: relative !important;
  text-align: center !important;
  width: max-content !important;
}

body :is(.lamilka-detail__secure-payment, .lamilka-transfer__secure-payment):not(.has-provider-session) > h3 img {
  margin-right: 9px !important;
  position: absolute !important;
  right: 100% !important;
  top: 1px !important;
}

body :is(.lamilka-detail__secure-payment, .lamilka-transfer__secure-payment):not(.has-provider-session) > p {
  margin-inline: auto !important;
  text-align: center !important;
}

/* Preserve that same compact identity when the provider session mounts. */
body :is(.lamilka-detail__booking, .lamilka-transfer__booking)
  .lmp-direct-payment .lmp-direct-payment__heading {
  display: block !important;
  margin: 0 auto !important;
  max-width: calc(100% - 56px) !important;
  padding: 24px 0 0 !important;
  position: relative !important;
  text-align: center !important;
  width: max-content !important;
}

body :is(.lamilka-detail__booking, .lamilka-transfer__booking)
  .lmp-direct-payment:is(.is-loading, .is-verifying, .is-complete) > .lmp-direct-payment__heading {
  display: none !important;
}

body :is(.lamilka-detail__booking, .lamilka-transfer__booking)
  .lmp-direct-payment .lmp-direct-payment__heading::after {
  content: none !important;
}

body :is(.lamilka-detail__booking, .lamilka-transfer__booking)
  .lmp-direct-payment .lmp-direct-payment__heading strong {
  font-family: Montserrat, Inter, system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  letter-spacing: .06em !important;
  line-height: 1.3 !important;
  text-transform: uppercase !important;
}

body :is(.lamilka-detail__booking, .lamilka-transfer__booking)
  .lmp-direct-payment .lmp-direct-payment__heading small {
  color: #667792 !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.45 !important;
  margin-top: 6px !important;
  text-transform: none !important;
}

body :is(.lamilka-detail__booking, .lamilka-transfer__booking)
  .lmp-direct-payment .lmp-direct-payment__lock {
  height: 22px !important;
  margin-right: 9px !important;
  position: absolute !important;
  right: 100% !important;
  top: 23px !important;
  width: 20px !important;
}

body :is(.lamilka-detail__booking, .lamilka-transfer__booking)
  .lmp-direct-payment .lmp-direct-payment__lock svg {
  height: 22px !important;
  width: 20px !important;
}

body :is(.lamilka-detail__booking, .lamilka-transfer__booking)
  .lmp-direct-payment :is(.lmp-direct-payment__lock-shackle, .lmp-direct-payment__lock-body) {
  fill: none !important;
  stroke: #111 !important;
  stroke-width: 2.25 !important;
}

/* The label and amount form one line: equal optical size, equal line box and
 * shared vertical centre. Weight, tracking and colour provide the hierarchy. */
body :is(.lamilka-detail__booking, .lamilka-transfer__booking)
  .lmp-direct-payment .lmp-direct-payment__submit {
  align-items: center !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
}

body :is(.lamilka-detail__booking, .lamilka-transfer__booking)
  .lmp-direct-payment .lmp-direct-payment__submit > span,
body :is(.lamilka-detail__booking, .lamilka-transfer__booking)
  .lmp-direct-payment .lmp-direct-payment__submit > small {
  align-self: center !important;
  display: block !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
}

body :is(.lamilka-detail__booking, .lamilka-transfer__booking)
  .lmp-direct-payment .lmp-direct-payment__submit > small {
  font-variant-numeric: tabular-nums !important;
}

/* Read-only date displays are launch controls, not text-editing fields. */
body [data-lamilka-date-input] {
  caret-color: transparent !important;
  cursor: pointer !important;
  touch-action: manipulation;
  user-select: none;
}

body :is(
  [data-lamilka-date-trigger],
  [data-calendar-month],
  [data-transfer-calendar-month],
  [data-calendar-date],
  [data-transfer-calendar-date],
  [data-counter],
  [data-transfer-direction],
  [data-transfer-seat],
  [data-transfer-pax-minus],
  [data-transfer-pax-plus],
  [data-transfer-seat-minus],
  [data-transfer-seat-plus],
  [data-payment],
  [data-transfer-payment],
  [data-phone-country-toggle],
  [role="option"]
):not(:disabled):not([aria-disabled="true"]),
body :is(.lamilka-detail__booking, .lamilka-transfer__booking) button:not(:disabled) {
  cursor: pointer !important;
  touch-action: manipulation;
}

body :is(button, input, select, textarea):disabled,
body [aria-disabled="true"] {
  cursor: not-allowed !important;
}

/* A closed surface must be inert to both mouse and touch. This guards against
 * stale overlays after repeated open/close and outside-click sequences. */
body :is(
  [data-lamilka-date-calendar],
  [data-hotel-results],
  [data-transfer-hotel-results],
  [data-phone-country-menu]
)[hidden] {
  pointer-events: none !important;
}

body :is(
  [data-lamilka-date-calendar],
  [data-hotel-results],
  [data-transfer-hotel-results],
  [data-phone-country-menu]
):not([hidden]) {
  pointer-events: auto !important;
}

@media (max-width: 560px) {
  body :is(.lamilka-detail__booking, .lamilka-transfer__booking)
    .lmp-direct-payment .lmp-direct-payment__submit,
  body :is(.lamilka-detail__booking, .lamilka-transfer__booking)
    .lmp-direct-payment .lmp-direct-payment__submit > span,
  body :is(.lamilka-detail__booking, .lamilka-transfer__booking)
    .lmp-direct-payment .lmp-direct-payment__submit > small {
    font-size: 13px !important;
  }
}
