.blog-page{background-color:#f8fafc;flex-direction:column;min-height:100vh;display:flex}.blog-main{flex-grow:1;padding-top:0}.loading-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:60vh;display:flex}.loading-spinner{border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;width:48px;height:48px;margin-bottom:16px;animation:1s linear infinite spin}.loading-text{color:#6b7280;margin:0;font-size:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hero-section{color:#fff;background:linear-gradient(135deg,#3b82f6 0% 100%);padding:60px 0;position:relative;overflow:hidden}.hero-section:before{content:"";background-color:(to right,#2563eb,#2563eb);position:absolute;inset:0}.hero-container{text-align:center;z-index:1;max-width:1200px;margin:0 auto;padding:0 20px;position:relative}.hero-title{margin-bottom:1.5rem;font-size:2.25rem;font-weight:700;line-height:1.2}.hero-subtitle{color:#dbeafe;max-width:800px;margin:0 auto;font-size:1.25rem;font-weight:300;line-height:1.6}.guides-section{background:#f8fafc;padding:0}.guides-container{max-width:1200px;margin:0 auto;padding:0 20px}.section-header{text-align:center;margin-bottom:60px}.section-title{color:#1f2937;margin-bottom:16px;font-size:2rem;font-weight:700}.section-description{color:#6b7280;max-width:600px;margin:0 auto;font-size:1.125rem;line-height:1.6}.empty-state{text-align:center;padding:60px 20px}.empty-text{color:#9ca3af;margin:0;font-size:1.125rem}.guides-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;margin:0 auto;display:grid}.guide-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:16px;transition:all .3s;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.guide-card:hover{transform:translateY(-8px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.card-image-container{height:200px;position:relative;overflow:hidden}.card-image{object-fit:cover;transition:transform .3s}.guide-card:hover .card-image{transform:scale(1.05)}.image-overlay{opacity:.6;background:linear-gradient(#0000,#00000080);position:absolute;inset:0}.card-content{padding:24px}.card-title{color:#1f2937;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:16px;font-size:1.25rem;font-weight:700;line-height:1.4;transition:color .2s;display:-webkit-box;overflow:hidden}.guide-card:hover .card-title{color:#3b82f6}.route-info{margin-bottom:16px}.destination{align-items:center;margin-bottom:4px;display:flex}.destination-text{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:500;overflow:hidden}.source{color:#9ca3af;align-items:center;gap:4px;margin-left:20px;font-size:.75rem;display:flex}.source-flag{font-size:.85em;line-height:1}.destination-flag{margin-left:6px;font-size:.95em;line-height:1}.card-stats{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.stat{align-items:center;gap:6px;display:flex}.icon{color:#6b7280;width:16px;height:16px}.stat-text{color:#6b7280;font-size:.75rem;font-weight:500}.card-description{color:#6b7280;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:20px;font-size:.875rem;line-height:1.5;display:-webkit-box;overflow:hidden}.read-more-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 20px;font-size:.875rem;font-weight:600;transition:all .2s;display:flex}.read-more-btn:hover{background:#2563eb;transform:translateY(-1px)}.btn-icon{width:16px;height:16px}.search-filter-panel{flex-direction:column;gap:20px;padding:36px 0 32px;display:flex}.search-bar-wrapper{max-width:560px;position:relative}.search-bar-icon{color:#9ca3af;pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.search-bar-input{color:#1f2937;background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;outline:none;width:100%;padding:13px 44px 13px 46px;font-size:.9375rem;transition:border-color .2s,box-shadow .2s;box-shadow:0 1px 3px #0000000f}.search-bar-input::placeholder{color:#9ca3af}.search-bar-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.search-bar-clear{cursor:pointer;color:#6b7280;background:#f3f4f6;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:background .15s;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.search-bar-clear:hover{background:#e5e7eb}.origin-filter-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.origin-filter-label{color:#6b7280;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:.8125rem;font-weight:600;display:flex}.origin-pills-scroll{flex-wrap:wrap;gap:8px;display:flex}.origin-pill{color:#374151;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #e5e7eb;border-radius:100px;padding:7px 16px;font-size:.875rem;font-weight:500;transition:all .15s}.origin-pill:hover{color:#3b82f6;background:#eff6ff;border-color:#3b82f6}.origin-pill.active{color:#fff;background:#3b82f6;border-color:#3b82f6;box-shadow:0 2px 8px #3b82f64d}.pill-flag{font-size:.9em;line-height:1}.results-bar{align-items:center;gap:16px;display:flex}.results-count{color:#9ca3af;font-size:.875rem;font-weight:500}.clear-filters-btn{color:#3b82f6;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.8125rem;font-weight:600;text-decoration:underline}.clear-filters-btn:hover{color:#2563eb}.empty-clear-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:10px;margin-top:16px;padding:10px 24px;font-size:.9rem;font-weight:600;transition:background .15s}.empty-clear-btn:hover{background:#2563eb}@media (max-width:768px){.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.125rem}.section-title{font-size:2rem}.guides-grid{grid-template-columns:1fr;gap:20px}.card-image-container{height:180px}}@media (max-width:480px){.hero-section,.guides-section{padding:60px 0}.hero-title{font-size:2rem}.section-title{font-size:1.75rem}.guides-container{padding:0 16px}}
