html body #mobilePaymentModal.mobile-booking-payment-sheet {
    overflow: hidden !important;
    background: #f6f6f3 !important;
    color: #111214 !important;
    -webkit-text-fill-color: #111214 !important;
}

html body #mobilePaymentModal .mobile-payment-shell {
    height: 100dvh !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
}

html body #mobilePaymentModal .mobile-payment-header {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 42px !important;
    align-items: center !important;
    gap: 12px !important;
    padding: calc(env(safe-area-inset-top, 0px) + 14px) 18px 14px !important;
    border-bottom: 1px solid #e8e8e3 !important;
    background: #fbfbf9 !important;
}

html body #mobilePaymentModal .mobile-payment-back,
html body #mobilePaymentModal .mobile-payment-lock {
    width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    place-items: center !important;
    border: 1px solid #e2e2dd !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: #111214 !important;
    -webkit-text-fill-color: #111214 !important;
}

html body #mobilePaymentModal .mobile-payment-lock {
    color: #07806c !important;
    -webkit-text-fill-color: #07806c !important;
}

html body #mobilePaymentModal .mobile-payment-header > div { text-align: center !important; }
html body #mobilePaymentModal .mobile-payment-title {
    margin: 0 !important;
    color: #111214 !important;
    -webkit-text-fill-color: #111214 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

html body #mobilePaymentModal .mobile-payment-subtitle {
    margin: 5px 0 0 !important;
    color: #777772 !important;
    -webkit-text-fill-color: #777772 !important;
    font-family: "IBM Plex Mono", monospace !important;
    font-size: 8px !important;
    letter-spacing: .13em !important;
}

html body #mobilePaymentModal .mobile-payment-main {
    min-height: 0 !important;
    overflow-y: auto !important;
    padding: 16px 16px 24px !important;
}

html body #mobilePaymentModal .mobile-payment-summary {
    margin: 0 0 14px !important;
    padding: 18px !important;
    border: 0 !important;
    border-radius: 22px !important;
    background: #111214 !important;
    box-shadow: 0 16px 30px -20px rgba(17,18,20,.72) !important;
}

html body #mobilePaymentModal .mobile-payment-summary-top {
    display: flex !important;
    justify-content: space-between !important;
    gap: 16px !important;
}

html body #mobilePaymentModal .mobile-payment-summary-top span {
    color: #8f908b !important;
    -webkit-text-fill-color: #8f908b !important;
    font-family: "IBM Plex Mono", monospace !important;
    font-size: 8px !important;
    letter-spacing: .14em !important;
}

html body #mobilePaymentModal .mobile-payment-summary-top strong,
html body #mobilePaymentModal .mobile-payment-summary-title {
    color: #fbfbf9 !important;
    -webkit-text-fill-color: #fbfbf9 !important;
}

html body #mobilePaymentModal .mobile-payment-summary-top strong {
    font-size: 32px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
}

html body #mobilePaymentModal .mobile-payment-summary-title {
    margin: 14px 0 0 !important;
    font-size: 16px !important;
}

html body #mobilePaymentModal .mobile-payment-summary-date {
    margin: 5px 0 0 !important;
    color: #b8b8b2 !important;
    -webkit-text-fill-color: #b8b8b2 !important;
    font-size: 12px !important;
}

html body #mobilePaymentModal .mobile-payment-summary-rule {
    height: 1px !important;
    margin: 15px 0 7px !important;
    background: #303135 !important;
}

html body #mobilePaymentModal .mobile-payment-line,
html body #mobilePaymentModal .mobile-payment-line * {
    min-height: 28px !important;
    padding: 0 !important;
    border: 0 !important;
    color: #d2d2cd !important;
    -webkit-text-fill-color: #d2d2cd !important;
    font-size: 11px !important;
}

html body #mobilePaymentModal .mobile-payment-method-card {
    padding: 16px !important;
    border: 1px solid #e5e5e0 !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 4px 18px rgba(17,18,20,.04) !important;
}

html body #mobilePaymentModal .mobile-payment-section-head {
    display: flex !important;
    justify-content: space-between !important;
    margin-bottom: 16px !important;
    color: #666762 !important;
    -webkit-text-fill-color: #666762 !important;
    font-family: "IBM Plex Mono", monospace !important;
    font-size: 9px !important;
    letter-spacing: .12em !important;
}

html body #mobilePaymentModal .mobile-payment-stripe-mark {
    color: #635bff !important;
    -webkit-text-fill-color: #635bff !important;
    font-family: sans-serif !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

html body #mobilePaymentModal .mobile-payment-loading {
    display: grid !important;
    gap: 10px !important;
    min-height: 176px !important;
    color: #858580 !important;
    -webkit-text-fill-color: #858580 !important;
}

