*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;line-height:1.6;color:#0f172a;background-color:#fff}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.header{background-color:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:50}.header-content{display:flex;justify-content:space-between;align-items:center;height:4rem}.logo{display:flex;align-items:center;gap:.5rem}.logo-icon{width:2rem;height:2rem;color:#ff6b35}.logo-text{font-size:1.25rem;font-weight:700;color:#111827;font-family:Poppins,sans-serif}.nav-desktop{display:flex;align-items:center;gap:2rem}.nav-link{color:#374151;text-decoration:none;font-weight:500;transition:color .3s}.nav-link:hover{color:#ff6b35}.header-buttons{display:flex;align-items:center;gap:1rem}.btn{padding:.5rem 1rem;border-radius:.375rem;font-weight:500;text-decoration:none;cursor:pointer;transition:all .3s;border:none;font-size:.875rem}.btn-outline{border:1px solid #ff6b35;color:#ff6b35;background-color:transparent}.btn-outline:hover,.btn-primary{background-color:#ff6b35;color:#fff}.btn-primary:hover{background-color:#e55a2b}.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:.5rem}.mobile-nav{display:none;padding:1rem 0;border-top:1px solid #e2e8f0;animation:fadeIn .3s ease-out}.mobile-nav.active{display:block}.mobile-nav-links{display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem}.mobile-nav-buttons{display:flex;flex-direction:column;gap:.5rem}.hero{background:linear-gradient(135deg,#2563eb,#7c3aed,#1d4ed8);min-height:600px;display:flex;align-items:center;position:relative;background-image:radial-gradient(circle at 25px 25px,rgba(255,255,255,.1) 2px,transparent 0),radial-gradient(circle at 75px 75px,rgba(255,255,255,.1) 2px,transparent 0);background-size:100px 100px}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0003}.hero-content{position:relative;z-index:10;text-align:center;margin-bottom:3rem}.hero-title{font-size:3rem;font-weight:700;color:#fff;margin-bottom:1.5rem;font-family:Poppins,sans-serif;animation:fadeIn .6s ease-out}.hero-subtitle{color:#ffc107;display:block}.hero-description{font-size:1.25rem;color:#dbeafe;max-width:32rem;margin:0 auto}.search-card{max-width:64rem;margin:0 auto;padding:2rem;background-color:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:1rem;box-shadow:0 25px 50px -12px #00000040;animation:fadeIn .6s ease-out}.search-grid{display:grid;grid-template-columns:1fr auto 1fr 1fr;gap:1.5rem;margin-bottom:2rem}.form-group{position:relative}.form-label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.form-input{width:100%;height:3rem;padding:0 .75rem 0 2.5rem;font-size:1.125rem;border:1px solid #d1d5db;border-radius:.375rem;outline:none;transition:border-color .3s}.form-input:focus{border-color:#ff6b35;box-shadow:0 0 0 3px #ff6b351a}.form-icon{position:absolute;left:.75rem;top:.75rem;width:1.25rem;height:1.25rem;color:#9ca3af}.swap-btn{display:flex;align-items:flex-end;justify-content:center}.swap-button{width:3rem;height:3rem;border-radius:50%;border:2px solid #ff6b35;background-color:#fff;color:#ff6b35;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}.swap-button:hover{background-color:#ff6b35;color:#fff}.search-btn{width:100%;height:3.5rem;font-size:1.125rem;font-weight:600;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;border:none;border-radius:.375rem;cursor:pointer;transition:opacity .3s;box-shadow:0 10px 15px -3px #0000001a}.search-btn:hover{opacity:.9}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem;animation:fadeIn .6s ease-out}.stat-item{text-align:center;color:#fff}.stat-number{font-size:2rem;font-weight:700;color:#ffc107}.stat-label{color:#dbeafe}.popular-routes{padding:4rem 0;background-color:#f9fafb}.section-header{text-align:center;margin-bottom:3rem}.section-title{font-size:2.5rem;font-weight:700;color:#111827;margin-bottom:1rem;font-family:Poppins,sans-serif}.section-description{font-size:1.125rem;color:#6b7280;max-width:32rem;margin:0 auto}.routes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.route-card{background:linear-gradient(145deg,#fff,#f8fafc);border-radius:1rem;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a;transition:all .3s;cursor:pointer;border:none}.route-card:hover{box-shadow:0 25px 50px -12px #00000040;transform:translateY(-2px)}.route-image{height:12rem;overflow:hidden;position:relative}.route-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s}.route-card:hover .route-image img{transform:scale(1.05)}.route-image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent)}.route-price{position:absolute;top:1rem;right:1rem;background-color:#ff6b35;color:#fff;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:600}.route-content{padding:1.5rem}.route-cities{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.route-city{display:flex;align-items:center;gap:.5rem;font-weight:600;color:#111827}.route-details{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.route-duration{display:flex;align-items:center;gap:.5rem;color:#6b7280;font-size:.875rem}.route-starting{font-size:.875rem;color:#9ca3af}.route-btn{width:100%;background-color:#ff6b35;color:#fff;border:none;padding:.75rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:.5rem}.route-btn:hover{background-color:#e55a2b;box-shadow:0 10px 15px -3px #0000001a}.view-all-btn{text-align:center;margin-top:3rem}.features{padding:4rem 0;background-color:#fff}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.feature-card{text-align:center;padding:2rem;background:linear-gradient(145deg,#fff,#f8fafc);border-radius:1rem;transition:all .3s;cursor:pointer;border:none;box-shadow:0 1px 3px #0000001a}.feature-card:hover{box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-2px)}.feature-icon{width:4rem;height:4rem;background-color:#ff6b351a;border-radius:50%;margin:0 auto 1.5rem;display:flex;align-items:center;justify-content:center;transition:background-color .3s}.feature-card:hover .feature-icon{background-color:#ff6b3533}.feature-icon svg{width:2rem;height:2rem;color:#ff6b35}.feature-title{font-size:1.25rem;font-weight:600;color:#111827;margin-bottom:1rem;font-family:Poppins,sans-serif}.feature-description{color:#6b7280;line-height:1.7}.cta-section{margin-top:4rem;text-align:center;background:linear-gradient(to right,#ff6b350d,#ffc1070d);border-radius:1rem;padding:3rem 2rem}.cta-title{font-size:2rem;font-weight:700;color:#111827;margin-bottom:1rem}.cta-description{font-size:1.125rem;color:#6b7280;margin-bottom:2rem;max-width:32rem;margin-left:auto;margin-right:auto}.cta-buttons{display:flex;flex-direction:column;gap:1rem;justify-content:center;align-items:center}.cta-btn-primary{background-color:#ff6b35;color:#fff;padding:.75rem 2rem;border-radius:.5rem;font-weight:600;border:none;cursor:pointer;transition:all .3s;box-shadow:0 10px 15px -3px #0000001a}.cta-btn-primary:hover{background-color:#e55a2b;box-shadow:0 20px 25px -5px #0000001a}.cta-btn-secondary{border:2px solid #ff6b35;color:#ff6b35;background-color:transparent;padding:.75rem 2rem;border-radius:.5rem;font-weight:600;cursor:pointer;transition:all .3s}.cta-btn-secondary:hover{background-color:#ff6b35;color:#fff}.footer{background-color:#111827;color:#fff;padding:3rem 0}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.footer-company{grid-column:span 1}.footer-logo{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.footer-logo-text{font-size:1.25rem;font-weight:700;font-family:Poppins,sans-serif}.footer-description{color:#d1d5db;margin-bottom:1.5rem;line-height:1.7}.footer-contact{display:flex;flex-direction:column;gap:.5rem}.footer-contact-item{display:flex;align-items:center;gap:.75rem;color:#d1d5db}.footer-contact-item svg{width:1rem;height:1rem;color:#ff6b35}.footer-section h3{font-size:1.125rem;font-weight:600;margin-bottom:1rem;font-family:Poppins,sans-serif}.footer-links{list-style:none;display:flex;flex-direction:column;gap:.5rem}.footer-links a{color:#d1d5db;text-decoration:none;transition:color .3s}.footer-links a:hover{color:#ff6b35}.footer-bottom{border-top:1px solid #374151;margin-top:3rem;padding-top:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.footer-copyright{color:#d1d5db;font-size:.875rem}.footer-social{display:flex;gap:1.5rem}.footer-social a{color:#d1d5db;text-decoration:none;transition:color .3s}.footer-social a:hover{color:#ff6b35}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.nav-desktop,.header-buttons{display:none}.mobile-menu-btn{display:block}.hero-title{font-size:2rem}.search-grid{grid-template-columns:1fr;gap:1rem}.swap-btn{justify-content:flex-start}.stats-grid{grid-template-columns:repeat(2,1fr)}.section-title{font-size:2rem}.cta-title{font-size:1.5rem}.cta-buttons{flex-direction:column}.footer-bottom{flex-direction:column;text-align:center}}@media (min-width: 640px){.cta-buttons{flex-direction:row}}@media (min-width: 768px){.container{padding:0 1.5rem}.stats-grid{grid-template-columns:repeat(4,1fr)}.footer-bottom{flex-direction:row;justify-content:space-between}}@media (min-width: 1024px){.container{padding:0 2rem}.hero-title{font-size:4rem}.section-title{font-size:3rem}}.search-list{min-height:100vh;background:#f8f9fa}.search-header{background:#fff;border-bottom:1px solid #e9ecef;padding:20px 0}.search-route-info{display:flex;align-items:center;gap:20px;max-width:1200px;margin:0 auto;padding:0 20px}.route-section{display:flex;flex-direction:column;gap:5px}.route-label{font-size:14px;color:#666}.route-city,.route-date{font-size:18px;font-weight:600;color:#333}.route-swap-icon{width:20px;height:20px;color:#666}.date-buttons{display:flex;gap:10px;margin-top:10px}.date-btn{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:20px;font-size:14px;cursor:pointer;transition:all .3s ease}.date-btn.active{background:#ff6b6b;color:#fff;border-color:#ff6b6b}.search-btn-header{background:#ff6b6b;color:#fff;border:none;padding:12px 24px;border-radius:25px;font-weight:600;cursor:pointer;margin-left:auto}.search-content{display:grid;grid-template-columns:300px 1fr;gap:20px;max-width:1200px;margin:0 auto;padding:20px}.filters-sidebar{background:#fff;border-radius:8px;padding:20px;height:-moz-fit-content;height:fit-content;border:1px solid #e9ecef}.filters-title{font-size:18px;font-weight:600;margin-bottom:20px;color:#333}.filter-group{display:flex;flex-direction:column;gap:10px;margin-bottom:30px}.filter-row{display:flex;gap:10px}.filter-btn{flex:1;padding:10px 15px;border:1px solid #ddd;background:#fff;border-radius:20px;font-size:14px;cursor:pointer;transition:all .3s ease;text-align:center}.filter-btn.active{background:#ff6b6b;color:#fff;border-color:#ff6b6b}.filter-section{margin-bottom:20px}.filter-section-title{font-size:14px;font-weight:600;color:#333;margin-bottom:10px;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.filter-section-title:after{content:"▼";font-size:12px;color:#666}.results-section{background:#fff;border-radius:8px;border:1px solid #e9ecef}.results-header{padding:20px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:flex-start}.results-count{font-size:24px;font-weight:600;color:#333;margin-bottom:10px}.popular-route{background:#e8f5e8;color:#28a745;padding:10px 15px;border-radius:20px;font-size:14px;font-weight:500}.sort-section{display:flex;align-items:center;gap:10px}.sort-label{font-weight:600;color:#333}.sort-select{padding:8px 15px;border:1px solid #ddd;border-radius:5px;background:#fff;cursor:pointer}.bus-list{display:flex;flex-direction:column}.bus-card{display:grid;grid-template-columns:1fr auto auto;gap:20px;padding:20px;border-bottom:1px solid #e9ecef;align-items:center}.bus-card:last-child{border-bottom:none}.bus-info{display:flex;flex-direction:column;gap:10px}.bus-operator{display:flex;align-items:center;gap:15px}.operator-name{font-size:18px;font-weight:600;color:#333;margin:0}.rating{display:flex;align-items:center;gap:5px;background:#28a745;color:#fff;padding:5px 10px;border-radius:15px;font-size:14px;font-weight:600}.star-icon{width:14px;height:14px;fill:currentColor}.rating-value{margin-right:5px}.rating-count{font-size:12px;opacity:.8}.bus-type{color:#666;font-size:14px}.bus-badge{background:#17a2b8;color:#fff;padding:4px 8px;border-radius:10px;font-size:12px;font-weight:500;width:-moz-fit-content;width:fit-content}.bus-timing{display:flex;flex-direction:column;gap:10px;text-align:center}.time-info{display:flex;flex-direction:column;gap:5px}.departure-time,.arrival-time{font-size:20px;font-weight:600;color:#333}.duration-seats{display:flex;flex-direction:column;gap:5px}.duration{font-size:14px;color:#666}.seats{font-size:14px;color:#ff6b6b;font-weight:500}.bus-price{display:flex;flex-direction:column;gap:10px;align-items:flex-end;text-align:right}.price{font-size:24px;font-weight:600;color:#333}.price-label{font-size:12px;color:#666}.view-seats-btn{background:#ff6b6b;color:#fff;border:none;padding:10px 20px;border-radius:5px;font-weight:600;cursor:pointer;transition:background .3s ease}.view-seats-btn:hover{background:#ff5252}@media (max-width: 768px){.search-route-info{flex-direction:column;gap:15px;align-items:stretch}.search-content{grid-template-columns:1fr}.filters-sidebar{order:2}.results-section{order:1}.bus-card{grid-template-columns:1fr;gap:15px;text-align:left}.bus-price{align-items:flex-start;text-align:left}.filter-row{flex-wrap:wrap}.date-buttons{flex-direction:row;justify-content:center}}.autocomplete-container{position:relative;display:inline-block;width:100%}.route-city-input{font-size:16px;font-weight:600;color:#333;background:transparent;border:none;outline:none;padding:4px 8px;border-radius:4px;border:1px solid transparent;transition:all .2s ease;width:100%}.route-city-input:focus{border-color:#e74c3c;background-color:#fff}.autocomplete-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 8px #0000001a;z-index:1000;max-height:200px;overflow-y:auto}.autocomplete-item{padding:10px 12px;cursor:pointer;border-bottom:1px solid #f0f0f0;transition:background-color .2s ease}.autocomplete-item:hover{background-color:#f8f9fa}.autocomplete-item:last-child{border-bottom:none}.route-swap-icon{cursor:pointer;transition:transform .2s ease}.route-swap-icon:hover{transform:rotate(180deg)}.load-more-container{display:flex;justify-content:center;padding:20px;margin-top:20px}.load-more-btn{background:#e74c3c;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.load-more-btn:hover:not(:disabled){background:#c0392b;transform:translateY(-1px)}.load-more-btn:disabled{background:#bdc3c7;cursor:not-allowed;transform:none}.loading-spinner{display:flex;flex-direction:column;align-items:center;padding:30px;color:#666}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #e74c3c;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:10px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.autocomplete-suggestions{font-size:14px}.autocomplete-item{padding:8px 10px}.route-city-input{font-size:14px}}
