.search-page{padding:24px 0 40px;min-height:60vh;background:linear-gradient(135deg,#f5f7fa,#e8edf2)}
.search-page__header{margin-bottom:20px}
.search-page__title{font-size:28px;font-weight:700;color:#1a1a2e;display:flex;align-items:center;gap:10px;margin-bottom:8px}
.search-page__title i{color:#0e79d3;font-size:26px}
.search-page__accent-line{width:60px;height:3px;background:#0e79d3;border-radius:2px;margin-bottom:8px}
.search-page__subtitle{font-size:15px;color:#7b8d9e;font-weight:400;margin:0}
.search-page__filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0}
.search-page__filter-btn{border:1.5px solid #d0d7de;border-radius:8px;padding:8px 16px;background:#fff;font-size:14px;font-weight:500;color:#1a1a2e}
.search-page__filter-menu{padding:8px 0}
.search-page__filter-item{display:flex;align-items:center;cursor:pointer;font-size:14px}
.search-page__filter-item:active{background:inherit;color:inherit}
.search-page__filter-badges{display:flex;flex-wrap:wrap;gap:6px}
.search-page__filter-badge{display:inline-flex;align-items:center;gap:4px;background:#e8f4fd;color:#0e79d3;border-radius:20px;padding:4px 10px;font-size:13px;font-weight:500;border:none;cursor:pointer}
.search-page__filter-badge:hover{background:#d0ebfa}
.search-page__filter-badge__x{font-size:16px;line-height:1;opacity:0.7}
.search-page__nearest{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 0}
.search-page__nearest-label{font-size:13px;font-weight:600;color:#7b8d9e;white-space:nowrap}
.search-page__nearest-label i{color:#0e79d3;margin-right:2px}
.search-page__nearest-pills{display:flex;flex-wrap:wrap;gap:6px}
.search-page__nearest-pill{display:inline-flex;align-items:center;background:#fff;border:1.5px solid #e8ecef;border-radius:20px;padding:5px 14px;font-size:13px;font-weight:500;color:#1a1a2e;cursor:pointer;transition:all 0.2s}
.search-page__nearest-pill:hover{border-color:#0e79d3;background:#e8f4fd;color:#0e79d3}
.search-page__routes-section{margin-top:36px}
.search-page__routes-header{margin-bottom:16px}
.search-page__routes-heading{font-size:22px;font-weight:700;color:#1a1a2e;display:flex;align-items:center;gap:8px;margin-bottom:4px}
.search-page__routes-heading i{color:#0e79d3;font-size:20px}
.search-page__routes-hint{font-size:13px;color:#7b8d9e;font-weight:400;margin:0}
.search-page__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
@media (max-width:575px){.search-page__grid{grid-template-columns:1fr;gap:8px}}
.route-card{position:relative;background:#fff;border:1.5px solid #e8ecef;border-radius:12px;padding:14px 16px;transition:border-color 0.2s,box-shadow 0.2s,transform 0.15s}
.route-card:hover{border-color:#0e79d3;box-shadow:0 6px 20px rgba(14,121,211,0.16);transform:translateY(-2px)}
.route-card__main{display:flex;align-items:flex-start}
.route-card__body{flex:1;background:none;border:none;padding:0;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:10px}
.route-card__toggle{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;border:1px solid #e8ecef;background:#f8f9fa;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.2s;flex-shrink:0}
.route-card__toggle i{transition:transform 0.2s;font-size:12px;color:#7b8d9e}
.route-card__toggle[aria-expanded="true"] i{transform:rotate(180deg)}
.route-card__toggle:hover{background:#e8ecef}
.route-card__cities{display:flex;align-items:center;gap:8px}
.route-card__from{font-size:15px;font-weight:600;color:#1a1a2e}
.route-card__arrow{color:#0e79d3;font-size:14px;flex-shrink:0}
.route-card__to{font-size:15px;font-weight:600;color:#1a1a2e}
.route-card__schedule{display:flex;align-items:center;gap:3px}
.route-card__day{display:inline-flex;align-items:center;justify-content:center;width:28px;height:22px;font-size:10px;font-weight:600;border-radius:4px;color:#c5cdd5;background:#f0f3f6}
.route-card__day--active{color:#fff;background:#0e79d3}
@media (max-width:575px){.route-card__day{width:32px;height:24px;font-size:11px}}
.route-card__badge{display:inline-flex;align-items:center;font-size:12px;font-weight:600;border-radius:6px;padding:4px 10px}
.route-card__badge--daily{color:#0e79d3;background:#e8f4fd}
.route-card__details{overflow:hidden;max-height:0;transition:max-height 0.3s ease,padding-top 0.3s ease,margin-top 0.3s ease;border-top:1px solid transparent}
.route-card__details:not([hidden]){max-height:250px;padding-top:10px;margin-top:10px;border-top-color:#f0f3f6}
.route-card__flight{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}
.route-card__flight-num{font-weight:600;color:#1a1a2e}
.route-card__flight-time{color:#7b8d9e}
.route-card__search-btn{width:100%;margin-top:8px;padding:8px;border:1.5px solid #0e79d3;border-radius:8px;background:transparent;color:#0e79d3;font-size:13px;font-weight:600;cursor:pointer;transition:all 0.2s}
.route-card__search-btn:hover{background:#0e79d3;color:#fff}
@media (max-width:767.98px){.search-page__title{font-size:22px}.search-page__title i{font-size:22px}.search-page__routes-heading{font-size:18px}.search-page__routes-heading i{font-size:18px}.search-page__nearest{flex-direction:column;align-items:flex-start;gap:6px}.search-page__nearest-pills{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.route-card__toggle{width:36px;height:36px}}