:root{--train-primary:#0066cc;--train-secondary:#00994d;--train-delay:#e63946;--train-ontime:#2a9d8f}.trains-hero{background:linear-gradient(135deg,#1a365d 0%,#2c5282 50%,#3182ce 100%);color:#fff;padding:2.5rem 1rem;text-align:center;border-radius:12px;margin-bottom:1.5rem}.trains-hero h1{font-size:2rem;margin:0 0 0.5rem 0;display:flex;align-items:center;justify-content:center;gap:0.5rem}.trains-hero h1 i{font-size:1.8rem}.trains-hero p{opacity:0.9;margin:0 0 1rem 0}.trains-stats{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.trains-stat{text-align:center}.trains-stat-value{font-size:1.5rem;font-weight:700}.trains-stat-label{font-size:0.85rem;opacity:0.8}.trains-nav{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:1.5rem;padding:0 0.5rem}.trains-nav a{display:flex;align-items:center;gap:0.4rem;padding:0.5rem 1rem;background:#f1f5f9;color:#334155;text-decoration:none;border-radius:20px;font-size:0.9rem;transition:all 0.2s}.trains-nav a:hover,.trains-nav a.active{background:var(--train-primary);color:#fff}.trains-search-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.08);padding:1.5rem;margin-bottom:1.5rem}.trains-search-card h2{font-size:1.25rem;margin:0 0 1rem 0;color:#1e293b}.trains-search-form{display:grid;gap:1rem}.trains-search-row{display:grid;grid-template-columns:1fr auto 1fr;gap:0.5rem;align-items:end}@media (max-width:640px){.trains-search-row{grid-template-columns:1fr}.trains-swap-btn{transform:rotate(90deg)}}.trains-field{display:flex;flex-direction:column;gap:0.3rem}.trains-field label{font-size:0.85rem;color:#64748b;font-weight:500}.trains-field input{padding:0.75rem 1rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color 0.2s,box-shadow 0.2s}.trains-field input:focus{outline:none;border-color:var(--train-primary);box-shadow:0 0 0 3px rgba(0,102,204,0.1)}.trains-swap-btn{width:40px;height:40px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#64748b;transition:all 0.2s;margin-bottom:0.25rem}.trains-swap-btn:hover{background:var(--train-primary);color:#fff;border-color:var(--train-primary)}.trains-date-row{display:grid;grid-template-columns:1fr 1fr auto;gap:0.5rem;align-items:end}@media (max-width:480px){.trains-date-row{grid-template-columns:1fr 1fr}.trains-date-row .trains-submit-btn{grid-column:span 2}}.trains-submit-btn{background:var(--train-primary);color:#fff;border:none;padding:0.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:0.5rem;transition:background 0.2s}.trains-submit-btn:hover{background:#0052a3}.trains-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.08);padding:1.5rem;margin-bottom:1.5rem}.trains-section h2{font-size:1.25rem;margin:0 0 1rem 0;color:#1e293b;display:flex;align-items:center;gap:0.5rem}.trains-popular-routes{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.trains-route-card{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border-radius:8px;text-decoration:none;color:inherit;transition:all 0.2s;border:1px solid transparent}.trains-route-card:hover{background:#f1f5f9;border-color:var(--train-primary)}.trains-route-icon{width:48px;height:48px;background:var(--train-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.trains-route-info{flex:1;min-width:0}.trains-route-cities{font-weight:600;color:#1e293b;display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap}.trains-route-cities i{color:#94a3b8;font-size:0.75rem}.trains-route-duration{font-size:0.85rem;color:#64748b;margin-top:0.25rem}.trains-countries-tabs{display:flex;gap:0.5rem;flex-wrap:wrap;margin-bottom:1rem;border-bottom:1px solid #e2e8f0;padding-bottom:0.5rem}.trains-country-tab{padding:0.5rem 1rem;background:transparent;border:none;color:#64748b;cursor:pointer;border-radius:6px;font-size:0.9rem;transition:all 0.2s}.trains-country-tab:hover,.trains-country-tab.active{background:var(--train-primary);color:#fff}.trains-stations-grid{display:none}.trains-stations-grid.active{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0.75rem}.trains-station-card{display:flex;align-items:center;gap:0.75rem;padding:0.75rem;background:#f8fafc;border-radius:8px;text-decoration:none;color:inherit;transition:all 0.2s}.trains-station-card:hover{background:#e2e8f0}.trains-station-icon{width:36px;height:36px;background:#e2e8f0;color:var(--train-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.9rem}.trains-station-name{font-weight:500;color:#1e293b;font-size:0.9rem}.hub-faq-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.08);padding:1.5rem;margin-bottom:1.5rem}.hub-faq-section h2{font-size:1.25rem;margin:0 0 1rem 0;color:#1e293b}.hub-faq-list{display:flex;flex-direction:column;gap:0.75rem}.hub-faq-item{background:#f8fafc;border-radius:8px;padding:1rem}.hub-faq-question{font-weight:600;color:#1e293b;margin-bottom:0.5rem}.hub-faq-answer{color:#64748b;font-size:0.95rem;line-height:1.5}.trains-autocomplete{position:relative}.trains-autocomplete-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.1);max-height:250px;overflow-y:auto;z-index:100;display:none}.trains-autocomplete-results.show{display:block}.trains-autocomplete-item{padding:0.75rem 1rem;cursor:pointer;border-bottom:1px solid #f1f5f9;display:flex;align-items:center;gap:0.5rem}.trains-autocomplete-item:last-child{border-bottom:none}.trains-autocomplete-item:hover{background:#f1f5f9}.trains-autocomplete-item i{color:#64748b}@media (prefers-color-scheme:dark){.trains-field label{color:#e2e8f0}.trains-field input{background:#1e293b;border-color:#475569;color:#f1f5f9}.trains-field input::placeholder{color:#94a3b8}.trains-search-card,.trains-section,.hub-faq-section{background:#1e293b}.trains-search-card h2,.trains-section h2,.hub-faq-section h2,.trains-disruption-title,.trains-route-cities,.trains-station-name,.hub-faq-question{color:#f1f5f9}.trains-swap-btn{background:#334155;border-color:#475569;color:#e2e8f0}.trains-autocomplete-results{background:#1e293b;border-color:#475569}.trains-autocomplete-item{border-bottom-color:#334155;color:#e2e8f0}.trains-autocomplete-item:hover{background:#334155}.trains-route-card,.trains-station-card,.hub-faq-item{background:#334155}.trains-route-card:hover,.trains-station-card:hover{background:#475569}.trains-route-duration,.hub-faq-answer{color:#94a3b8}.trains-country-tab{color:#94a3b8}.trains-nav a{background:#334155;color:#e2e8f0}}.dark-mode .trains-field label{color:#e2e8f0}.dark-mode .trains-field input{background:#1e293b;border-color:#475569;color:#f1f5f9}.dark-mode .trains-field input::placeholder{color:#94a3b8}.dark-mode .trains-search-card,.dark-mode .trains-section,.dark-mode .hub-faq-section{background:#1e293b}.dark-mode .trains-search-card h2,.dark-mode .trains-section h2,.dark-mode .hub-faq-section h2,.dark-mode .trains-disruption-title,.dark-mode .trains-route-cities,.dark-mode .trains-station-name,.dark-mode .hub-faq-question{color:#f1f5f9}.dark-mode .trains-swap-btn{background:#334155;border-color:#475569;color:#e2e8f0}.dark-mode .trains-autocomplete-results{background:#1e293b;border-color:#475569}.dark-mode .trains-autocomplete-item{border-bottom-color:#334155;color:#e2e8f0}.dark-mode .trains-autocomplete-item:hover{background:#334155}.dark-mode .trains-route-card,.dark-mode .trains-station-card,.dark-mode .hub-faq-item{background:#334155}.dark-mode .trains-route-card:hover,.dark-mode .trains-station-card:hover{background:#475569}.dark-mode .trains-route-duration,.dark-mode .hub-faq-answer{color:#94a3b8}.dark-mode .trains-country-tab{color:#94a3b8}.dark-mode .trains-nav a{background:#334155;color:#e2e8f0}.trains-seo-intro p,.trains-seo-intro li{color:#334155}.trains-seo-intro strong{color:#1e293b}.dark-mode .trains-seo-intro p,.dark-mode .trains-seo-intro li,.dark-mode .trains-seo-intro strong{color:#e2e8f0}@media (prefers-color-scheme:dark){.trains-seo-intro p,.trains-seo-intro li,.trains-seo-intro strong{color:#e2e8f0}}