.payment-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:20000;background:#000000a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.payment-content{background:#fff;border-radius:18px;width:100%;max-width:440px;max-height:92vh;padding:2rem;overflow-y:auto;box-shadow:0 24px 64px #00000047}.payment-header{text-align:center;margin-bottom:1.25rem}.payment-lock-icon{color:#148550;margin-bottom:.4rem;font-size:2rem;display:block}.payment-header h2{color:#111;margin:0 0 .3rem;font-size:1.4rem;font-weight:700}.payment-header p{color:#777;margin:0;font-size:.85rem}.payment-flow-steps{background:#f7f8fa;border-radius:12px;justify-content:space-between;align-items:center;gap:.25rem;margin-bottom:1.25rem;padding:.875rem 1rem;display:flex}.flow-step{opacity:.4;flex:1;align-items:center;gap:.4rem;display:flex}.flow-step.active{opacity:1}.flow-step-num{color:#888;background:#e0e0e0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex}.flow-step.active .flow-step-num{color:#fff;background:#1dbf73}.flow-step-text{flex-direction:column;gap:.05rem;display:flex}.flow-step-text strong{color:#1a1a1a;font-size:.75rem;font-weight:700;line-height:1}.flow-step-text span{color:#999;font-size:.63rem;line-height:1.3}.flow-step-arrow{background:#ddd;flex-shrink:0;width:14px;height:2px;position:relative}.flow-step-arrow:after{content:"";border:4px solid #0000;border-left-color:#ddd;position:absolute;top:-3px;right:-1px}.booking-summary{background:#f7f8fa;border-radius:10px;margin-bottom:1.25rem;padding:1rem 1.2rem}.summary-row{color:#555;justify-content:space-between;padding:.3rem 0;font-size:.88rem;display:flex}.summary-total{color:#111;border-top:1px solid #e5e7eb;margin-top:.4rem;padding-top:.6rem;font-size:1rem;font-weight:700}.summary-fee-row{color:#888;font-size:.82rem}.summary-discount-row{color:#047857;font-weight:600}.fee-note{color:#aaa;margin-left:.25rem;font-size:.75rem}.summary-escrow-row{color:#888;border-top:1px dashed #e5e7eb;margin-top:.3rem;padding-top:.4rem;font-size:.82rem}.escrow-info-banner{color:#1a6645;background:#edfaf3;border:1px solid #b2dfdb;border-radius:10px;align-items:flex-start;gap:.6rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.8rem;line-height:1.5;display:flex}.escrow-banner-icon{color:#148550;flex-shrink:0;margin-top:1px;font-size:1.1rem}.cancellation-policy{color:#78350f;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.78rem;line-height:1.5;display:block}.cancellation-policy>summary{cursor:pointer;color:#92400e;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;list-style:none;display:flex}.cancellation-policy>summary::-webkit-details-marker{display:none}.cancellation-policy>summary:after{content:"▾";color:#b45309;margin-left:auto;font-size:.7rem;transition:transform .15s}.cancellation-policy[open]>summary{margin-bottom:.4rem}.cancellation-policy[open]>summary:after{transform:rotate(180deg)}.policy-icon{color:#f59e0b;flex-shrink:0;margin-top:2px;font-size:1rem}.cancellation-policy strong{color:#92400e;font-size:.8rem}.cancellation-policy ul{margin:0;padding-left:1rem}.cancellation-policy li{margin-bottom:.15rem}.summary-service-row{color:#333;border-bottom:1px solid #e5e7eb;margin-bottom:.2rem;padding-bottom:.4rem;font-weight:600}.test-mode-badge{color:#7a5c00;text-align:center;background:#fff8e1;border:1px solid #f5c518;border-radius:8px;margin-bottom:1.25rem;padding:.55rem 1rem;font-size:.8rem}.card-preview{color:#fff;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 60%,#0f3460 100%);border-radius:14px;flex-direction:column;justify-content:space-between;min-height:110px;margin-bottom:1.5rem;padding:1.2rem 1.4rem;font-family:Courier New,monospace;display:flex;box-shadow:0 8px 24px #0f346059}.card-chip{color:#f0d060;letter-spacing:.1em;font-size:1.1rem}.card-number-preview{letter-spacing:.12em;color:#ffffffe6;font-size:1.05rem}.card-bottom-preview{color:#ffffffbf;text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;font-size:.78rem;display:flex}.payment-form{flex-direction:column;gap:1rem;display:flex}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-group label{color:#444;text-transform:uppercase;letter-spacing:.04em;font-size:.8rem;font-weight:600}.form-group input{background:#fafafa;border:1.5px solid #e0e0e0;border-radius:9px;outline:none;padding:.7rem .9rem;font-family:inherit;font-size:.95rem;transition:border-color .18s}.form-group input:focus{background:#fff;border-color:#2ecc71}.card-input-wrap{position:relative}.card-input-wrap input{box-sizing:border-box;width:100%;padding-right:2.8rem}.card-brand-icon{pointer-events:none;font-size:1.1rem;position:absolute;top:50%;right:.85rem;transform:translateY(-50%)}.card-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.payment-error-msg{color:#c00;text-align:center;background:#fff0f0;border:1px solid #f5c6c6;border-radius:8px;padding:.75rem 1rem;font-size:.87rem}.payment-actions{gap:.75rem;margin-top:.25rem;display:flex}.cancel-btn{color:#666;cursor:pointer;background:0 0;border:1.5px solid #e0e0e0;border-radius:9px;flex:none;padding:.8rem 1.4rem;font-size:.9rem;font-weight:500;transition:background .15s}.cancel-btn:hover{background:#f5f5f5}.pay-btn{color:#fff;cursor:pointer;letter-spacing:.02em;background:linear-gradient(135deg,#2ecc71 0%,#27ae60 100%);border:none;border-radius:9px;flex:1;padding:.85rem;font-size:.98rem;font-weight:700;transition:transform .15s,box-shadow .15s}.pay-btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px #2ecc7159}.pay-btn:active{transform:translateY(0)}.payment-status-panel{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 1rem;display:flex}.payment-status-panel p{color:#222;margin:0;font-size:1.1rem;font-weight:600}.payment-status-sub{color:#888!important;font-size:.85rem!important;font-weight:400!important}.payment-success-icon{color:#fff;background:linear-gradient(135deg,#2ecc71,#27ae60);border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:1.6rem;font-weight:700;animation:.3s ease-out pm-pop;display:flex}@keyframes pm-pop{0%{opacity:0;transform:scale(.5)}80%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.security-notice{color:#aaa;justify-content:center;align-items:center;gap:.5rem;margin-top:1.25rem;font-size:.75rem;display:flex}@media (width<=768px){.payment-overlay{align-items:stretch;padding:0}.payment-content{max-width:none;height:100dvh;max-height:none;padding:1.5rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom,0px));border-radius:0}.card-row{grid-template-columns:1fr}.payment-actions{flex-direction:column}.cancel-btn{order:2}}.pm-saved-section{background:#f8faf9;border:1.5px solid #d9f2e6;border-radius:12px;margin:0 1.25rem 1rem;padding:.9rem}.pm-saved-title{color:#1a1a1a;align-items:center;gap:.4rem;margin-bottom:.6rem;font-size:.92rem;font-weight:700;display:flex}.pm-saved-card{cursor:pointer;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;align-items:center;gap:.55rem;margin-bottom:.45rem;padding:.55rem .7rem;font-size:.92rem;display:flex}.pm-saved-card--active{border-color:#1dbf73;box-shadow:0 0 0 2px #1dbf7326}.pm-saved-brand{text-transform:capitalize;font-weight:700}.pm-saved-exp{color:#6b7280;margin-left:auto;font-size:.85rem}.pm-saved-pay-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2ed573,#1dbf73);border:none;border-radius:10px;width:100%;margin-top:.35rem;padding:.8rem;font-size:.98rem;font-weight:700}.pm-saved-pay-btn:disabled{opacity:.6;cursor:default}.pm-saved-error{color:#c62828;margin:.35rem 0;font-size:.85rem}.pm-saved-divider{color:#9ca3af;align-items:center;gap:.6rem;margin-top:.8rem;font-size:.82rem;display:flex}.pm-saved-divider:before,.pm-saved-divider:after{content:"";background:#e5e7eb;flex:1;height:1px}.pm-save-card-row{color:#374151;cursor:pointer;align-items:center;gap:.5rem;margin:0 1.25rem .75rem;font-size:.88rem;display:flex}.pm-save-card-row input{accent-color:#1dbf73}.payment-guarantee-note{color:#6b7280;margin-top:6px;font-size:.82rem}.payment-guarantee-note a{color:#148550;font-weight:600;text-decoration:underline}.pm-native-wallet{margin-bottom:1rem}.pm-applepay-btn{color:#fff;letter-spacing:.01em;cursor:pointer;-webkit-appearance:none;background:#000;border:none;border-radius:10px;justify-content:center;align-items:center;width:100%;min-height:48px;font-size:1.15rem;font-weight:600;display:flex}.pm-applepay-btn:disabled{opacity:.55;cursor:default}.pm-applepay-error{color:#c62828;text-align:center;margin-top:.5rem;font-size:.85rem}.pm-wallet-divider{text-align:center;color:#9aa0a6;align-items:center;margin:.9rem 0 .2rem;font-size:.8rem;display:flex}.pm-wallet-divider:before,.pm-wallet-divider:after{content:"";background:#e6e8eb;flex:1;height:1px}.pm-wallet-divider span{padding:0 .75rem}
