.booking-flow-modal{z-index:var(--z-modal-backdrop);background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.booking-flow-content{background:var(--surface-white);width:100%;max-width:800px;max-height:90vh;box-shadow:var(--shadow-xl);border:1px solid var(--border-subtle);z-index:var(--z-modal-content);border-radius:16px;position:relative;overflow-y:auto}.close-btn{cursor:pointer;color:var(--text-secondary);z-index:10;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:32px;transition:all .2s;display:flex;position:absolute;top:20px;right:20px}.close-btn:hover{background:var(--bg-page);color:var(--text-main)}.booking-steps{border-bottom:1px solid var(--border-subtle);background:var(--bg-page);justify-content:space-between;padding:30px 40px;display:flex}.step{flex-direction:column;flex:1;align-items:center;gap:8px;display:flex;position:relative}.step:not(:last-child):after{content:"";background:var(--border-subtle);z-index:0;width:100%;height:2px;position:absolute;top:15px;left:50%}.step.active:not(:last-child):after,.step.completed:not(:last-child):after{background:var(--primary-blue)}.step-circle{background:var(--border-subtle);width:32px;height:32px;color:var(--text-secondary);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-weight:600;transition:all .3s;display:flex}.step.active .step-circle{background:var(--primary-blue);color:#fff}.step.completed .step-circle{background:var(--success-text);color:#fff}.step-label{color:var(--text-secondary);font-size:12px;font-weight:500}.step.active .step-label{color:var(--primary-blue);font-weight:600}.booking-flow-body{padding:40px}.booking-flow-body h2{color:var(--text-main);align-items:center;gap:10px;margin-bottom:24px;font-size:24px;display:flex}.booking-flow-body h3{color:var(--text-main);margin:24px 0 16px;font-size:18px}.item-summary{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:12px;margin-bottom:24px;padding:20px}.item-summary h3{margin-top:0;margin-bottom:16px}.flight-details p,.hotel-details p{color:var(--text-secondary);margin:8px 0}.price-breakdown{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:12px;margin-bottom:24px;padding:20px}.price-row{color:var(--text-secondary);justify-content:space-between;padding:8px 0;display:flex}.price-row.total{border-top:2px solid var(--border-subtle);color:var(--text-main);margin-top:8px;padding-top:16px;font-size:18px;font-weight:600}.form-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--text-main);align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.field-hint{color:var(--text-secondary);margin-left:auto;font-size:11px;font-weight:400}.field-help{color:var(--text-secondary);margin-top:4px;font-size:11px;display:block}.form-group input{border:1px solid var(--border-subtle);background:var(--surface-white);color:var(--text-main);border-radius:8px;padding:12px;font-size:14px;transition:all .2s}.form-group input:focus{border-color:var(--primary-blue);box-shadow:0 0 0 3px var(--glow-blue);outline:none}.security-note{color:var(--success-text);align-items:center;gap:6px;margin-bottom:24px;font-size:14px;display:flex}.total-summary{background:var(--bg-page);border:1px solid var(--border-subtle);color:var(--text-main);border-radius:8px;justify-content:space-between;align-items:center;margin:24px 0;padding:16px;font-size:18px;font-weight:600;display:flex}.total-amount{color:var(--primary-blue);font-size:24px}.form-actions{gap:12px;margin-top:24px;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:16px;font-weight:600;transition:all .2s;display:flex}.btn-primary{background:var(--primary-blue);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-blue-hover);box-shadow:var(--shadow-glow-blue);transform:translateY(-1px)}.btn-primary:disabled{background:var(--text-muted);cursor:not-allowed;opacity:.5}.btn-secondary{background:var(--bg-page);color:var(--text-main);border:1px solid var(--border-subtle)}.btn-secondary:hover:not(:disabled){background:var(--border-subtle)}.error-message{background:var(--error-bg);color:var(--error-text);border:1px solid var(--error-border);border-radius:8px;margin:16px 0;padding:12px;font-size:14px}.booking-confirmation{text-align:center;padding:40px 20px}.success-icon{background:var(--success-text);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 24px;display:flex}.booking-confirmation h2{color:var(--text-main);justify-content:center;margin-bottom:12px;font-size:28px}.booking-confirmation>p{color:var(--text-secondary);margin-bottom:32px;font-size:16px}.confirmation-details{background:var(--bg-page);text-align:left;border:1px solid var(--border-subtle);border-radius:12px;margin:24px 0;padding:24px}.confirmation-details p{color:var(--text-secondary);margin:12px 0}.confirmation-actions{justify-content:center;gap:12px;margin-top:32px;display:flex}.confirmation-actions .btn-primary,.confirmation-actions .btn-secondary{flex:0 auto;min-width:150px}.legal-acceptance{background:var(--bg-page);border:1px solid var(--border-subtle);border-radius:8px;margin:20px 0;padding:15px}.legal-acceptance h4{color:var(--text-main);margin-bottom:12px;font-size:14px;font-weight:600}.checkbox-label{cursor:pointer;color:var(--text-secondary);align-items:flex-start;gap:8px;margin-bottom:10px;font-size:13px;display:flex}.checkbox-label input{flex-shrink:0;margin-top:2px}.checkbox-label a{color:var(--primary-blue);text-decoration:underline}.checkbox-label a:hover{color:var(--primary-blue-hover)}@media (width<=1023px){.booking-flow-modal .form-group input{font-size:16px}}@media (width<=768px){.form-grid{grid-template-columns:1fr}.booking-flow-body{padding:24px}.booking-steps{padding:20px}.step-label{font-size:10px}.form-actions{flex-direction:column}}
