/**
 * Lamilka 0.6.57 — authoritative tour/transfer payment presentation.
 *
 * This file is enqueued after every historical parity layer. It owns only the
 * booking summary, payment choices, pre-mount consent shell and the shared
 * direct-card boundary; payment behavior remains owned by the payments plugin.
 */

body .lamilka-detail__booking,
body .lamilka-transfer__booking {
  --lamilka-payment-navy: #0F1B3D;
  --lamilka-payment-copy: #667792;
  --lamilka-payment-teal: #0E7C6B;
  --lamilka-payment-teal-soft: #F5F7FA;
  --lamilka-payment-gold: #f0bd38;
  --lamilka-payment-border: #d7e1eb;
  --lamilka-payment-control: #bdcad8;
}

body .lamilka-transfer__booking {
  gap: 0 !important;
}

/* Booking summaries: one quiet surface, stable label column, aligned values. */
body .lamilka-detail__summary {
  align-items: start !important;
  background: #f7f9fc !important;
  border: 1px solid #e4eaf1 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  column-gap: 16px !important;
  display: grid !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 14px !important;
  grid-template-columns: minmax(108px, max-content) minmax(0, 1fr) !important;
  line-height: 1.4 !important;
  margin: 16px 0 18px !important;
  padding: 16px 18px !important;
  row-gap: 12px !important;
}