html body #mobilePaymentModal .mobile-payment-loading-line,
html body #mobilePaymentModal .mobile-payment-loading-field,
html body #mobilePaymentModal .mobile-payment-loading-row i {
    display: block !important;
    border-radius: 10px !important;
    background: linear-gradient(90deg, #f0f0ec 25%, #fafaf8 50%, #f0f0ec 75%) !important;
    background-size: 220% 100% !important;
    animation: mobile-payment-loading-sweep 1.15s ease-in-out infinite !important;
}

html body #mobilePaymentModal .mobile-payment-loading-line { width: 42% !important; height: 11px !important; }
html body #mobilePaymentModal .mobile-payment-loading-field { width: 100% !important; height: 52px !important; }
html body #mobilePaymentModal .mobile-payment-loading-row { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
html body #mobilePaymentModal .mobile-payment-loading-row i { height: 52px !important; }
html body #mobilePaymentModal .mobile-payment-loading small {
    color: #858580 !important;
    -webkit-text-fill-color: #858580 !important;
    font-size: 10px !important;
    text-align: center !important;
}

@keyframes mobile-payment-loading-sweep {
    from { background-position: 100% 0; }
    to { background-position: -100% 0; }
}

html body #mobilePaymentModal [hidden] { display: none !important; }
html body #mobilePaymentModal #mobile-booking-express-checkout-shell:not([hidden]) {
    display: block !important;
    margin-bottom: 16px !important;
}

html body #mobilePaymentModal .mobile-payment-method-title,
html body #mobilePaymentModal .mobile-payment-card-divider {
    color: #777772 !important;
    -webkit-text-fill-color: #777772 !important;
    font-family: "IBM Plex Mono", monospace !important;
    font-size: 8px !important;
    letter-spacing: .1em !important;
}

html body #mobilePaymentModal .mobile-payment-card-divider {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 16px 0 !important;
}

html body #mobilePaymentModal .mobile-payment-card-divider::before,
html body #mobilePaymentModal .mobile-payment-card-divider::after {
    content: "" !important;
    flex: 1 !important;
    height: 1px !important;
    background: #ecece8 !important;
}

html body #mobilePaymentModal .mobile-payment-message {
    margin-top: 14px !important;
    padding: 12px !important;
    border: 1px solid #f0c7c1 !important;
    border-radius: 12px !important;
    background: #fff5f3 !important;
    color: #a83e29 !important;
    -webkit-text-fill-color: #a83e29 !important;
    font-size: 12px !important;
}

html body #mobilePaymentModal .mobile-payment-trust {
    display: flex !important;
    justify-content: center !important;
    gap: 8px !important;
    margin: 14px 12px 0 !important;
    color: #777772 !important;
    -webkit-text-fill-color: #777772 !important;
    font-size: 10px !important;
    line-height: 1.4 !important;
    text-align: center !important;
}

html body #mobilePaymentModal .mobile-payment-trust i {
    color: #07806c !important;
    -webkit-text-fill-color: #07806c !important;
}

html body #mobilePaymentModal .mobile-payment-footer {
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    border-top: 1px solid #e5e5e0 !important;
    background: #fbfbf9 !important;
    box-shadow: 0 -12px 28px rgba(17,18,20,.05) !important;
}

html body #mobilePaymentModal #mobile-pay-button {
    width: 100% !important;
    min-height: 54px !important;
    padding: 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
    border: 1px solid #111214 !important;
    border-radius: 15px !important;
    background: #111214 !important;
    color: #fbfbf9 !important;
    -webkit-text-fill-color: #fbfbf9 !important;
    font-size: 14px !important;
    font-weight: 750 !important;
    box-shadow: 0 12px 28px rgba(17,18,20,.18) !important;
}

html body #mobilePaymentModal #mobile-pay-button * {
    color: #fbfbf9 !important;
    -webkit-text-fill-color: #fbfbf9 !important;
}

html body #mobilePaymentModal #mobile-pay-button:disabled {
    opacity: .58 !important;
    box-shadow: none !important;
}

html[data-theme] body #mobilePaymentModal #mobile-pay-button,
html body[data-theme] #mobilePaymentModal #mobile-pay-button,
[data-theme] #mobilePaymentModal #mobile-pay-button {
    border-color: #0d0e10 !important;
    background-color: #111214 !important;
    background-image: linear-gradient(180deg, #1a1b1e 0%, #0d0e10 100%) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 12px 28px rgba(17,18,20,.22) !important;
}

html[data-theme] body #mobilePaymentModal #mobile-pay-button *,
html body[data-theme] #mobilePaymentModal #mobile-pay-button *,
[data-theme] #mobilePaymentModal #mobile-pay-button * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

html body #mobilePaymentModal #mobile-pay-button:active {
    transform: translateY(1px) !important;
    background-image: none !important;
    background-color: #050506 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 6px 16px rgba(17,18,20,.18) !important;
}
