.booking-container{max-width:1200px;margin:0 auto;padding:15px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;min-height:auto;box-sizing:border-box;overflow:visible;display:flex;flex-direction:column}.progress-indicator{display:flex;align-items:center;justify-content:center;margin-bottom:20px;padding:10px 0}.progress-step{display:flex;flex-direction:column;align-items:center;position:relative}.step-number{width:40px;height:40px;border-radius:50%;background:#e0e0e0;color:#666;display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:8px;transition:all .3s ease}.progress-step.active .step-number{background:linear-gradient(135deg,#01386a,#025aa5);color:#fff}.progress-step.completed .step-number{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.step-label{font-size:14px;color:#666;text-align:center}.progress-step.active .step-label{color:#01386a;font-weight:600}.progress-line{width:80px;height:2px;background:#e0e0e0;margin:-20px 20px 0}.progress-line.completed{background:linear-gradient(135deg,#28a745,#20c997)}.page-header{text-align:center;margin-bottom:20px}.page-header h1{color:#01386a;font-size:2rem;margin-bottom:5px;font-weight:700}.page-header p{color:#666;font-size:1rem;max-width:600px;margin:0 auto}.form-section{margin-bottom:20px;padding:20px;background:#fff;border-radius:12px;border-left:4px solid #01386A;min-height:-moz-fit-content;min-height:fit-content;overflow:visible;flex-shrink:0}.form-section h2{color:#01386a;font-size:1.3rem;margin-bottom:15px;display:flex;align-items:center;gap:8px}.location-map-container{display:grid;grid-template-columns:1fr;gap:20px;align-items:start}.map-section{order:2}.map-container{position:relative;margin-bottom:15px}.booking-map{width:100%;height:300px;border-radius:8px;border:2px solid #e0e0e0}.map-controls{position:absolute;top:10px;right:10px;display:flex;gap:10px}.map-control-btn{background:#01386ae6;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s ease}.map-control-btn:hover{background:#01386a;transform:translateY(-1px)}.location-inputs{display:grid;gap:15px;width:100%;box-sizing:border-box}.input-group{display:flex;flex-direction:column;gap:8px;width:100%;box-sizing:border-box;position:relative}.input-group label{font-weight:600;color:#333;font-size:14px}.input-with-icon{position:relative}.input-with-icon input{width:100%;padding:12px 40px 12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:all .3s ease;background:#fff;box-sizing:border-box;max-width:100%}.input-with-icon input:focus{outline:none;border-color:#01386a;box-shadow:0 0 0 3px #01386a1a}.input-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:18px}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #e0e0e0;border-top:none;border-radius:0 0 8px 8px;max-height:200px;overflow-y:auto;z-index:1000;list-style:none;padding:0;margin:0;box-shadow:0 4px 12px #0000001a;display:block}.suggestions-dropdown li{padding:10px;cursor:pointer;border-bottom:1px solid #eee;background-color:#fff;transition:background-color .2s;font-size:14px}.suggestions-dropdown li:hover{background-color:#f0f0f0}.suggestions-dropdown li:last-child{border-bottom:none}.location-map-container{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.location-map-container{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.map-description{color:#666;font-size:14px;margin-bottom:15px;font-style:italic}.map-header{margin-bottom:15px}.map-header h3{color:#01386a;font-size:1.2rem;margin-bottom:5px}@media (max-width: 768px){.location-map-container{grid-template-columns:1fr;gap:15px}.map-section{position:static}.booking-map{height:250px}}.section-description{color:#666;font-size:14px;margin-bottom:20px;line-height:1.5}.map-section{position:sticky;top:20px}.map-section .map-description{margin-top:10px;text-align:center;font-size:12px}.marker{background-size:cover;width:30px;height:30px;border-radius:50%;cursor:grab;transition:transform .2s ease}.marker:hover{transform:scale(1.1)}.marker:active{cursor:grabbing}.destination-marker{border:3px solid #dc3545;background-color:#dc3545}.pickup-marker{border:3px solid #28a745;background-color:#28a745}.pickup-points h3{color:#01386a;margin-bottom:10px;font-size:1.1rem}.pickup-list{display:flex;flex-direction:column;gap:10px}.pickup-point-item{display:flex;align-items:flex-end;gap:10px;padding:10px;background:#fff;border-radius:8px;border:1px solid #e0e0e0;box-sizing:border-box;width:100%;max-width:100%}.pickup-point-item .input-group{flex:1}.remove-pickup{background:#dc3545;color:#fff;border:none;padding:8px 12px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s ease}.remove-pickup:hover{background:#c82333}.add-pickup-btn{background:linear-gradient(135deg,#01386a,#025aa5);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;cursor:pointer;transition:all .3s ease;margin-top:10px}.add-pickup-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #01386a4d}.trip-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;width:100%;box-sizing:border-box}.trip-details-grid input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:all .3s ease;box-sizing:border-box;width:100%;max-width:100%}.trip-details-grid input:focus{outline:none;border-color:#01386a;box-shadow:0 0 0 3px #01386a1a}.trip-summary{background:#fff;padding:15px;border-radius:8px;border:1px solid #e0e0e0}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f0f0f0}.summary-item:last-child{border-bottom:none}.summary-label{font-weight:600;color:#333}.summary-value{color:#01386a;font-weight:600}.transport-types{margin-bottom:40px}.transport-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:20px}.transport-type-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000001a;transition:all .3s ease;cursor:pointer;border:3px solid transparent}.transport-type-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #00000026}.transport-type-card.selected{border-color:#01386a;box-shadow:0 8px 30px #01386a33}.transport-image{width:100%;height:200px;overflow:hidden}.transport-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.transport-info{padding:20px}.transport-info h3{color:#01386a;font-size:1.3rem;margin-bottom:8px}.capacity{color:#666;font-size:14px;margin-bottom:8px}.description{color:#888;font-size:14px;margin-bottom:15px}.price-estimate{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid #f0f0f0}.price-label{color:#666;font-size:14px}.price-amount{color:#01386a;font-size:1.2rem;font-weight:700}.vehicle-selection{margin-bottom:40px}.filter-controls{display:flex;gap:20px;margin-bottom:30px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-weight:600;color:#333;font-size:14px}.filter-group select{padding:10px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;background:#fff;cursor:pointer}.filter-group select:focus{outline:none;border-color:#01386a}.vehicle-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.vehicle-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px #0000001a;transition:all .3s ease;cursor:pointer;border:2px solid transparent}.vehicle-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px #00000026}.vehicle-card.selected{border-color:#01386a;box-shadow:0 8px 30px #01386a33}.vehicle-image{width:100%;height:150px;overflow:hidden}.vehicle-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.vehicle-details{padding:20px}.vehicle-name{color:#01386a;font-size:1.2rem;font-weight:700;margin-bottom:8px}.vehicle-info{display:flex;flex-direction:column;gap:5px;margin-bottom:15px}.vehicle-info-item{display:flex;justify-content:space-between;font-size:14px}.vehicle-info-label{color:#666}.vehicle-info-value{color:#333;font-weight:500}.vehicle-rating{display:flex;align-items:center;gap:5px;margin-bottom:15px}.stars{color:gold}.rating-text{color:#666;font-size:14px}.vehicle-price{display:flex;justify-content:space-between;align-items:center;padding-top:15px;border-top:1px solid #f0f0f0}.vehicle-actions{display:flex;gap:10px;margin-top:15px}.btn-view-details{background:#6c757d;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s ease}.btn-view-details:hover{background:#5a6268}.btn-select{background:linear-gradient(135deg,#01386a,#025aa5);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s ease}.btn-select:hover{transform:translateY(-1px);box-shadow:0 4px 12px #01386a4d}.selected-vehicle-summary{background:#fff;padding:30px;border-radius:12px;border-left:4px solid #28a745;margin-bottom:30px}.selected-vehicle-card{display:flex;gap:20px;background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0000001a}.selected-vehicle-image{width:120px;height:80px;border-radius:8px;overflow:hidden}.selected-vehicle-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.selected-vehicle-details{flex:1}.selected-vehicle-details h3{color:#01386a;margin-bottom:8px}.selected-vehicle-price{margin-top:15px;padding-top:15px;border-top:1px solid #f0f0f0}.form-actions{display:flex;gap:15px;justify-content:center;margin-top:20px;flex-shrink:0}.btn{padding:12px 30px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;text-align:center}.btn-primary{background:linear-gradient(135deg,#01386a,#025aa5);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #01386a4d}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268;transform:translateY(-1px)}.modal{display:none;position:fixed;z-index:2000;left:0;top:0;width:100%;height:100%;background-color:#00000080}.modal-content{background-color:#fff;margin:5% auto;padding:0;border-radius:12px;width:90%;max-width:800px;max-height:80vh;overflow-y:auto;position:relative}.close{position:absolute;right:20px;top:20px;color:#aaa;font-size:28px;font-weight:700;cursor:pointer;z-index:2001}.close:hover{color:#000}@media (min-width: 1024px){.booking-container{max-width:1400px;padding:25px;margin:15px auto}.page-header h1{font-size:2.5rem;margin-bottom:10px}.page-header p{font-size:1.2rem;max-width:800px}.form-section{padding:25px;margin-bottom:25px}.form-section h2{font-size:1.5rem;margin-bottom:15px}.location-map-container{grid-template-columns:1fr 1fr;gap:25px}.location-inputs{order:1;padding:20px;background:#fff;border-radius:12px;height:-moz-fit-content;height:fit-content}.map-section{order:2}.booking-map{height:400px}.map-controls{position:static;justify-content:flex-start;margin-top:15px;order:1}.trip-details-grid{grid-template-columns:repeat(3,1fr);gap:20px}.transport-type-grid{grid-template-columns:repeat(2,1fr);gap:25px}.transport-type-card{padding:0}.transport-image{height:180px}.transport-info{padding:20px}.transport-info h3{font-size:1.3rem}.vehicle-list{grid-template-columns:repeat(2,1fr);gap:20px}.vehicle-card{display:flex;flex-direction:row;height:160px}.vehicle-image{width:160px;height:100%;flex-shrink:0}.vehicle-details{flex:1;padding:15px;display:flex;flex-direction:column;justify-content:space-between}.filter-controls{justify-content:space-between;align-items:end}.filter-group{flex-direction:row;align-items:center;gap:15px}.selected-vehicle-card{padding:20px}.selected-vehicle-image{width:150px;height:100px}.form-actions{justify-content:center;gap:20px}.btn{padding:12px 30px;font-size:16px}}.burger{display:none;flex-direction:column;cursor:pointer;gap:4px}.burger .bar{width:25px;height:3px;background-color:#fff;border-radius:2px}body{overflow-x:hidden}.wrapper{min-height:100vh;display:flex;flex-direction:column}.page-content{flex:1;overflow-y:auto;padding-top:80px;display:flex;flex-direction:column}@media (min-width: 769px) and (max-width: 1023px){.booking-container{max-width:1000px;padding:20px;margin:10px auto}.page-header h1{font-size:2.2rem;margin-bottom:8px}.page-header p{font-size:1.1rem;max-width:700px}.form-section{padding:20px;margin-bottom:20px}.form-section h2{font-size:1.4rem;margin-bottom:15px}.location-map-container{grid-template-columns:1fr;gap:20px}.location-inputs{order:1;padding:15px;background:#fff;border-radius:12px}.map-section{order:2}.booking-map{height:350px}.map-controls{position:static;justify-content:flex-start;margin-top:12px;order:1}.trip-details-grid{grid-template-columns:repeat(2,1fr);gap:15px}.transport-type-grid{grid-template-columns:repeat(2,1fr);gap:20px}.transport-image{height:160px}.transport-info{padding:15px}.transport-info h3{font-size:1.2rem}.vehicle-list{grid-template-columns:repeat(2,1fr);gap:15px}.vehicle-card{display:flex;flex-direction:row;height:140px}.vehicle-image{width:140px;height:100%;flex-shrink:0}.vehicle-details{flex:1;padding:12px;display:flex;flex-direction:column;justify-content:space-between}.filter-controls{justify-content:space-between;align-items:end}.filter-group{flex-direction:row;align-items:center;gap:12px}.selected-vehicle-card{padding:15px}.selected-vehicle-image{width:120px;height:80px}.form-actions{justify-content:center;gap:15px}.btn{padding:12px 25px;font-size:16px}}@media (max-width: 768px){.burger{display:flex}.nav-links{display:none;flex-direction:column;background-color:#01386a;position:absolute;top:60px;left:0;width:100%;padding:10px 0;box-shadow:0 4px 10px #0003}.nav-links.show{display:flex}.nav-links a{padding:10px 15px;border-top:1px solid rgba(255,255,255,.1)}.nav-links a.active{background-color:#ffd52f!important;color:#01386a!important;font-weight:600;text-decoration:none}.nav-links a.active:hover{background-color:#ffc107!important;text-decoration:none}}@media (max-width: 768px){.booking-container{padding:10px;margin:5px;box-sizing:border-box}.page-header h1{font-size:2rem}.progress-indicator{flex-direction:column;gap:20px}.progress-line{width:2px;height:40px;margin:0}.trip-details-grid,.transport-type-grid,.vehicle-list{grid-template-columns:1fr}.filter-controls,.selected-vehicle-card{flex-direction:column}.selected-vehicle-image{width:100%;height:150px}.form-actions{flex-direction:column}.pickup-point-item{flex-direction:column;align-items:stretch;width:100%;box-sizing:border-box}.location-map-container{grid-template-columns:1fr;gap:20px}.map-section{position:static}.map-section .map-description{margin-top:8px;font-size:11px}.map-controls{position:static;justify-content:center;margin-top:10px}}@media (max-width: 480px){.page-header h1{font-size:1.8rem}.form-section{padding:20px}.booking-map{height:300px}}
