:root{--primary:#2563eb;--primary-light:#60a5fa;--primary-dark:#1d4ed8;--text-dark:#1f2937;--text-light:#6b7280;--bg-light:#f9fafb;--white:#fff}html{scroll-behavior:smooth}html:has(.booking-wizard-container){scroll-behavior:auto}body:has(.booking-wizard-container){overscroll-behavior-x:none;touch-action:pan-y pinch-zoom}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton-shimmer{background:linear-gradient(90deg,#f0f2f5 25%,#e4e8ed 50%,#f0f2f5 75%) 0 0/800px 100%;border-radius:6px;animation:1.4s ease-in-out infinite shimmer}.skeleton-center-card{border-radius:8px;height:72px;margin-bottom:8px}.skeleton-cal-cell{border-radius:50%;width:34px;height:34px;margin:3px auto}.skeleton-line{border-radius:4px;height:14px;margin-bottom:8px}.booking-wizard-wrapper{background:linear-gradient(#fff,#f8fafc);position:relative;overflow:visible}.booking-wizard-wrapper:before{content:"";pointer-events:none;z-index:0;background:#2563eb0d;border-radius:50%;width:300px;height:300px;animation:6s ease-in-out infinite float;position:fixed;top:10%;left:5%}.booking-wizard-wrapper:after{content:"";pointer-events:none;z-index:0;background:#2563eb08;border-radius:50%;width:400px;height:400px;animation:8s ease-in-out 2s infinite float;position:fixed;bottom:10%;right:5%}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(2deg)}}.booking-wizard-container{z-index:1;grid-template-columns:1fr 400px;align-items:start;gap:40px;max-width:1400px;margin:0 auto 50px;display:grid;position:relative}@media (max-width:1024px){.booking-wizard-container{grid-template-columns:1fr;gap:30px;margin-bottom:30px}}@media (min-height:800px) and (max-width:768px){.booking-wizard-container{margin-bottom:20px}}.booking-wizard-container>.booking-card,.booking-wizard-container>.order-summary-card{width:100%;min-width:0}:is(.booking-main-content:has(.booking-wizard-container),.booking-page-container:has(.booking-wizard-container),.travel-documentation-page:has(.booking-wizard-container)){overflow-x:clip}.booking-progress-steps{justify-content:space-between;max-width:1400px;margin-bottom:25px;margin-left:auto;margin-right:auto;padding:1rem 0;display:flex;position:relative}.booking-progress-steps:before{content:"";top:41px;left:calc(100%/(2*var(--total-steps,4)));right:calc(100%/(2*var(--total-steps,4)));z-index:0;background:#e5e7eb;height:2px;position:absolute}.booking-steps:before{content:"";z-index:0;background:#e5e7eb;height:2px;position:absolute;top:50%;left:10%;right:10%;transform:translateY(-50%)}.booking-step{text-align:center;z-index:1;cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:10px;min-width:100px;display:flex;position:relative}.booking-step-number{width:50px;height:50px;color:var(--text-light);background:#e5e7eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0;font-size:1.1rem;font-weight:600;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 2px 8px #0000000d}.booking-step.active .booking-step-number{color:var(--white);background:#1e3a8a;transform:scale(1.15);box-shadow:0 4px 12px #1e3a8a4d}.booking-step.completed .booking-step-number{background:var(--primary);color:var(--white);box-shadow:0 2px 8px #2563eb33}.booking-step-label{color:var(--text-light);white-space:nowrap;text-align:center;max-width:100%;font-size:.8rem;font-weight:500;line-height:1.2;transition:all .3s}.booking-step.active .booking-step-label{color:#1e3a8a;font-weight:600}.booking-step.completed .booking-step-label,.booking-step:hover .booking-step-label{color:var(--primary)}.booking-step.active:hover .booking-step-label{color:#1e3a8a}.booking-step.error .booking-step-number{color:#fff;background:#ef4444;box-shadow:0 2px 8px #ef444466}.booking-step.error .booking-step-label{color:#ef4444}.booking-step.error.active .booking-step-number{background:#dc2626;box-shadow:0 4px 12px #dc262680}.booking-step.disabled{cursor:not-allowed;filter:grayscale()}.booking-step.disabled .booking-step-number{color:#d1d5db;box-shadow:none;background:#4b5563}.booking-step.disabled .booking-step-label{color:#6b7280}.booking-step.completed:not(.disabled):hover .booking-step-number{transform:scale(1.08);box-shadow:0 4px 12px #2563eb66}.booking-step:not(.disabled):not(.active):hover .booking-step-number{transform:scale(1.05);box-shadow:0 3px 10px #00000026}.booking-step.disabled:hover{transform:none}.booking-card{background:#fff;border-radius:20px;width:100%;padding:1.5rem;overflow:visible;box-shadow:0 10px 30px #0000000d}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.booking-card h2{color:var(--text-dark);margin-bottom:.5rem;font-size:2rem;font-weight:700}.booking-card .subtitle{color:var(--text-light);margin-bottom:2.5rem;font-size:1.05rem}.service-selection-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.service-option{cursor:pointer;text-align:center;background:#fff;border:2px solid #e5e7eb;border-radius:16px;padding:2rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.service-option:hover{border-color:var(--primary);transform:translateY(-5px);box-shadow:0 8px 20px #2563eb26}.service-option.selected{border-color:var(--primary);background:linear-gradient(135deg,#2563eb0d,#60a5fa0d);box-shadow:0 4px 12px #2563eb33}.service-option.selected:after{content:"✓";background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;font-weight:700;display:flex;position:absolute;top:15px;right:15px;box-shadow:0 2px 8px #2563eb4d}.service-option.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.service-option .icon{margin-bottom:1rem;font-size:3rem}.service-option .title{color:var(--text-dark);margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.service-option .description{color:var(--text-light);margin-bottom:1rem;font-size:.9rem}.service-option .price{color:var(--primary);font-size:1.4rem;font-weight:700}.counter-group{background:#fff;border:1px solid #e5e7eb;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1.5rem;transition:all .3s;display:flex}.counter-group:hover{border-color:var(--primary-light);box-shadow:0 2px 8px #2563eb1a}.counter-controls{align-items:center;gap:1.5rem;display:flex}.counter-btn{background:linear-gradient(135deg,var(--primary),var(--primary-light));width:40px;height:40px;color:var(--white);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.3rem;transition:all .3s;display:flex;box-shadow:0 2px 8px #2563eb33}.counter-btn:hover{background:var(--primary-dark);transform:scale(1.1);box-shadow:0 4px 12px #2563eb4d}.counter-btn:active{transform:scale(.95)}.counter-value{min-width:40px;font-size:1.5rem;font-weight:600}.counter-value .cost-summary .cost-item.total{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:var(--white);border-radius:10px;justify-content:space-between;align-items:center;padding:.9rem 1rem;font-weight:700;display:flex;box-shadow:0 6px 18px #2563eb1f}.counter-value .cost-summary .cost-item.total span{color:var(--white)}.counter-value .selected-services-list{background:linear-gradient(135deg,var(--primary),var(--primary-light));-webkit-text-fill-color:transparent;color:var(--primary);-webkit-background-clip:text;background-clip:text;font-size:1.05rem;font-weight:600}.counter-value{text-align:center;color:var(--text-dark)}.form-field{margin-top:1rem;position:relative;overflow:visible!important}.booking-wizard-container,.booking-card,.traveler-section,.form-card,.two-column,.three-column{position:relative;overflow:visible!important}:is(body:has(.open) .booking-wizard-container,body:has(.open) .booking-card,body:has(.open) .traveler-section,body:has(.open) .form-card,body:has(.open) .traveler-details-card,body:has(.open) .traveler-form-container,body:has(.open) .traveler-card,body:has([class*=searchable].open) .booking-wizard-container,body:has([class*=searchable].open) .booking-card,body:has([class*=searchable].open) .traveler-section,body:has([class*=searchable].open) .form-card,body:has([class*=searchable].open) .traveler-details-card,body:has([class*=searchable].open) .traveler-form-container,body:has([class*=searchable].open) .traveler-card){z-index:auto!important;position:relative!important;overflow:visible!important}.form-field label{color:var(--text-dark);margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:block}.traveler-card,.adult-card,.child-card,.infant-card{position:relative!important;overflow:visible!important}.traveler-card:first-of-type{z-index:100!important}.traveler-card:nth-of-type(2){z-index:90!important}.traveler-card:nth-of-type(3){z-index:80!important}.traveler-card:nth-of-type(4){z-index:70!important}.traveler-card:nth-of-type(5){z-index:60!important}.traveler-card:nth-of-type(6){z-index:50!important}.traveler-card:nth-of-type(7){z-index:40!important}.traveler-card:nth-of-type(8){z-index:30!important}.traveler-card:nth-of-type(9){z-index:20!important}.traveler-card:nth-of-type(10){z-index:10!important}.traveler-card:nth-of-type(n+11){z-index:1!important}:is(.traveler-card:has(.open),.traveler-card:has([class*=searchable].open)){z-index:99999!important}.searchable-nationality-dropdown.open{z-index:999999!important;position:relative!important}.form-field:has(.open){z-index:999999!important;position:relative!important}.form-field:has([class*=searchable].open){z-index:999999!important;position:relative!important}:is(.form-field:has(.airport-search-input-container.open),.flight-input-row:has(.airport-search-input-container.open),.flight-card:has(.airport-search-input-container.open),.flight-section:has(.airport-search-input-container.open)){z-index:3000!important;position:relative!important;overflow:visible!important}.form-field.required label:after{content:" *";color:#ef4444}.form-field input,.form-field select,.form-field textarea{background:#fff;border:1px solid #e5e7eb;border-radius:10px;width:100%;padding:.875rem;font-family:inherit;font-size:1rem;transition:all .3s}.form-field textarea{height:auto;min-height:6rem}.select-icon-wrapper{z-index:10;position:relative}.select-icon-wrapper select{appearance:none;box-sizing:border-box;color:#1e293b;background:#fff;border:2px solid #e5e7eb;border-radius:12px;width:100%;padding:.75rem 3rem .75rem .75rem;font-size:1rem;transition:all .3s;box-shadow:0 1px 3px #00000014}.select-icon-wrapper select:hover{border-color:#cbd5e1;box-shadow:0 2px 6px #0000001f}.select-icon-wrapper select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1a,0 2px 8px #00000026}.date-icon-wrapper{width:100%;display:block;position:relative}.input-readonly{cursor:not-allowed;background-color:#f3f4f6}.date-icon{pointer-events:auto;cursor:pointer;color:#6b7280;font-size:1.05rem;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.date-placeholder{pointer-events:none;color:#9ca3af;-webkit-user-select:none;user-select:none;z-index:1;font-size:1rem;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.date-icon-wrapper input[type=date].empty-date:not(:focus){color:#0000}.date-icon-wrapper input[type=date].empty-date:not(:focus)::-webkit-datetime-edit-text{color:#0000}.date-icon-wrapper input[type=date].empty-date:not(:focus)::-webkit-datetime-edit-month-field{color:#0000}.date-icon-wrapper input[type=date].empty-date:not(:focus)::-webkit-datetime-edit-day-field{color:#0000}.date-icon-wrapper input[type=date].empty-date:not(:focus)::-webkit-datetime-edit-year-field{color:#0000}.date-icon-wrapper input[type=date]:focus,.date-icon-wrapper input[type=date]:valid{color:inherit}.dob-wrapper{width:100%;max-width:220px;display:inline-block}.dob-wrapper input[type=date]{box-sizing:border-box;width:100%;padding-right:3rem}.date-icon-wrapper input[type=date]{box-sizing:border-box;appearance:none;background-color:#fff;width:100%;min-height:44px;padding:.75rem 2.5rem .75rem .75rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5}.date-icon-wrapper input[type=date]::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;left:0;right:0}.date-icon-wrapper input[type=date]::-webkit-datetime-edit{background-color:#0000;padding:0}.date-icon-wrapper input[type=date]::-webkit-datetime-edit-fields-wrapper{padding:0}.date-icon-wrapper input[type=date]::-webkit-datetime-edit-text{padding:0 .5rem}.date-icon-wrapper input[type=date]::-webkit-datetime-edit-month-field{padding:0 .25rem}.date-icon-wrapper input[type=date]::-webkit-datetime-edit-day-field{padding:0 .25rem}.date-icon-wrapper input[type=date]::-webkit-datetime-edit-year-field{padding:0 .25rem}.select-icon-wrapper select{padding-right:3rem}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.form-field textarea{resize:vertical;min-height:120px}.three-column{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.three-column .form-field{min-width:0;margin-bottom:0}.three-column .form-field label{white-space:normal;margin-bottom:.5rem;display:block}.three-column .form-field select,.three-column .form-field input{box-sizing:border-box;min-height:48px}.three-column .form-field{flex-direction:column;display:flex}.three-column .form-field label{padding-top:.4rem;line-height:1.1}.single-column{grid-template-columns:1fr;gap:1.25rem;display:grid}.flight-card-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.flight-input-row{grid-template-columns:.6fr 1.2fr 1.2fr;gap:1rem;display:grid}.flight-input-row .form-field{margin-top:.25rem}@media (max-width:900px){.three-column{grid-template-columns:1fr}.three-column .form-field label{min-height:auto}.booking-progress-steps{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;width:100%;min-width:calc(var(--total-steps,4)*100px);justify-content:flex-start;margin-bottom:15px;padding:40px .5rem 1.5rem;overflow-x:auto}.booking-progress-steps::-webkit-scrollbar{display:none}.booking-progress-steps-wrapper{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.booking-progress-steps:before{z-index:0;height:3px;width:calc(100px*(var(--total-steps,4) - 1));top:61px;left:50px;right:auto;transform:none}.booking-step{flex:0 0 100px;gap:8px}.booking-step-number{width:45px;height:45px;font-size:1rem}.booking-step-label{font-size:.75rem}}@media (max-width:480px){.three-column{grid-template-columns:1fr;gap:.75rem}.flight-card{padding:1rem}.three-column .form-field label{min-height:auto;margin-bottom:.4rem;padding-top:0;font-size:.9rem}.three-column .form-field select,.three-column .form-field input{min-height:44px;padding:.75rem;font-size:.95rem}.flight-card-header{flex-direction:column;align-items:flex-start;gap:.75rem}.booking-progress-steps{padding:30px .25rem .75rem}.booking-progress-steps:before{height:2px;top:35px;transform:none}.booking-step{gap:6px}.booking-step-number{width:40px;height:40px;font-size:.9rem}.booking-step.active .booking-step-number{transform:scale(1.1)}.booking-step-label{font-size:.65rem;line-height:1.1}.counter-group{flex-direction:column;align-items:flex-start;gap:1rem}.counter-controls{justify-content:space-between;width:100%;max-width:200px}}.booking-navigation{z-index:10;justify-content:space-between;gap:1rem;margin-top:3rem;display:flex;position:relative}.btn-nav{cursor:pointer;border:none;border-radius:12px;flex:1;max-width:200px;padding:1rem 2.5rem;font-size:1.05rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn-nav.btn-prev{color:var(--text-dark);background:#f3f4f6}.btn-nav.btn-prev:hover{background:#e5e7eb;transform:translate(-3px)}.btn-nav.btn-next,.btn-nav.btn-submit{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:var(--white);box-shadow:0 4px 12px #2563eb4d}.btn-nav.btn-next:hover,.btn-nav.btn-submit:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2563eb66}.btn-nav:active{transform:translateY(0)}.btn-nav:disabled,.btn-nav.disabled{opacity:.5;cursor:not-allowed;pointer-events:none;background:#9ca3af!important}.booking-navigation{z-index:10;margin-top:2rem;position:relative}.booking-navigation .btn-nav{z-index:11;position:relative}.country-selector{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.country-item{cursor:pointer;text-align:center;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:1.25rem;transition:all .3s}.country-item:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 4px 12px #2563eb26}.country-item.selected{border-color:var(--primary);background:linear-gradient(135deg,#2563eb14,#60a5fa0d);box-shadow:0 2px 8px #2563eb33}.country-item .flag{margin-bottom:.5rem;font-size:2.5rem}.country-item .name{color:var(--text-dark);font-size:.9rem;font-weight:600}.traveler-section{background:#fff;border:1px solid #edf2f7;border-radius:16px;margin-bottom:2rem;padding:2rem;box-shadow:0 4px 6px #00000005;overflow:visible!important}.traveler-header{color:#1a202c;margin-bottom:.75rem;font-size:1.5rem;font-weight:700}.flight-section{margin-top:2rem}.flight-card{background:var(--bg-light);border-left:4px solid #10b981;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.flight-card>.error-box{margin-top:.5rem;margin-bottom:0}.two-column{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.traveler-row-title-name{grid-template-columns:95px 2fr 2fr;gap:1.25rem;margin-bottom:1.25rem;display:grid}.traveler-row-email-phone{grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem;display:grid}.phone-input-container{position:relative}.phone-input-container .PhoneInput{background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:center;width:100%;height:auto;min-height:56px;transition:all .2s;display:flex;position:relative;overflow:visible!important}.phone-input-container .PhoneInput:hover,.phone-input-container .PhoneInput:focus-within{border-color:#1e3a8a;box-shadow:0 0 0 3px #1e3a8a1a}.phone-input-container .PhoneInput.phone-input-error{border-color:#ef4444!important}.phone-input-container .PhoneInputCountry{background-color:#f9fafb;border-right:1px solid #e5e7eb;flex-shrink:0;justify-content:center;align-items:center;gap:.4rem;min-width:fit-content;padding:.75rem .5rem .75rem .75rem;display:flex;position:relative}.phone-input-container .PhoneInputCountryIcon{vertical-align:middle;border-radius:2px;flex-shrink:0;order:1;justify-content:center;align-items:center;width:24px;height:18px;display:inline-flex;overflow:hidden;box-shadow:0 0 0 1px #0000001a}.phone-input-container .PhoneInputCountryIcon--border{box-shadow:0 0 0 1px #00000026}.phone-input-container .PhoneInputCountryIcon img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.phone-input-container .PhoneInputCountry:after{content:attr(data-country);color:#374151;order:2;align-self:center;align-items:center;margin-right:0;font-size:.9rem;font-weight:600;line-height:1;display:flex}.phone-input-container .PhoneInputCountrySelect{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;font-size:.95rem;position:absolute;top:0;left:0}.phone-input-container .PhoneInputCountry .dropdown-arrow{pointer-events:none;flex-shrink:0;order:3;justify-content:center;align-items:center;width:16px;height:16px;margin-left:.25rem;display:flex}.phone-input-container .PhoneInputCountry .dropdown-arrow:before{content:"";border-top:5px solid #6b7280;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0}.phone-input-container .PhoneInputCountrySelect:hover{color:var(--primary)}.phone-input-container .PhoneInputCountrySelect:focus{outline:none}.phone-input-container .PhoneInputCountrySelectArrow{display:none}.phone-input-container .PhoneInputInput{color:#374151;background:#fff;border:none;outline:none;flex:1;width:100%;min-width:0;padding:.75rem 1rem;font-family:inherit;font-size:.95rem}.phone-input-container .PhoneInputInput::placeholder{color:#9ca3af}.phone-input-container .PhoneInputInput:focus{outline:none}.phone-input-container input[type=tel]{pointer-events:auto;-webkit-user-select:text;user-select:text}.room-input-wrapper{width:100%;display:inline-block;position:relative}.room-input-wrapper input[readonly]{cursor:not-allowed;background-color:#f3f4f6}.room-input-wrapper .unlock-icon{opacity:0;pointer-events:none;color:#6b7280;font-size:1rem;transition:all .15s;position:absolute;top:50%;right:12px;transform:translateY(-50%)scale(.95)}.room-input-wrapper:hover .unlock-icon{opacity:1;transform:translateY(-50%)scale(1)}.phone-input-group{border:1px solid #e5e7eb;border-radius:10px;grid-template-columns:65px 1fr;gap:0;display:grid;position:relative;overflow:visible!important}.phone-input-group select{box-sizing:border-box;background-color:#f9fafb;border:none;border-right:1px solid #e5e7eb;border-radius:0;width:100%;padding-left:.6rem;padding-right:.6rem}.phone-code-wrapper{position:relative}.phone-code-wrapper select{appearance:none;height:100%;padding:0 .45rem;font-weight:600}.select-icon{pointer-events:none;color:#64748b;z-index:2;font-size:1.2rem;transition:color .2s;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.phone-code-wrapper .select-icon{right:6px}.phone-input-group input{border:none;border-radius:0}.traveler-subtitle{color:#718096;margin-top:-.5rem;margin-bottom:1.5rem;font-size:.9rem}.cost-summary{background:linear-gradient(135deg,#2563eb0d,#60a5fa08);border:1px solid #2563eb1a;border-radius:16px;margin-bottom:2rem;padding:2rem}.cost-item{border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:1rem 0;display:flex}.cost-item:last-child{color:var(--primary);border-bottom:none;border-top:2px solid var(--primary);margin-top:.75rem;padding-top:1.25rem;font-size:1.4rem;font-weight:700}.cost-summary .cost-item.total{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:var(--white);border-top:none;border-radius:10px;justify-content:space-between;align-items:center;padding:1rem;font-weight:700;display:flex;box-shadow:0 6px 18px #2563eb1f}.cost-summary .cost-item.total span{color:var(--white)!important}.coupon-section{border-top:1px dashed #d1d5db;margin-top:.5rem;padding:1rem 0 .5rem}.coupon-label{color:var(--text-dark);align-items:center;gap:.4rem;margin-bottom:.75rem;font-size:.875rem;font-weight:600;display:flex}.coupon-tag-icon{font-size:1rem}.coupon-input-row{align-items:stretch;gap:.5rem;display:flex}.coupon-input{letter-spacing:.05em;color:var(--text-dark);background:#fff;border:1.5px solid #d1d5db;border-radius:10px;outline:none;flex:1;padding:.65rem 1rem;font-size:.9rem;font-weight:600;transition:border-color .2s,box-shadow .2s}.coupon-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.coupon-input::placeholder{letter-spacing:0;color:#9ca3af;font-weight:400}.coupon-input:disabled{opacity:.7;cursor:not-allowed;background:#f9fafb}.coupon-apply-btn{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;min-width:80px;padding:.65rem 1.4rem;font-size:.9rem;font-weight:700;transition:background .2s,transform .1s,box-shadow .2s;display:flex}.coupon-apply-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}.coupon-apply-btn:active:not(:disabled){transform:translateY(0)}.coupon-apply-btn:disabled{opacity:.55;cursor:not-allowed}.coupon-apply-btn.loading{pointer-events:none}.coupon-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite coupon-spin;display:inline-block}@keyframes coupon-spin{to{transform:rotate(360deg)}}.coupon-message{border-radius:8px;align-items:center;gap:.4rem;margin-top:.5rem;padding:.45rem .75rem;font-size:.825rem;font-weight:500;display:flex}.coupon-message--error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.coupon-message--success{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.coupon-applied-row{background:linear-gradient(135deg,#eff6ff,#f0fdf4);border:1.5px solid #86efac;border-radius:10px;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .75rem .6rem 1rem;display:flex}.coupon-applied-info{align-items:center;gap:.6rem;display:flex}.coupon-applied-info .coupon-tag-icon{color:#16a34a;font-size:1rem;font-style:normal;font-weight:700}.coupon-applied-code{letter-spacing:.06em;color:var(--primary);font-size:.9rem;font-weight:700}.coupon-applied-savings{color:#16a34a;background:#dcfce7;border-radius:6px;padding:.2rem .55rem;font-size:.875rem;font-weight:700}.coupon-remove-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.2rem .4rem;font-size:1rem;line-height:1;transition:color .15s,background .15s}.coupon-remove-btn:hover{color:#dc2626;background:#fef2f2}.cost-item.coupon-discount-item{color:#16a34a;font-weight:600}.cost-item.coupon-discount-item span:last-child{color:#16a34a;font-weight:700}.coupon-login-prompt{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;align-items:center;gap:.5rem;margin-top:.5rem;padding:.55rem .85rem;font-size:.825rem;display:flex}.coupon-login-icon{flex-shrink:0;font-size:.95rem}.coupon-login-text{color:#1e40af;flex:1;font-weight:500}.coupon-login-btn{background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;flex-shrink:0;padding:.3rem .85rem;font-size:.8rem;font-weight:700;text-decoration:none;transition:background .15s}.coupon-login-btn:hover{background:var(--primary-dark);color:#fff}.info-box{background:#dbeafe;border:1px solid #3b82f6;border-radius:8px;margin-bottom:1.5rem;padding:1rem;font-size:.9rem}.section-divider{border-top:2px solid #e5e7eb;margin:2.5rem 0 0;padding-top:2rem}.section-divider:first-of-type{border-top:none;margin-top:0;padding-top:0}.section-divider h4{color:var(--primary);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.3rem;font-weight:700;display:flex}.btn-add-flight{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:10px;align-items:center;gap:.5rem;margin-top:1rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:600;display:inline-flex}.btn-add-flight:hover{opacity:.9}.flight-title{color:var(--primary);margin-bottom:1.25rem;font-size:1.1rem;font-weight:600}.btn-remove-flight{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:500}.flight-subtext{color:var(--text-light);margin-bottom:1.25rem;font-size:.9rem}.flight-notes-textarea{resize:vertical;border:1px solid #e5e7eb;border-radius:10px;width:100%;padding:.875rem;font-family:inherit;font-size:1rem}@media (max-width:768px){.booking-wizard-container{padding:1.5rem 1rem}.flight-input-row{grid-template-columns:1fr}.booking-card{padding:2rem 1.5rem}.booking-card h2{font-size:1.5rem}.section-divider h4{font-size:1.1rem}.service-selection-grid,.two-column,.three-column,.traveler-row-title-name,.traveler-row-email-phone{grid-template-columns:1fr}.booking-progress-steps{padding:1rem 0}.booking-step-number{width:40px;height:40px;font-size:.95rem}.booking-step-label{font-size:.75rem}.country-selector{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.btn-nav{max-width:none}.booking-wizard-container{grid-template-columns:1fr}}.order-summary-card{z-index:100;pointer-events:auto;backface-visibility:hidden;background:#fff;border:1px solid #e5e7eb;border-radius:16px;align-self:start;min-height:fit-content;padding:0;position:sticky;top:110px;overflow:visible;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.order-summary-title{color:#fff;border:none;margin:0;padding:0;font-size:1.35rem;font-weight:700}.order-summary-header{background:#1e3a8a;border-radius:16px 16px 0 0;padding:20px 24px}.order-summary-body{padding:20px 24px}.order-summary-section{border-bottom:1px solid #f1f5f9;margin-bottom:1rem;padding-bottom:1rem}.order-summary-section:last-of-type{border-bottom:none;margin-bottom:0}.section-label{color:#6b7280;text-transform:uppercase;letter-spacing:.7px;margin-bottom:.6rem;margin-right:8px;font-size:.78rem;font-weight:700;display:inline-block}.estimate-badge{color:#92400e;vertical-align:middle;letter-spacing:.3px;background:#fef3c7;border:1px solid #fcd34d;border-radius:20px;padding:2px 9px;font-size:.7rem;font-weight:600;display:inline-block}.order-item-container{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:8px;position:relative;overflow:visible!important}.order-item{color:var(--text-dark);background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:11px 14px;display:flex}.order-item-container .order-item{background:0 0;border:none;border-radius:0;margin-bottom:0}.order-item-name{color:#1f2937;font-size:.92rem;font-weight:600}.order-item-price{color:#1e3a5f;font-size:.95rem;font-weight:700}.order-subtotal{border-top:1px dashed #e5e7eb;margin-top:8px;font-weight:600;padding-top:12px!important}.order-item-price-pending{color:#d1d5db;letter-spacing:1px;font-size:.95rem;font-weight:600}.order-item-price-info{color:#9ca3af;text-align:right;max-width:120px;font-size:.78rem;font-style:italic;font-weight:400;line-height:1.3}.order-item.order-item-sub{background:0 0;border-top:1px dashed #e5e7eb;border-left:none;border-radius:0;margin-bottom:0;margin-left:0;padding:6px 14px 6px 22px}.order-item.order-item-sub .order-item-name{color:#6b7280;font-size:.82rem;font-weight:400}.order-item.order-item-sub .order-item-price{color:#6b7280;font-size:.82rem;font-weight:500}.order-item-card--pending{background:#fff;border:1px solid #e5e7eb;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:12px 14px;display:flex}.order-item-card-body{flex-direction:column;gap:2px;display:flex}.order-item-card-label{color:#1f2937;font-size:.92rem;font-weight:600}.order-item-card-sublabel{color:#9ca3af;font-size:.75rem;font-style:italic}.order-item-card-price--pending{color:#d1d5db;letter-spacing:.5px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;padding:3px 10px;font-size:.8rem;font-weight:600}.order-item-note{color:#9ca3af;border-left:2px solid #f0f0f0;margin-left:.25rem;padding:0 0 .5rem .75rem;font-size:.78rem;font-style:italic}.travelers-chips{flex-wrap:wrap;gap:8px;margin-top:.5rem;display:flex}.traveler-chip{color:#374151;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:20px;align-items:center;gap:6px;padding:5px 12px;font-size:.88rem;font-weight:500;display:inline-flex}.traveler-chip i{color:#2563eb;font-size:.75rem}.traveler-chip--free{color:#16a34a;background:#f0fdf4;border-color:#bbf7d0}.traveler-chip--free i{color:#16a34a}.destination-badge{align-items:flex-start;gap:10px;margin-top:.5rem;display:flex}.destination-icon{color:#2563eb;flex-shrink:0;margin-top:3px;font-size:.95rem}.travelers-info{background:var(--bg-light);color:var(--text-dark);border-radius:8px;padding:12px 16px;font-size:.9rem}.traveler-line{color:var(--text-dark);padding:4px 0;line-height:1.6}.destination-info{background:var(--bg-light);color:var(--text-dark);border-radius:8px;padding:12px 16px}.destination-name{color:var(--text-dark);margin-bottom:4px;font-size:1rem;font-weight:600}.schengen-count{color:var(--text-light);font-size:.85rem}.total-row{background:#1e3a8a;border-radius:10px;justify-content:space-between;align-items:center;margin-top:.75rem;margin-bottom:0;padding:16px 20px;display:flex}.total-label{color:#fff;text-transform:uppercase;letter-spacing:.8px;font-size:.78rem;font-weight:800}.total-sublabel{color:#fff9;margin-top:2px;font-size:.7rem;font-weight:400}.total-amount{color:#fff;font-size:1.5rem;font-weight:800}.order-note{color:#78350f;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 14px;font-size:.82rem;line-height:1.5;display:flex}.order-note-icon{flex-shrink:0;margin-top:1px;font-size:1rem}.price-estimate-note{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:12px;padding:12px 14px;font-size:.82rem;line-height:1.5;display:flex}.price-estimate-note-icon{flex-shrink:0;margin-top:1px;font-size:1rem}.price-estimate-note strong{margin-bottom:2px;font-size:.83rem;display:block}.price-estimate-note p{color:#3b82f6;margin:0;font-size:.8rem}.hotel-country-card{background:var(--bg-light);border-left:4px solid var(--primary);border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.warning-box{color:#92400e;background:#facc151f;border:1px solid #f59e0b47;border-radius:8px;margin-top:.5rem;padding:.75rem;font-size:.9rem}.info-box--blue{background:#2563eb14;border-radius:12px}.error-box{color:#dc2626;border-radius:4px;margin-top:.25rem;margin-bottom:0;font-size:.85rem;line-height:1.4}.flight-leg-container>.error-box{margin-top:.5rem}.traveler-personal-info-row{grid-template-columns:100px 1fr 1fr;gap:1.25rem;display:grid}@media (max-width:768px){.traveler-personal-info-row{grid-template-columns:1fr;gap:1rem}}.hotel-notes-card{background:var(--bg-light);border-radius:12px;margin-top:1.5rem;padding:1.5rem}@media (max-width:1024px){.booking-wizard-container{grid-template-columns:1fr 300px;gap:20px;min-height:auto}.order-summary-card{order:2;width:300px;margin-top:0;position:sticky;top:110px}.booking-card{order:1}}@media (max-width:768px){.booking-wizard-container{grid-template-columns:1fr;gap:20px;padding:1.5rem 1rem 3rem}.order-summary-card{order:2;width:100%;margin-top:1rem;position:sticky;top:110px}.booking-card{border-radius:16px;order:1;padding:2rem 1.5rem}.booking-card h2{font-size:1.75rem}.booking-card .subtitle{font-size:1rem}.service-selection-grid{grid-template-columns:1fr;gap:1rem}.counter-group{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.25rem}.counter-controls{justify-content:center;width:100%}.booking-navigation{flex-direction:column-reverse;margin-top:2rem}.btn-nav{width:100%;max-width:none}.two-column,.traveler-row-title-name,.traveler-row-email-phone{grid-template-columns:1fr;gap:1rem}.country-selector{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.order-summary-card{padding:0}.order-summary-body{padding:1.25rem}}@media (max-width:480px){.info-box{padding:.75rem;font-size:.85rem}.hotel-notes-card{padding:1rem}.warning-box{padding:.6rem;font-size:.85rem}.hotel-country-card{padding:1rem}.booking-wizard-container{gap:20px;padding:1rem .75rem 2.5rem}.booking-card{border-radius:12px;padding:1.5rem 1rem}.booking-card h2{margin-bottom:.4rem;font-size:1.5rem}.booking-card .subtitle{margin-bottom:2rem;font-size:.95rem}.service-option{padding:1.5rem}.service-option .icon{font-size:2.5rem}.service-option .title{font-size:1rem}.service-option .description{font-size:.85rem}.service-option .price{font-size:1.2rem}.counter-group{padding:1rem}.counter-btn{width:36px;height:36px;font-size:1.2rem}.counter-value{font-size:1.3rem}.form-field{margin-bottom:1.25rem}.form-field label{margin-bottom:.4rem;font-size:.9rem}.form-field input,.form-field select,.form-field textarea{padding:.75rem;font-size:.95rem}.btn-nav{padding:.875rem 2rem;font-size:1rem}.country-selector{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.country-item{padding:1rem}.country-item .flag{font-size:2rem}.country-item .name{font-size:.85rem}.traveler-section{padding:1.5rem 1rem}.traveler-header{font-size:1.25rem}.phone-input-group{grid-template-columns:80px 1fr}.order-summary-card{padding:0}.order-summary-body{padding:1rem}.order-summary-card h3{font-size:1.25rem}.order-item{font-size:.9rem}.total-amount{font-size:1.25rem}.dob-wrapper{max-width:100%}}[data-page=visa-booking] .order-summary-card,.visa-booking-page .order-summary-card,[class*=visa-booking] .order-summary-card{z-index:100!important;position:sticky!important;top:110px!important}[data-page=visa-booking] .SearchableDestinationDropdown,[data-page=visa-booking] [class*=SearchableDestination],.visa-booking-page .SearchableDestinationDropdown,.visa-booking-page [class*=SearchableDestination],[class*=visa-booking] .SearchableDestinationDropdown,[class*=visa-booking] [class*=SearchableDestination],[data-page=visa-booking] .SearchableDestinationDropdown .dropdown-menu,[data-page=visa-booking] .SearchableDestinationDropdown .dropdown-list,[data-page=visa-booking] [class*=SearchableDestination] .dropdown-menu,[data-page=visa-booking] [class*=SearchableDestination] .dropdown-list,.visa-booking-page .SearchableDestinationDropdown .dropdown-menu,.visa-booking-page .SearchableDestinationDropdown .dropdown-list,.visa-booking-page [class*=SearchableDestination] .dropdown-menu,.visa-booking-page [class*=SearchableDestination] .dropdown-list,[class*=visa-booking] .SearchableDestinationDropdown .dropdown-menu,[class*=visa-booking] .SearchableDestinationDropdown .dropdown-list,[class*=visa-booking] [class*=SearchableDestination] .dropdown-menu,[class*=visa-booking] [class*=SearchableDestination] .dropdown-list{z-index:9999!important}body[data-pathname^=\/visa-booking] .order-summary-card,body[class*=visa-booking] .order-summary-card{z-index:100!important;position:sticky!important;top:110px!important}body[data-pathname^=\/visa-booking] .SearchableDestinationDropdown,body[data-pathname^=\/visa-booking] [class*=searchable][class*=dropdown i],body[data-pathname^=\/visa-booking] [class*=Searchable][class*=Dropdown],body[class*=visa-booking] .SearchableDestinationDropdown,body[class*=visa-booking] [class*=searchable][class*=dropdown i],body[class*=visa-booking] [class*=Searchable][class*=Dropdown],body[data-pathname^=\/visa-booking] .SearchableDestinationDropdown *,body[data-pathname^=\/visa-booking] [class*=searchable][class*=dropdown i] *,body[data-pathname^=\/visa-booking] [class*=Searchable][class*=Dropdown] *,body[class*=visa-booking] .SearchableDestinationDropdown *,body[class*=visa-booking] [class*=searchable][class*=dropdown i] *,body[class*=visa-booking] [class*=Searchable][class*=Dropdown] *{z-index:9999!important}.visa-booking-page .booking-wizard-container,[data-page=visa-booking] .booking-wizard-container,body[data-pathname^=\/visa-booking] .booking-wizard-container{grid-template-columns:1fr 400px!important;align-items:start!important;gap:40px!important;display:grid!important}@media (max-width:1024px){.visa-booking-page .booking-wizard-container,[data-page=visa-booking] .booking-wizard-container,body[data-pathname^=\/visa-booking] .booking-wizard-container{grid-template-columns:1fr!important;gap:30px!important}.visa-booking-page .order-summary-card,[data-page=visa-booking] .order-summary-card,body[data-pathname^=\/visa-booking] .order-summary-card{margin-top:1rem!important;position:sticky!important;top:110px!important}}.error-message{color:#ef4444;margin-top:.4rem;font-size:.875rem;font-weight:500;line-height:1.2;display:block}.step1-field-error .form-input,.step1-field-error input:not([type=checkbox]):not([type=radio]){border-width:2px!important;border-color:#ef4444!important}.step1-field-error .form-input:focus,.step1-field-error input:focus{box-shadow:0 0 0 3px #ef44441a!important}
