:root{--booking-primary:var(--thm-primary,#f66315);--booking-primary-dark:#e55a0d;--booking-primary-light:rgba(246,99,21,0.1);--booking-primary-gradient:linear-gradient(135deg,#f66315,#ff8c00);--booking-success:#10b981;--booking-success-light:#d1fae5;--booking-warning:#f59e0b;--booking-warning-light:#fef3c7;--booking-danger:#ef4444;--booking-danger-light:#fee2e2;--booking-muted:#64748b;--booking-light:#f8fafc;--booking-border:#e2e8f0;--booking-shadow:0 2px 8px rgba(0,0,0,0.08);--booking-shadow-lg:0 8px 24px rgba(246,99,21,0.15);--booking-shadow-primary:0 4px 15px rgba(246,99,21,0.35);--booking-radius:12px;--booking-radius-sm:8px;--booking-transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}.booking-page{padding:60px 0 100px;min-height:70vh}.booking-page,.booking-page--confirmed{background:#f8fafc}.booking-page--error{display:flex;align-items:center;justify-content:center}.booking-hero{position:relative;min-height:auto;display:flex;align-items:center;background:var(--dark-bg,#0d1b2a);padding:120px 0 80px;overflow:visible}.booking-hero__bg{position:absolute;inset:0;z-index:1}.booking-hero__bg-image{position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(246,99,21,.15) 0,transparent 50%),radial-gradient(circle at 70% 80%,rgba(246,99,21,.1) 0,transparent 50%)}.booking-hero__overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,27,42,.95),rgba(13,27,42,.85) 50%,rgba(13,27,42,.75));z-index:2}.booking-hero__particles{position:absolute;inset:0;z-index:3;background-image:radial-gradient(rgba(246,99,21,.15) 1px,transparent 0);background-size:50px 50px;animation:particleFloat 20s linear infinite}@keyframes particleFloat{0%{transform:translateY(0)}to{transform:translateY(-50px)}}.booking-hero__decor{position:absolute;z-index:4;pointer-events:none}.booking-hero__decor--plane{top:20%;right:10%;font-size:80px;opacity:.08;transform:rotate(-15deg);animation:planeFly 15s ease-in-out infinite}@keyframes planeFly{0%,to{transform:rotate(-15deg) translateY(0)}50%{transform:rotate(-10deg) translateY(-20px)}}.booking-hero__decor--circle{width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(246,99,21,.1) 0,transparent 70%);top:-100px;left:-100px;z-index:4;position:absolute}.booking-hero__content{position:relative;z-index:10;width:100%;max-width:1200px;margin:0 auto;padding:0 24px;text-align:center;overflow:visible}.booking-hero__breadcrumb{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px;font-size:14px;color:rgba(255,255,255,.7);animation:fadeInDown .6s ease forwards}.booking-hero__breadcrumb a{color:rgba(255,255,255,.7);text-decoration:none;transition:var(--booking-transition)}.booking-hero__breadcrumb a:hover{color:var(--booking-primary)}.booking-hero__breadcrumb-separator{color:rgba(255,255,255,.4)}.booking-hero__title{font-size:clamp(2rem,4vw,2.75rem);font-weight:800;color:#fff;margin:0 0 12px;line-height:1.1;animation:fadeInUp .6s ease .2s forwards;opacity:0}.booking-hero__title-highlight{background:linear-gradient(135deg,var(--thm-primary) 0,var(--thm-primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.booking-hero__subtitle{font-size:1rem;color:rgba(255,255,255,.7);max-width:520px;margin:0 auto 32px;line-height:1.6;animation:fadeInUp .6s ease .4s forwards;opacity:0}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.booking-steps{margin-bottom:50px;max-width:var(--container-max-width,1280px);margin-left:auto;margin-right:auto;padding:0 var(--container-padding,20px);display:flex;justify-content:center}.booking-steps__track{display:flex;justify-content:center;gap:0;max-width:700px;width:100%;margin:0 auto;background:white;padding:24px;border-radius:var(--booking-radius);box-shadow:var(--booking-shadow)}.booking-step{display:flex;align-items:center;flex:1 1;position:relative}.booking-step__connector{position:absolute;left:-50%;top:24px;width:100%;height:3px;background:var(--booking-border);transform:translateY(-50%);z-index:0;transition:var(--booking-transition);border-radius:2px}.booking-step__connector--active{background:var(--booking-primary-gradient);box-shadow:0 0 8px rgba(246,99,21,.3)}.booking-step__button{display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;cursor:default;position:relative;z-index:1;padding:0;width:100%}.booking-step--completed .booking-step__button{cursor:pointer}.booking-step__number{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;background:white;border:3px solid var(--booking-border);color:var(--booking-muted);transition:var(--booking-transition);box-shadow:0 2px 8px rgba(0,0,0,.05)}.booking-step--active .booking-step__number{background:var(--booking-primary-gradient);border-color:transparent;color:white;box-shadow:var(--booking-shadow-primary);transform:scale(1.1)}.booking-step--completed .booking-step__number,.booking-step--past .booking-step__number{background:var(--booking-success);border-color:var(--booking-success);color:white;box-shadow:0 2px 8px rgba(16,185,129,.3)}.booking-step__label{font-size:13px;font-weight:500;color:var(--booking-muted);transition:var(--booking-transition);margin-top:8px;font-family:var(--thm-font,"Montserrat",sans-serif)}.booking-step--active .booking-step__label{color:var(--booking-primary);font-weight:700}.booking-step--completed .booking-step__label,.booking-step--past .booking-step__label{color:var(--booking-success);font-weight:600}.booking-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;max-width:1200px;margin:0 auto}.booking-loading svg{color:var(--booking-primary);margin-bottom:12px;font-size:28px}.booking-loading p{color:var(--booking-muted);font-size:13px}.booking-error{text-align:center;padding:40px 20px;max-width:400px;margin:0 auto}.booking-error svg{font-size:48px;color:var(--booking-warning);margin-bottom:16px}.booking-error h2{font-size:20px;margin-bottom:8px;color:#1e293b}.booking-error p{color:var(--booking-muted);margin-bottom:20px;font-size:13px}.booking-error .btn{display:inline-flex;align-items:center;gap:6px;font-size:13px;padding:8px 16px}.booking-alert{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--booking-radius-sm);margin-bottom:16px;animation:slideDown .2s ease;max-width:1200px;margin-left:auto;margin-right:auto;font-size:13px}.booking-alert--error{background:var(--booking-danger-light);color:var(--booking-danger);border:1px solid rgba(239,68,68,.2)}.booking-alert span{flex:1 1}.booking-alert button{background:none;border:none;font-size:16px;cursor:pointer;opacity:.6;transition:opacity .15s;color:inherit;padding:0;line-height:1}.booking-alert button:hover{opacity:1}.booking-layout{display:grid;grid-template-columns:1fr 380px;grid-gap:30px;gap:30px;align-items:start;max-width:var(--container-max-width,1280px);margin:0 auto;padding:0 var(--container-padding,20px)}@media (max-width:1024px){.booking-layout{grid-template-columns:1fr;gap:24px}.booking-sidebar{position:static}}.booking-main{display:flex;flex-direction:column;gap:24px;overflow:visible;position:relative}.booking-main--loading{pointer-events:none}.booking-loading-overlay{position:absolute;inset:0;background:rgba(255,255,255,.95);border-radius:var(--booking-radius);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.booking-loading-content{text-align:center;padding:40px}.booking-loading-plane{width:64px;height:64px;margin:0 auto 16px;background:var(--booking-primary-gradient);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:planeBounce 1.5s ease-in-out infinite}.booking-loading-plane svg{font-size:28px;color:white;transform:rotate(-45deg)}.booking-loading-spinner{width:80px;height:80px;border:3px solid rgba(246,99,21,.2);border-top:3px solid var(--booking-primary);border-radius:50%;margin:-72px auto 24px;animation:spin 1s linear infinite}.booking-loading-content h3{font-size:20px;font-weight:700;color:var(--booking-dark);margin:0 0 8px}.booking-loading-content p{font-size:14px;color:var(--booking-muted);margin:0}.booking-sidebar{position:-webkit-sticky;position:sticky;top:100px}.booking-section{background:white;border-radius:var(--booking-radius);border:1px solid var(--booking-border);padding:20px;box-shadow:var(--booking-shadow);overflow:visible}.booking-section__title{font-size:22px;font-weight:700;color:var(--heading-color,#0d1b2a);margin-bottom:8px;font-family:var(--thm-font,"Montserrat",sans-serif);display:flex;align-items:center;gap:10px}.booking-section__title:before{content:"";width:4px;height:24px;background:var(--booking-primary-gradient);border-radius:2px}.booking-section__subtitle{color:var(--booking-muted);font-size:14px;margin-bottom:24px;line-height:1.5}.booking-flight-card{background:white;border-radius:var(--booking-radius);box-shadow:var(--booking-shadow)}.booking-flight-card__header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--booking-border);background:#fafbfc;border-radius:var(--booking-radius) var(--booking-radius) 0 0}.booking-flight-card__airline{display:flex;align-items:center;gap:10px}.booking-flight-card__airline .airline-logo{width:36px;height:36px;object-fit:contain;border-radius:6px}.booking-flight-card__airline .airline-logo-placeholder{width:36px;height:36px;background:var(--booking-primary-light);border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--booking-primary);font-size:16px}.booking-flight-card__airline .airline-info{display:flex;flex-direction:column}.booking-flight-card__airline .airline-name{font-weight:600;font-size:13px;color:#1e293b}.booking-flight-card__airline .flight-type{font-size:11px;color:var(--booking-muted)}.booking-flight-card__badges{display:flex;gap:6px}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:10px;font-weight:500}.badge--success{background:var(--booking-success-light);color:var(--booking-success)}.badge--muted{background:var(--booking-light);color:var(--booking-muted)}.booking-flight-card__legs{padding:16px}.booking-flight-card__divider{display:flex;align-items:center;justify-content:center;padding:12px 0;color:var(--booking-muted)}.booking-flight-card__divider svg{font-size:14px}.booking-leg{padding:12px 0}.booking-leg__header{display:flex;justify-content:space-between;margin-bottom:12px}.booking-leg__label{font-weight:600;color:var(--booking-primary);font-size:10px;text-transform:uppercase;letter-spacing:.5px}.booking-leg__date{font-size:11px;color:var(--booking-muted)}.booking-leg__route{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.booking-leg__airport{display:flex;flex-direction:column;min-width:70px}.booking-leg__airport:last-child{text-align:right}.booking-leg__time{font-size:18px;font-weight:700;color:#1e293b;line-height:1;margin-bottom:2px}.booking-leg__code{font-size:13px;font-weight:600;color:#334155}.booking-leg__city{font-size:11px;color:var(--booking-muted)}.booking-leg__path{flex:1 1;display:flex;flex-direction:column;align-items:center;padding:2px 16px}.booking-leg__duration{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--booking-muted);margin-bottom:6px}.booking-leg__line{position:relative;width:100%;display:flex;align-items:center;justify-content:center;height:16px}.booking-leg__line .line{position:absolute;width:100%;height:2px;background:var(--booking-border)}.booking-leg__line .line.active{background:var(--booking-primary)}.booking-leg__line .dot{position:absolute;font-size:6px}.booking-leg__line .dot.start{left:0;color:var(--booking-primary)}.booking-leg__line .plane{position:absolute;right:0;color:var(--booking-primary);font-size:12px;background:white;padding-left:4px}.booking-leg__line .stops{position:absolute;display:flex;gap:4px}.booking-leg__line .stops .dot{position:relative;color:var(--booking-warning);font-size:5px}.booking-leg__stops{font-size:10px;color:var(--booking-muted);margin-top:6px}.booking-leg__segments{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--booking-border)}.booking-segment{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--booking-light);border-radius:var(--booking-radius-sm);font-size:11px}.booking-segment__flight{font-weight:600;color:#1e293b}.booking-segment__route{color:var(--booking-muted)}.booking-segment__duration{color:var(--booking-muted);font-size:10px}.booking-flight-card__footer{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--booking-light);border-top:1px solid var(--booking-border);border-radius:0 0 var(--booking-radius) var(--booking-radius)}.booking-flight-card__baggage{display:flex;align-items:center;gap:10px;color:var(--booking-muted)}.booking-flight-card__baggage svg{font-size:14px}.booking-flight-card__baggage .baggage-info{display:flex;flex-direction:column;gap:1px;font-size:11px}.booking-flight-card__price{text-align:right}.booking-flight-card__price .price-label{display:block;font-size:10px;color:var(--booking-muted);margin-bottom:2px}.booking-flight-card__price .price-value{font-size:18px;font-weight:700;color:var(--booking-primary)}.passengers-list{display:flex;flex-direction:column;gap:12px;overflow:visible}.passenger-card{background:white;border-radius:var(--booking-radius);border:1px solid var(--booking-border);overflow:visible;transition:var(--booking-transition);box-shadow:var(--booking-shadow)}.passenger-card:hover{border-color:var(--booking-primary);box-shadow:var(--booking-shadow-lg);transform:translateY(-2px)}.passenger-card--complete{border-color:var(--booking-success);box-shadow:0 0 0 2px var(--booking-success-light)}.passenger-card__header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:rgba(246,99,21,.04);border:none;width:100%;cursor:pointer;text-align:left;transition:var(--booking-transition);border-radius:calc(var(--booking-radius) - 1px)}.passenger-card__header:hover{background:rgba(246,99,21,.08)}.passenger-card__icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:white;font-size:18px;flex-shrink:0;background:var(--booking-primary-gradient);box-shadow:var(--booking-shadow-primary)}.passenger-card__info{flex:1 1}.passenger-card__info h4{font-size:13px;font-weight:600;color:#1e293b;margin:0 0 2px}.passenger-card__meta{font-size:11px;color:var(--booking-muted);display:flex;align-items:center;gap:8px}.passenger-card__badge{background:var(--booking-success-light);color:var(--booking-success);padding:1px 6px;border-radius:4px;font-size:10px;font-weight:500}.passenger-card__toggle{color:var(--booking-muted);font-size:12px}.passenger-card__body{padding:24px;border-top:1px solid var(--booking-border);animation:fadeIn .15s ease;overflow:visible}.form-section{margin-bottom:16px;overflow:visible}.form-section:last-child{margin-bottom:0}.form-section__title{font-size:11px;font-weight:600;color:#64748b;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.form-section--document{background:var(--booking-light);border-radius:var(--booking-radius-sm);padding:0;margin-top:12px;overflow:visible}.form-section__toggle{display:flex;align-items:center;gap:10px;width:100%;padding:12px;background:none;border:none;cursor:pointer;text-align:left}.form-section__toggle-icon{width:32px;height:32px;border-radius:6px;background:linear-gradient(135deg,#fbbf24,#f59e0b);display:flex;align-items:center;justify-content:center;color:white;font-size:14px}.form-section__toggle-text{flex:1 1}.form-section__toggle-text h5{font-size:12px;font-weight:600;color:#1e293b;margin:0 0 2px}.form-section__toggle-text span{font-size:11px;color:var(--booking-muted)}.form-section__content{padding:0 12px 12px;animation:fadeIn .15s ease;overflow:visible}.form-grid{display:grid;grid-gap:12px;gap:12px;margin-bottom:12px;overflow:visible}.form-grid:last-child{margin-bottom:0}.form-grid--2{grid-template-columns:repeat(2,1fr)}.form-grid--3{grid-template-columns:repeat(3,1fr)}.form-field{display:flex;flex-direction:column;position:relative}.form-field label{font-size:11px;font-weight:500;color:#64748b;margin-bottom:4px;display:flex;align-items:center;gap:4px}.form-field label .required{color:var(--booking-danger)}.form-field .field-icon{color:var(--booking-muted);font-size:10px}.form-control{padding:12px 14px;border:2px solid var(--booking-border);border-radius:var(--booking-radius-sm);font-size:14px;color:var(--heading-color,#0d1b2a);background:white;transition:var(--booking-transition);width:100%;font-family:var(--thm-font,"Montserrat",sans-serif)}.form-control:focus{outline:none;border-color:var(--booking-primary);box-shadow:0 0 0 4px var(--booking-primary-light);transform:translateY(-1px)}.form-control::placeholder{color:#94a3b8}.form-control:disabled{background:var(--booking-light);cursor:not-allowed;opacity:.7}.form-control--verified{background:var(--booking-success-light)}.form-control--valid,.form-control--verified{border-color:var(--booking-success)}.form-control--valid:focus{box-shadow:0 0 0 2px var(--booking-success-light)}.form-control--invalid{border-color:var(--booking-danger)}.form-control--invalid:focus{box-shadow:0 0 0 2px var(--booking-danger-light)}.form-field__error{color:var(--booking-danger)}.form-field__error,.form-field__success{display:block;font-size:11px;margin-top:4px;animation:fadeIn .15s ease}.form-field__success{color:var(--booking-success)}select.form-control{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right 8px center;background-repeat:no-repeat;background-size:14px;padding-right:28px}.gender-buttons{display:flex;gap:6px}.gender-btn{flex:1 1;padding:8px 10px;border:1px solid var(--booking-border);border-radius:var(--booking-radius-sm);background:white;font-size:12px;font-weight:500;color:#64748b;cursor:pointer;transition:var(--booking-transition)}.gender-btn:hover{border-color:var(--booking-primary);background:var(--booking-primary-light)}.gender-btn--active{border-color:var(--booking-primary);background:var(--booking-primary);color:white}.contact-card{background:white;border-radius:var(--booking-radius);box-shadow:var(--booking-shadow);border:1px solid var(--booking-border);overflow:hidden}.contact-card__header{display:flex;align-items:center;gap:16px;padding:20px 24px;background:rgba(246,99,21,.05);border-bottom:1px solid var(--booking-border)}.contact-card__icon{width:48px;height:48px;border-radius:12px;background:var(--booking-primary-gradient);display:flex;align-items:center;justify-content:center;color:white;font-size:20px;box-shadow:var(--booking-shadow-primary)}.contact-card__header h3{font-size:18px;font-weight:700;color:var(--heading-color,#0d1b2a);margin:0 0 4px;font-family:var(--thm-font,"Montserrat",sans-serif)}.contact-card__header p{font-size:13px;color:var(--booking-muted);margin:0;line-height:1.4}.contact-card__body{padding:24px}.phone-verification{margin-top:12px}.phone-input-wrapper{display:flex;gap:8px;align-items:stretch}.phone-input-wrapper .form-control{flex:1 1}.form-control--phone,.send-otp-btn{font-size:13px}.send-otp-btn{display:flex;align-items:center;gap:8px;padding:10px 18px;background:var(--booking-primary-gradient);color:white;box-shadow:var(--booking-shadow-primary);font-weight:600;border:none;border-radius:var(--booking-radius-sm);cursor:pointer;transition:var(--booking-transition);white-space:nowrap;font-family:var(--thm-font,"Montserrat",sans-serif)}.send-otp-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--btn-primary-hover-shadow)}.send-otp-btn:disabled{background:#94a3b8;cursor:not-allowed}.send-otp-btn .countdown{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:24px}.phone-verified{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--booking-success-light);color:var(--booking-success);border-radius:var(--booking-radius-sm);font-size:12px;font-weight:500}.otp-section{margin-top:16px;padding:16px;background:var(--booking-primary-light);border-radius:var(--booking-radius);border:1px solid #bfdbfe;animation:slideDown .2s ease}.otp-section__header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.otp-section__header .otp-icon{font-size:20px;color:var(--booking-primary)}.otp-section__header h4{font-size:13px;font-weight:600;color:#1e293b;margin:0 0 2px}.otp-section__header p{font-size:11px;color:var(--booking-muted);margin:0}.otp-inputs{display:flex;justify-content:center;gap:8px;margin-bottom:12px}.otp-digit{width:40px;height:44px;border:1px solid var(--booking-border);border-radius:var(--booking-radius-sm);background:white;font-size:18px;font-weight:600;text-align:center;color:#1e293b;transition:var(--booking-transition)}.otp-digit:focus{outline:none;border-color:var(--booking-primary);box-shadow:0 0 0 2px var(--booking-primary-light)}.otp-digit--filled{border-color:var(--booking-primary);background:white}.otp-verifying{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--booking-primary);font-size:12px;margin-bottom:12px}.otp-hint{text-align:center;font-size:11px;color:var(--booking-muted)}.resend-link{background:none;border:none;color:var(--booking-primary);font-weight:500;cursor:pointer;padding:0;font-size:11px}.resend-link:disabled{color:var(--booking-muted);cursor:not-allowed}.datepicker{position:relative;z-index:10}.pf-card .datepicker{z-index:100}.datepicker__label{display:block;font-size:11px;font-weight:500;color:#64748b;margin-bottom:4px}.datepicker__label .required{color:var(--booking-danger);margin-left:2px}.datepicker__trigger{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:1px solid var(--booking-border);border-radius:var(--booking-radius-sm);background:white;font-size:13px;color:#94a3b8;cursor:pointer;transition:var(--booking-transition);text-align:left}.datepicker__trigger:hover{border-color:#cbd5e1}.datepicker__trigger--has-value{color:#1e293b}.datepicker__icon{color:var(--booking-muted);font-size:12px}.datepicker__dropdown{position:absolute;top:calc(100% + 4px);right:0;left:auto;z-index:1000;width:260px;background:white;border-radius:var(--booking-radius);box-shadow:0 4px 20px rgba(0,0,0,.15);border:1px solid var(--booking-border);padding:10px;animation:fadeIn .15s ease}.datepicker__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;gap:4px}.datepicker__nav{width:24px;height:24px;border:none;background:var(--booking-light);border-radius:4px;color:var(--booking-muted);cursor:pointer;transition:var(--booking-transition);display:flex;align-items:center;justify-content:center;font-size:10px;flex-shrink:0}.datepicker__nav:hover{background:var(--booking-primary-light);color:var(--booking-primary)}.datepicker__selects{display:flex;gap:4px;flex:1 1;justify-content:center}.datepicker__select{padding:4px 6px;border:1px solid var(--booking-border);border-radius:4px;background:white;font-size:11px;font-weight:500;color:#1e293b;cursor:pointer;max-width:80px}.datepicker__weekdays{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:1px;gap:1px;margin-bottom:2px}.datepicker__weekday{text-align:center;font-size:9px;font-weight:600;color:var(--booking-muted);padding:3px 0}.datepicker__days{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:1px;gap:1px}.datepicker__day{width:100%;aspect-ratio:1;border:none;background:none;border-radius:4px;font-size:11px;color:#1e293b;cursor:pointer;transition:var(--booking-transition);display:flex;align-items:center;justify-content:center;padding:0}.datepicker__day:hover:not(:disabled):not(.datepicker__day--empty){background:var(--booking-primary-light);color:var(--booking-primary)}.datepicker__day--empty{cursor:default}.datepicker__day--today{font-weight:600;background:var(--booking-light)}.datepicker__day--selected{background:var(--booking-primary)!important;color:white!important;font-weight:500}.datepicker__day--disabled{color:#cbd5e1;cursor:not-allowed}.datepicker__footer{display:flex;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--booking-border)}.datepicker__clear,.datepicker__today{padding:5px 10px;border:none;border-radius:4px;font-size:10px;font-weight:500;cursor:pointer;transition:var(--booking-transition)}.datepicker__today{background:var(--booking-primary);color:white}.datepicker__today:hover{background:var(--booking-primary-dark)}.datepicker__clear{background:var(--booking-light);color:var(--booking-muted)}.datepicker__clear:hover{background:#e2e8f0}.pricing-summary{background:white;border-radius:var(--booking-radius);box-shadow:var(--booking-shadow-lg);border:1px solid var(--booking-border);overflow:hidden;position:relative}.pricing-summary__timer{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;background:var(--booking-warning-light);color:#92400e;font-size:12px;font-weight:500;border-radius:var(--booking-radius) var(--booking-radius) 0 0}.pricing-summary__timer.expiring{background:var(--booking-danger-light);color:var(--booking-danger);animation:pulse 1s infinite}.pricing-summary__passengers{display:flex;align-items:center;gap:8px;color:var(--booking-muted);font-size:12px}.pricing-summary__breakdown,.pricing-summary__passengers{padding:12px 14px;border-bottom:1px solid var(--booking-border)}.breakdown-toggle{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0;background:none;border:none;font-size:12px;font-weight:500;color:var(--booking-primary);cursor:pointer}.breakdown-content{margin-top:12px;animation:slideDown .15s ease}.breakdown-row{display:flex;justify-content:space-between;padding:6px 0;font-size:12px;color:#475569}.breakdown-row.subtotal{padding-top:12px;margin-top:6px;border-top:1px dashed var(--booking-border);font-weight:500}.breakdown-section{margin-bottom:16px}.breakdown-section-title{font-size:11px;font-weight:600;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.breakdown-group{background:#f8fafc;border-radius:8px;padding:12px;margin-bottom:10px}.breakdown-group:last-child{margin-bottom:0}.breakdown-group-header{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;color:#1e293b;margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed #e2e8f0}.breakdown-group-details{display:flex;flex-direction:column;gap:4px}.breakdown-detail{display:flex;justify-content:space-between;font-size:11px;color:#64748b}.breakdown-detail--perp{color:var(--booking-primary);font-weight:500;margin-top:4px;padding-top:4px;border-top:1px solid #e2e8f0}.breakdown-summary{padding-top:12px;border-top:1px solid var(--booking-border)}.breakdown-summary-row{display:flex;justify-content:space-between;font-size:12px;padding:4px 0;color:#475569}.breakdown-summary-row:last-child{font-weight:500;color:#1e293b}.pricing-summary__total{padding:24px;background:var(--booking-primary);color:white;text-align:center}.pricing-summary__total .total-label{font-size:13px;opacity:.95;margin-bottom:6px;font-weight:500}.pricing-summary__total .total-amount{font-size:32px;font-weight:800;font-family:var(--thm-font,"Montserrat",sans-serif)}.pricing-summary__confirm-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:calc(100% - 32px);margin:20px 16px;padding:16px;background:var(--booking-success);color:white;border:none;border-radius:var(--booking-radius-sm);font-size:15px;font-weight:700;cursor:pointer;transition:var(--booking-transition);font-family:var(--thm-font,"Montserrat",sans-serif);box-shadow:0 4px 12px rgba(16,185,129,.3)}.pricing-summary__confirm-btn:hover:not(:disabled){background:#059669;transform:translateY(-2px);box-shadow:0 6px 20px rgba(16,185,129,.4)}.pricing-summary__confirm-btn:disabled{background:#cbd5e1;cursor:not-allowed;box-shadow:none;transform:none}.pricing-summary__confirm-btn--loading,.pricing-summary__confirm-btn:disabled:not(.pricing-summary__confirm-btn--loading){background:#cbd5e1}.pricing-summary__confirm-btn--loading{background:var(--booking-primary);cursor:wait;box-shadow:0 4px 12px rgba(246,99,21,.3)}.pricing-summary__confirm-btn--loading:disabled{background:var(--booking-primary);opacity:.9}.pricing-summary__confirm-btn .btn-spinner{font-size:18px;animation:spin 1s linear infinite}.pricing-summary__notice{padding:0 14px 14px;text-align:center}.pricing-summary__notice p{font-size:10px;color:var(--booking-muted);line-height:1.4}.pricing-summary--loading{position:relative;pointer-events:none}.pricing-summary__overlay{position:absolute;inset:0;background:rgba(255,255,255,.95);border-radius:var(--booking-radius);display:flex;align-items:center;justify-content:center;z-index:10;animation:fadeIn .3s ease}.pricing-summary__loading{text-align:center;padding:24px}.pricing-summary__loading-icon{position:relative;width:80px;height:80px;margin:0 auto 16px}.pricing-summary__loading-icon .plane-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:28px;color:var(--booking-primary);animation:planeBounce 1.5s ease-in-out infinite}.pricing-summary__loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;border:3px solid var(--booking-border);border-top-color:var(--booking-primary);border-radius:50%;animation:spin 1s linear infinite}.pricing-summary__loading-spinner svg{display:none}@keyframes spin{to{transform:translate(-50%,-50%) rotate(1turn)}}.pricing-summary__loading h4{font-size:16px;font-weight:700;color:#1e293b;margin-bottom:6px;font-family:var(--thm-font,"Montserrat",sans-serif)}.pricing-summary__loading p{font-size:13px;color:var(--booking-muted);line-height:1.4}.pricing-summary__confirm-btn svg{font-size:14px}.booking-confirmation{max-width:700px;width:100%;margin:0 auto;text-align:center;padding:0 20px}.booking-confirmation__hero{padding:32px 16px}.booking-confirmation__hero .success-icon{width:96px;height:96px;margin:0 auto 24px;background:var(--booking-success);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:scaleIn .4s ease;box-shadow:0 4px 15px rgba(16,185,129,.35)}.booking-confirmation__hero .success-icon svg{font-size:36px;color:white}.booking-confirmation__hero h1{font-size:24px;font-weight:700;color:#1e293b;margin-bottom:6px}.booking-confirmation__hero p{color:var(--booking-muted);font-size:13px}.booking-confirmation__pnr{background:var(--booking-primary);color:white;padding:32px;border-radius:var(--booking-radius);margin-bottom:32px;box-shadow:var(--booking-shadow-primary)}.booking-confirmation__pnr .pnr-label{font-size:12px;opacity:.95;margin-bottom:12px;text-transform:uppercase;letter-spacing:2px;font-weight:600}.booking-confirmation__pnr .pnr-value{font-size:42px;font-weight:800;letter-spacing:8px;font-family:Courier New,monospace}.booking-confirmation__pnr .pnr-note{font-size:12px;opacity:.9;margin-top:12px}.booking-confirmation__details{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin-bottom:32px}.detail-card{background:white;border-radius:var(--booking-radius);padding:24px 16px;box-shadow:var(--booking-shadow);border:1px solid var(--booking-border);display:flex;flex-direction:column;align-items:center;gap:12px;transition:var(--booking-transition);min-width:0}.detail-card:hover{transform:translateY(-2px);box-shadow:var(--booking-shadow-lg)}.detail-card .detail-icon{width:48px;height:48px;border-radius:12px;background:var(--booking-primary);display:flex;align-items:center;justify-content:center;color:white;font-size:18px;flex-shrink:0}.detail-card .detail-content{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;width:100%}.detail-card .detail-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px}.detail-card .detail-value{font-size:14px;text-align:center}.detail-card .detail-content{text-align:center}.detail-card .detail-label{display:block;font-size:10px;color:var(--booking-muted);margin-bottom:3px}.detail-card .detail-value{font-size:12px;font-weight:600;color:#1e293b;word-break:break-all}.detail-card .detail-value.status-confirmed{color:var(--booking-success);text-transform:capitalize}.booking-confirmation__summary{background:white;border-radius:var(--booking-radius);padding:20px;box-shadow:var(--booking-shadow);margin-bottom:24px;text-align:left}.booking-confirmation__summary h3{font-size:14px;font-weight:600;margin-bottom:16px;color:#1e293b}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.summary-item{padding:12px;background:var(--booking-light);border-radius:var(--booking-radius-sm)}.summary-item .label{display:block;font-size:10px;color:var(--booking-muted);margin-bottom:3px}.summary-item .value{font-size:13px;font-weight:500;color:#1e293b}.summary-item.total{background:rgba(246,99,21,.05);border:1px solid rgba(246,99,21,.2)}.summary-item.total .value{font-size:16px;font-weight:700;color:var(--booking-primary)}.booking-confirmation__actions{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.action-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--booking-radius-sm);font-size:13px;font-weight:500;text-decoration:none;transition:var(--booking-transition)}.action-btn--primary{background:var(--booking-primary-gradient);color:white;box-shadow:var(--booking-shadow-primary)}.action-btn--primary:hover{transform:translateY(-2px);box-shadow:var(--btn-primary-hover-shadow)}.action-btn--secondary{background:white;color:var(--booking-muted);border:2px solid var(--booking-border);box-shadow:0 2px 4px rgba(0,0,0,.05)}.action-btn--secondary:hover{background:var(--booking-light);border-color:var(--booking-primary);color:var(--booking-primary);transform:translateY(-1px)}.booking-confirmation__help{color:var(--booking-muted);font-size:12px}.booking-confirmation__help a{color:var(--booking-primary);text-decoration:none;font-weight:500;margin-left:4px}.booking-confirmation__help a:hover{text-decoration:underline}.booking-confirmation-layout{display:flex;flex-direction:column-reverse;gap:32px;max-width:900px;margin:0 auto;padding:0 20px;align-items:center}.booking-confirmation-layout--with-sidebar{max-width:1200px}@media (min-width:992px){.booking-confirmation-layout--with-sidebar{display:grid;grid-template-columns:1fr 380px;align-items:start}.booking-confirmation-layout--with-sidebar .booking-confirmation__sidebar{order:2}.booking-confirmation-layout--with-sidebar .booking-confirmation__main{order:1}}.booking-confirmation__main{width:100%;display:flex;justify-content:center}.booking-confirmation__sidebar{width:100%;max-width:400px}@media (min-width:992px){.booking-confirmation__sidebar{max-width:none}}.account-creation-prompt{background:white;border-radius:var(--booking-radius);padding:24px;box-shadow:var(--booking-shadow-lg);position:-webkit-sticky;position:sticky;top:24px}.account-creation-prompt__header{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px;position:relative}.account-creation-prompt__icon{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--booking-primary) 0,#1e40af 100%);display:flex;align-items:center;justify-content:center;color:white;font-size:18px;flex-shrink:0}.account-creation-prompt__header h3{font-size:18px;font-weight:700;color:#1e293b;margin-bottom:4px}.account-creation-prompt__header p{font-size:12px;color:var(--booking-muted)}.account-creation-prompt__close{position:absolute;top:0;right:0;background:none;border:none;color:var(--booking-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:4px;transition:var(--booking-transition)}.account-creation-prompt__close:hover{background:var(--booking-light);color:#1e293b}.account-creation-prompt__close:disabled{opacity:.5;cursor:not-allowed}.account-creation-prompt__benefits{margin-bottom:20px}.benefit-item{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--booking-border)}.benefit-item:last-child{border-bottom:none}.benefit-icon{color:var(--booking-primary);font-size:18px;margin-top:2px;flex-shrink:0}.benefit-item h4{font-size:13px;font-weight:600;color:#1e293b;margin-bottom:2px}.benefit-item p{font-size:11px;color:var(--booking-muted);line-height:1.4}.account-creation-prompt__actions{display:flex;flex-direction:column;gap:12px}.account-creation-prompt__actions .btn{width:100%;justify-content:center}.account-creation-prompt__note{font-size:11px;color:var(--booking-muted);text-align:center;line-height:1.4;margin:0}.account-creation-prompt__login{text-align:center;font-size:12px;color:var(--booking-muted)}.account-creation-prompt__login a{color:var(--booking-primary);text-decoration:none;font-weight:500;margin-left:4px}.account-creation-prompt__login a:hover{text-decoration:underline}.account-creation-prompt__form{display:flex;flex-direction:column;gap:16px;margin-bottom:8px}.account-creation-prompt__form .form-field{display:flex;flex-direction:column;gap:6px}.account-creation-prompt__form label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#1e293b}.account-creation-prompt__form label .field-icon{font-size:11px;color:var(--booking-primary)}.account-creation-prompt__form .required{color:var(--booking-danger)}.password-input-wrapper{position:relative;display:flex;align-items:center}.account-creation-prompt__form .form-control{width:100%;padding:10px 40px 10px 12px;border:1px solid var(--booking-border);border-radius:var(--booking-radius-sm);font-size:13px;transition:var(--booking-transition);background:white}.account-creation-prompt__form .form-control:focus{outline:none;border-color:var(--booking-primary);box-shadow:0 0 0 3px var(--booking-primary-light)}.account-creation-prompt__form .form-control--error{border-color:var(--booking-danger)}.password-toggle-btn{position:absolute;right:8px;background:none;border:none;color:var(--booking-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:var(--booking-transition)}.password-toggle-btn:hover{color:var(--booking-primary)}.form-hint{color:var(--booking-muted)}.form-error,.form-hint{font-size:10px;margin:0}.form-error{color:var(--booking-danger)}.password-strength{display:flex;align-items:center;gap:8px;margin-top:4px}.password-strength__bar{flex:1 1;height:4px;background:var(--booking-border);border-radius:2px;overflow:hidden}.password-strength__fill{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:2px}.password-strength__fill--0{width:0;background:transparent}.password-strength__fill--1{background:var(--booking-danger)}.password-strength__fill--2{background:#f59e0b}.password-strength__fill--3{background:#3b82f6}.password-strength__fill--4{background:var(--booking-success)}.password-strength__text{font-size:10px;font-weight:600;color:var(--booking-muted);min-width:40px;text-align:right}.password-strength__fill--1~.password-strength__text{color:var(--booking-danger)}.password-strength__fill--2~.password-strength__text{color:#f59e0b}.password-strength__fill--3~.password-strength__text{color:#3b82f6}.password-strength__fill--4~.password-strength__text{color:var(--booking-success)}.account-creation-prompt__success{text-align:center;padding:20px 0;margin-bottom:12px}.account-creation-prompt__success .success-icon{width:56px;height:56px;margin:0 auto 12px;background:linear-gradient(135deg,var(--booking-success) 0,#059669 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;font-size:24px}.account-creation-prompt__success h4{font-size:16px;font-weight:700;color:#1e293b;margin-bottom:6px}.account-creation-prompt__success p{font-size:12px;color:var(--booking-muted);margin:0;line-height:1.4}.account-creation-prompt__password-display{margin-bottom:16px}.password-display__header{margin-bottom:12px}.password-display__header h4{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:4px}.password-display__header p{font-size:11px;color:var(--booking-muted);line-height:1.4;margin:0}.password-display__input-wrapper{position:relative;margin-bottom:12px}.password-display__input{width:100%;padding:12px 100px 12px 12px;border:2px solid var(--booking-border);border-radius:var(--booking-radius-sm);font-size:13px;font-family:Courier New,monospace;background:var(--booking-light);color:#1e293b;font-weight:600;letter-spacing:1px}.password-display__input:focus{outline:none;border-color:var(--booking-primary)}.password-display__actions{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;gap:4px}.password-display__copy,.password-display__toggle{background:white;border:1px solid var(--booking-border);border-radius:4px;padding:6px 8px;cursor:pointer;display:flex;align-items:center;gap:4px;font-size:11px;color:var(--booking-muted);transition:var(--booking-transition)}.password-display__copy:hover,.password-display__toggle:hover{background:var(--booking-light);color:var(--booking-primary);border-color:var(--booking-primary)}.password-display__copy span{font-size:10px}.password-display__warning{display:flex;align-items:flex-start;gap:8px;padding:10px;background:var(--booking-warning-light);border-radius:var(--booking-radius-sm);font-size:11px;color:#92400e;line-height:1.4}.password-display__warning svg{color:var(--booking-warning);margin-top:2px;flex-shrink:0}.booking-nav{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:20px;border-top:1px solid var(--booking-border)}.nav-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:var(--booking-radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:var(--booking-transition);border:none;font-family:var(--thm-font,"Montserrat",sans-serif)}.nav-btn--back{background:white;color:var(--booking-muted);border:2px solid var(--booking-border);box-shadow:0 2px 4px rgba(0,0,0,.05)}.nav-btn--back:hover{background:var(--booking-light);border-color:var(--booking-primary);color:var(--booking-primary);transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.1)}.nav-btn--next{background:var(--booking-primary-gradient);color:white;box-shadow:var(--booking-shadow-primary)}.nav-btn--next:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--btn-primary-hover-shadow)}.nav-btn--next:disabled{background:#cbd5e1;cursor:not-allowed;box-shadow:none;transform:none}@media (max-width:1024px){.booking-layout{grid-template-columns:1fr}.booking-sidebar{position:relative;top:0}.booking-hero{padding:100px 0 60px}.booking-hero__decor--plane{font-size:60px;top:15%;right:5%}.booking-hero__decor--circle{width:300px;height:300px;top:-50px;left:-50px}}@media (max-width:768px){.booking-hero{padding:80px 0 50px}.booking-hero__title{font-size:2rem}.booking-hero__subtitle{font-size:.9rem;padding:0 20px}.booking-hero__breadcrumb{font-size:13px;padding:0 20px}.booking-hero__decor--plane{font-size:40px;opacity:.05}.booking-hero__decor--circle{width:200px;height:200px}.booking-page{padding:16px 0 40px}.booking-steps__track{max-width:100%;padding:16px}.booking-step__number{width:36px;height:36px;font-size:12px}.booking-step__connector{top:18px}.booking-step__label{font-size:11px}.booking-section{padding:16px}.form-grid--2,.form-grid--3{grid-template-columns:1fr}.phone-input-wrapper{flex-direction:column}.otp-inputs{gap:6px}.otp-digit{width:36px;height:40px;font-size:16px}.booking-leg__route{flex-direction:column;align-items:center;text-align:center}.booking-leg__airport:last-child{text-align:center}.booking-leg__path{width:100%;padding:16px 0}.booking-confirmation__details{grid-template-columns:1fr;gap:12px}.detail-card{flex-direction:row;text-align:left;padding:16px}.detail-card .detail-content{align-items:flex-start}.detail-card .detail-value{text-align:left;word-break:break-word}.booking-confirmation__pnr .pnr-value{font-size:28px;letter-spacing:4px}.booking-confirmation__actions{flex-direction:column}.action-btn{justify-content:center}.summary-grid{grid-template-columns:1fr}.gender-buttons{flex-direction:column}.datepicker__dropdown{width:240px;left:50%!important;right:auto!important;transform:translateX(-50%)}.booking-nav{flex-direction:column;gap:10px}.nav-btn{width:100%;justify-content:center}}.session-timer{display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:var(--booking-radius);border:1px solid var(--booking-border);margin-bottom:16px}.session-timer__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:white;border-radius:50%;color:var(--booking-primary);font-size:16px;box-shadow:0 2px 8px rgba(0,0,0,.05)}.session-timer__content{display:flex;flex-direction:column;gap:2px}.session-timer__label{font-size:11px;color:var(--booking-muted);text-transform:uppercase;letter-spacing:.5px}.session-timer__time{font-size:20px;font-weight:700;color:var(--booking-dark);font-family:var(--thm-font,"Montserrat",sans-serif);letter-spacing:1px}.session-timer__message{margin-left:auto;padding:6px 12px;background:rgba(246,99,21,.1);border-radius:var(--booking-radius-sm);font-size:11px;color:var(--booking-primary);font-weight:500}.session-timer--warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fbbf24}.session-timer--warning .session-timer__icon{color:#f59e0b}.session-timer--warning .session-timer__time{color:#b45309}.session-timer--urgent{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#f87171;animation:urgentPulse 1s ease-in-out infinite}.session-timer--urgent .session-timer__icon{color:var(--booking-danger);animation:shake .5s ease-in-out infinite}.session-timer--urgent .session-timer__time{color:var(--booking-danger)}.session-timer--expired{background:linear-gradient(135deg,#fee2e2,#fecaca);border-color:var(--booking-danger)}.session-timer--expired .session-timer__label,.session-timer--expired .session-timer__time{color:var(--booking-danger)}@keyframes urgentPulse{0%,to{opacity:1}50%{opacity:.8}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}@media (max-width:576px){.session-timer{flex-direction:column;text-align:center}.session-timer__message{margin-left:0;margin-top:8px}}.cbm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998;animation:fadeIn .2s ease}.cbm-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;max-width:480px;max-height:90vh;background:white;border-radius:var(--booking-radius);box-shadow:0 20px 60px rgba(0,0,0,.2);z-index:9999;overflow:hidden;animation:slideUpFade .3s ease}@keyframes slideUpFade{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.cbm-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--booking-border)}.cbm-title{font-size:18px;font-weight:600;color:var(--booking-dark);margin:0}.cbm-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;color:var(--booking-muted);cursor:pointer;border-radius:50%;transition:all .2s}.cbm-close:hover{background:var(--booking-bg);color:var(--booking-dark)}.cbm-body{padding:24px;max-height:calc(90vh - 80px);overflow-y:auto}.cbm-loading,.cbm-processing{text-align:center;padding:40px 20px}.cbm-loading-icon,.cbm-processing-icon{font-size:40px;color:var(--booking-primary);margin-bottom:16px}.cbm-loading p,.cbm-processing h4{color:var(--booking-dark);margin-bottom:8px}.cbm-processing p{font-size:14px;color:var(--booking-muted)}.cbm-error{text-align:center;padding:24px}.cbm-error-icon{font-size:48px;color:var(--booking-danger);margin-bottom:16px}.cbm-error h4{font-size:18px;color:var(--booking-dark);margin-bottom:8px}.cbm-error p{color:var(--booking-muted);margin-bottom:20px}.cbm-retry-btn{padding:10px 24px;background:var(--booking-primary);color:white;border:none;border-radius:var(--booking-radius-sm);cursor:pointer;font-weight:500;transition:all .2s}.cbm-retry-btn:hover{background:#e55a10}.cbm-warning{gap:10px;padding:12px 16px;background:rgba(239,68,68,.1);color:var(--booking-danger);font-size:14px}.cbm-deadline,.cbm-warning{display:flex;align-items:center;border-radius:var(--booking-radius-sm);font-weight:500;margin-bottom:16px}.cbm-deadline{gap:8px;padding:10px 14px;background:rgba(245,158,11,.1);color:#b45309;font-size:13px}.cbm-summary{background:var(--booking-bg);border-radius:var(--booking-radius-sm);padding:16px;margin-bottom:16px}.cbm-summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:14px;color:var(--booking-dark)}.cbm-summary-row--penalty{color:var(--booking-danger)}.cbm-summary-divider{height:1px;background:var(--booking-border);margin:8px 0}.cbm-summary-row--total{font-weight:600;font-size:16px;color:var(--booking-success)}.cbm-info{display:flex;align-items:flex-start;gap:10px;padding:12px;background:rgba(59,130,246,.1);border-radius:var(--booking-radius-sm);margin-bottom:20px}.cbm-info svg{color:#3b82f6;flex-shrink:0;margin-top:2px}.cbm-info span{font-size:13px;color:#1e40af;line-height:1.5}.cbm-confirm-warning{display:flex;gap:16px;padding:16px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);border-radius:var(--booking-radius-sm);margin-bottom:20px}.cbm-confirm-warning svg{color:var(--booking-danger);font-size:24px;flex-shrink:0}.cbm-confirm-warning h4{font-size:15px;color:var(--booking-dark);margin:0 0 6px}.cbm-confirm-warning p{font-size:13px;color:var(--booking-muted);margin:0;line-height:1.5}.cbm-confirm-warning strong{color:var(--booking-success)}.cbm-reason{margin-bottom:16px}.cbm-reason label{display:block;font-size:13px;font-weight:500;color:var(--booking-dark);margin-bottom:8px}.cbm-reason textarea{width:100%;padding:12px;border:1px solid var(--booking-border);border-radius:var(--booking-radius-sm);font-size:14px;resize:vertical;font-family:inherit}.cbm-reason textarea:focus{outline:none;border-color:var(--booking-primary)}.cbm-checkbox{display:flex;align-items:flex-start;gap:10px;margin-bottom:20px}.cbm-checkbox input{margin-top:2px;accent-color:var(--booking-primary)}.cbm-checkbox label{font-size:13px;color:var(--booking-muted);line-height:1.5;cursor:pointer}.cbm-inline-error{display:flex;align-items:center;gap:8px;padding:10px 12px;background:rgba(239,68,68,.1);border-radius:var(--booking-radius-sm);color:var(--booking-danger);font-size:13px;margin-bottom:16px}.cbm-actions{display:flex;gap:12px;justify-content:flex-end}.cbm-btn{padding:12px 24px;border:none;border-radius:var(--booking-radius-sm);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.cbm-btn:disabled{opacity:.5;cursor:not-allowed}.cbm-btn--primary{background:var(--booking-primary);color:white}.cbm-btn--primary:hover:not(:disabled){background:#e55a10}.cbm-btn--secondary{background:var(--booking-bg);color:var(--booking-dark)}.cbm-btn--secondary:hover:not(:disabled){background:var(--booking-border)}.cbm-btn--danger{background:var(--booking-danger);color:white}.cbm-btn--danger:hover:not(:disabled){background:#dc2626}.cbm-success{text-align:center;padding:20px}.cbm-success-icon{width:64px;height:64px;background:var(--booking-success-light);color:var(--booking-success);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 20px}.cbm-success h4{font-size:18px;color:var(--booking-dark);margin-bottom:12px}.cbm-success-refund{font-size:15px;color:var(--booking-dark);margin-bottom:8px}.cbm-success-refund strong{color:var(--booking-success);font-size:18px}.cbm-success-message{font-size:13px;color:var(--booking-muted);margin-bottom:24px;line-height:1.5}@media (max-width:576px){.cbm-modal{width:95%;max-height:95vh}.cbm-actions{flex-direction:column}.cbm-btn{width:100%}}.bsn{padding:20px 0 40px}.bsn-track{max-width:700px;margin:0 auto}.bsn-step{flex-direction:column}.bsn-connector{top:24px;width:100%}.bsn-button{cursor:pointer}.bsn-button:disabled{cursor:default}.bsn-number{width:48px;height:48px;background:white;border:3px solid var(--booking-border);font-size:18px;font-weight:700;transition:var(--booking-transition)}.bsn-step--past .bsn-number{border-color:var(--booking-success);background:var(--booking-success);color:white}.bsn-info{display:flex;flex-direction:column;align-items:center;gap:2px}.bsn-step--completed .bsn-label,.bsn-step--past .bsn-label{color:var(--booking-success)}.bsn-desc{font-size:12px;color:#94a3b8}@media (max-width:576px){.bsn-number{width:40px;height:40px;font-size:16px}.bsn-label{font-size:12px}.bsn-desc{display:none}.bsn-connector{top:20px}}.frc{background:white;border:1px solid var(--booking-border);border-radius:var(--booking-radius);overflow:hidden;margin-bottom:24px}.frc-header{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;background:linear-gradient(135deg,#fef3cd,#fff8e1);border-bottom:1px solid #fbbf24}.frc-header-icon{font-size:20px;color:#b45309;margin-top:2px}.frc-title{font-size:15px;font-weight:600;color:#92400e;margin:0 0 2px}.frc-subtitle{font-size:12px;color:#b45309;margin:0}.frc-rules{padding:16px 20px;flex-direction:column}.frc-rule,.frc-rules{display:flex;gap:12px}.frc-rule{align-items:center;padding:12px 16px;background:var(--booking-light);border-radius:var(--booking-radius-sm);border:1px solid var(--booking-border)}.frc-rule--yes{background:#f0fdf4;border-color:#bbf7d0}.frc-rule--no{background:#fef2f2;border-color:#fecaca}.frc-rule-icon{width:36px;height:36px;border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--booking-muted);flex-shrink:0}.frc-rule--yes .frc-rule-icon{color:var(--booking-success)}.frc-rule--no .frc-rule-icon{color:var(--booking-danger)}.frc-rule-content{flex:1 1;display:flex;flex-direction:column;gap:2px}.frc-rule-label{font-size:14px;font-weight:600;color:var(--booking-dark,#1e293b)}.frc-rule-value{font-size:12px;color:var(--booking-muted)}.frc-rule-status{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px}.frc-rule--yes .frc-rule-status{background:var(--booking-success);color:white}.frc-rule--no .frc-rule-status{background:var(--booking-danger);color:white}.frc-warning{display:flex;align-items:center;gap:10px;padding:12px 20px;background:#fef2f2;border-top:1px solid #fecaca;font-size:13px;color:var(--booking-danger)}.frc-warning svg{flex-shrink:0}@media (max-width:576px){.frc-header,.frc-rules{padding:14px 16px}.frc-rule{padding:10px 12px}}.bp{min-height:100vh;display:flex;flex-direction:column;background:#f8fafc}.bp-container{max-width:900px;margin:0 auto;padding:0 20px;width:100%}.bh{background:linear-gradient(135deg,var(--booking-primary) 0,#e85d04 100%);padding:12px 0;position:-webkit-sticky;position:sticky;top:0;z-index:100;box-shadow:0 4px 12px rgba(246,99,21,.25)}.bh-inner{max-width:1200px;margin:0 auto;padding:0 20px;justify-content:space-between;gap:20px}.bh-inner,.bh-left{display:flex;align-items:center}.bh-left{gap:16px;flex:1 1;min-width:0}.bh-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:rgba(255,255,255,.15);border:none;border-radius:10px;color:white;cursor:pointer;transition:all .2s ease;flex-shrink:0}.bh-back:hover{background:rgba(255,255,255,.25)}.bh-route{display:flex;align-items:center;gap:12px;min-width:0}.bh-airline-logo{width:32px;height:32px;border-radius:6px;object-fit:contain;background:white;padding:2px;flex-shrink:0}.bh-route-info{display:flex;flex-direction:column;gap:2px;min-width:0}.bh-route-codes{display:flex;align-items:center;gap:8px;color:white;font-weight:600;font-size:16px}.bh-code{font-family:SF Mono,Consolas,monospace;letter-spacing:.5px}.bh-plane{font-size:12px;opacity:.8}.bh-plane--return{transform:rotate(180deg)}.bh-route-meta{gap:8px;color:rgba(255,255,255,.85);font-size:12px}.bh-meta-item,.bh-route-meta{display:flex;align-items:center}.bh-meta-item{gap:4px}.bh-meta-item svg{font-size:10px;opacity:.8}.bh-meta-divider{opacity:.5}.bh-right{flex-shrink:0}.bh-timer{display:flex;align-items:center;gap:8px;padding:10px 16px;background:rgba(255,255,255,.15);border-radius:10px;color:white;font-size:13px}.bh-timer--safe{background:rgba(16,185,129,.2)}.bh-timer--warning{background:rgba(245,158,11,.3);animation:pulse 2s infinite}.bh-timer--danger{background:rgba(239,68,68,.3);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.bh-timer-label{font-size:11px;opacity:.9}.bh-timer-value{font-weight:700;font-family:SF Mono,Consolas,monospace;font-size:15px}.bp-steps-wrapper{background:white;border-bottom:1px solid var(--booking-border);padding:16px 0}.bsn{padding:0}.bsn-track{display:flex;align-items:flex-start;justify-content:center;gap:0}.bsn-step{display:flex;align-items:center;position:relative;flex:1 1;max-width:200px}.bsn-connector{position:absolute;left:-50%;right:50%;top:20px;height:3px;background:var(--booking-border);z-index:0}.bsn-connector--active{background:var(--booking-primary)}.bsn-button{display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:none;cursor:default;padding:0;width:100%;position:relative;z-index:1}.bsn-step--completed .bsn-button,.bsn-step--past .bsn-button{cursor:pointer}.bsn-number{width:40px;height:40px;border-radius:50%;background:var(--booking-light);border:2px solid var(--booking-border);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--booking-muted);transition:all .3s ease}.bsn-step--active .bsn-number{background:var(--booking-primary);border-color:var(--booking-primary);color:white;box-shadow:0 4px 12px rgba(246,99,21,.3);transform:scale(1.1)}.bsn-step--completed .bsn-number{background:var(--booking-success);border-color:var(--booking-success);color:white}.bsn-info{text-align:center}.bsn-label{display:block;font-size:14px;font-weight:600;color:var(--booking-muted);margin-bottom:2px}.bsn-step--active .bsn-label{color:var(--booking-primary)}.bsn-step--completed .bsn-label{color:var(--booking-success)}.bsn-desc{display:block;font-size:11px;color:var(--booking-muted);opacity:.8}.bp-main{flex:1 1;padding:24px 0 120px}.bp-step-content{display:flex;flex-direction:column;gap:20px}.bp-section{background:white;border-radius:var(--booking-radius);box-shadow:var(--booking-shadow);overflow:visible}.bp-section-header{padding:20px 24px;border-bottom:1px solid var(--booking-border)}.bp-section-title{font-size:18px;font-weight:700;color:#1e293b;margin:0 0 4px}.bp-section-subtitle{font-size:13px;color:var(--booking-muted);margin:0}.bp-passengers-list{padding:20px 24px;display:flex;flex-direction:column;gap:20px;overflow:visible}.bp-acknowledge{background:white;border-radius:var(--booking-radius);padding:20px 24px;box-shadow:var(--booking-shadow)}.bp-acknowledge-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.bp-acknowledge-label input{display:none}.bp-acknowledge-check{width:22px;height:22px;border:2px solid var(--booking-border);border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease;margin-top:2px}.bp-acknowledge-label input:checked+.bp-acknowledge-check{background:var(--booking-primary);border-color:var(--booking-primary)}.bp-acknowledge-label input:checked+.bp-acknowledge-check:after{content:"✓";color:white;font-size:12px;font-weight:700}.bp-acknowledge-text{font-size:14px;color:#475569;line-height:1.5}.bp-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:20px;gap:20px;padding:20px 24px}.bp-summary-card{background:var(--booking-light);border-radius:var(--booking-radius-sm);padding:16px}.bp-summary-card-title{font-size:14px;font-weight:600;color:var(--booking-primary);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.bp-summary-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--booking-border)}.bp-summary-row:last-child{border-bottom:none}.bp-summary-label{font-size:13px;color:var(--booking-muted)}.bp-summary-value{font-size:13px;font-weight:500;color:#1e293b}.bf{position:fixed;bottom:0;left:0;right:0;background:white;border-top:1px solid var(--booking-border);box-shadow:0 -4px 20px rgba(0,0,0,.08);z-index:100}.bf-inner{max-width:900px;margin:0 auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.bf-price-section{flex:1 1;min-width:0}.bf-price-toggle{display:flex;align-items:center;gap:12px;background:none;border:none;cursor:pointer;padding:0;text-align:left}.bf-price-main{display:flex;flex-direction:column;gap:2px}.bf-price-label{font-size:12px;color:var(--booking-muted);text-transform:uppercase;letter-spacing:.5px}.bf-price-amount{font-size:22px;font-weight:700;color:#1e293b}.bf-price-chevron{color:var(--booking-muted);font-size:12px}.bf-breakdown{position:absolute;bottom:100%;left:0;right:0;background:white;border-top:1px solid var(--booking-border);box-shadow:0 -4px 20px rgba(0,0,0,.1);padding:20px;animation:slideUp .2s ease}.bf-breakdown-header{font-size:14px;font-weight:600;color:#1e293b;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--booking-border)}.bf-breakdown-group{margin-bottom:16px;padding-bottom:12px;border-bottom:1px dashed var(--booking-border)}.bf-breakdown-group:last-of-type{margin-bottom:12px}.bf-breakdown-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px;color:#475569}.bf-breakdown-row--group-header{font-weight:600;color:#1e293b;padding-bottom:8px}.bf-breakdown-row--detail{color:var(--booking-muted);font-size:12px;padding-left:12px}.bf-breakdown-row--per-person{color:var(--booking-primary);font-size:12px;font-weight:500;padding-left:12px;border-top:1px dotted var(--booking-border);margin-top:4px;padding-top:6px}.bf-breakdown-summary{margin-top:12px;padding-top:12px;border-top:2px solid var(--booking-border)}.bf-breakdown-row--sub{color:var(--booking-muted);font-size:12px}.bf-breakdown-row--total{margin-top:8px;padding-top:12px;border-top:1px solid var(--booking-border);font-weight:700;color:#1e293b;font-size:15px}.bf-actions{gap:12px}.bf-actions,.bf-btn{display:flex;align-items:center}.bf-btn{gap:8px;padding:14px 24px;border-radius:var(--booking-radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.bf-btn--back{background:var(--booking-light);color:var(--booking-muted);border:1px solid var(--booking-border)}.bf-btn--back:hover:not(:disabled){background:#f1f5f9;color:#475569}.bf-btn--primary{background:var(--booking-primary);color:white;box-shadow:0 4px 12px rgba(246,99,21,.25)}.bf-btn--primary:hover:not(:disabled){background:var(--booking-primary-dark);transform:translateY(-1px);box-shadow:0 6px 16px rgba(246,99,21,.35)}.bf-btn--confirm{background:var(--booking-success);box-shadow:0 4px 12px rgba(16,185,129,.25)}.bf-btn--confirm:hover:not(:disabled){background:#059669}.bf-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.bf-validation{position:absolute;bottom:100%;right:20px;background:var(--booking-warning-light);color:#92400e;padding:10px 16px;border-radius:var(--booking-radius-sm);font-size:12px;margin-bottom:8px;box-shadow:var(--booking-shadow)}.bp--loading{display:flex;align-items:center;justify-content:center}.bp-loading-content{text-align:center;padding:60px 20px}.bp-loading-plane{font-size:48px;color:var(--booking-primary);margin-bottom:16px;animation:planeBounce 2s ease-in-out infinite}@keyframes planeBounce{0%,to{transform:translateY(0) rotate(-10deg)}50%{transform:translateY(-10px) rotate(10deg)}}.bp-loading-spinner{margin-bottom:20px;color:var(--booking-primary)}.bp-loading-content h2{font-size:20px;color:#1e293b;margin:0 0 8px}.bp-loading-content p{font-size:14px;color:var(--booking-muted);margin:0}.bp-loading-inline{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--booking-primary)}.bp-loading-inline p{margin-top:16px;color:var(--booking-muted)}.bp--error{display:flex;align-items:center;justify-content:center}.bp-error-content{text-align:center;padding:60px 20px;max-width:400px}.bp-error-icon{font-size:48px;color:var(--booking-danger);margin-bottom:20px}.bp-error-content h2{font-size:20px;color:#1e293b;margin:0 0 12px}.bp-error-content p{font-size:14px;color:var(--booking-muted);margin:0 0 24px}.bp-error-btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--booking-primary);color:white;border:none;border-radius:var(--booking-radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.bp-error-btn:hover{background:var(--booking-primary-dark)}.bp-alert{display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:var(--booking-radius-sm);margin-bottom:20px;font-size:14px}.bp-alert--error{background:var(--booking-danger-light);color:#991b1b;border:1px solid #fecaca}.bp-alert button{margin-left:auto;background:none;border:none;font-size:18px;cursor:pointer;opacity:.6}.bp-alert button:hover{opacity:1}.bp-error-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}.bp-error-modal{background:white;border-radius:16px;max-width:440px;width:100%;padding:32px;text-align:center;position:relative;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.bp-error-modal__close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer;padding:4px;transition:color .2s}.bp-error-modal__close:hover{color:#64748b}.bp-error-modal__icon{width:64px;height:64px;margin:0 auto 20px;background:#fef2f2;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;color:#dc2626}.bp-error-modal__title{font-size:20px;font-weight:600;color:#1e293b;margin:0 0 12px}.bp-error-modal__message{font-size:14px;color:#64748b;margin:0 0 24px;line-height:1.6}.bp-error-modal__actions{display:flex;flex-direction:column;gap:12px}.bp-error-modal__btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.bp-error-modal__btn--primary{background:var(--booking-primary);color:white}.bp-error-modal__btn--primary:hover{background:var(--booking-primary-dark)}.bp-error-modal__btn--secondary{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0}.bp-error-modal__btn--secondary:hover{background:#e2e8f0}.bp-error-modal__note{font-size:12px;color:#94a3b8;margin:16px 0 0;font-style:italic}.bp--confirmed{background:linear-gradient(180deg,#f0fdf4,#f8fafc);min-height:100vh}.bp--confirmed .bp-container{max-width:1100px}.bp-success-header{text-align:center;padding:48px 20px 32px}.bp-success-icon{font-size:56px;color:var(--booking-success);margin-bottom:16px;animation:scaleIn .5s ease}.bp-success-title{font-size:26px;font-weight:700;color:#1e293b;margin:0 0 8px}.bp-success-subtitle{font-size:15px;color:var(--booking-muted);max-width:500px;margin:0 auto}.bp-confirmed-layout{padding-bottom:60px}.bp-confirmed-layout--with-sidebar{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:32px;gap:32px;align-items:start}.bp-confirmed-main{min-width:0;width:100%}.bp-confirmed-sidebar{position:-webkit-sticky;position:sticky;top:100px}.bp-confirm-overlay{position:fixed;inset:0;background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:center;z-index:200}.bp-confirm-loading{text-align:center}.bp-confirm-loading h3{font-size:18px;color:#1e293b;margin:0 0 8px}.bp-confirm-loading p{font-size:14px;color:var(--booking-muted);margin:0}@media (max-width:768px){.bh-inner{flex-direction:column;align-items:stretch;gap:12px;padding:12px 16px}.bh-left{flex-direction:row;justify-content:space-between}.bh-right{display:flex}.bh-right,.bh-timer{justify-content:center}.bh-timer{width:100%}.bh-route-codes{font-size:14px}.bh-route-meta{display:none}.bsn-track{gap:8px}.bsn-step{max-width:none}.bsn-number{width:36px;height:36px}.bsn-label,.bsn-number{font-size:12px}.bsn-desc{display:none}.bsn-connector{top:18px}.bp-main{padding:16px 0 140px}.bp-container{padding:0 16px}.bp-passengers-list,.bp-section-header{padding:16px}.bp-summary-grid{grid-template-columns:1fr;padding:16px}.bf-inner{flex-direction:column;gap:16px;padding:16px}.bf-price-toggle{width:100%;justify-content:space-between}.bf-actions{width:100%}.bf-btn{flex:1 1;justify-content:center;padding:14px 16px}.bp-confirmed-layout--with-sidebar{grid-template-columns:1fr;gap:24px}.bp-confirmed-sidebar{position:static;max-width:100%}.bp-success-header{padding:40px 16px 30px}.bp-success-icon{font-size:48px}.bp-success-title{font-size:22px}}@media (max-width:900px){.bp-confirmed-layout--with-sidebar{grid-template-columns:1fr;gap:24px}.bp-confirmed-sidebar{position:static}}.fsc{background:white;border-radius:var(--booking-radius);box-shadow:var(--booking-shadow);overflow:hidden;transition:all .3s ease}.fsc--expanded{box-shadow:0 4px 20px rgba(0,0,0,.1)}.fsc-header{justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--booking-border)}.fsc-airline,.fsc-header{display:flex;align-items:center}.fsc-airline{gap:12px}.fsc-airline-logo{object-fit:contain;padding:4px}.fsc-airline-logo,.fsc-airline-placeholder{width:40px;height:40px;border-radius:8px;background:var(--booking-light)}.fsc-airline-placeholder{display:flex;align-items:center;justify-content:center;color:var(--booking-muted)}.fsc-airline-info{display:flex;flex-direction:column;gap:2px}.fsc-airline-name{font-size:15px;font-weight:600;color:#1e293b}.fsc-flight-type{font-size:12px;color:var(--booking-muted)}.fsc-quick-info{gap:12px}.fsc-quick-info,.fsc-tag{display:flex;align-items:center}.fsc-tag{gap:6px;padding:6px 12px;background:var(--booking-light);border-radius:20px;font-size:12px;color:var(--booking-muted)}.fsc-tag svg{font-size:10px}.fsc-price{font-size:18px;font-weight:700;color:var(--booking-primary)}.fsc-legs{padding:20px 24px}.fsc-leg{margin-bottom:20px}.fsc-leg:last-child{margin-bottom:0}.fsc-leg-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.fsc-leg-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--booking-primary)}.fsc-leg-airline{display:flex;align-items:center;gap:10px}.fsc-leg-airline-logo{width:24px;height:24px;object-fit:contain;border-radius:4px}.fsc-leg-airline-placeholder{width:24px;height:24px;background:var(--booking-primary-light,#fff5eb);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--booking-primary);font-size:10px}.fsc-leg-airline-info{display:flex;flex-direction:column;gap:2px}.fsc-leg-airline-name{font-size:13px;font-weight:600;color:var(--booking-text)}.fsc-leg-airline-code{font-size:11px;color:var(--booking-text-muted)}.fsc-leg-route-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--booking-primary);margin-bottom:8px;padding-left:34px}.fsc-airline-placeholder--multi{background:linear-gradient(135deg,var(--booking-primary) 0,#f59e0b 100%);color:white}.fsc-leg-date{font-size:13px;color:var(--booking-muted)}.fsc-leg-main{display:flex;align-items:center;gap:16px}.fsc-leg-endpoint{display:flex;flex-direction:column;align-items:flex-start;min-width:80px}.fsc-leg-endpoint--end{align-items:flex-end}.fsc-leg-time{font-size:20px;font-weight:700;color:#1e293b;line-height:1;margin-bottom:4px}.fsc-leg-code{font-size:14px;font-weight:600;color:#475569;letter-spacing:.5px}.fsc-leg-city{font-size:11px;color:var(--booking-muted)}.fsc-leg-visual{flex:1 1;flex-direction:column}.fsc-leg-duration,.fsc-leg-visual{display:flex;align-items:center;gap:4px}.fsc-leg-duration{font-size:11px;color:var(--booking-muted)}.fsc-leg-duration svg{font-size:9px}.fsc-leg-line{display:flex;align-items:center;width:100%;position:relative}.fsc-leg-dot{font-size:8px;color:var(--booking-primary);z-index:1}.fsc-leg-track{flex:1 1;height:2px;background:linear-gradient(90deg,var(--booking-primary),var(--booking-primary-dark));position:relative}.fsc-leg-stops-dots{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;gap:8px}.fsc-leg-stop-dot{width:6px;height:6px;border-radius:50%;background:white;border:2px solid var(--booking-primary)}.fsc-leg-plane{font-size:14px;color:var(--booking-primary);z-index:1}.fsc-leg-stops{font-size:11px;color:var(--booking-muted)}.fsc-divider{height:1px;background:var(--booking-border);margin:20px 0}.fsc-pricing{border-top:1px solid var(--booking-border)}.fsc-pricing-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 24px;background:#fef3c7;border:none;font-size:13px;font-weight:600;color:#92400e;cursor:pointer;transition:all .2s ease}.fsc-pricing-toggle:hover{background:#fde68a}.fsc-pricing-toggle-left{display:flex;align-items:center;gap:10px}.fsc-pricing-toggle svg{font-size:12px}.fsc-pricing-content{padding:20px 24px;background:#fffbeb}.fsc-pricing-group{margin-bottom:16px;padding-bottom:16px;border-bottom:1px dashed var(--booking-border)}.fsc-pricing-group:last-of-type{margin-bottom:16px}.fsc-pricing-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.fsc-pricing-pax-type{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--booking-text)}.fsc-pricing-pax-type svg{color:var(--booking-primary);font-size:12px}.fsc-pricing-pax-total{font-size:14px;font-weight:700;color:var(--booking-text)}.fsc-pricing-details{padding-left:22px}.fsc-pricing-row{display:flex;justify-content:space-between;padding:4px 0;font-size:12px;color:var(--booking-muted)}.fsc-pricing-row--per-person{color:var(--booking-primary);font-weight:600;margin-top:4px;padding-top:6px;border-top:1px dotted var(--booking-border)}.fsc-pricing-summary{padding-top:16px;border-top:2px solid var(--booking-border)}.fsc-pricing-summary .fsc-pricing-row{padding:6px 0;font-size:13px}.fsc-pricing-row--grand-total{margin-top:8px;padding-top:12px!important;border-top:1px solid var(--booking-border);font-size:15px!important;font-weight:700!important;color:var(--booking-text)!important}.fsc-toggle{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:var(--booking-light);border:none;border-top:1px solid var(--booking-border);font-size:13px;font-weight:500;color:var(--booking-primary);cursor:pointer;transition:all .2s ease}.fsc-toggle:hover{background:#f1f5f9}.fsc-toggle svg{font-size:11px;transition:transform .2s ease}.fsc-details{border-top:1px solid var(--booking-border);background:var(--booking-light);animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.fsc-leg-details{padding:20px 24px;border-bottom:1px solid var(--booking-border)}.fsc-leg-details:last-child{border-bottom:none}.fsc-leg-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:13px;font-weight:600;color:#475569}.fsc-segment{background:white;border-radius:var(--booking-radius-sm);padding:16px;margin-bottom:12px}.fsc-segment:last-child{margin-bottom:0}.fsc-segment-flight{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.fsc-segment-code{font-size:14px;font-weight:600;color:#1e293b}.fsc-segment-aircraft{font-size:12px;color:var(--booking-muted)}.fsc-segment-route{display:flex;align-items:center;gap:16px}.fsc-segment-point{display:flex;flex-direction:column;gap:2px;min-width:70px}.fsc-segment-point:last-child{text-align:right}.fsc-segment-time{font-size:16px;font-weight:600;color:#1e293b}.fsc-segment-airport{font-size:13px;font-weight:500;color:#475569}.fsc-segment-terminal{font-size:10px;color:var(--booking-muted)}.fsc-segment-duration{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative}.fsc-segment-duration-line{width:100%;height:1px;background:var(--booking-border)}.fsc-segment-duration-text{font-size:11px;color:var(--booking-muted);background:white;padding:0 8px;position:absolute;top:50%;transform:translateY(-50%)}.fsc-segment-layover{margin-top:12px;padding-top:12px;border-top:1px dashed var(--booking-border);text-align:center;font-size:12px;color:var(--booking-warning);font-weight:500}@media (max-width:576px){.fsc-header{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}.fsc-quick-info{width:100%;justify-content:space-between}.fsc-legs{padding:16px}.fsc-leg-main{flex-wrap:wrap}.fsc-leg-endpoint{min-width:60px}.fsc-leg-time{font-size:16px}.fsc-leg-visual{order:3;width:100%;margin-top:12px}.fsc-segment-route{flex-wrap:wrap}.fsc-segment-duration{order:3;width:100%;margin-top:8px}}.pf-card{background:white;border-radius:var(--booking-radius);box-shadow:var(--booking-shadow);overflow:visible;border:2px solid transparent;transition:all .3s ease}.pf-card--complete{border-color:var(--booking-success)}.pf-header{display:flex;align-items:center;gap:16px;padding:16px 20px;background:none;border:none;width:100%;cursor:pointer;text-align:left;transition:background .2s ease}.pf-header:hover{background:var(--booking-light)}.pf-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--booking-primary) 0,#e85d04 100%);font-size:18px;flex-shrink:0;position:relative}.pf-avatar,.pf-avatar-check{border-radius:50%;display:flex;align-items:center;justify-content:center;color:white}.pf-avatar-check{position:absolute;bottom:-2px;right:-2px;width:18px;height:18px;background:var(--booking-success);font-size:9px;border:2px solid white}.pf-info{flex:1 1;min-width:0}.pf-name{display:block;font-size:15px;font-weight:600;color:#1e293b;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-meta{font-size:12px;color:var(--booking-muted)}.pf-progress{display:flex;align-items:center;gap:8px;flex-shrink:0}.pf-progress-bar{width:60px;height:6px;background:var(--booking-border);border-radius:3px;overflow:hidden}.pf-progress-fill{height:100%;background:var(--booking-success);border-radius:3px;transition:width .3s ease}.pf-progress-text{font-size:12px;font-weight:600;color:var(--booking-muted);min-width:30px}.pf-toggle{color:var(--booking-muted);font-size:14px;transition:transform .2s ease}.pf-body{padding:0 20px 20px;animation:fadeIn .2s ease;overflow:visible}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.pf-section{margin-bottom:24px;overflow:visible}.pf-section:last-child{margin-bottom:0}.pf-section--document{background:var(--booking-light);margin:0 -20px;padding:20px;border-top:1px solid var(--booking-border);border-radius:0 0 var(--booking-radius) var(--booking-radius);overflow:visible;position:relative}.pf-section-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.pf-section-icon{width:40px;height:40px;border-radius:10px;background:white;display:flex;align-items:center;justify-content:center;color:var(--booking-primary);font-size:18px;box-shadow:var(--booking-shadow)}.pf-section-title{font-size:14px;font-weight:600;color:#475569;margin-bottom:4px}.pf-section-subtitle{font-size:12px;color:var(--booking-muted)}.pf-row{display:grid;grid-gap:16px;gap:16px;margin-bottom:16px;overflow:visible}.pf-row:last-child{margin-bottom:0}.pf-row--2{grid-template-columns:repeat(2,1fr)}.pf-row--3{grid-template-columns:repeat(3,1fr)}.pf-field{display:flex;flex-direction:column;gap:6px;position:relative}.pf-field--dob{overflow:visible;z-index:100}.pf-card .datepicker__dropdown{z-index:9999!important}.pf-label{font-size:12px;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.3px}.pf-required{color:var(--booking-danger)}.pf-input,.pf-select{padding:12px 14px;border:1px solid var(--booking-border);border-radius:var(--booking-radius-sm);font-size:14px;color:#1e293b;background:white;transition:all .2s ease}.pf-input:focus,.pf-select:focus{outline:none;border-color:var(--booking-primary);box-shadow:0 0 0 3px rgba(246,99,21,.1)}.pf-input--valid,.pf-select--valid{border-color:var(--booking-success)}.pf-input--error,.pf-select--error{border-color:var(--booking-danger);background:#fef2f2}.pf-input::placeholder{color:#94a3b8}.pf-error{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--booking-danger)}.pf-error svg{font-size:10px}.pf-success{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--booking-success)}.pf-success svg{font-size:10px}.pf-gender{display:flex;gap:12px}.pf-gender-btn{display:flex;align-items:center;gap:8px;padding:12px 16px;background:white;border:1px solid var(--booking-border);border-radius:var(--booking-radius-sm);font-size:14px;color:#475569;cursor:pointer;flex:1 1;transition:all .2s ease}.pf-gender-btn--active,.pf-gender-btn:hover{border-color:var(--booking-primary)}.pf-gender-btn--active{background:var(--booking-primary-light);color:var(--booking-primary)}.pf-gender-radio{width:18px;height:18px;border:2px solid var(--booking-border);border-radius:50%;position:relative;transition:all .2s ease}.pf-gender-btn--active .pf-gender-radio{border-color:var(--booking-primary)}.pf-gender-btn--active .pf-gender-radio:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:var(--booking-primary)}.pf-tabs{display:flex;background:var(--booking-border);border-radius:var(--booking-radius-sm);padding:3px}.pf-tab{flex:1 1;padding:10px 16px;background:none;border:none;border-radius:6px;font-size:13px;font-weight:500;color:var(--booking-muted);cursor:pointer;transition:all .2s ease}.pf-tab--active{background:white;color:var(--booking-primary);box-shadow:var(--booking-shadow)}@media (max-width:768px){.pf-header{flex-wrap:wrap;gap:12px;padding:14px 16px}.pf-progress{order:4;width:100%;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--booking-border);margin-top:4px}.pf-progress-bar{flex:1 1}.pf-body{padding:0 16px 16px}.pf-row--2,.pf-row--3{grid-template-columns:1fr}.pf-section--document{margin:0 -16px;padding:16px}.pf-gender{flex-direction:column}}.cf-card{background:white;border-radius:var(--booking-radius);padding:24px}.cf-row{display:grid;grid-gap:20px;gap:20px;margin-bottom:20px}.cf-row--2{grid-template-columns:repeat(2,1fr)}.cf-field{flex-direction:column}.cf-field,.cf-label{display:flex;gap:8px}.cf-label{align-items:center;font-size:13px;font-weight:600;color:#475569}.cf-label svg{color:var(--booking-primary);font-size:14px}.cf-required{color:var(--booking-danger)}.cf-input{padding:14px 16px;border:1px solid var(--booking-border);border-radius:var(--booking-radius-sm);font-size:15px;color:#1e293b;transition:all .2s ease}.cf-input:focus{outline:none;border-color:var(--booking-primary);box-shadow:0 0 0 3px rgba(246,99,21,.1)}.cf-input--valid{border-color:var(--booking-success)}.cf-input--error{border-color:var(--booking-danger);background:#fef2f2}.cf-input--verified{background:#f0fdf4;border-color:var(--booking-success)}.cf-input::placeholder{color:#94a3b8}.cf-error{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--booking-danger)}.cf-error svg{font-size:11px}.cf-phone-section{margin-top:8px}.cf-phone-wrapper{display:flex;gap:12px;align-items:stretch}.cf-input--phone{flex:1 1}.cf-send-otp{display:flex;align-items:center;justify-content:center;gap:8px;padding:0 20px;background:var(--booking-primary);color:white;border:none;border-radius:var(--booking-radius-sm);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease;min-width:120px}.cf-send-otp:hover:not(:disabled){background:var(--booking-primary-dark)}.cf-send-otp:disabled{opacity:.5;cursor:not-allowed}.cf-verified-badge{display:flex;align-items:center;gap:6px;padding:0 16px;background:var(--booking-success-light);color:var(--booking-success);border-radius:var(--booking-radius-sm);font-size:13px;font-weight:600}.cf-otp-box{margin-top:20px;padding:20px;background:#fefce8;border:1px solid #fef08a;border-radius:var(--booking-radius)}.cf-otp-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px}.cf-otp-icon{width:44px;height:44px;border-radius:12px;background:white;display:flex;align-items:center;justify-content:center;color:var(--booking-warning);font-size:20px;box-shadow:var(--booking-shadow);flex-shrink:0}.cf-otp-info h4{font-size:15px;font-weight:600;color:#1e293b;margin:0 0 4px}.cf-otp-info p{font-size:13px;color:var(--booking-muted);margin:0}.cf-otp-info strong{color:#475569}.cf-otp-inputs{display:flex;justify-content:center;gap:8px;margin-bottom:16px}.cf-otp-digit{width:48px;height:56px;border:2px solid var(--booking-border);border-radius:var(--booking-radius-sm);font-size:22px;font-weight:700;text-align:center;background:white;transition:all .2s ease}.cf-otp-digit:focus{outline:none;border-color:var(--booking-primary);box-shadow:0 0 0 3px rgba(246,99,21,.15)}.cf-otp-digit--filled{border-color:var(--booking-success);background:#f0fdf4}.cf-otp-verifying{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;color:var(--booking-primary);font-size:14px;font-weight:500}.cf-otp-hint{text-align:center;font-size:13px;color:var(--booking-muted);margin:0}.cf-resend-link{background:none;border:none;color:var(--booking-primary);font-weight:600;cursor:pointer;font-size:13px}.cf-resend-link:disabled{color:var(--booking-muted);cursor:not-allowed}.cf-verified-banner{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:16px;padding:14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--booking-radius-sm);color:var(--booking-success);font-size:14px;font-weight:600}.cf-verified-banner svg{font-size:16px}@media (max-width:768px){.cf-card{padding:20px 16px}.cf-row--2{grid-template-columns:1fr}.cf-phone-wrapper{flex-direction:column}.cf-send-otp{padding:14px 20px;min-width:auto}.cf-otp-digit{width:42px;height:50px;font-size:18px}}.bc{position:relative;overflow:visible}.bc-confetti{position:fixed;top:0;left:0;right:0;height:100vh;pointer-events:none;overflow:hidden;z-index:1000}.bc-confetti-piece{position:absolute;width:10px;height:10px;background:var(--booking-primary);animation:confettiFall 5s ease-out forwards}@keyframes confettiFall{0%{transform:translateY(-100px) rotate(0deg);opacity:1}to{transform:translateY(100vh) rotate(2turn);opacity:0}}.bc-pnr-card{background:linear-gradient(135deg,var(--booking-primary) 0,#e85d04 100%);border-radius:var(--booking-radius-lg);padding:28px 32px;text-align:center;color:white;margin-bottom:20px}.bc-pnr-header{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:16px}.bc-pnr-icon{font-size:48px;animation:scaleIn .5s ease}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.bc-pnr-label{font-size:14px;opacity:.9;text-transform:uppercase;letter-spacing:1px}.bc-pnr-value{display:flex;align-items:center;justify-content:center;gap:12px;font-size:36px;font-weight:800;font-family:SF Mono,Consolas,monospace;letter-spacing:4px;margin-bottom:12px}.bc-pnr-copy{width:40px;height:40px;border-radius:10px;background:rgba(255,255,255,.2);border:none;color:white;cursor:pointer;transition:all .2s ease;font-size:16px}.bc-pnr-copy:hover{background:rgba(255,255,255,.3)}.bc-pnr-copy--copied{background:var(--booking-success)}.bc-pnr-note{font-size:13px;opacity:.85}.bc-quick-actions{display:flex;gap:10px;margin-bottom:20px}.bc-quick-btn{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 12px;background:white;border:1px solid var(--booking-border);border-radius:var(--booking-radius);cursor:pointer;transition:all .2s ease}.bc-quick-btn:hover{border-color:var(--booking-primary);box-shadow:var(--booking-shadow)}.bc-quick-btn svg{font-size:18px;color:var(--booking-primary)}.bc-quick-btn span{font-size:11px;font-weight:500;color:var(--booking-muted)}.bc-flight-card{background:white;border-radius:var(--booking-radius);box-shadow:var(--booking-shadow);padding:20px;margin-bottom:20px}.bc-flight-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--booking-border)}.bc-airline-logo{width:40px;height:40px;border-radius:8px;object-fit:contain;background:var(--booking-light)}.bc-airline-name{display:block;font-size:15px;font-weight:600;color:#1e293b}.bc-trip-type{display:block;font-size:12px;color:var(--booking-muted)}.bc-flight-route{display:flex;align-items:center;justify-content:space-between}.bc-route-point{text-align:left}.bc-route-point--end{text-align:right}.bc-route-code{font-size:24px;font-weight:700;color:#1e293b}.bc-route-city,.bc-route-code{display:block;margin-bottom:4px}.bc-route-city{font-size:13px;color:var(--booking-muted)}.bc-route-date{display:block;font-size:12px;color:#475569}.bc-route-visual{display:flex;flex-direction:column;align-items:center;gap:4px}.bc-route-plane{font-size:20px;color:var(--booking-primary)}.bc-route-plane--return{transform:rotate(180deg)}.bc-details-grid{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;background:white;border-radius:var(--booking-radius);box-shadow:var(--booking-shadow);padding:16px}.bc-detail-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--booking-light);border-radius:var(--booking-radius-sm);flex:1 1;min-width:180px}.bc-detail-icon{width:32px;height:32px;border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;color:var(--booking-primary);font-size:13px;flex-shrink:0}.bc-detail-icon--success{color:var(--booking-success)}.bc-detail-content{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1}.bc-detail-label{font-size:10px;color:var(--booking-muted);text-transform:uppercase;letter-spacing:.3px}.bc-detail-value{font-size:13px;font-weight:600;color:#1e293b;word-break:break-word;line-height:1.3}.bc-detail-value--status{color:var(--booking-success);text-transform:uppercase;font-weight:700}.bc-summary{background:white;border-radius:var(--booking-radius);box-shadow:var(--booking-shadow);padding:16px 20px;margin-bottom:20px}.bc-summary-row{display:flex;justify-content:space-between;padding:10px 0;font-size:14px;color:#475569;border-bottom:1px solid var(--booking-border)}.bc-summary-row:last-child{border-bottom:none}.bc-summary-row--total{font-size:16px;font-weight:700;color:#1e293b;padding-top:14px}.bc-summary-row--total span:last-child{color:var(--booking-primary)}.bc-checklist{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--booking-radius);padding:20px;margin-bottom:24px}.bc-checklist h4{font-size:15px;font-weight:600;color:#166534;margin:0 0 16px}.bc-checklist ul{list-style:none;padding:0;margin:0}.bc-checklist li{display:flex;align-items:flex-start;gap:10px;padding:8px 0;font-size:13px;color:#15803d}.bc-checklist li svg{color:var(--booking-success);margin-top:2px;flex-shrink:0}.bc-actions{display:flex;gap:12px;margin-bottom:24px}.bc-btn{flex:1 1;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 24px;border-radius:var(--booking-radius-sm);font-size:14px;font-weight:600;text-decoration:none;transition:all .2s ease}.bc-btn--primary{background:var(--booking-primary);color:white;box-shadow:0 4px 12px rgba(246,99,21,.25)}.bc-btn--primary:hover{background:var(--booking-primary-dark);transform:translateY(-1px)}.bc-btn--secondary{background:var(--booking-light);color:var(--booking-muted);border:1px solid var(--booking-border)}.bc-btn--secondary:hover{background:#f1f5f9;color:#475569}.bc-help{text-align:center;padding:20px;background:var(--booking-light);border-radius:var(--booking-radius)}.bc-help p{font-size:13px;color:var(--booking-muted);margin:0 0 8px}.bc-help a{font-size:14px;font-weight:600;color:var(--booking-primary);text-decoration:none}.bc-help a:hover{text-decoration:underline}@media (max-width:768px){.bc-pnr-card{padding:20px 16px}.bc-pnr-value{font-size:26px;letter-spacing:2px}.bc-quick-actions{flex-wrap:wrap}.bc-quick-btn{flex:calc(50% - 5px) 1;padding:12px 10px}.bc-flight-card{padding:16px}.bc-route-code{font-size:20px}.bc-details-grid{flex-direction:column;padding:12px}.bc-detail-item{min-width:100%;width:100%}.bc-actions{flex-direction:column}.bc-checklist{padding:16px}.bc-summary{padding:14px 16px}}.seat-map-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}.seat-map-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.seat-map-modal__content{position:relative;width:100%;max-width:800px;max-height:90vh;background:white;border-radius:var(--booking-radius);box-shadow:0 20px 60px rgba(0,0,0,.3);display:flex;flex-direction:column;overflow:hidden}.seat-map-modal__header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--booking-border);background:var(--booking-light)}.seat-map-modal__title{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:600;color:#1e293b;margin:0}.seat-map-modal__title svg{color:var(--booking-primary)}.seat-map-modal__close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:white;border:1px solid var(--booking-border);border-radius:50%;color:#64748b;cursor:pointer;transition:all .2s ease}.seat-map-modal__close:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.seat-map-modal__empty,.seat-map-modal__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 24px;text-align:center;color:#64748b}.seat-map-modal__empty svg,.seat-map-modal__loading svg{color:var(--booking-primary)}.seat-map-modal__empty h3{font-size:18px;font-weight:600;color:#1e293b;margin:0}.seat-map-modal__empty p{margin:0;font-size:14px}.seat-map-modal__empty-note{font-size:13px!important;color:#94a3b8!important;font-style:italic}.seat-map-modal__btn{padding:12px 24px;border-radius:var(--booking-radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.seat-map-modal__btn--primary{background:var(--booking-primary);color:white}.seat-map-modal__btn--primary:hover{background:var(--booking-primary-dark)}.seat-map-modal__btn--secondary{background:var(--booking-light);color:#64748b;border:1px solid var(--booking-border)}.seat-map-modal__btn--secondary:hover{background:#f1f5f9;color:#475569}.seat-map__segments{display:flex;gap:8px;padding:16px 24px;background:#f8fafc;border-bottom:1px solid var(--booking-border);overflow-x:auto}.seat-map__segment-tab{display:flex;align-items:center;gap:8px;padding:10px 16px;background:white;border:1px solid var(--booking-border);border-radius:var(--booking-radius-sm);font-size:13px;color:#64748b;cursor:pointer;white-space:nowrap;transition:all .2s ease}.seat-map__segment-tab:hover{border-color:var(--booking-primary);color:var(--booking-primary)}.seat-map__segment-tab--active{background:var(--booking-primary);border-color:var(--booking-primary);color:white}.seat-map__segment-tab small{opacity:.8;font-size:11px}.seat-map__passengers{display:flex;align-items:center;gap:12px;padding:16px 24px;background:white;border-bottom:1px solid var(--booking-border);flex-wrap:wrap}.seat-map__passengers-label{font-size:13px;font-weight:500;color:#64748b}.seat-map__passengers-list{display:flex;gap:8px;flex-wrap:wrap}.seat-map__passenger-btn{display:flex;align-items:center;gap:8px;padding:8px 14px;background:white;border:2px solid var(--booking-border);border-radius:20px;font-size:13px;color:#475569;cursor:pointer;transition:all .2s ease}.seat-map__passenger-btn--active,.seat-map__passenger-btn:hover{border-color:var(--booking-primary);color:var(--booking-primary)}.seat-map__passenger-btn--active{background:var(--booking-primary-light)}.seat-map__passenger-btn--has-seat{background:#f0fdf4;border-color:#22c55e}.seat-map__passenger-seat{background:#22c55e;color:white;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.seat-map__legend{display:flex;gap:20px;padding:12px 24px;background:#f8fafc;border-bottom:1px solid var(--booking-border);flex-wrap:wrap}.seat-map__legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#64748b}.seat-map__legend-icon{width:20px;height:20px;border-radius:4px;border:2px solid}.seat-map__legend-icon--available{background:#e0f2fe;border-color:#38bdf8}.seat-map__legend-icon--selected{background:var(--booking-primary);border-color:var(--booking-primary)}.seat-map__legend-icon--occupied{background:#e2e8f0;border-color:#cbd5e1}.seat-map__legend-icon--premium{background:#fef9c3;border-color:#facc15}.seat-map__cabin-wrapper{flex:1 1;overflow-y:auto;padding:24px;background:linear-gradient(180deg,#f8fafc 0,#f1f5f9)}.seat-map__aircraft{max-width:500px;margin:0 auto;background:white;border-radius:80px 80px 20px 20px;padding:20px;box-shadow:0 4px 20px rgba(0,0,0,.08);border:2px solid #e2e8f0}.seat-map__aircraft-nose{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 0 30px;color:#94a3b8;font-size:12px;border-bottom:2px dashed #e2e8f0;margin-bottom:20px}.seat-map__aircraft-nose svg{font-size:24px;transform:rotate(-90deg)}.seat-map__cabin{margin-bottom:20px}.seat-map__cabin:last-child{margin-bottom:0}.seat-map__cabin-header{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--booking-primary-light);border-radius:var(--booking-radius-sm);margin-bottom:16px;font-size:13px;font-weight:600;color:var(--booking-primary)}.seat-map__cabin-header small{font-weight:400;color:#94a3b8}.seat-map__column-headers{display:flex;align-items:center;margin-bottom:8px}.seat-map__column-letter{width:32px;height:24px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#94a3b8}.seat-map__rows{display:flex;flex-direction:column;gap:4px}.seat-map__row{display:flex;align-items:center;position:relative}.seat-map__row--exit{margin:12px 0;padding:8px 0;border-top:2px dashed #22c55e;border-bottom:2px dashed #22c55e}.seat-map__row-number{width:30px;font-size:11px;font-weight:500;color:#94a3b8;text-align:center}.seat-map__row-seats{display:flex;align-items:center;gap:16px;flex:1 1;justify-content:center}.seat-map__seat-group{display:flex;gap:4px}.seat-map__exit-label{position:absolute;right:-40px;font-size:10px;font-weight:600;color:#22c55e;writing-mode:vertical-rl;-webkit-text-orientation:mixed;text-orientation:mixed}.seat-map__seat{width:32px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px 6px 8px 8px;font-size:10px;font-weight:600;cursor:pointer;transition:all .15s ease;border:2px solid;position:relative}.seat-map__seat--empty{visibility:hidden}.seat-map__seat--available{background:#e0f2fe;border-color:#38bdf8;color:#0284c7}.seat-map__seat--available:hover{background:#bae6fd;transform:scale(1.08);box-shadow:0 2px 8px rgba(56,189,248,.4)}.seat-map__seat--premium{background:#fef9c3;border-color:#facc15;color:#a16207}.seat-map__seat--premium:hover{background:#fef08a}.seat-map__seat--selected{background:var(--booking-primary);border-color:var(--booking-primary);color:white;transform:scale(1.05);box-shadow:0 2px 10px rgba(246,99,21,.4)}.seat-map__seat--blocked,.seat-map__seat--occupied,.seat-map__seat--unavailable{background:#e2e8f0;border-color:#cbd5e1;color:#94a3b8;cursor:not-allowed}.seat-map__seat--taken{background:#fecaca;border-color:#fca5a5;color:#dc2626;cursor:not-allowed}.seat-map__seat-number{line-height:1}.seat-map__seat-check{top:-4px;right:-4px;width:14px;height:14px;background:white;color:var(--booking-primary);font-size:8px}.seat-map__seat-check,.seat-map__seat-premium-badge{position:absolute;border-radius:50%;display:flex;align-items:center;justify-content:center}.seat-map__seat-premium-badge{bottom:-3px;right:-3px;width:12px;height:12px;background:#facc15;color:#713f12;font-size:7px}.seat-map-modal__footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:white;border-top:1px solid var(--booking-border);gap:16px;flex-wrap:wrap}.seat-map-modal__summary{display:flex;flex-direction:column;gap:4px}.seat-map-modal__selected-count{font-size:14px;color:#64748b}.seat-map-modal__total-price{font-size:16px;font-weight:600;color:var(--booking-primary)}.seat-map-modal__actions{display:flex;gap:12px}.seat-selector{background:white;border:1px solid var(--booking-border);border-radius:var(--booking-radius);overflow:hidden}.seat-selector__header{display:flex;align-items:center;gap:16px;padding:20px;border-bottom:1px solid var(--booking-border)}.seat-selector__icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--booking-primary-light);border-radius:12px;color:var(--booking-primary);font-size:20px}.seat-selector__info{flex:1 1}.seat-selector__title{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 4px}.seat-selector__subtitle{font-size:13px;color:#64748b;margin:0}.seat-selector__btn{display:flex;align-items:center;gap:8px;padding:12px 20px;background:var(--booking-primary);color:white;border:none;border-radius:var(--booking-radius-sm);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.seat-selector__btn:hover{background:var(--booking-primary-dark)}.seat-selector__btn--edit{background:white;color:var(--booking-primary);border:2px solid var(--booking-primary)}.seat-selector__btn--edit:hover{background:var(--booking-primary-light)}.seat-selector__selected{padding:16px 20px}.seat-selector__segment{background:#f8fafc;border-radius:var(--booking-radius-sm);padding:16px;margin-bottom:12px}.seat-selector__segment:last-child{margin-bottom:0}.seat-selector__segment-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:600;color:#1e293b}.seat-selector__segment-header svg{color:var(--booking-primary)}.seat-selector__segment-header small{color:#64748b;font-weight:400}.seat-selector__seats-list{display:flex;flex-direction:column;gap:8px}.seat-selector__seat-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:white;border:1px solid #e2e8f0;border-radius:8px}.seat-selector__seat-number{background:var(--booking-primary);color:white;padding:4px 10px;border-radius:6px;font-size:13px;font-weight:600}.seat-selector__seat-passenger{flex:1 1;font-size:14px;color:#475569}.seat-selector__seat-price{font-size:13px;font-weight:600;color:var(--booking-primary)}.seat-selector__empty{padding:16px 20px;background:#fffbeb;border-top:1px solid #fef3c7}.seat-selector__empty p{display:flex;align-items:center;gap:10px;font-size:13px;color:#92400e;margin:0}.seat-selector__empty svg{color:#f59e0b}.seat-selector__info{padding:16px 20px;background:#eff6ff;border-top:1px solid #dbeafe}.seat-selector__info p{display:flex;align-items:center;gap:10px;font-size:13px;color:#1e40af;margin:0}.seat-selector__info svg{color:#3b82f6;flex-shrink:0}.seat-selector__complete{display:flex;align-items:center;gap:10px;padding:16px 20px;background:#f0fdf4;border-top:1px solid #bbf7d0;font-size:14px;font-weight:500;color:#166534}.seat-selector__complete svg{color:#22c55e}@media (max-width:768px){.seat-map-modal{padding:0}.seat-map-modal__content{max-width:100%;max-height:100vh;border-radius:0}.seat-map__segments{padding:12px 16px}.seat-map__passengers{padding:12px 16px;flex-direction:column;align-items:flex-start}.seat-map__legend{padding:10px 16px;gap:12px}.seat-map__aircraft,.seat-map__cabin-wrapper{padding:16px}.seat-map__seat{width:28px;height:32px;font-size:9px}.seat-map__column-letter{width:28px}.seat-map__row-seats{gap:12px}.seat-map-modal__footer{flex-direction:column;padding:16px}.seat-map-modal__actions{width:100%}.seat-map-modal__actions .seat-map-modal__btn{flex:1 1}.seat-selector__header{flex-wrap:wrap}.seat-selector__btn{width:100%;justify-content:center}}.special-services{background:white;border:1px solid var(--booking-border);border-radius:var(--booking-radius);overflow:hidden}.special-services__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px;background:white;border:none;cursor:pointer;transition:background .2s ease}.special-services__toggle:hover{background:#f8fafc}.special-services__toggle--expanded{border-bottom:1px solid var(--booking-border)}.special-services__toggle-content{display:flex;align-items:center;gap:16px}.special-services__toggle-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#e0f2fe;border-radius:12px;color:#0284c7;font-size:20px}.special-services__toggle-info{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.special-services__toggle-title{font-size:16px;font-weight:600;color:#1e293b}.special-services__toggle-subtitle{font-size:13px;color:#64748b}.special-services__toggle-arrow{color:#94a3b8;font-size:14px}.special-services__content{padding:20px}.special-services__info{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#eff6ff;border-radius:var(--booking-radius-sm);font-size:13px;color:#1e40af;margin-bottom:20px}.special-services__info svg{flex-shrink:0}.special-services__passengers{display:flex;flex-direction:column;gap:12px}.special-services__passenger{border:1px solid var(--booking-border);border-radius:var(--booking-radius-sm);overflow:hidden}.special-services__passenger-header{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f8fafc;cursor:pointer;transition:background .2s ease}.special-services__passenger-header:hover{background:#f1f5f9}.special-services__passenger-header--active{background:#f1f5f9;border-bottom:1px solid var(--booking-border)}.special-services__passenger-name{flex:1 1;font-size:14px;font-weight:600;color:#1e293b}.special-services__passenger-count{font-size:12px;color:#22c55e;background:#f0fdf4;padding:4px 10px;border-radius:12px;font-weight:500}.special-services__passenger-arrow{color:#94a3b8;font-size:12px}.special-services__passenger-content{padding:16px}.special-services__selected{margin-bottom:16px}.special-services__selected h5{font-size:13px;font-weight:600;color:#64748b;margin:0 0 10px}.special-services__selected-list{display:flex;flex-wrap:wrap;gap:8px}.special-services__selected-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:20px}.special-services__selected-code{font-size:11px;font-weight:700;color:#166534;background:#dcfce7;padding:2px 6px;border-radius:4px}.special-services__selected-name{font-size:13px;color:#15803d}.special-services__remove-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#94a3b8;cursor:pointer;border-radius:50%;transition:all .2s ease}.special-services__remove-btn:hover{background:#fecaca;color:#dc2626}.special-services__categories{display:flex;flex-direction:column;gap:8px}.special-services__category{border:1px solid var(--booking-border);border-radius:var(--booking-radius-sm);overflow:hidden}.special-services__category-btn{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:white;border:none;cursor:pointer;font-size:14px;color:#475569;transition:all .2s ease}.special-services__category-btn:hover{background:#f8fafc}.special-services__category-btn--active{background:var(--booking-primary-light);color:var(--booking-primary)}.special-services__category-btn svg:first-child{font-size:16px;width:20px}.special-services__category-btn span{flex:1 1;text-align:left;font-weight:500}.special-services__category-arrow{font-size:12px;color:#94a3b8}.special-services__options{padding:12px;background:#f8fafc;border-top:1px solid var(--booking-border);display:grid;grid-gap:8px;gap:8px}.special-services__option{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:white;border:1px solid var(--booking-border);border-radius:8px;cursor:pointer;text-align:left;transition:all .2s ease}.special-services__option:hover{border-color:var(--booking-primary);box-shadow:0 2px 8px rgba(246,99,21,.1)}.special-services__option--selected{background:#f0fdf4;border-color:#22c55e}.special-services__option-header{display:flex;align-items:center;gap:10px}.special-services__option-code{font-size:11px;font-weight:700;color:#64748b;background:#f1f5f9;padding:3px 8px;border-radius:4px}.special-services__option--selected .special-services__option-code{background:#dcfce7;color:#166534}.special-services__option-name{flex:1 1;font-size:14px;font-weight:500;color:#1e293b}.special-services__option-add{color:var(--booking-primary);font-size:12px}.special-services__option-remove{color:#dc2626;font-size:12px}.special-services__option-desc{font-size:12px;color:#64748b;margin:0;line-height:1.4}@media (max-width:768px){.special-services__toggle{padding:16px}.special-services__toggle-icon{width:40px;height:40px;font-size:16px}.special-services__content{padding:16px}.special-services__options{grid-template-columns:1fr}}