@import url(https://fonts.googleapis.com/css2?family=Jost:wght@400;500;600;700&display=swap);.duffel-booking-container{max-width:1200px;margin:0 auto;padding:20px;font-family:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:13px}.duffel-box{background:#fff;border-radius:8px;box-shadow:0 2px 8px rgb(0 0 0 / .1);padding:30px;margin-bottom:30px}.duffel-search-box{background:#fff;border-radius:12px;padding:20px;color:#333;margin-bottom:20px;box-shadow:0 2px 8px rgb(0 0 0 / .1)}.duffel-search-box h2{margin:0 0 25px 0;font-size:24px;font-weight:600;color:#333;font-family:'Jost',sans-serif}.duffel-form-row-first{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;align-items:end}.duffel-trip-type-select{width:100%;padding:10px 13px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;font-family:'Jost',sans-serif;font-size:13px;font-weight:500;color:#333;cursor:pointer;appearance:auto;box-sizing:border-box}.duffel-form-row-first .duffel-dropdown-button{padding:10px 30px 10px 13px;font-size:13px;border-radius:8px;border:1px solid #e0e0e0;min-height:unset}.duffel-trip-type-select:focus{outline:none;border-color:#2D3754;box-shadow:0 0 0 3px rgb(45 55 84 / .1)}.duffel-form-row-second{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}.duffel-form-row-dates{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end}.duffel-form-row-dates.has-return-date{grid-template-columns:1fr 1fr auto}.duffel-search-btn-wrapper{margin-bottom:0}.duffel-button-dropdown{position:relative;width:100%}.duffel-dropdown-button{width:100%;padding:5px 22px 5px 8px;border:2px solid #4caf50;border-radius:5px;background:#fff;font-family:'Jost',sans-serif;font-size:11px;color:#333;cursor:pointer;transition:all 0.3s;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;text-align:left;min-height:28px;height:auto;line-height:1.6}.duffel-dropdown-button:hover{border-color:#45a049;background-color:#f8f9fa}.duffel-dropdown-button.active{border-color:#4caf50;box-shadow:0 0 0 3px rgb(76 175 80 / .1)}.duffel-dropdown-button-promo{border-color:#d0d0d0;background-color:#fff}.duffel-dropdown-button-promo:hover{border-color:#b0b0b0}.duffel-dropdown-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.duffel-dropdown-arrow{font-size:8px;color:#4caf50;margin-left:8px;transition:transform 0.3s;flex-shrink:0;line-height:1}.duffel-dropdown-button-promo .duffel-dropdown-arrow{color:#666}.duffel-dropdown-button.active .duffel-dropdown-arrow{transform:rotate(180deg)}.duffel-dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #4caf50;border-radius:6px;box-shadow:0 4px 12px rgb(0 0 0 / .15);z-index:1000;margin-top:4px;max-height:250px;overflow-y:auto;display:none;min-width:200px}.duffel-button-dropdown .duffel-dropdown-menu.duffel-dropdown-menu-promo{border-color:#d0d0d0}.duffel-button-dropdown.active .duffel-dropdown-menu{display:block}.duffel-dropdown-item{padding:7px 10px;cursor:pointer;transition:background 0.2s;font-family:'Jost',sans-serif;font-size:11px;color:#333;border-bottom:1px solid #f0f0f0;line-height:1.4}.duffel-dropdown-item:last-child{border-bottom:none}.duffel-dropdown-item:hover{background:#f5f5f5}.duffel-dropdown-item.selected{background:#e8f5e9;font-weight:600;color:#2e7d32}.duffel-dropdown{width:100%;padding:12px 35px 12px 15px;border:2px solid #2D3754;border-radius:8px;background:#f0f8f0;font-family:'Jost',sans-serif;font-size:13px;color:#333;cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232D3754' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px;transition:all 0.3s;box-sizing:border-box}.duffel-dropdown-promo{border-color:#d0d0d0;background-color:#fff}.duffel-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:20px}.duffel-label-bold{display:block;margin-bottom:8px;font-weight:600;font-size:13px;color:#333;font-family:'Jost',sans-serif}.duffel-input-wrapper{position:relative}.duffel-input-wrapper input[type="text"]{width:100%;padding:10px 30px 10px 13px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;font-family:'Jost',sans-serif;font-size:13px;color:#333;transition:all 0.3s;box-sizing:border-box}.duffel-input-wrapper input[type="text"]:focus{outline:none;border-color:#2D3754;box-shadow:0 0 0 3px rgb(45 55 84 / .1)}.duffel-clear-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#666;font-size:20px;font-weight:700;cursor:pointer;line-height:1;opacity:.6;transition:opacity 0.3s;display:none}.duffel-input-wrapper input[type="text"]:not(:placeholder-shown)+.duffel-clear-icon{display:block}.duffel-clear-icon:hover{opacity:1;color:#333}.duffel-date-wrapper{position:relative}.duffel-date-wrapper input[type="date"]{width:100%;padding:12px 35px 12px 15px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;font-family:'Jost',sans-serif;font-size:13px;color:#333;transition:all 0.3s;box-sizing:border-box;cursor:pointer}.duffel-date-wrapper input[type="date"]:focus{outline:none;border-color:#2D3754;box-shadow:0 0 0 3px rgb(45 55 84 / .1)}.duffel-calendar-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:16px;pointer-events:auto;cursor:pointer;z-index:10}.duffel-calendar-icon:hover{opacity:.7}.duffel-date-wrapper input[type="date"]::-webkit-calendar-picker-indicator{opacity:0;position:absolute;right:0;width:100%;height:100%;cursor:pointer}.duffel-return-date{margin-top:0}.duffel-form-group{position:relative;margin-bottom:10px}.duffel-form-row-first .duffel-form-group{margin-bottom:0}.duffel-form-group label{display:block;margin-bottom:8px;font-weight:500;font-size:13px;color:#333;font-family:'Jost',sans-serif}.duffel-form-group input[type="text"],.duffel-form-group input[type="date"],.duffel-form-group select{width:100%;padding:12px 15px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;font-family:'Jost',sans-serif;font-size:13px;color:#333;transition:all 0.3s;box-sizing:border-box}.duffel-form-group input[type="text"]:focus,.duffel-form-group input[type="date"]:focus,.duffel-form-group select:focus{outline:none;border-color:#2D3754;box-shadow:0 0 0 3px rgb(45 55 84 / .1)}.duffel-search-btn{padding:12px 24px;background:#2D3754;color:#fff;border:none;border-radius:8px;font-family:'Jost',sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:all 0.3s;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;height:fit-content}.duffel-search-btn:hover:not(:disabled){background:#1a2332;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgb(45 55 84 / .4)}.duffel-search-btn:disabled{opacity:.7;cursor:not-allowed}.airport-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 12px rgb(0 0 0 / .15);z-index:1000;max-height:300px;overflow-y:auto;margin-top:5px;display:none}.airport-list{list-style:none;margin:0;padding:0}.airport-item{padding:12px 15px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background 0.2s}.airport-item:hover{background:#f5f5f5}.airport-item:last-child{border-bottom:none}.airport-item strong{display:block;color:#333;font-size:15px}.airport-city{display:block;color:#666;font-size:13px;margin-top:4px}.airport-loading,.airport-no-results,.airport-error{padding:15px;text-align:center;color:#666}.airport-error{color:#e74c3c}.duffel-results{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgb(0 0 0 / .1);padding:30px;margin-top:30px}.duffel-results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.duffel-results-header h3{margin:0;font-size:24px;color:#333}#toggle-filters{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all 0.3s}#toggle-filters:hover{background:#5568d3}.duffel-results-content{display:block}.duffel-filters{position:fixed;top:0;right:-300px;width:280px;height:100vh;background:#fff;box-shadow:-2px 0 8px rgb(0 0 0 / .1);z-index:1000;transition:right 0.3s ease;overflow-y:auto;padding:20px}.duffel-filters.active{right:0}.duffel-filters{background:#f8f9fa;padding:20px;border-radius:8px;height:fit-content}.duffel-filters h4{margin:0 0 20px 0;font-size:18px;color:#333}.filter-group{margin-bottom:20px}.filter-group label{display:block;margin-bottom:8px;font-weight:500;color:#555;font-size:14px}.filter-group input[type="range"]{width:100%;margin-bottom:5px}.filter-group input[type="checkbox"]{margin-right:8px}#apply-filters,.duffel-btn-secondary{width:100%;padding:12px;background:#667eea;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all 0.3s;margin-top:10px}#apply-filters:hover{background:#5568d3}.duffel-offers-list{display:flex;flex-direction:column;gap:20px}.duffel-offer-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:30px;transition:all 0.3s;margin-bottom:25px;box-shadow:0 2px 4px rgb(0 0 0 / .05);width:100%;box-sizing:border-box}.duffel-offer-card:hover{border-color:#667eea;box-shadow:0 6px 20px rgb(102 126 234 / .15);transform:translateY(-3px)}.offer-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.offer-airline-info{flex:1}.offer-airline{font-size:18px;font-weight:600;color:#333;margin-bottom:8px}.offer-route-info{display:flex;align-items:center;gap:10px}.route-stops{font-size:13px;color:#666;background:#f5f5f5;padding:4px 10px;border-radius:12px}.badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;text-transform:uppercase}.badge.refundable{background:#4caf50;color:#fff}.badge.non-refundable{background:#ff9800;color:#fff}.offer-details{display:grid;grid-template-columns:1fr 300px;gap:50px;align-items:center}.offer-flight-info{flex:1}.flight-time-section{display:flex;align-items:center;gap:15px;padding:20px;background:#f8f9fa;border-radius:8px}.time-block{text-align:center;min-width:80px}.time-value{font-size:24px;font-weight:700;color:#333;margin-bottom:5px}.time-label{font-size:12px;color:#999;text-transform:uppercase;letter-spacing:.5px}.flight-duration-block{flex:1;position:relative;display:flex;align-items:center;justify-content:center;padding:0 20px}.duration-line{position:absolute;top:50%;left:0;right:0;height:2px;background:linear-gradient(to right,#667eea,#764ba2);z-index:0}.duration-info{background:#fff;padding:8px 15px;border-radius:20px;position:relative;z-index:1;box-shadow:0 2px 4px rgb(0 0 0 / .1)}.duration-value{font-size:13px;font-weight:600;color:#667eea}.offer-price-section{border-left:2px solid #f0f0f0;padding-left:40px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.price-simple{margin-bottom:25px}.price-amount{font-size:42px;font-weight:700;color:#667eea;margin-bottom:8px;line-height:1.2}.price-per-person{font-size:13px;color:#999;text-transform:uppercase;letter-spacing:.5px}.btn-select-offer{width:100%;padding:14px 20px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px rgb(102 126 234 / .3)}.btn-select-offer:hover{background:linear-gradient(135deg,#5568d3 0%,#6a3d8a 100%);transform:translateY(-2px);box-shadow:0 6px 16px rgb(102 126 234 / .4)}.btn-select-offer:active{transform:translateY(0)}.no-offers{text-align:center;padding:60px 20px;color:#999;font-size:18px}.duffel-booking-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgb(0 0 0 / .1);padding:40px;margin-top:30px}.duffel-booking-form h3{margin:0 0 30px 0;font-size:24px;color:#333}.passenger-form-group{background:#f8f9fa;padding:25px;border-radius:8px;margin-bottom:20px}.passenger-form-group h4{margin:0 0 20px 0;color:#667eea;font-size:18px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:15px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:8px;font-weight:500;color:#555;font-size:14px}.form-group input,.form-group select{padding:10px 12px;border:2px solid #e0e0e0;border-radius:6px;font-size:15px;transition:all 0.3s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgb(102 126 234 / .1)}.duffel-book-btn{width:100%;padding:16px;background:#4caf50;color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:all 0.3s;margin-top:20px}.duffel-book-btn:hover{background:#45a049;transform:translateY(-2px);box-shadow:0 4px 12px rgb(76 175 80 / .4)}@media (min-width:768px){.duffel-form-main-row{display:flex;align-items:flex-end;gap:10px}.duffel-form-main-row .duffel-form-row-second,.duffel-form-main-row .duffel-form-row-dates{display:contents}.duffel-form-main-row .duffel-form-group{flex:1 1 0%;min-width:0;margin-bottom:0}.duffel-form-main-row .duffel-search-btn-wrapper{flex:0 0 auto}.duffel-form-main-row .duffel-search-btn{height:100%;min-height:42px}}@media (max-width:768px){.duffel-booking-container{padding:15px 0 15px 0;max-width:100%}.duffel-search-box{padding:20px 16px;border-radius:0}.duffel-search-box h2{font-size:20px;margin-bottom:20px}.duffel-form-row-first{grid-template-columns:1fr 1fr;margin-bottom:12px}.duffel-form-row-second{grid-template-columns:1fr;gap:10px;margin-bottom:10px}.duffel-form-row-dates{grid-template-columns:1fr;gap:10px}.duffel-form-row-dates.has-return-date{grid-template-columns:1fr 1fr}.duffel-form-row-dates .duffel-search-btn-wrapper{grid-column:1 / -1;width:100%}.duffel-form-row-dates.has-return-date .duffel-form-group{margin-bottom:0}.duffel-form-group{margin-bottom:0}.duffel-search-btn{width:100%;padding:14px;font-size:13px}.duffel-results-content{display:block}.duffel-results{margin:0;border-radius:0;padding:20px 16px 30px 16px;box-shadow:none;width:100%;box-sizing:border-box}.duffel-filters{position:fixed;right:-100%;width:100%;max-width:320px}.offer-details{grid-template-columns:1fr;gap:25px}.offer-price-section{border-left:none;border-top:2px solid #f0f0f0;padding-left:0;padding-top:25px}.flight-time-section{flex-direction:column;gap:10px}.duration-line{width:2px;height:40px;left:50%;top:0;transform:translateX(-50%)}.duffel-form-row{grid-template-columns:1fr}.price-amount{font-size:32px}}@media (min-width:769px) and (max-width:1024px){.duffel-booking-container{padding:20px}.duffel-search-box{padding:25px}.duffel-form-row-first{grid-template-columns:1fr 1fr;margin-bottom:16px}.duffel-form-row-second{grid-template-columns:1fr 1fr;gap:10px}.duffel-form-row-dates{grid-template-columns:1fr auto}.duffel-form-row-dates.has-return-date{grid-template-columns:1fr 1fr auto}}@media (min-width:1025px){.duffel-booking-container{max-width:1200px;padding:30px}.duffel-search-box{padding:40px}.duffel-form-row-first{grid-template-columns:1fr 1fr;margin-bottom:16px}.duffel-form-row-second{grid-template-columns:1fr 1fr;gap:10px}.duffel-form-row-dates{grid-template-columns:1fr auto}.duffel-form-row-dates.has-return-date{grid-template-columns:1fr 1fr auto}}.duffel-booking-details-container{max-width:1200px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.duffel-details-loading{text-align:center;padding:60px 20px}.loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.duffel-details-error{text-align:center;padding:60px 20px;color:#e74c3c}.error-message{font-size:18px;margin-bottom:20px}.btn-back{display:inline-block;padding:12px 24px;background:#667eea;color:#fff;text-decoration:none;border-radius:6px;transition:background 0.3s}.btn-back:hover{background:#5568d3}.duffel-breadcrumbs{margin-bottom:20px;font-size:14px;color:#666}.duffel-breadcrumbs a{color:#667eea;text-decoration:none}.duffel-breadcrumbs a:hover{text-decoration:underline}.duffel-flight-summary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;padding:30px;margin-bottom:30px;color:#fff;box-shadow:0 2px 8px rgb(0 0 0 / .1)}.flight-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.flight-tag{display:inline-block;padding:6px 12px;background:rgb(255 255 255 / .2);border-radius:20px;font-size:13px;color:#fff;backdrop-filter:blur(10px)}.flight-route h1{font-size:32px;margin:10px 0;color:#fff;font-weight:600}.offer-expiry{font-size:14px;color:rgb(255 255 255 / .9);margin-top:10px}.duffel-selected-flights{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgb(0 0 0 / .1);padding:30px;margin-bottom:30px}.duffel-selected-flights h2{font-size:24px;margin:0 0 25px 0;color:#333;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.flight-detail-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:30px;margin-bottom:20px;box-shadow:0 2px 4px rgb(0 0 0 / .05);transition:all 0.3s}.flight-detail-card:hover{border-color:#667eea;box-shadow:0 6px 20px rgb(102 126 234 / .15);transform:translateY(-3px)}.flight-detail-header{display:flex;gap:15px;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #f0f0f0}.flight-icon{font-size:24px;color:#667eea}.flight-header-info{flex:1}.flight-date-time{font-size:16px;font-weight:600;color:#333;margin-bottom:8px}.flight-duration-stops{display:flex;gap:15px;font-size:14px;color:#666;margin-bottom:8px}.flight-route-codes{font-size:14px;color:#333;margin-bottom:5px}.flight-airline{font-size:14px;color:#666}.flight-detail-body{padding-top:15px}.flight-leg{display:flex;gap:15px;margin-bottom:15px}.flight-leg-time{font-size:16px;font-weight:600;color:#333;min-width:60px}.flight-leg-info{flex:1}.flight-leg-label{font-size:14px;color:#666;line-height:1.5}.flight-duration-info{font-size:14px;color:#666;margin:15px 0;padding-left:75px}.flight-baggage-info{display:flex;gap:15px;margin-top:15px;padding-top:15px;border-top:1px solid #f0f0f0}.baggage-item{font-size:14px;color:#666}.duffel-policies{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px}.policy-box{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:25px;box-shadow:0 2px 8px rgb(0 0 0 / .1);transition:all 0.3s}.policy-box:hover{border-color:#667eea;box-shadow:0 4px 12px rgb(102 126 234 / .15)}.policy-box h3{font-size:16px;margin:0 0 10px 0;color:#333}.policy-box .policy-content{font-size:14px;color:#666;margin:0}.policy-box .policy-list{margin:0;padding-left:18px}.policy-box .policy-list li{margin:4px 0;line-height:1.4}.policy-box .policy-group{font-weight:600;color:#333;margin-top:6px}.policy-box .policy-item{margin-left:6px}.policy-box .policy-key{font-weight:600;color:#444}.duffel-payment-options{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgb(0 0 0 / .1);padding:30px;margin-bottom:30px}.duffel-payment-options h2{font-size:24px;margin:0 0 10px 0;color:#333;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.payment-description{font-size:14px;color:#666;margin-bottom:20px;line-height:1.6}.payment-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.payment-option{border:2px solid #e0e0e0;border-radius:12px;padding:25px;cursor:pointer;transition:all 0.3s;background:#fff;box-shadow:0 2px 4px rgb(0 0 0 / .05)}.payment-option:hover{border-color:#667eea;box-shadow:0 4px 12px rgb(102 126 234 / .15);transform:translateY(-2px)}.payment-option.active{border-color:#4caf50;background:#f1f8f4;box-shadow:0 4px 12px rgb(76 175 80 / .2)}.payment-option-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.payment-option-header input[type="radio"]{margin:0}.payment-option-header label{font-size:16px;font-weight:600;color:#333;cursor:pointer;margin:0}.payment-option-desc{font-size:14px;color:#666;margin:0;line-height:1.5}.duffel-contact-details{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgb(0 0 0 / .1);padding:30px;margin-bottom:30px}.duffel-contact-details h2{font-size:24px;margin:0 0 25px 0;color:#333;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.duffel-contact-details .form-group{margin-bottom:15px}.duffel-contact-details label{display:block;margin-bottom:8px;font-weight:500;color:#555;font-size:14px}.duffel-contact-details input{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;box-sizing:border-box;transition:all 0.3s}.duffel-contact-details input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgb(102 126 234 / .1)}.duffel-passengers-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgb(0 0 0 / .1);padding:30px;margin-bottom:30px}.duffel-passengers-section h2{font-size:24px;margin:0 0 20px 0;color:#333;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.passengers-badge{margin-bottom:20px}.passengers-badge .badge{display:inline-block;padding:6px 12px;background:#f0f0f0;border-radius:20px;font-size:13px;color:#333;margin-right:8px}.passengers-badge .badge-adult{background:#e3f2fd;color:#1976d2}.passengers-badge .badge-child{background:#fff3e0;color:#f57c00}.passengers-badge .badge-infant{background:#fce4ec;color:#c2185b}.passenger-form-section{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;padding:25px;margin-bottom:20px;transition:all 0.3s}.passenger-form-section:hover{border-color:#667eea;box-shadow:0 2px 8px rgb(102 126 234 / .1)}.passenger-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.passenger-header h3{font-size:18px;margin:0;color:#333}.passenger-type-select{padding:8px 12px;border:2px solid #667eea;border-radius:6px;background:#fff;font-family:'Jost',sans-serif;font-size:13px;font-weight:500;color:#333;cursor:pointer;transition:all 0.3s;min-width:160px}.passenger-type-select:hover{border-color:#5568d3;background:#f8f9fa}.passenger-type-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgb(102 126 234 / .15)}.passenger-form-section h3{font-size:18px;margin:0 0 20px 0;color:#333}.passenger-section{margin-bottom:25px}.passenger-section:last-child{margin-bottom:0}.passenger-section h4{font-size:16px;margin:0 0 15px 0;color:#555}.passenger-form-section .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:15px}.passenger-form-section .form-group{display:flex;flex-direction:column}.passenger-form-section label{margin-bottom:8px;font-weight:500;color:#555;font-size:14px}.passenger-form-section input,.passenger-form-section select{padding:12px 15px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;transition:all 0.3s}.passenger-form-section input:focus,.passenger-form-section select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgb(102 126 234 / .1)}.add-passenger-container{margin-top:20px;text-align:center}.btn-add-passenger{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s ease;box-shadow:0 2px 4px rgb(102 126 234 / .2)}.btn-add-passenger:hover:not(:disabled){background:linear-gradient(135deg,#5568d3 0%,#6a3f8f 100%);transform:translateY(-2px);box-shadow:0 4px 8px rgb(102 126 234 / .3)}.btn-add-passenger:active:not(:disabled){transform:translateY(0)}.btn-add-passenger:disabled{background:#ccc;cursor:not-allowed;opacity:.6}.duffel-extras-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgb(0 0 0 / .1);padding:30px;margin-bottom:30px}.duffel-extras-section h2{font-size:24px;margin:0 0 25px 0;color:#333;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.extras-list{display:flex;flex-direction:column;gap:15px}.extra-item{display:flex;align-items:center;gap:15px;padding:20px;background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;transition:all 0.3s;box-shadow:0 2px 4px rgb(0 0 0 / .05)}.extra-item:hover{border-color:#667eea;box-shadow:0 6px 20px rgb(102 126 234 / .15);transform:translateY(-3px)}.extra-item.is-disabled{cursor:default;opacity:.65;box-shadow:none}.extra-item.is-disabled:hover{border-color:#e0e0e0;box-shadow:none;transform:none}.extra-item.is-disabled .extra-arrow{display:none}.extra-icon{font-size:24px}.extra-content{flex:1}.extra-content h3{font-size:16px;margin:0 0 5px 0;color:#333}.extra-content p{font-size:14px;color:#666;margin:0;line-height:1.5}.extra-arrow{font-size:20px;color:#999}.duffel-payment-summary{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgb(0 0 0 / .1);padding:30px;margin-bottom:30px}.duffel-payment-summary h2{font-size:24px;margin:0 0 25px 0;color:#333;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.price-table{width:100%;border-collapse:collapse;margin-bottom:20px;background:#fff;border:2px solid #e0e0e0;border-radius:12px;overflow:hidden;box-shadow:0 2px 4px rgb(0 0 0 / .05)}.price-table thead{background:#f8f9fa}.price-table th,.price-table td{padding:15px;text-align:left;border-bottom:1px solid #e0e0e0}.price-table th{font-weight:600;color:#333;font-size:14px}.price-table td{color:#666;font-size:14px}.price-table tfoot{background:#f8f9fa}.price-table tfoot td{font-weight:600;color:#333;border-bottom:none}.payment-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.btn-pay{padding:16px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s}.btn-pay-balance{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 4px 12px rgb(102 126 234 / .3)}.btn-pay-balance:hover:not(:disabled){background:linear-gradient(135deg,#5568d3 0%,#6a3d8a 100%);transform:translateY(-2px);box-shadow:0 6px 16px rgb(102 126 234 / .4)}.btn-pay-card{background:#e0e0e0;color:#333}.btn-pay-card:hover:not(:disabled){background:#d0d0d0;transform:translateY(-2px);box-shadow:0 4px 12px rgb(0 0 0 / .1)}.btn-pay:disabled{opacity:.6;cursor:not-allowed}.duffel-continue-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgb(0 0 0 / .1);padding:30px;margin-bottom:30px;text-align:center}.payment-buttons-container{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.btn-pay-now{padding:16px 32px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 4px 12px rgb(102 126 234 / .3);min-width:180px}.btn-pay-now:hover:not(:disabled){background:linear-gradient(135deg,#5568d3 0%,#6a3d8a 100%);transform:translateY(-2px);box-shadow:0 6px 16px rgb(102 126 234 / .4)}.btn-pay-now:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-pay-duffel{padding:16px 32px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s;background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);color:#fff;box-shadow:0 4px 12px rgb(245 87 108 / .3);min-width:180px}.btn-pay-duffel:hover:not(:disabled){background:linear-gradient(135deg,#e77fe8 0%,#e34658 100%);transform:translateY(-2px);box-shadow:0 6px 16px rgb(245 87 108 / .4)}.btn-pay-duffel:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-pay-later{padding:16px 32px;border:2px solid #667eea;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s;background:#fff;color:#667eea;min-width:180px}.btn-pay-later:hover:not(:disabled){background:#f5f7ff;border-color:#5568d3;color:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px rgb(102 126 234 / .2)}.btn-pay-later:disabled{opacity:.6;cursor:not-allowed;transform:none}.payment-info-text{margin-top:12px;padding:12px 16px;background:#f8f9fa;border-radius:8px;border-left:4px solid #667eea}.btn-continue{padding:16px 48px;border:none;border-radius:8px;font-size:18px;font-weight:600;cursor:pointer;transition:all 0.3s;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;box-shadow:0 4px 12px rgb(102 126 234 / .3);min-width:200px}.btn-continue:hover:not(:disabled){background:linear-gradient(135deg,#5568d3 0%,#6a3d8a 100%);transform:translateY(-2px);box-shadow:0 6px 16px rgb(102 126 234 / .4)}.btn-continue:disabled{opacity:.6;cursor:not-allowed}@media (max-width:768px){.duffel-booking-details-container{padding:15px 0 20px 0;max-width:100%}.duffel-selected-flights{border-radius:0;margin-left:0;margin-right:0;padding:20px 16px 25px 16px;box-shadow:none}.duffel-passengers-section,.duffel-extras-section,.duffel-continue-section{border-radius:0;margin-left:0;margin-right:0;padding:20px 16px 25px 16px;box-shadow:none}.flight-route h1{font-size:24px}.duffel-policies{grid-template-columns:1fr}.flight-detail-card{border-radius:0;margin-left:0;margin-right:0;padding:20px 16px 25px 16px;box-shadow:none}.payment-options-grid{grid-template-columns:1fr}.passenger-form-section .form-row{grid-template-columns:1fr}.payment-buttons{grid-template-columns:1fr}.duffel-continue-section{padding:20px}.payment-buttons-container{flex-direction:column;gap:12px}.btn-pay-now,.btn-pay-duffel,.btn-pay-later{width:100%;min-width:auto;padding:14px 24px;font-size:15px}.btn-continue{width:100%;padding:14px 24px;font-size:16px}.flight-detail-header{flex-direction:column}.flight-duration-info{padding-left:0}}.duffel-confirmation-container{max-width:1200px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.confirmation-header{text-align:center;padding:40px 20px;margin-bottom:40px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;color:#fff;box-shadow:0 2px 8px rgb(0 0 0 / .1)}.confirmation-icon{font-size:80px;margin-bottom:20px;color:#4caf50;background:#fff;width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-weight:700}.confirmation-header h1{font-size:32px;margin:0 0 10px 0;color:#fff}.confirmation-message{font-size:18px;margin:0;opacity:.9}.confirmation-order-info,.confirmation-flight-details,.confirmation-passengers,.confirmation-documents{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgb(0 0 0 / .1);padding:30px;margin-bottom:30px}.confirmation-order-info h2,.confirmation-flight-details h2,.confirmation-passengers h2,.confirmation-documents h2{font-size:24px;margin:0 0 25px 0;color:#333;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.order-info-item{padding:15px 0;border-bottom:1px solid #f0f0f0;font-size:16px}.order-info-item:last-child{border-bottom:none}.status-badge{display:inline-block;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:600;text-transform:uppercase}.status-badge.status-confirmed,.status-badge.status-paid{background:#4caf50;color:#fff}.status-badge.status-pending,.status-badge.status-hold{background:#ff9800;color:#fff}.status-badge.status-cancelled{background:#e74c3c;color:#fff}.flight-confirmation-card{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;padding:25px;margin-bottom:20px}.flight-confirmation-route{font-size:24px;font-weight:600;color:#333;margin-bottom:10px}.flight-confirmation-airline{font-size:16px;color:#666;margin-bottom:15px}.flight-confirmation-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;font-size:14px;color:#666}.passenger-confirmation-item{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;padding:20px;margin-bottom:15px}.passenger-confirmation-item h4{font-size:18px;margin:0 0 15px 0;color:#667eea}.passenger-info{font-size:14px;color:#666}.passenger-info div{margin-bottom:8px}.documents-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.document-item{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:8px;padding:20px}.document-type{font-weight:600;color:#333;margin-bottom:8px}.document-number{font-size:14px;color:#666;font-family:monospace}.confirmation-actions{display:flex;gap:15px;justify-content:center;margin-top:40px;padding-top:40px;border-top:2px solid #f0f0f0}.btn-download{padding:14px 28px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s;box-shadow:0 4px 12px rgb(102 126 234 / .3)}.btn-download:hover{background:linear-gradient(135deg,#5568d3 0%,#6a3d8a 100%);transform:translateY(-2px);box-shadow:0 6px 16px rgb(102 126 234 / .4)}@media (max-width:768px){.confirmation-header h1{font-size:24px}.confirmation-icon{width:80px;height:80px;font-size:50px}.confirmation-actions{flex-direction:column}.flight-confirmation-times{grid-template-columns:1fr}}.seat-selection-modal,.baggage-selection-modal,.service-selection-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgb(0 0 0 / .7);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.seat-selection-content,.baggage-selection-content,.service-selection-content{background:#fff;border-radius:12px;padding:30px;max-width:600px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 40px rgb(0 0 0 / .3)}.seat-selection-content h3,.baggage-selection-content h3,.service-selection-content h3{font-size:24px;margin:0 0 25px 0;color:#333;padding-bottom:20px;border-bottom:2px solid #f0f0f0}.seats-list,.baggage-list,.service-list{display:flex;flex-direction:column;gap:15px;margin-bottom:25px}.seat-option,.baggage-option,.service-option{display:flex;align-items:center;justify-content:space-between;padding:20px;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;transition:all 0.3s;background:#fff}.seat-option:hover,.baggage-option:hover,.service-option:hover{border-color:#667eea;box-shadow:0 4px 12px rgb(102 126 234 / .15)}.seat-option.selected,.baggage-option.selected,.service-option.selected{border-color:#4caf50;background:#f1f8f4}.seat-info,.baggage-info,.service-info{flex:1}.seat-info strong,.baggage-info strong,.service-info strong{display:block;font-size:16px;color:#333;margin-bottom:5px}.seat-name{display:block;font-size:14px;color:#666}.seat-disclosure,.service-detail{display:block;font-size:13px;color:#777;margin-top:4px}.baggage-info span{display:block;font-size:14px;color:#666;margin-top:5px}.seat-price,.baggage-price,.service-price{font-size:18px;font-weight:600;color:#667eea;margin-right:15px}.seat-checkbox,.baggage-checkbox,.service-checkbox{width:20px;height:20px;cursor:pointer}.seat-selection-actions,.baggage-selection-actions,.service-selection-actions{display:flex;gap:15px;justify-content:flex-end;padding-top:20px;border-top:2px solid #f0f0f0}.btn-cancel-seats,.btn-cancel-baggage,.btn-cancel-service{padding:12px 24px;background:#e0e0e0;color:#333;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s}.btn-cancel-seats:hover,.btn-cancel-baggage:hover,.btn-cancel-service:hover{background:#d0d0d0}.btn-confirm-seats,.btn-confirm-baggage,.btn-confirm-service{padding:12px 24px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s;box-shadow:0 4px 12px rgb(102 126 234 / .3)}.btn-confirm-seats:hover,.btn-confirm-baggage:hover,.btn-confirm-service:hover{background:linear-gradient(135deg,#5568d3 0%,#6a3d8a 100%);transform:translateY(-2px);box-shadow:0 6px 16px rgb(102 126 234 / .4)}.extra-item.has-selection{border-color:#4caf50;background:#f1f8f4}.extra-item.has-selection::after{content:'✓';position:absolute;top:10px;right:10px;color:#4caf50;font-size:20px;font-weight:700}.duffel-results-container{max-width:1200px;margin:0 auto;padding:20px;font-family:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.duffel-results-header{margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.duffel-results-header h2{margin:0 0 10px 0;font-size:24px;font-weight:600;color:#333}.duffel-results-header .search-info{margin:0;font-size:14px;color:#666}.duffel-results-error{padding:30px;text-align:center;color:#e74c3c;background:#fff;border-radius:8px;border:1px solid #e0e0e0}.duffel-results-list{display:flex;flex-direction:column;gap:15px}.duffel-offer-card-minimalist{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:15px;transition:all 0.2s;box-shadow:0 1px 3px rgb(0 0 0 / .05)}.duffel-offer-card-minimalist:hover{border-color:#667eea;box-shadow:0 2px 8px rgb(102 126 234 / .15)}.offer-main-content{display:flex;align-items:flex-start;gap:15px;margin-bottom:12px}.offer-logo{flex-shrink:0;width:50px;height:50px;display:flex;align-items:center;justify-content:center}.offer-logo img{max-width:100%;max-height:100%;object-fit:contain}.offer-times{display:flex;flex-direction:column;gap:2px;min-width:60px}.time-departure,.time-arrival{font-size:16px;font-weight:600;color:#333;line-height:1.2}.offer-info{flex:1;display:flex;flex-direction:column;gap:4px}.offer-airline-flight{display:flex;align-items:center;gap:8px;font-size:13px;color:#333}.airline-name{font-weight:500}.flight-number{color:#666;font-size:12px}.offer-duration{font-size:12px;color:#666}.offer-route{display:flex;align-items:center;gap:5px;font-size:13px;color:#333;font-weight:500}.route-separator{color:#999}.offer-stops{font-size:12px;color:#666}.offer-footer{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #e0e0e0;margin-top:8px}.offer-price{display:flex;flex-direction:column;gap:2px}.price-label{font-size:11px;color:#999;text-transform:uppercase;letter-spacing:.5px}.price-amount{font-size:18px;font-weight:700;color:#333}.btn-select-offer-minimalist{padding:10px 20px;background:#2D3754;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s;text-transform:uppercase;letter-spacing:.5px;font-family:'Jost',sans-serif}.btn-select-offer-minimalist:hover{background:#333;transform:translateY(-1px);box-shadow:0 2px 6px rgb(0 0 0 / .2)}.btn-select-offer-minimalist:active{transform:translateY(0)}.no-offers{text-align:center;padding:40px 20px;color:#999;font-size:16px}.duffel-results-search-box{background:#f8f9fa;border-radius:8px;padding:20px;margin-bottom:25px;border:1px solid #e0e0e0}.duffel-results-search-form{margin:0}.results-search-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) auto;gap:15px;align-items:end}.results-search-group{display:flex;flex-direction:column;gap:5px}.results-search-group label{font-size:12px;font-weight:600;color:#333;font-family:'Jost',sans-serif}.results-search-group input[type="text"],.results-search-group input[type="date"]{padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;font-family:'Jost',sans-serif;background:#fff}.results-search-group input[readonly]{background:#f5f5f5;cursor:not-allowed}.results-search-actions{display:flex;align-items:flex-end}.btn-modify-search{padding:10px 20px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s;font-family:'Jost',sans-serif;white-space:nowrap}.btn-modify-search:hover{background:#5568d3;transform:translateY(-1px)}.duffel-results-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:25px;padding-bottom:15px;border-bottom:1px solid #e0e0e0;gap:20px;flex-wrap:wrap}.results-header-left{flex:1;min-width:200px}.results-header-right{flex-shrink:0}.results-filters{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:5px;min-width:150px}.filter-group label{font-size:12px;font-weight:600;color:#333;font-family:'Jost',sans-serif}.filter-select{padding:8px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:13px;font-family:'Jost',sans-serif;background:#fff;cursor:pointer;transition:all 0.2s}.filter-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px rgb(102 126 234 / .1)}.duffel-offer-card-minimalist{cursor:pointer}.duffel-offer-card-minimalist.expanded{border-color:#667eea;box-shadow:0 2px 12px rgb(102 126 234 / .2)}.offer-detailed-info{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0}.detailed-segment{display:flex;gap:20px;margin-bottom:20px;position:relative}.detailed-timeline{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:20px;position:relative}.timeline-dot{width:12px;height:12px;border-radius:50%;background:#667eea;border:2px solid #fff;box-shadow:0 0 0 2px #667eea;z-index:2}.timeline-line{position:absolute;top:12px;bottom:0;left:50%;transform:translateX(-50%);width:2px;background:repeating-linear-gradient(to bottom,#e0e0e0 0,#e0e0e0 4px,transparent 4px,transparent 8px);z-index:1}.timeline-end{margin-top:auto}.detailed-content{flex:1;padding-bottom:10px}.detailed-departure,.detailed-arrival{margin-bottom:15px}.detailed-date-time{font-size:14px;font-weight:600;color:#333;margin-bottom:5px}.detailed-location{font-size:13px;color:#666;line-height:1.5}.detailed-duration{font-size:13px;color:#666;margin:10px 0;padding-left:40px;font-style:italic}.detailed-footer{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0}.detailed-meta{display:flex;flex-wrap:wrap;gap:15px;align-items:center}.meta-item{font-size:13px;color:#666;display:flex;align-items:center;gap:5px}.baggage-icon{font-size:16px}@media (max-width:768px){.duffel-results-container{padding:0 0 15px 0;max-width:100%}.results-search-row{grid-template-columns:1fr}.results-search-actions{width:100%}.btn-modify-search{width:100%}.duffel-results-header{flex-direction:column}.results-filters{width:100%}.filter-group{flex:1;min-width:0}.offer-main-content{flex-wrap:wrap;gap:10px}.offer-logo{width:40px;height:40px}.offer-footer{flex-direction:column;align-items:stretch;gap:10px}.btn-select-offer-minimalist{width:100%}.detailed-segment{flex-direction:column;gap:10px}.detailed-timeline{flex-direction:row;width:100%;height:20px}.timeline-line{top:50%;left:12px;right:0;bottom:auto;transform:translateY(-50%);width:auto;height:2px}.detailed-duration{padding-left:0}}.duffel-fare-options-container{max-width:1400px;margin:0 auto;padding:20px;font-family:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.fare-options-breadcrumbs{margin-bottom:20px;font-size:14px;color:#666}.fare-options-breadcrumbs span{color:#666}.fare-options-breadcrumbs span:last-child{color:#333;font-weight:500}.fare-options-flight-details{background:#fff;border-radius:12px;padding:25px;margin-bottom:30px;box-shadow:0 2px 8px rgb(0 0 0 / .1)}.fare-options-flight-details h2{margin:0 0 20px 0;font-size:20px;font-weight:600;color:#333}.flight-route{display:flex;align-items:center;justify-content:space-between;gap:20px}.flight-route-info{flex:1;text-align:center}.route-time{font-size:18px;font-weight:600;color:#333;margin-bottom:5px}.route-airport{font-size:14px;color:#666}.route-duration{flex:1;text-align:center;padding:0 20px}.duration-time{font-size:16px;font-weight:500;color:#333;margin-bottom:5px}.duration-type{font-size:12px;color:#666}.fare-options-main{display:flex;gap:30px;align-items:flex-start}.fare-options-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:30px}.fare-option-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:25px;cursor:pointer;transition:all 0.3s ease;display:flex;flex-direction:column}.fare-option-card:hover{border-color:#7c3aed;box-shadow:0 4px 12px rgb(124 58 237 / .15)}.fare-option-card.selected{border-color:#7c3aed;background:#f5f3ff;box-shadow:0 4px 12px rgb(124 58 237 / .2)}.fare-option-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap}.fare-option-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.fare-option-subtitle{width:100%;font-size:13px;color:#666;margin-top:4px;font-weight:400}.selected-badge{background:#7c3aed;color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.fare-option-description{margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.baggage-list{margin:5px 0 0 0;padding-left:20px;list-style-type:disc}.baggage-list li{margin-bottom:3px;font-size:13px}.fare-option-description p{margin:0;font-size:14px;color:#666;line-height:1.5}.fare-option-features{flex:1;margin-bottom:20px}.features-title{font-size:14px;font-weight:600;color:#333;margin-bottom:12px}.feature-item{display:flex;align-items:flex-start;gap:8px;margin-bottom:12px;font-size:14px;color:#666;line-height:1.5}.feature-item strong{color:#333;font-weight:600}.feature-icon{font-size:16px;font-weight:600;flex-shrink:0;margin-top:2px}.feature-item:has(.feature-icon:contains("✓")){color:#059669}.feature-item:has(.feature-icon:contains("✗")){color:#dc2626}.fare-option-price{margin-bottom:20px;padding-top:20px;border-top:1px solid #e0e0e0}.price-label{font-size:12px;color:#666;margin-bottom:5px}.price-amount{font-size:24px;font-weight:700;color:#333}.btn-select-fare-option{width:100%;padding:12px 20px;background:#7c3aed;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.3s ease}.btn-select-fare-option:hover{background:#6d28d9;transform:translateY(-2px);box-shadow:0 4px 8px rgb(124 58 237 / .3)}.fare-option-card.selected .btn-select-fare-option{background:#059669}.fare-option-card.selected .btn-select-fare-option:hover{background:#047857}.fare-options-summary{width:350px;background:#fff;border-radius:12px;padding:25px;box-shadow:0 2px 8px rgb(0 0 0 / .1);position:sticky;top:20px}.fare-options-summary h3{margin:0 0 20px 0;font-size:20px;font-weight:600;color:#333}.summary-airline{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}.summary-airline p{margin:0;font-size:14px;color:#666}.summary-features{margin-bottom:20px}.summary-feature{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:14px;color:#666}.summary-price{padding-top:20px;border-top:1px solid #e0e0e0;margin-bottom:20px}.fare-options-actions{margin-top:20px}.btn-checkout{width:100%;padding:14px 20px;background:#7c3aed;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-checkout:hover:not(:disabled){background:#6d28d9;transform:translateY(-2px);box-shadow:0 4px 12px rgb(124 58 237 / .3)}.btn-checkout:disabled{background:#ccc;cursor:not-allowed;opacity:.6}@media (max-width:1200px){.fare-options-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.fare-options-summary{width:100%;position:static}.fare-options-main{flex-direction:column}}@media (max-width:768px){.fare-options-grid{grid-template-columns:1fr}.flight-route{flex-direction:column;gap:15px}.route-duration{padding:15px 0;border-top:1px solid #e0e0e0;border-bottom:1px solid #e0e0e0;width:100%}}.duffel-fare-options-container{max-width:1400px;margin:0 auto;padding:20px;font-family:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.fare-options-breadcrumbs{margin-bottom:30px;font-size:14px;color:#666}.fare-options-breadcrumbs span{color:#666}.fare-options-breadcrumbs span:last-child{color:#333;font-weight:600}.fare-options-flight-details{background:#fff;border-radius:12px;padding:25px;margin-bottom:30px;box-shadow:0 2px 8px rgb(0 0 0 / .1)}.fare-options-flight-details h2{margin:0 0 20px 0;font-size:20px;font-weight:600;color:#333}.flight-route{display:flex;align-items:center;justify-content:space-between;gap:20px}.flight-route-info{display:flex;flex-direction:column;align-items:center;gap:5px}.route-time{font-size:18px;font-weight:600;color:#333}.route-airport{font-size:14px;color:#666}.route-duration{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:0 20px;position:relative}.route-duration::before,.route-duration::after{content:'';position:absolute;top:50%;width:40%;height:2px;background:#ddd}.route-duration::before{left:0}.route-duration::after{right:0}.duration-time{font-size:14px;color:#666}.duration-type{font-size:12px;color:#999}.fare-options-main{display:grid;grid-template-columns:1fr 350px;gap:30px}.fare-options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.fare-option-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:25px;cursor:pointer;transition:all 0.3s ease;position:relative}.fare-option-card:hover{border-color:#7c3aed;box-shadow:0 4px 12px rgb(124 58 237 / .15)}.fare-option-card.selected{border-color:#7c3aed;background:#f5f3ff;box-shadow:0 4px 12px rgb(124 58 237 / .2)}.fare-option-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.fare-option-header h3{margin:0;font-size:18px;font-weight:600;color:#333}.selected-badge{background:#7c3aed;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.fare-option-features{margin-bottom:20px}.feature-item{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;color:#666}.feature-icon{font-size:16px;font-weight:600}.feature-item .feature-icon{color:#7c3aed}.feature-item:has(.feature-icon:contains("✗")) .feature-icon{color:#999}.fare-option-price{margin-bottom:20px;padding-top:20px;border-top:1px solid #e0e0e0}.price-label{font-size:12px;color:#999;margin-bottom:5px}.price-amount{font-size:24px;font-weight:700;color:#333}.btn-select-fare-option{width:100%;padding:12px;background:#7c3aed;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background 0.3s ease}.btn-select-fare-option:hover{background:#6d28d9}.fare-option-card.selected .btn-select-fare-option{background:#5b21b6}.fare-options-summary{background:#fff;border-radius:12px;padding:25px;box-shadow:0 2px 8px rgb(0 0 0 / .1);position:sticky;top:20px;height:fit-content}.fare-options-summary h3{margin:0 0 20px 0;font-size:20px;font-weight:600;color:#333}.summary-airline{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}.summary-airline p{margin:0;font-size:14px;color:#666}.summary-features{margin-bottom:20px}.summary-feature{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;color:#666}.summary-feature .feature-icon{font-size:16px;font-weight:600;color:#7c3aed}.summary-price{margin-bottom:20px;padding-top:20px;border-top:1px solid #e0e0e0}.fare-options-actions{margin-top:20px}.btn-checkout{width:100%;padding:15px;background:#7c3aed;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background 0.3s ease}.btn-checkout:hover:not(:disabled){background:#6d28d9}.btn-checkout:disabled{background:#ccc;cursor:not-allowed}@media (max-width:1200px){.fare-options-main{grid-template-columns:1fr}.fare-options-summary{position:relative;top:0}.fare-options-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media (max-width:768px){.duffel-fare-options-container{max-width:100%;padding:15px 0 20px 0}.fare-options-flight-details{border-radius:0;margin:0 0 20px 0}.fare-options-main{padding:0 0 20px 0}.fare-options-grid{grid-template-columns:1fr;padding:0 16px;box-sizing:border-box}.fare-options-summary{border-radius:0;margin:0;box-shadow:none;padding:20px 16px}.flight-route{flex-direction:column;gap:15px}.route-duration{padding:15px 0}.route-duration::before,.route-duration::after{display:none}}.airline-logo-inline{width:24px;height:24px;margin-right:8px;vertical-align:middle;object-fit:contain}.flight-logo{width:50px;height:50px;display:flex;align-items:center;justify-content:center;margin-right:15px}.flight-logo img{max-width:100%;max-height:100%;object-fit:contain}.flight-logo-main{width:60px;height:60px;display:flex;align-items:center;justify-content:center;margin-bottom:15px}.flight-logo-main img{max-width:100%;max-height:100%;object-fit:contain}.airline-logo-small{width:20px;height:20px;margin-right:6px;vertical-align:middle;object-fit:contain}.airline-with-logo{display:inline-flex;align-items:center;gap:6px}.multi-airline-logos{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.multi-logo{width:30px;height:30px;object-fit:contain}.multi-airline-placeholder{width:50px;height:50px;background:#f0f0f0;border-radius:4px;display:flex;align-items:center;justify-content:center;color:#999;font-size:12px}@media (max-width:768px){.airline-logo-inline{width:20px;height:20px;margin-right:6px}.flight-logo{width:40px;height:40px;margin-right:10px}.flight-logo-main{width:50px;height:50px;margin-bottom:10px}.airline-logo-small{width:16px;height:16px;margin-right:4px}.multi-logo{width:24px;height:24px}.multi-airline-placeholder{width:40px;height:40px}}@media (max-width:480px){.airline-logo-inline{width:18px;height:18px;margin-right:4px}.flight-logo{width:35px;height:35px;margin-right:8px}.flight-logo-main{width:45px;height:45px}.airline-logo-small{width:14px;height:14px;margin-right:3px}.multi-logo{width:20px;height:20px}}.passenger-dropdown{padding:15px;min-width:280px;cursor:default}.passenger-type-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #f0f0f0}.passenger-type-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.passenger-label{display:flex;flex-direction:column}.type-name{font-weight:600;font-size:14px;color:#333}.type-desc{font-size:11px;color:#999}.passenger-counter{display:flex;align-items:center;gap:10px}.counter-btn{width:28px;height:28px;border-radius:50%;border:1px solid #667eea;background:#fff;color:#667eea;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s;padding:0}.counter-btn:hover:not(:disabled){background:#667eea;color:#fff}.counter-btn:disabled{border-color:#e0e0e0;color:#e0e0e0;cursor:not-allowed}.counter-value{font-weight:600;font-size:14px;color:#333;width:20px;text-align:center}.passenger-class-row{margin-top:15px;padding-top:15px;border-top:1px solid #f0f0f0}.passenger-class-row label{display:block;margin-bottom:8px;font-size:12px;font-weight:600;color:#666}.passenger-class-row select{width:100%;padding:8px;border:1px solid #e0e0e0;border-radius:6px;font-family:'Jost',sans-serif;font-size:13px;color:#333}.passenger-class-row select:focus{outline:none;border-color:#667eea}.duffel-passenger-selector .duffel-dropdown-menu{right:0;left:auto;width:300px;max-height:none;overflow-y:visible}.duffel-payment-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgb(0 0 0 / .7);display:flex;align-items:center;justify-content:center;z-index:9999}.duffel-payment-modal-content{background:#fff;border-radius:12px;padding:32px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px rgb(0 0 0 / .3)}.duffel-payment-modal-content h2{margin:0 0 16px 0;font-size:24px;font-weight:600;color:#333}.duffel-payment-modal-content p{margin:0 0 24px 0;color:#666;font-size:16px}#duffel-payment-container{min-height:300px;margin-bottom:24px}.btn-cancel-payment{background:#e0e0e0;color:#333;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all 0.3s}.btn-cancel-payment:hover{background:#d0d0d0}@media (max-width:768px){.duffel-payment-modal-content{width:95%;padding:24px}}