.booking-page{min-height:100vh;background-color:#f8f9fa;padding:7rem 0}.booking-layout{display:grid;grid-template-columns:1fr 400px;gap:2rem;max-width:1400px;margin:0 auto}.booking-main{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014}.booking-header{text-align:center;margin-bottom:3rem}.booking-header h1{font-size:2.5rem;font-weight:var(--font-weight-bold);color:var(--title-color);margin-bottom:.5rem}.booking-header p{font-size:1.125rem;color:var(--text-secondary)}.booking-step{margin-bottom:3rem}.step-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.step-header .step-number{width:48px;height:48px;border-radius:50%;background-color:#e9ecef;color:#6c757d;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:var(--font-weight-semibold);transition:all .3s ease}.step-header .step-number.active{background-color:var(--primary-color);color:#fff}.step-header .step-number.completed{background-color:#28a745;color:#fff}.step-header .step-info h2{font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--title-color);margin-bottom:.25rem}.step-header .step-info p{color:var(--text-secondary);margin:0}.no-pricing-notice{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:2px solid #ffc107;border-radius:12px;padding:1.5rem;margin-bottom:2rem;display:flex;align-items:flex-start;gap:1rem;box-shadow:0 4px 12px #ffc10726}.no-pricing-notice .notice-icon{width:28px;height:28px;color:#ff6f00;flex-shrink:0;margin-top:.25rem}.no-pricing-notice .notice-content{flex:1}.no-pricing-notice .notice-content h3{font-size:1.125rem;font-weight:var(--font-weight-semibold);color:#856404;margin:0 0 .5rem}.no-pricing-notice .notice-content p{font-size:.95rem;color:#856404;margin:0;line-height:1.5}.return-date-section{margin-top:2rem;padding:0}.return-date-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:16px;padding:2rem;box-shadow:0 4px 12px #00000014}.return-date-card .return-date-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.return-date-card .return-date-header .return-icon{font-size:2.5rem;color:var(--primary-color)}.return-date-card .return-date-header .return-date-info h3{font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--title-color);margin:0 0 .25rem}.return-date-card .return-date-header .return-date-info p{font-size:.875rem;color:var(--text-secondary);margin:0}.return-date-card .return-date-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;background:#fff;padding:1.5rem;border-radius:12px;border:2px solid #dee2e6}.return-date-card .return-date-input label,.return-date-card .return-time-input label{display:block;font-size:.875rem;font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:.75rem}.return-date-card .return-date-input input[type=date],.return-date-card .return-date-input input[type=time],.return-date-card .return-time-input input[type=date],.return-date-card .return-time-input input[type=time]{width:100%;padding:.875rem 1rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;color:var(--text-primary);background-color:#fff;transition:all .3s ease;font-family:inherit}.return-date-card .return-date-input input[type=date]:focus,.return-date-card .return-date-input input[type=time]:focus,.return-date-card .return-time-input input[type=date]:focus,.return-date-card .return-time-input input[type=time]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0e75901a;transform:translateY(-1px)}.return-date-card .return-date-input input[type=date]:hover,.return-date-card .return-date-input input[type=time]:hover,.return-date-card .return-time-input input[type=date]:hover,.return-date-card .return-time-input input[type=time]:hover{border-color:#ced4da}.vehicles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;margin-top:2rem}.vehicle-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 6px #0000000d;border:none;transition:all .3s ease;cursor:pointer}.vehicle-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.vehicle-card.selected{border-color:var(--primary-color);box-shadow:0 6px 20px #007bff26}.vehicle-image{text-align:center;margin-bottom:1rem;padding:0;height:200px;overflow:hidden;border-radius:12px 12px 0 0;background:#f5f5f5}.vehicle-image .vehicle-img{width:100%;height:100%;object-fit:cover;display:block;scale:.8}.vehicle-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.3rem;padding-bottom:.5rem;border-bottom:1px solid #e2e8f0}.vehicle-title h3{font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0}.vehicle-features{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.3rem}.feature-item{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}.feature-item .feature-icon{font-size:1.125rem;color:var(--primary-color);min-width:1.25rem}.feature-item span{font-size:.875rem;color:var(--text-secondary);font-weight:var(--font-weight-medium)}.vehicle-amenities{margin-bottom:1.5rem}.amenities-list,.amenities-expanded{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.amenity-item{display:flex;align-items:center;gap:.75rem;padding:.7rem 0}.amenity-item .amenity-icon{font-size:1rem;color:var(--primary-color);min-width:1.125rem}.amenity-item span{font-size:.8125rem;color:var(--text-secondary);font-weight:var(--font-weight-medium)}.amenities-toggle{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--primary-color);font-size:.8125rem;font-weight:var(--font-weight-medium);cursor:pointer;padding:.5rem 0;transition:all .3s ease}.amenities-toggle:hover{color:var(--primary-dark)}.amenities-toggle .toggle-icon{font-size:1rem;transition:transform .3s ease}.vehicle-divider{height:1px;background:linear-gradient(90deg,transparent,#e2e8f0,transparent);margin:1.5rem 0 1.3rem}.vehicle-price{margin-bottom:1.5rem}.price-main{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem}.price-main .price{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--primary-color)}.price-main .price-note{font-size:.875rem;color:var(--text-secondary);font-weight:var(--font-weight-medium)}.price-details small{font-size:.75rem;color:var(--text-secondary);font-style:italic}.select-vehicle-btn{width:100%;padding:1rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:12px;font-weight:var(--font-weight-semibold);font-size:.875rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.select-vehicle-btn .btn-icon{font-size:1rem}.select-vehicle-btn:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #007bff33}.select-vehicle-btn:active{transform:translateY(0)}.select-vehicle-btn.selected{background:#10b981}.select-vehicle-btn.selected .btn-icon{transform:rotate(0)}.select-vehicle-btn.selected:hover{background:#059669}.vehicle-info{padding:1rem 1.5rem 1.5rem}.vehicle-info h3{font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--title-color);margin-bottom:1rem}.vehicle-features{display:flex;flex-direction:column;gap:.2rem;margin-bottom:0rem}.vehicle-features .feature{font-size:.875rem;color:var(--text-secondary);padding:.25rem 0}.vehicle-price{display:flex;align-items:baseline;gap:.5rem;margin-bottom:1.5rem}.vehicle-price .price{font-size:2rem;font-weight:var(--font-weight-bold);color:var(--primary-color)}.vehicle-price .price-note{font-size:.875rem;color:var(--text-secondary)}.select-vehicle-btn{width:100%;background-color:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:var(--font-weight-semibold);cursor:pointer;transition:background-color .3s ease}.select-vehicle-btn:hover{background-color:var(--primary-dark)}.extras-grid{display:grid;gap:1rem}.extra-card{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border:2px solid #e9ecef;border-radius:12px;transition:all .3s ease}.extra-card:hover{border-color:var(--primary-color)}.extra-card.selected{border-color:var(--primary-color);background-color:#0e75900d}.extra-info{display:flex;align-items:center;gap:1rem;flex:1}.extra-info .extra-icon{font-size:1.5rem;color:var(--primary-color);min-width:2rem;display:flex;align-items:center;justify-content:center}.extra-info .extra-text h3{font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--title-color);margin-bottom:.25rem}.extra-info .extra-text p{font-size:.875rem;color:var(--text-secondary);margin:0}.extra-controls{display:flex;align-items:center;gap:1rem}.extra-controls .extra-price{font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--primary-color);white-space:nowrap}.quantity-controls{display:flex;align-items:center;gap:.5rem;background-color:#f8f9fa;border-radius:8px;padding:.25rem}.quantity-controls .quantity-btn{width:32px;height:32px;border:none;border-radius:6px;background-color:var(--primary-color);color:#fff;font-size:1.125rem;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.quantity-controls .quantity-btn:hover{background-color:var(--primary-dark);transform:scale(1.05)}.quantity-controls .quantity-btn:active{transform:scale(.95)}.quantity-controls .quantity-btn:disabled{background-color:#e9ecef;color:#6c757d;cursor:not-allowed;transform:none}.quantity-controls .quantity-btn.decrease-btn:disabled{background-color:#dee2e6;color:#6c757d;cursor:not-allowed;transform:none}.quantity-controls .quantity-display{min-width:24px;text-align:center;font-weight:var(--font-weight-semibold);color:var(--text-primary);font-size:1rem}.passenger-form .form-group{display:flex;flex-direction:column}.passenger-form .form-group label{font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:.5rem}.passenger-form .form-group input,.passenger-form .form-group textarea{padding:.75rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.passenger-form .form-group input:focus,.passenger-form .form-group textarea:focus{outline:none;border-color:var(--primary-color)}.passenger-form .form-group textarea{resize:vertical;min-height:80px}.booking-navigation{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;border-top:1px solid #e9ecef}.booking-navigation #next-step,.booking-navigation #book-now{margin-left:auto}.btn-primary,.btn-secondary{padding:.75rem 2rem;border-radius:8px;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .3s ease;border:none}.btn-primary{background-color:var(--primary-color);color:#fff;transition:all .3s ease}.btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-1px)}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.booking-sidebar{position:sticky;top:2rem;height:fit-content}.booking-summary{background:#fff;border-radius:16px;padding:0;box-shadow:0 4px 20px #00000014;overflow:hidden}.booking-summary h3{font-size:1.5rem;font-weight:var(--font-weight-semibold);color:var(--title-color);margin-bottom:2rem;text-align:center}.booking-summary .summary-section:not(.route-section){padding:0 2rem}.booking-summary .summary-section:not(.route-section):first-child{padding-top:2rem}.booking-summary .summary-total{padding:1rem 2rem;margin:0}.summary-section{margin-bottom:2rem}.summary-section h4{font-size:1rem;font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e9ecef}.summary-section.map-section{padding:0 2rem!important;margin-bottom:2rem}.summary-section.map-section .route-map{width:100%;height:300px;min-height:300px;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;background:#e5e3df;position:relative}.summary-section.map-section .route-map:before{content:"Loading map...";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#666;font-size:.9rem;z-index:1}.summary-section.map-section .route-map.map-loaded:before{display:none}.route-section{margin-bottom:2rem;padding:0!important;overflow:hidden}.route-section .route-header{margin-bottom:0}.route-section .route-header-image{position:relative;height:150px;background-size:cover;background-position:center;background-image:linear-gradient(#0006,#0006),url(/_astro/santodomingo.qJmiWY9F.webp);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;border-radius:16px 16px 0 0}.route-section .route-title{color:#fff;font-size:2rem;font-weight:600;margin:0;text-align:center;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.route-section .route-details{padding:1.5rem;padding-bottom:0;background:#fff}.route-section .route-details h4{font-size:1rem;font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid #e9ecef}.summary-section.route-section{margin-bottom:0rem!important}.route-timeline{position:relative;padding:0rem 0}.route-point{position:relative;display:flex;gap:.75rem;margin-bottom:2.5rem}.route-point:last-child{margin-bottom:0}.route-point .route-icon-container{display:flex;align-items:flex-start;padding-top:.125rem;min-width:24px;position:relative;z-index:2}.route-point .route-icon{font-size:1.5rem;color:var(--primary-color);flex-shrink:0}.route-point .route-icon.pickup-icon,.route-point .route-icon.destination-icon{color:var(--primary-color)}.route-point .route-content{display:flex;flex-direction:column;gap:.35rem;flex:1}.route-point .route-location-name{font-size:.9375rem;font-weight:var(--font-weight-semibold);color:var(--text-primary);line-height:1.4}.route-point .route-location-address{font-size:.8125rem;color:var(--text-secondary);line-height:1.5}.route-line{position:absolute;left:9.3px;top:18px;width:2px;height:60px;background:var(--primary-color);z-index:1}.route-info .route-point{display:flex;align-items:self-start;gap:.75rem;margin-bottom:1.5rem}.route-info .route-point .route-icon{font-size:1.25rem;color:var(--primary-color)}.route-info .route-point .route-text{font-size:.875rem;color:var(--text-primary)}.trip-details .detail-item{display:flex;align-items:center;gap:.75rem;margin-bottom:.8rem}.trip-details .detail-item .detail-icon{font-size:1.125rem;color:var(--primary-color);min-width:1.25rem;display:flex;align-items:center;justify-content:center}.trip-details .detail-item .detail-label{font-size:.875rem;color:var(--text-secondary);font-weight:var(--font-weight-medium);flex:1}.trip-details .detail-item .detail-value{font-size:.875rem;font-weight:var(--font-weight-semibold);color:var(--text-primary)}.trip-details .detail-item.distance-item .detail-label,.trip-details .detail-item.duration-item .detail-label{color:var(--text-secondary);font-weight:var(--font-weight-medium)}.trip-details .detail-item.distance-item .detail-value,.trip-details .detail-item.duration-item .detail-value{color:var(--text-primary);font-weight:var(--font-weight-semibold)}.selected-vehicle .no-selection,.selected-extras .no-selection{font-size:.875rem;color:var(--text-secondary);font-style:italic;margin:0}.add-extra-btn{background-color:var(--primary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:.875rem;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000001a;min-width:80px;text-align:center}.add-extra-btn:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.add-extra-btn:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.extra-card.selected .add-extra-btn{background-color:#dc3545}.extra-card.selected .add-extra-btn:hover{background-color:#c82333}.passenger-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}@media (max-width: 768px){.passenger-form .form-row{grid-template-columns:1fr;gap:1rem}}.passenger-form .form-group{display:flex;flex-direction:column;gap:.5rem}.passenger-form .form-group label{font-size:.875rem;font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:.25rem}.passenger-form .form-group input,.passenger-form .form-group select,.passenger-form .form-group textarea{width:100%;padding:.875rem 1rem;border:2px solid #e9ecef;border-radius:8px;font-size:.875rem;color:var(--text-primary);background-color:#fff;transition:all .3s ease;box-shadow:0 1px 3px #0000000d}.passenger-form .form-group input:focus,.passenger-form .form-group select:focus,.passenger-form .form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff1a;transform:translateY(-1px)}.passenger-form .form-group input::placeholder,.passenger-form .form-group select::placeholder,.passenger-form .form-group textarea::placeholder{color:#adb5bd;font-style:italic}.passenger-form .form-group input:hover,.passenger-form .form-group select:hover,.passenger-form .form-group textarea:hover{border-color:#ced4da}.passenger-form .form-group select{cursor:pointer;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;appearance:none}.passenger-form .form-group select:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23007bff' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e")}.passenger-form .form-group textarea{resize:vertical;min-height:100px;font-family:inherit}.flight-info-section{margin:2rem 0;padding:1.5rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:16px;border:1px solid #dee2e6;box-shadow:0 2px 8px #0000000d}.flight-toggle .flight-toggle-label{display:flex;flex-direction:column;gap:.75rem;cursor:pointer;padding:1rem;border-radius:12px;transition:all .3s ease;background:#fff;border:2px solid transparent}.flight-toggle .flight-toggle-label:hover{background:#f8f9fa;border-color:#e9ecef;transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.flight-toggle .flight-toggle-label input[type=checkbox]{display:none}.flight-toggle .flight-toggle-label .toggle-text{display:flex;align-items:center;gap:0rem;font-size:1.125rem;font-weight:var(--font-weight-semibold);color:var(--text-primary)}.flight-toggle .flight-toggle-label .toggle-text .toggle-icon{font-size:1.5rem;margin-right:.5rem;color:var(--primary-color);transition:all .3s ease}.flight-toggle .flight-toggle-label small{font-size:.875rem;color:var(--text-secondary);margin-left:2.75rem;line-height:1.4}.flight-toggle .flight-toggle-label input[type=checkbox]+.toggle-text:before{content:"";width:24px;height:24px;border:2px solid var(--primary-color);border-radius:6px;margin-right:.75rem;display:inline-block;transition:all .3s ease;background:#fff;box-shadow:0 2px 4px #0000001a}.flight-toggle .flight-toggle-label input[type=checkbox]:checked+.toggle-text:before{background-color:var(--primary-color);background-image:url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='m13.854 3.646-7.5 7.5a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6 10.293l7.146-7.147a.5.5 0 0 1 .708.708z'/%3e%3c/svg%3e");background-size:14px;background-position:center;background-repeat:no-repeat;transform:scale(1.05);box-shadow:0 4px 8px #007bff4d}.flight-toggle .flight-toggle-label input[type=checkbox]:checked~.toggle-text .toggle-icon{transform:scale(1.1);color:var(--primary-dark)}.flight-details{margin-top:1.5rem;padding:1.5rem;background:#fff;border-radius:12px;border:1px solid #e9ecef;box-shadow:0 2px 8px #0000000d;animation:slideDown .4s ease-out}.flight-details .form-row{margin-bottom:1rem}.flight-details .form-row:last-child{margin-bottom:0}.flight-details .form-group label{color:var(--text-primary);font-weight:var(--font-weight-semibold);margin-bottom:.5rem;display:flex;align-items:center;gap:.25rem}.flight-details .form-group label:after{content:"*";color:#dc3545;font-weight:700}.flight-details .form-group input,.flight-details .form-group select{background:#f8f9fa;border:2px solid #e9ecef}.flight-details .form-group input:focus,.flight-details .form-group select:focus{background:#fff;border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff1a}.flight-details .form-group input:hover,.flight-details .form-group select:hover{background:#fff;border-color:#ced4da}.flight-details .form-group input[type=time]{position:relative}.flight-details .form-group input[type=time]::-webkit-calendar-picker-indicator{background:transparent;color:transparent;cursor:pointer;height:auto;inset:0;position:absolute;width:auto}.flight-details .form-group .optional-label:after{content:"(optional)";color:#6c757d;font-weight:400;font-size:.75rem;margin-left:.5rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.vehicle-summary,.extra-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.vehicle-summary .vehicle-name,.vehicle-summary .extra-name,.extra-summary .vehicle-name,.extra-summary .extra-name{font-size:.875rem;color:var(--text-primary)}.vehicle-summary .vehicle-price,.vehicle-summary .extra-price,.extra-summary .vehicle-price,.extra-summary .extra-price{font-size:.875rem;font-weight:var(--font-weight-semibold);color:var(--primary-color)}.vehicle-summary{flex-direction:column;align-items:flex-start}.vehicle-summary .vehicle-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:0rem}.vehicle-summary .vehicle-amenities small{font-size:.75rem;color:var(--text-secondary);font-style:italic}.vehicle-amenities-list .amenity-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.vehicle-amenities-list .amenity-item .amenity-icon{font-size:.875rem;color:var(--primary-color)}.vehicle-amenities-list .amenity-item .amenity-text{font-size:.875rem;color:var(--text-primary)}.vehicle-amenities-list div{margin-bottom:0rem!important}.summary-total .total-line{display:flex;justify-content:space-between;align-items:center}.summary-total .total-line .total-label{font-size:1rem;font-weight:var(--font-weight-semibold);color:var(--title-color)}.summary-total .total-line .total-price{font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--primary-color)}.total-line:first-child{border-top:1px solid #e9ecef;padding-top:1rem}@media (max-width: 1024px){.booking-layout{grid-template-columns:1fr;gap:1rem}.booking-sidebar{position:static;order:-1}}@media (max-width: 768px){.booking-page{padding:1rem 0}.booking-main{padding:1rem}.vehicles-grid,.passenger-form .form-row{grid-template-columns:1fr}.booking-navigation{flex-direction:column;gap:1rem}.booking-navigation button{width:100%}.return-date-card .return-date-inputs{grid-template-columns:1fr;gap:1rem}}.summary-total{margin-top:1rem}.summary-total .total-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.summary-total .total-line:last-child{margin-bottom:0}.summary-total .total-line.paypal-fee{margin-bottom:1rem}.summary-total .total-line.final-total{margin-top:.5rem;padding-top:.8rem;border-top:1px solid var(--primary-color)}.summary-total .total-label{font-size:.875rem;color:var(--text-secondary);font-weight:var(--font-weight-medium)}.summary-total .subtotal-price,.summary-total .paypal-fee-price,.summary-total .total-price{font-size:.875rem;font-weight:var(--font-weight-semibold);color:var(--text-primary)}.summary-total .paypal-fee-price{color:var(--text-secondary);font-size:.8rem}.summary-total .total-price{font-size:1rem;font-weight:var(--font-weight-bold);color:var(--primary-color)}.summary-total .trip-price{font-size:.875rem;font-weight:var(--font-weight-semibold);color:#28a745}.summary-total .total-label .price-icon{font-size:1rem;margin-right:.35rem;color:var(--primary-color);vertical-align:middle}.final-total span{font-size:1.3rem!important;font-weight:var(--font-weight-bold);color:var(--primary-color)}#paypal-button-container{margin-top:1rem}#paypal-button-container .paypal-button{width:100%;max-width:300px}#book-now{position:relative}#book-now.payment-active{background-color:#f8f9fa!important;border:2px solid #dee2e6!important;padding:1.5rem!important}#book-now.payment-active:hover{background-color:#e9ecef!important}#book-now.payment-success{background-color:#28a745!important;border-color:#28a745!important}#book-text{transition:opacity .3s ease}.payment-loading{display:flex;align-items:center;justify-content:center;gap:.5rem}.payment-loading .spinner{width:16px;height:16px;border:2px solid #ffffff;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.quote-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;z-index:9999;justify-content:center;align-items:center;padding:1rem}.quote-modal-content{background:#fff;border-radius:16px;padding:2rem;max-width:500px;width:100%;position:relative;box-shadow:0 20px 60px #0000004d}.quote-modal-content h3{margin:0 0 .5rem;font-size:1.5rem;color:var(--text-primary)}.quote-modal-content>p{margin:0 0 1.5rem;color:var(--text-secondary);font-size:.95rem}.quote-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.8rem;color:#999;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.quote-modal-close:hover{background:#f5f5f5;color:#333}.quote-form .form-group{margin-bottom:1.25rem}.quote-form .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-primary);font-size:.9rem}.quote-form .form-group input{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .2s}.quote-form .form-group input:focus{outline:none;border-color:var(--primary-color)}.quote-form-buttons{display:flex;gap:1rem;margin-top:1.5rem}.quote-form-buttons button{flex:1;padding:.875rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;font-size:1rem}.quote-form-buttons button.btn-primary{background:var(--primary-color);color:#fff;border:none}.quote-form-buttons button.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.quote-form-buttons button.btn-primary:disabled{opacity:.6;cursor:not-allowed}.quote-form-buttons button.btn-secondary{background:#fff;color:var(--text-primary);border:2px solid #e2e8f0}.quote-form-buttons button.btn-secondary:hover{background:#f7fafc;border-color:#cbd5e0}.quote-note{margin-top:1rem!important;padding:1rem;background:#f7fafc;border-radius:8px;font-size:.85rem;color:var(--text-secondary);text-align:center;border-left:3px solid var(--primary-color)}