body .lamilka-detail__summary > span {
  color: #617089 !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}

body .lamilka-detail__summary > b {
  color: var(--lamilka-payment-navy) !important;
  font-weight: 700 !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  text-align: left !important;
}

body .lamilka-transfer__summary {
  background: #f7f9fc !important;
  border: 1px solid #e4eaf1 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  margin: 24px 0 0 !important;
  padding: 18px 20px !important;
}

body .lamilka-transfer__summary h3 {
  color: var(--lamilka-payment-navy) !important;
  font-family: Montserrat, Inter, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  line-height: 1.3 !important;
  margin: 0 0 14px !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

body .lamilka-transfer__summary dl {
  display: grid !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 13px !important;
  gap: 10px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
}

body .lamilka-transfer__summary dl > div {
  align-items: start !important;
  display: grid !important;
  gap: 16px !important;
  grid-template-columns: 150px minmax(0, 1fr) !important;
  margin: 0 !important;
}

body .lamilka-transfer__summary dt {
  color: #617089 !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}

body .lamilka-transfer__summary dd {
  color: var(--lamilka-payment-navy) !important;
  font-weight: 650 !important;
  margin: 0 !important;
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  text-align: right !important;
}

body .lamilka-transfer__summary > p {
  align-items: baseline !important;
  border-top: 1px solid #dce4ec !important;
  display: flex !important;
  justify-content: space-between !important;
  margin: 16px 0 0 !important;
  padding-top: 14px !important;
}

body .lamilka-transfer__summary > p span {
  color: #617089 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
}

body .lamilka-transfer__summary > p b {
  color: var(--lamilka-payment-navy) !important;
  font-family: Montserrat, Inter, system-ui, sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
}

/* Shared payment-choice component. */
body .lamilka-transfer__payment {
  border: 0 !important;
  margin: 24px 0 0 !important;
  min-inline-size: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}

body .lamilka-transfer__payment legend {
  color: #617089 !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  letter-spacing: .015em !important;
  margin: 0 0 9px !important;
  padding: 0 !important;
}

body .lamilka-detail__pay,
body .lamilka-transfer__payment-card {
  align-items: center !important;
  background: #fff !important;
  border: 2px solid #c7d3df !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  color: var(--lamilka-payment-navy) !important;
  cursor: pointer !important;
  font-family: Inter, system-ui, sans-serif !important;
  margin: 0 0 10px !important;
  min-height: 76px !important;
  padding: 14px 16px !important;
  text-align: left !important;
  transition: background-color .16s ease, border-color .16s ease !important;
  width: 100% !important;
}

body .lamilka-detail__pay {
  display: grid !important;
  gap: 12px !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
}

body .lamilka-transfer__payment-card {
  display: block !important;
  position: relative !important;
}

body .lamilka-transfer__payment-card:last-child,
body .lamilka-detail__pay:last-of-type {
  margin-bottom: 0 !important;
}

body .lamilka-detail__pay--single,
body .lamilka-transfer__payment--single .lamilka-transfer__payment-card {
  cursor: default !important;
}

body .lamilka-detail__pay--single {
  background: var(--lamilka-payment-teal-soft) !important;
  border-color: var(--lamilka-payment-teal) !important;
}

body .lamilka-transfer__payment-card > input[type="radio"] {
  height: 1px !important;
  left: 12px !important;
  margin: 0 !important;
  opacity: 0 !important;
  position: absolute !important;
  top: 12px !important;
  width: 1px !important;
}

body .lamilka-transfer__payment-card-row {
  align-items: center !important;
  display: flex !important;
  gap: 12px !important;
  min-width: 0 !important;
}

body .lamilka-payment-choice__card-icon,
body .lamilka-transfer__payment-card-icon {
  background: #fff !important;
  border: 1.8px solid var(--lamilka-payment-teal) !important;
  border-radius: 3px !important;
  box-sizing: border-box !important;
  display: block !important;
  flex: 0 0 20px !important;
  height: 14px !important;
  position: relative !important;
  width: 20px !important;
}

body .lamilka-payment-choice__card-icon::after,
body .lamilka-transfer__payment-card-icon::after {
  background: var(--lamilka-payment-teal) !important;
  content: "" !important;
  height: 2px !important;
  left: 2px !important;
  opacity: .72 !important;
  position: absolute !important;
  right: 2px !important;
  top: 4px !important;
}

body .lamilka-payment-choice__radio,
body .lamilka-transfer__payment-radio {
  background: #fff !important;
  border: 2px solid var(--lamilka-payment-teal) !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  display: block !important;
  flex: 0 0 22px !important;
  height: 22px !important;
  position: relative !important;
  width: 22px !important;
}

body .lamilka-detail__pay[aria-pressed="true"],
body .lamilka-transfer__payment-card.is-active {
  background: var(--lamilka-payment-teal-soft) !important;
  border-color: var(--lamilka-payment-teal) !important;
  color: var(--lamilka-payment-navy) !important;
}

body .lamilka-detail__pay[aria-pressed="true"] .lamilka-payment-choice__radio::after,
body .lamilka-transfer__payment-card.is-active .lamilka-transfer__payment-radio::after {
  background: var(--lamilka-payment-teal) !important;
  border-radius: 50% !important;
  content: "" !important;
  height: 10px !important;
  inset: 4px !important;
  position: absolute !important;
  width: 10px !important;
}

body .lamilka-payment-choice__copy,
body .lamilka-payment-choice__copy > b,
body .lamilka-payment-choice__copy > span,
body .lamilka-transfer__payment-card strong,
body .lamilka-transfer__payment-card small {
  display: block !important;
  min-width: 0 !important;
}

body .lamilka-payment-choice__copy > b,
body .lamilka-transfer__payment-card strong {
  color: var(--lamilka-payment-navy) !important;
  font-family: Montserrat, Inter, system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.3 !important;
}

body .lamilka-payment-choice__copy > span,
body .lamilka-transfer__payment-card small {
  color: #53657f !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  margin: 3px 0 0 !important;
  opacity: 1 !important;
  text-wrap: pretty !important;
}

body .lamilka-transfer__payment-card small {
  margin-left: 32px !important;
}

body .lamilka-payment-choice__brands,
body .lamilka-transfer__payment-brands {
  color: #718097 !important;
  font-size: 12px !important;
  letter-spacing: .015em !important;
  margin-top: 2px !important;
}

body .lamilka-detail__pay:focus,
body .lamilka-transfer__payment-card:focus-within {
  outline: 0 !important;
}

body .lamilka-detail__pay:focus-visible,
body .lamilka-transfer__payment-card:has(input:focus-visible) {
  outline: 3px solid rgba(14, 124, 107, .24) !important;
  outline-offset: 3px !important;
}

body .lamilka-detail__pay.is-provider-disabled,
body .lamilka-detail__pay[aria-disabled="true"],
body .lamilka-transfer__payment-card.is-provider-disabled,
body .lamilka-transfer__payment-card[aria-disabled="true"] {
  cursor: not-allowed !important;
  opacity: .52 !important;
}

body .lamilka-detail__eligibility {
  align-items: flex-start !important;
  color: #617089 !important;
  display: flex !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 14px !important;
  gap: 10px !important;
  line-height: 1.45 !important;
  margin: 0 0 16px !important;
}

body .lamilka-detail__eligibility svg {
  flex: 0 0 18px !important;
  height: 18px !important;
  margin-top: 1px !important;
  width: 18px !important;
}

/* Pre-mount consent is a single quiet setup surface, not another framed card. */
body .lamilka-detail__secure-payment:not(.has-provider-session),
body .lamilka-transfer__secure-payment:not(.has-provider-session) {
  background: #f8fafc !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  margin: 28px 0 0 !important;
  padding: 20px !important;
  text-align: left !important;
}

body .lamilka-detail__secure-payment:not(.has-provider-session) > h3,
body .lamilka-transfer__secure-payment:not(.has-provider-session) > h3 {
  align-items: center !important;
  color: var(--lamilka-payment-navy) !important;
  display: flex !important;
  font-family: Montserrat, Inter, system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  gap: 8px !important;
  letter-spacing: .06em !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  text-align: left !important;
  text-transform: uppercase !important;
}

body .lamilka-detail__secure-payment:not(.has-provider-session) > h3 img,
body .lamilka-transfer__secure-payment:not(.has-provider-session) > h3 img {
  display: block !important;
  height: 18px !important;
  width: 18px !important;
}

body .lamilka-detail__secure-payment:not(.has-provider-session) > p,
body .lamilka-transfer__secure-payment:not(.has-provider-session) > p {
  color: #667792 !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  margin: 6px 0 0 !important;
  text-align: left !important;
}

body .lamilka-detail__secure-payment:not(.has-provider-session) [data-lamilka-booking-status][hidden],
body .lamilka-transfer__secure-payment:not(.has-provider-session) [data-lamilka-booking-status][hidden],
body [data-lamilka-hosted-checkout][hidden] {
  display: none !important;
}

body .lamilka-detail__secure-payment:not(.has-provider-session) .lamilka-booking-consent,
body .lamilka-transfer__secure-payment:not(.has-provider-session) .lamilka-booking-consent {
  margin-top: 18px !important;
}

body .lamilka-detail__secure-payment:not(.has-provider-session) [data-preview-success],
body .lamilka-transfer__secure-payment:not(.has-provider-session) [data-transfer-secure-submit] {
  border-radius: 12px !important;
  font-family: Montserrat, Inter, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  min-height: 52px !important;
  padding: 12px 18px !important;
  white-space: nowrap !important;
  width: 100% !important;
}

/* Mounted state: remove the obsolete shell and leave exactly one card/CTA. */
body .lamilka-detail__secure-payment.has-provider-session,
body .lamilka-transfer__secure-payment.has-provider-session {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin: 28px 0 0 !important;
  padding: 0 !important;
}

body .lamilka-detail__secure-payment.has-provider-session > h3,
body .lamilka-detail__secure-payment.has-provider-session > p,
body .lamilka-transfer__secure-payment.has-provider-session > h3,
body .lamilka-transfer__secure-payment.has-provider-session > p,
body .lamilka-detail__secure-payment.has-provider-session .lamilka-booking-consent,
body .lamilka-transfer__secure-payment.has-provider-session .lamilka-booking-consent,
body .lamilka-detail__secure-payment.has-provider-session [data-preview-success],
body .lamilka-transfer__secure-payment.has-provider-session [data-transfer-secure-submit],
body .lamilka-detail__secure-payment [data-preview-success][hidden],
body .lamilka-transfer__secure-payment [data-transfer-secure-submit][hidden],
body .lamilka-transfer__booking > .lamilka-transfer__payment-trust,
body label.lamilka-booking-consent[hidden],
body .lamilka-detail__secure-payment.has-provider-session [data-lamilka-hosted-checkout],
body .lamilka-transfer__secure-payment.has-provider-session [data-lamilka-hosted-checkout],
body .lamilka-transfer__secure-payment.has-provider-session .lamilka-transfer__gateway-mount {
  display: block !important;
  margin: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  padding: 0 !important;
  width: 100% !important;
}

body .lamilka-detail__booking .lmp-direct-payment,
body .lamilka-transfer__booking .lmp-direct-payment,
body [data-lamilka-hosted-checkout] > .lmp-direct-payment {
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  margin: 0 auto !important;
  max-width: none !important;
  width: 100% !important;
}

/* Legacy form rules used ID specificity. Reassert every approved dimension. */
body .lamilka-detail__booking .lmp-direct-payment form.lmp-direct-payment__form {
  margin: 0 !important;
  padding: 18px 0 24px !important;
  width: 100% !important;
}

body .lamilka-transfer__booking .lmp-direct-payment form.lmp-direct-payment__form {
  margin: 0 !important;
  padding: 18px 0 24px !important;
  width: 100% !important;
}

body .lamilka-detail__booking .lmp-direct-payment form.lmp-direct-payment__form[hidden],
body .lamilka-transfer__booking .lmp-direct-payment form.lmp-direct-payment__form[hidden] {
  display: none !important;
}

body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__form > label,
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__form > label,
body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__row > label,
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__row > label {
  display: block !important;
  margin: 0 0 16px !important;
  min-width: 0 !important;
}

body .lamilka-detail__booking .lmp-direct-payment label > .lmp-direct-payment__label,
body .lamilka-transfer__booking .lmp-direct-payment label > .lmp-direct-payment__label {
  display: block !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  margin: 0 0 6px !important;
}

body .lamilka-detail__booking .lmp-direct-payment input:not(#lmp-payment-control):not([type="checkbox"]),
body .lamilka-transfer__booking .lmp-direct-payment input:not(#lmp-payment-control):not([type="checkbox"]) {
  background: #fff !important;
  border: 1.5px solid var(--lamilka-payment-control) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  color: var(--lamilka-payment-navy) !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  height: 44px !important;
  line-height: normal !important;
  margin: 0 !important;
  max-height: 44px !important;
  min-height: 44px !important;
  padding: 0 16px !important;
  width: 100% !important;
}

body .lamilka-detail__booking .lmp-direct-payment input:not(#lmp-payment-control):not([type="checkbox"]):focus,
body .lamilka-transfer__booking .lmp-direct-payment input:not(#lmp-payment-control):not([type="checkbox"]):focus {
  border-color: var(--lamilka-payment-teal) !important;
  box-shadow: 0 0 0 2px rgba(14, 124, 107, .14) !important;
  outline: 0 !important;
}

body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__row,
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__row {
  display: grid !important;
  gap: 16px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin: 0 0 12px !important;
}

body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__row label,
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__row label {
  margin-bottom: 0 !important;
}

body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__submit,
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__submit {
  align-items: center !important;
  display: flex !important;
  flex-direction: row !important;
  font-family: Montserrat, Inter, system-ui, sans-serif !important;
  font-size: 15px !important;
  gap: 12px !important;
  justify-content: space-between !important;
  letter-spacing: .045em !important;
  margin: 0 !important;
  min-height: 56px !important;
  padding: 13px 22px !important;
  white-space: nowrap !important;
  width: 100% !important;
}

body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__submit > span,
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__submit > span {
  white-space: nowrap !important;
}

@media (max-width: 640px) {
  body .lamilka-transfer__summary dl > div {
    gap: 12px !important;
    grid-template-columns: 130px minmax(0, 1fr) !important;
  }

  body .lamilka-detail__pay,
  body .lamilka-transfer__payment-card {
    min-height: 72px !important;
    padding: 13px 14px !important;
  }

  body .lamilka-detail__secure-payment:not(.has-provider-session),
  body .lamilka-transfer__secure-payment:not(.has-provider-session) {
    margin-top: 24px !important;
    padding: 18px !important;
  }

  body .lamilka-detail__secure-payment.has-provider-session,
  body .lamilka-transfer__secure-payment.has-provider-session {
    margin-top: 24px !important;
  }

  body .lamilka-detail__booking .lmp-direct-payment form.lmp-direct-payment__form,
  body .lamilka-transfer__booking .lmp-direct-payment form.lmp-direct-payment__form {
    margin-inline: 0 !important;
    padding: 16px 0 22px !important;
  }

  body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__submit,
  body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__submit {
    font-size: 14px !important;
    letter-spacing: .035em !important;
    padding-inline: 18px !important;
  }
}

@media (max-width: 390px) {
  body .lamilka-detail__summary {
    column-gap: 12px !important;
    grid-template-columns: minmax(96px, max-content) minmax(0, 1fr) !important;
    padding: 15px !important;
  }

  body .lamilka-transfer__summary {
    padding: 16px !important;
  }

  body .lamilka-transfer__summary dl > div {
    grid-template-columns: 118px minmax(0, 1fr) !important;
  }

  body .lamilka-payment-choice__copy > b,
  body .lamilka-transfer__payment-card strong {
    font-size: 15px !important;
  }

  body .lamilka-payment-choice__copy > span,
  body .lamilka-transfer__payment-card small {
    font-size: 12px !important;
  }

  body .lamilka-detail__booking .lmp-direct-payment form.lmp-direct-payment__form,
  body .lamilka-transfer__booking .lmp-direct-payment form.lmp-direct-payment__form {
    margin-inline: 0 !important;
    padding-inline: 0 !important;
  }

  body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__submit,
  body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__submit {
    font-size: 12.5px !important;
    gap: 8px !important;
    letter-spacing: .025em !important;
    padding-inline: 15px !important;
  }
}

@media (max-width: 480px) {
  body .lamilka-detail__secure-payment:not(.has-provider-session) [data-preview-success],
  body .lamilka-transfer__secure-payment:not(.has-provider-session) [data-transfer-secure-submit] {
    font-size: 11.5px !important;
    letter-spacing: .035em !important;
    padding-inline: 14px !important;
  }

  body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__submit,
  body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__submit {
    font-size: 11.5px !important;
    gap: 6px !important;
    letter-spacing: .015em !important;
    padding-inline: 14px !important;
  }

  body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__submit small,
  body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__submit small {
    font-size: 13px !important;
  }

  body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__trust,
  body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__trust {
    font-size: 10.5px !important;
    gap: 6px !important;
    padding-inline: 20px !important;
  }
}


/* Build 117: final Lovable payment presentation inside the existing WP frame. */
body .lamilka-detail__booking,
body .lamilka-transfer__booking {
  --lamilka-payment-navy: #0F1B3D;
  --lamilka-payment-teal: #0E7C6B;
  --lamilka-payment-teal-soft: #F5F7FA;
}

body .lamilka-detail__summary,
body .lamilka-transfer__summary {
  background: #F5F7FA !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  margin-top: 16px !important;
  padding: 14px 16px !important;
}

body .lamilka-detail__summary {
  column-gap: 12px !important;
  font-size: 12.5px !important;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) !important;
  row-gap: 10px !important;
}

body .lamilka-detail__summary > span,
body .lamilka-transfer__summary dt {
  color: #667792 !important;
  font-size: 12.5px !important;
  font-weight: 400 !important;
}

body .lamilka-detail__summary > b,
body .lamilka-transfer__summary dd {
  color: #0F1B3D !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  overflow: hidden !important;
  text-align: right !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body .lamilka-transfer__summary dl {
  gap: 10px !important;
}

body .lamilka-transfer__summary dl > div {
  align-items: baseline !important;
  display: flex !important;
  gap: 12px !important;
  justify-content: space-between !important;
}

body .lamilka-transfer__summary dt {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

body .lamilka-transfer__summary dd {
  min-width: 0 !important;
}

body .lamilka-transfer__summary h3,
body .lamilka-transfer__summary > p {
  display: none !important;
}

body .lamilka-detail__booking .lamilka-promotion,
body .lamilka-transfer__booking .lamilka-promotion {
  margin: 16px 0 !important;
}

body #lamilka-tour-booking .lamilka-promotion > div,
body #transfer-booking .lamilka-promotion > div {
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 8px !important;
}

body #lamilka-tour-booking .lamilka-promotion > div > input[data-lamilka-promotion-code],
body #transfer-booking .lamilka-promotion > div > input[data-lamilka-promotion-code],
body #lamilka-tour-booking .lamilka-promotion > div > button,
body #transfer-booking .lamilka-promotion > div > button {
  border-radius: 8px !important;
  height: 44px !important;
  min-height: 44px !important;
}

body #lamilka-tour-booking .lamilka-promotion > div > button,
body #transfer-booking .lamilka-promotion > div > button {
  background: #fff !important;
  border: 2px solid #0E7C6B !important;
  color: #0E7C6B !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding-inline: 20px !important;
}

body #lamilka-tour-booking .lamilka-promotion > div > button:hover,
body #transfer-booking .lamilka-promotion > div > button:hover {
  background: rgba(14, 124, 107, .06) !important;
}

body .lamilka-payment-method-heading,
body .lamilka-transfer__payment legend {
  color: #0F1B3D !important;
  display: block !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  line-height: 1.25 !important;
  margin: 20px 0 8px !important;
  padding: 0 !important;
  text-transform: uppercase !important;
}

body .lamilka-transfer__payment {
  margin-top: 0 !important;
}

body .lamilka-detail__pay,
body .lamilka-transfer__payment-card,
body .lamilka-detail__pay[aria-pressed="true"],
body .lamilka-transfer__payment-card.is-active,
body .lamilka-detail__pay--single,
body .lamilka-transfer__payment--single .lamilka-transfer__payment-card {
  background: #fff !important;
  border: 2px solid #0E7C6B !important;
  border-radius: 12px !important;
  min-height: 0 !important;
  padding: 14px 16px !important;
}

body .lamilka-detail__pay {
  grid-template-columns: 20px minmax(0, 1fr) !important;
  gap: 12px !important;
}

body .lamilka-payment-choice__card-icon,
body .lamilka-transfer__payment-card-icon {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  display: flex !important;
  flex: 0 0 20px !important;
  height: 20px !important;
  justify-content: center !important;
  width: 20px !important;
}

body .lamilka-payment-choice__card-icon::after,
body .lamilka-transfer__payment-card-icon::after {
  content: none !important;
}

body .lamilka-payment-choice__card-icon svg,
body .lamilka-transfer__payment-card-icon svg {
  fill: none !important;
  height: 20px !important;
  stroke: #0E7C6B !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-width: 1.8 !important;
  width: 20px !important;
}

body .lamilka-payment-choice__copy > b,
body .lamilka-transfer__payment-card strong {
  color: #0F1B3D !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

body .lamilka-payment-choice__copy > span,
body .lamilka-transfer__payment-card small,
body .lamilka-payment-choice__brands,
body .lamilka-transfer__payment-brands {
  color: #667792 !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  margin-top: 2px !important;
}

body .lamilka-transfer__payment-card small {
  margin-left: 32px !important;
}

body .lamilka-detail__secure-payment:not(.has-provider-session),
body .lamilka-transfer__secure-payment:not(.has-provider-session) {
  background: #F5F7FA !important;
  border-radius: 12px !important;
  margin: 16px 0 0 !important;
  padding: 16px !important;
  text-align: center !important;
}

body .lamilka-detail__secure-payment:not(.has-provider-session) > h3,
body .lamilka-transfer__secure-payment:not(.has-provider-session) > h3 {
  color: #0F1B3D !important;
  display: block !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-align: center !important;
}

body .lamilka-detail__secure-payment:not(.has-provider-session) > h3 img,
body .lamilka-transfer__secure-payment:not(.has-provider-session) > h3 img {
  filter: none !important;
  height: 16px !important;
  margin: 0 auto 6px !important;
  width: 16px !important;
}

body .lamilka-detail__secure-payment:not(.has-provider-session) > p,
body .lamilka-transfer__secure-payment:not(.has-provider-session) > p {
  color: #667792 !important;
  font-size: 12px !important;
  margin-top: 2px !important;
  text-align: center !important;
}

body .lamilka-detail__secure-payment:not(.has-provider-session) [data-preview-success],
body .lamilka-transfer__secure-payment:not(.has-provider-session) [data-transfer-secure-submit] {
  background: #0E7C6B !important;
  border: 0 !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 5px rgba(15,27,61,.12) !important;
  color: #fff !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  letter-spacing: .04em !important;
  margin-top: 14px !important;
  min-height: 46px !important;
  padding: 14px 12px !important;
}

body .lamilka-detail__secure-payment:not(.has-provider-session) [data-preview-success]:hover,
body .lamilka-transfer__secure-payment:not(.has-provider-session) [data-transfer-secure-submit]:hover {
  background: #0B6A5B !important;
}

body .lamilka-detail__secure-payment.has-provider-session,
body .lamilka-transfer__secure-payment.has-provider-session {
  margin-top: 16px !important;
}

body .lamilka-detail__booking .lmp-direct-payment form.lmp-direct-payment__form,
body .lamilka-transfer__booking .lmp-direct-payment form.lmp-direct-payment__form {
  padding: 16px 0 0 !important;
}

body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__card-panel,
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__card-panel {
  background: #F5F7FA !important;
  border-radius: 12px !important;
  padding: 16px !important;
}

body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__form > label,
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__form > label,
body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__row > label,
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__row > label {
  margin-bottom: 14px !important;
}

body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__row,
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__row {
  gap: 12px !important;
  margin: 14px 0 0 !important;
}

body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__submit,
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__submit {
  background: #0E7C6B !important;
  border-radius: 8px !important;
  font-size: 15px !important;
  justify-content: center !important;
  margin-top: 16px !important;
  min-height: 48px !important;
  padding: 16px 12px !important;
}

body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__submit:hover:not(:disabled),
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__submit:hover:not(:disabled) {
  background: #0B6A5B !important;
}

@media (max-width: 639px) {
  body .lamilka-detail__summary > b,
  body .lamilka-transfer__summary dd {
    text-align: right !important;
  }
}

body .lamilka-card-details-lock {
  color: #0E7C6B !important;
  display: block !important;
  height: 16px !important;
  margin: 0 auto 6px !important;
  width: 16px !important;
}

body .lamilka-detail__booking [data-booking-step="3"] > h2,
body .lamilka-transfer__booking .lamilka-transfer__payment-heading {
  color: #0F1B3D !important;
  font-family: Montserrat, Inter, system-ui, sans-serif !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  letter-spacing: -.02em !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  text-align: left !important;
}

/* Build 117 final mounted-state cleanup: once the direct card stage opens,
 * hide the pre-card preview and let the provider-neutral Lamilka card panel
 * be the only visible payment surface inside the existing booking module. */
body .lamilka-detail__secure-payment.has-provider-session > h3,
body .lamilka-detail__secure-payment.has-provider-session > p,
body .lamilka-transfer__secure-payment.has-provider-session > h3,
body .lamilka-transfer__secure-payment.has-provider-session > p,
body .lamilka-detail__secure-payment.has-provider-session [data-preview-success],
body .lamilka-transfer__secure-payment.has-provider-session [data-transfer-secure-submit] {
  display: none !important;
}

body .lamilka-detail__secure-payment.has-provider-session [data-lamilka-hosted-checkout],
body .lamilka-transfer__secure-payment.has-provider-session [data-lamilka-hosted-checkout],
body .lamilka-transfer__secure-payment.has-provider-session .lamilka-transfer__gateway-mount {
  display: block !important;
  margin: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  padding: 0 !important;
  width: 100% !important;
}

body .lamilka-transfer__secure-payment:not(.has-provider-session) > .lamilka-transfer__payment-trust {
  color: #667792 !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  margin: 10px 0 0 !important;
  text-align: center !important;
}

/* Build 117 final cascade lock: exact latest Lovable card-stage geometry.
 * This block intentionally outranks the legacy direct-payment rules above.
 * Desktop matches Lovable; mobile keeps 16px field text to prevent Safari zoom. */
body .lamilka-detail__booking.has-provider-session .lamilka-detail__summary,
body .lamilka-detail__booking.has-provider-session .lamilka-promotion,
body .lamilka-detail__booking.has-provider-session .lamilka-payment-method-heading,
body .lamilka-detail__booking.has-provider-session .lamilka-detail__pay,
body .lamilka-transfer__booking.has-provider-session .lamilka-transfer__summary,
body .lamilka-transfer__booking.has-provider-session .lamilka-promotion,
body .lamilka-transfer__booking.has-provider-session .lamilka-transfer__payment {
  display: none !important;
}

body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__card-panel .lmp-direct-payment__form > label,
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__card-panel .lmp-direct-payment__form > label,
body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__card-panel .lmp-direct-payment__row > label,
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__card-panel .lmp-direct-payment__row > label {
  margin: 0 0 14px !important;
}

body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__card-panel label > .lmp-direct-payment__label,
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__card-panel label > .lmp-direct-payment__label {
  color: #0F1B3D !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  margin: 0 0 6px !important;
}

body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__card-panel input:not(#lmp-payment-control):not([type="checkbox"]),
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__card-panel input:not(#lmp-payment-control):not([type="checkbox"]) {
  background: #fff !important;
  border: 1px solid #d7e1eb !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  color: #0F1B3D !important;
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  height: auto !important;
  line-height: normal !important;
  margin: 0 !important;
  max-height: none !important;
  min-height: 44px !important;
  padding: 12px 14px !important;
  width: 100% !important;
}

body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__card-panel input:not(#lmp-payment-control):not([type="checkbox"]):focus,
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__card-panel input:not(#lmp-payment-control):not([type="checkbox"]):focus {
  border-color: #0E7C6B !important;
  box-shadow: 0 0 0 2px rgba(14, 124, 107, .15) !important;
  outline: 0 !important;
}

body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__card-panel .lmp-direct-payment__row,
body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__card-panel .lmp-direct-payment__row {
  gap: 12px !important;
  margin: 14px 0 0 !important;
}

@media (max-width: 639px) {
  body .lamilka-detail__booking .lmp-direct-payment .lmp-direct-payment__card-panel input:not(#lmp-payment-control):not([type="checkbox"]),
  body .lamilka-transfer__booking .lmp-direct-payment .lmp-direct-payment__card-panel input:not(#lmp-payment-control):not([type="checkbox"]) {
    font-size: 16px !important;
  }
}

/* Build 124 — deterministic Lovable payment-state separation.
 * Review and Card Details are two mutually exclusive views inside the same
 * WordPress booking module. Legal consent exists only in the mounted card view. */
body .lamilka-detail__booking[data-payment-stage="card"] .lamilka-detail__summary,
body .lamilka-detail__booking[data-payment-stage="card"] .lamilka-promotion,
body .lamilka-detail__booking[data-payment-stage="card"] .lamilka-payment-method-heading,
body .lamilka-detail__booking[data-payment-stage="card"] .lamilka-detail__pay,
body .lamilka-transfer__booking[data-payment-stage="card"] .lamilka-transfer__summary,
body .lamilka-transfer__booking[data-payment-stage="card"] .lamilka-promotion,
body .lamilka-transfer__booking[data-payment-stage="card"] .lamilka-transfer__payment {
  display: none !important;
}

body .lamilka-detail__booking[data-payment-stage="card"] [data-booking-step="3"] > .lamilka-detail__booking-step {
  display: none !important;
}

body :is(.lamilka-detail__secure-payment, .lamilka-transfer__secure-payment)[data-payment-stage="card"] > h3,
body :is(.lamilka-detail__secure-payment, .lamilka-transfer__secure-payment)[data-payment-stage="card"] > p,
body :is(.lamilka-detail__secure-payment, .lamilka-transfer__secure-payment)[data-payment-stage="card"] > [data-preview-success],
body :is(.lamilka-detail__secure-payment, .lamilka-transfer__secure-payment)[data-payment-stage="card"] > [data-transfer-secure-submit] {
  display: none !important;
}

body :is(.lamilka-detail__secure-payment, .lamilka-transfer__secure-payment)[data-payment-stage="card"] [data-lamilka-hosted-checkout] {
  display: block !important;
}

/* During booking/session validation keep the review composition stable. The
 * button may be disabled, but no card-stage consent or duplicate card shell is
 * exposed until the real card form has mounted successfully. */
body :is(.lamilka-detail__secure-payment, .lamilka-transfer__secure-payment)[data-payment-stage="opening"] [data-lamilka-hosted-checkout] {
  display: none !important;
}

/* Build 125 — structural Lovable payment views.
 * Review and Card Details are explicit sibling DOM states. The visual transition
 * no longer depends on has-provider-session selectors or inferred descendants. */
body .lamilka-payment-state-shell {
  display: block !important;
  margin: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

body .lamilka-payment-state-shell .lamilka-payment-view[hidden] {
  display: none !important;
}

body .lamilka-payment-state-shell .lamilka-payment-view:not([hidden]) {
  display: block !important;
}

body .lamilka-payment-state-shell .lamilka-payment-view--card {
  margin-top: 16px !important;
  min-width: 0 !important;
  width: 100% !important;
}

body .lamilka-payment-state-shell .lamilka-payment-view--card [data-lamilka-hosted-checkout] {
  margin: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

/* In card state only the canonical Payment heading and plugin-owned Lovable
 * CardDetailsPanel remain. Step marker/review content never coexist with it. */
body .lamilka-detail__booking[data-payment-stage="card"] [data-booking-step="3"] > .lamilka-detail__booking-step {
  display: none !important;
}

/* Opening is deliberately a stable review screen while the secure session and
 * actual Card Details markup are prepared off-screen in the sibling card view. */
body .lamilka-payment-state-shell[data-payment-stage="opening"] [data-lamilka-payment-review] {
  display: block !important;
}
body .lamilka-payment-state-shell[data-payment-stage="opening"] [data-lamilka-payment-card] {
  display: none !important;
}
