.booking-steps{flex-direction:column;gap:2.5rem;margin:0 auto;display:flex}.route-step{flex-direction:column;gap:1.25rem;display:flex}.route-step-header{align-items:center;gap:1rem;display:flex}.route-step-number{background-color:var(--primary);width:2.25rem;height:2.25rem;color:var(--on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.route-step-header h3{color:var(--on-surface);align-items:center;margin:0;font-size:1.25rem;font-weight:700;display:flex}.route-step-header p{color:var(--on-surface-variant);margin:0;font-size:.95rem}.route-step-header .optional{color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.03em;background-color:#bec8c933;border-radius:999px;margin-left:.6rem;padding:.15rem .6rem;font-size:.75rem;font-weight:600}.carousel{position:relative}.date-row{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;flex-direction:row;gap:1rem;padding:.5rem .25rem 1rem;scroll-padding:0 3rem;display:flex;overflow-x:auto}.date-row::-webkit-scrollbar{display:none}.carousel-nav{z-index:3;border:1px solid var(--outline-variant);background-color:var(--surface-container-lowest);width:2.75rem;height:2.75rem;color:var(--on-surface);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s,transform .2s,background-color .2s,color .2s;display:flex;position:absolute;top:calc(50% - .25rem);transform:translateY(-50%);box-shadow:0 6px 18px -8px #191c1d66}.carousel-nav svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:1.35rem;height:1.35rem}.carousel-nav:hover:not(:disabled){background-color:var(--primary);color:var(--on-primary);border-color:var(--primary)}.carousel-nav:active:not(:disabled){transform:translateY(-50%)scale(.94)}.carousel-nav-prev{left:-.5rem}.carousel-nav-next{right:-.5rem}.carousel-nav:disabled{opacity:0;pointer-events:none}@media (max-width:600px){.carousel-nav{display:none}}.carousel-scroll-hint{color:var(--on-surface-variant);justify-content:center;align-items:center;gap:1rem;margin-top:.5rem;font-size:.9rem;display:flex}.carousel-scroll-hint button{border:1px solid var(--outline-variant);width:2rem;height:2rem;color:inherit;cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.carousel-scroll-hint button:disabled{opacity:.3;cursor:not-allowed}.carousel-scroll-hint button:hover:not(:disabled){background-color:var(--surface-container-highest);color:var(--on-surface)}.carousel-scroll-hint svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.2rem;height:1.2rem}.direction-toggle{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.direction-option{border:2px solid var(--outline-variant);background-color:var(--surface-container-lowest);color:var(--on-surface);font:inherit;cursor:pointer;border-radius:1rem;flex:160px;padding:.75rem 1rem;font-weight:700;transition:border-color .2s,background-color .2s}.direction-option:hover{border-color:var(--primary)}.direction-option.selected{border-color:var(--primary);background-color:var(--primary);color:var(--on-primary)}.date-card{scroll-snap-align:start;border:2px solid var(--outline-variant);background-color:var(--surface-container-lowest);cursor:pointer;text-align:left;min-width:165px;font:inherit;color:var(--on-surface);border-radius:1rem;flex-direction:column;flex:none;align-items:flex-start;gap:.5rem;padding:1rem 1.25rem;transition:transform .2s,box-shadow .2s,border-color .2s,background-color .2s;display:flex}.date-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 20px -10px #191c1d40}.date-card.selected{border-color:var(--primary);background-color:var(--primary);color:var(--on-primary)}.date-card.selected .date-card-price,.date-card.selected .date-card-sub{color:var(--on-primary)}.date-card-date{font-size:1rem;font-weight:700}.date-card-times{align-items:center;gap:.4rem;font-size:.95rem;display:flex}.date-card-arrow{opacity:.6}.date-card-price{color:var(--primary);font-weight:700}.date-card-sub{color:var(--on-surface-variant);font-size:.85rem}.date-card-oneway{text-align:center;justify-content:center;align-items:center;min-width:135px}.trip-summary{text-align:left;flex-direction:column;gap:.75rem;max-width:480px;margin:0 auto;display:flex}.trip-summary-leg{color:var(--on-surface);align-items:center;gap:.75rem;font-size:1rem;display:flex}.trip-summary-leg>span:nth-child(2){flex:1}.trip-summary-leg-muted{color:var(--on-surface-variant)}.trip-summary-tag{text-transform:uppercase;letter-spacing:.03em;color:var(--on-surface-variant);background-color:#bec8c933;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:700}.trip-summary-total{color:var(--on-surface);border-top:2px solid #bec8c933;justify-content:space-between;align-items:center;margin-top:.25rem;padding-top:.75rem;font-size:1.25rem;font-weight:700;display:flex}.pay-on-pickup-note{max-width:480px;color:var(--on-surface-variant);text-align:center;margin:1rem auto 0;font-size:.95rem;line-height:1.6}.submit-error{color:#ba1a1a;text-align:center;background-color:#ba1a1a14;border:1px solid #ba1a1a59;border-radius:.75rem;margin-top:1.5rem;padding:.875rem 1rem;font-weight:600}.airline-routes-container{flex-direction:column;gap:3rem;max-width:900px;margin:0 auto;display:flex}.airline-day-section{flex-direction:column;gap:1.5rem;display:flex}.airline-date-header{color:var(--on-surface);border-bottom:2px solid #bec8c933;margin:0;padding-bottom:.5rem;font-size:1.5rem;font-weight:700}.airline-cards-wrapper{flex-direction:column;gap:1rem;display:flex}.airline-card{background-color:var(--surface-container-lowest);border:1px solid #bec8c926;border-radius:1rem;flex-direction:column;gap:1.5rem;padding:1.5rem;transition:transform .3s,box-shadow .3s;display:flex;box-shadow:0 4px 16px -8px #191c1d14}.airline-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px -8px #191c1d1f}@media (min-width:768px){.airline-card{flex-direction:row;justify-content:space-between;align-items:center;gap:2rem}}.airline-card-left{flex-direction:column;flex:1;align-items:flex-start;gap:.5rem;display:flex}.airline-route-name{color:var(--on-surface);font-size:1.125rem;font-weight:600}.airline-card-middle{flex:2;justify-content:center;align-items:center;gap:1rem;display:flex}.airline-time{color:var(--on-surface);white-space:nowrap;font-size:1.125rem;font-weight:700}.airline-timeline-horizontal{flex:1;align-items:center;min-width:80px;display:flex}.airline-line-horizontal{background-color:#bec8c94d;flex:1;height:2px;margin:0 .5rem}.airline-card-right{flex-direction:row;flex:1;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}@media (min-width:768px){.airline-card-right{flex-direction:column;align-items:flex-end;gap:.75rem}}.airline-price{color:var(--on-surface);font-size:1.25rem;font-weight:700}.checkout-container{background-color:var(--surface-container-lowest);border:1px solid #bec8c926;border-radius:1.5rem;max-width:800px;margin-top:3rem;margin-left:auto;margin-right:auto;padding:2rem;box-shadow:0 4px 16px -8px #191c1d14}.checkout-header{text-align:center;border-bottom:2px solid #bec8c933;margin-bottom:2rem;padding-bottom:1.5rem}.checkout-header h2{color:var(--on-surface);margin:0 0 .75rem;font-size:2rem;font-weight:700}.checkout-header p{color:var(--on-surface-variant);margin:0;font-size:1.125rem;line-height:1.6}.checkout-form{max-width:600px;margin:0 auto}.input-book{flex-direction:column;margin-bottom:1.5rem;display:flex}.input-book label{color:var(--on-surface);margin-bottom:.5rem;font-size:.9375rem;font-weight:600;display:block}.input-book input,.input-book select{border:1px solid var(--outline-variant);background-color:var(--surface-container-lowest);color:var(--on-surface);border-radius:.75rem;padding:.875rem 1rem;font-size:1rem;transition:all .3s}.input-book input:focus,.input-book select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0069721a}.input-book input::placeholder{color:var(--on-surface-variant);opacity:.6}.form-section{border-bottom:1px solid #bec8c933;margin-bottom:2.5rem;padding-bottom:2.5rem}.form-section:last-of-type{border-bottom:none;margin-bottom:2rem;padding-bottom:0}.form-section h3{color:var(--on-surface);margin-bottom:1.5rem;padding-top:.5rem;font-size:1.375rem;font-weight:700}.phone-group{grid-template-columns:1fr auto;gap:1rem;display:grid}.phone-group input{grid-column:1}.phone-group select{grid-column:2;width:120px}.fare-hint{color:var(--on-surface-variant);margin:0 0 1rem;font-size:.9rem}.fare-list{flex-direction:column;gap:.75rem;display:flex}.fare-row{border:1px solid var(--outline-variant);background-color:var(--surface-container-lowest);border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;padding:.875rem 1rem;display:flex}.fare-info{flex-direction:column;gap:.2rem;display:flex}.fare-name{color:var(--on-surface);font-weight:600}.fare-price{color:var(--on-surface-variant);font-size:.9rem}.fare-stepper{align-items:center;gap:.75rem;display:flex}.fare-stepper button{border:1px solid var(--outline-variant);background-color:var(--surface-container-lowest);width:2.25rem;height:2.25rem;color:var(--on-surface);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;transition:background-color .2s,color .2s,border-color .2s;display:flex}.fare-stepper button:hover:not(:disabled){background-color:var(--primary);color:var(--on-primary);border-color:var(--primary)}.fare-stepper button:disabled{opacity:.4;cursor:not-allowed}.fare-qty{text-align:center;min-width:1.5rem;color:var(--on-surface);font-size:1.05rem;font-weight:700}.participant-card{border:1px solid var(--outline-variant);background-color:var(--surface-container);border-radius:1rem;margin-bottom:1.5rem;padding:1.5rem}.participant-card legend{color:var(--on-surface);padding:0 .5rem;font-size:1.125rem;font-weight:700}.participant-card .input-book{margin-bottom:1.25rem}.participant-card .input-book:last-of-type{margin-bottom:0}.submit-button{cursor:pointer;background-color:var(--primary);width:100%;color:var(--on-primary);border:none;border-radius:.75rem;margin-top:1.5rem;padding:1.25rem;font-size:1.125rem;font-weight:700;transition:all .3s}.submit-button:hover{background-color:var(--secondary);transform:translateY(-2px);box-shadow:0 8px 24px #00697266}.success-container{background-color:var(--surface-container-lowest);text-align:center;border:1px solid #bec8c926;border-radius:1.5rem;max-width:600px;margin-top:3rem;margin-left:auto;margin-right:auto;padding:4rem 2rem;box-shadow:0 4px 16px -8px #191c1d14}.success-container h2{color:var(--primary);margin-bottom:1rem;font-size:2.5rem;font-weight:700}.success-container p{color:var(--on-surface-variant);margin-bottom:2rem;font-size:1.125rem;line-height:1.6}.date-picker::part(month){border:2px solid var(--outline-variant);background-color:var(--surface-container-lowest);color:var(--on-surface);border-radius:1rem}.date-picker::part(month-label),.date-picker::part(title){padding:1rem;font-size:1rem;font-weight:700}.date-picker::part(day):hover{border:2px solid var(--outline-variant);border-color:var(--primary);border-radius:1rem;box-shadow:0 8px 20px -10px #191c1d40}.date-picker::part(previous),.date-picker::part(next){border:1px solid var(--outline-variant);width:2rem;height:2rem;color:inherit;cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center}.date-picker::part(previous):hover,.date-picker::part(next):hover{background-color:var(--primary);color:var(--on-primary);border-color:var(--primary)}.time-input{width:100%;display:block}
