:root{--bg:#fafaf8;--surface:#ffffff;--text:#1c1c1a;--muted:#6b6b66;--border:#e4e4de;--accent:#bf3a39;--accent-hover:#a83232;--brand-ink:#301040;--radius:10px;--maxw:1080px}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.25rem;background:var(--surface);border-bottom:1px solid var(--border)}.site-header .logo{font-weight:800;font-size:1.2rem;color:var(--text)}.site-header nav{display:flex;gap:1.1rem;font-size:.95rem;flex-wrap:wrap}.site-main{max-width:var(--maxw);margin:0 auto;padding:1.5rem 1.25rem 3rem}.site-footer{border-top:1px solid var(--border);padding:1.25rem;color:var(--muted);font-size:.85rem;text-align:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.15rem}.btn{display:inline-block;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:.6rem 1.2rem;font-size:1rem;font-weight:600;cursor:pointer}.btn:hover{background:var(--accent-hover);text-decoration:none}.badge{display:inline-block;background:#fdeeee;color:var(--accent);border-radius:999px;padding:.1rem .6rem;font-size:.78rem;font-weight:600}.muted{color:var(--muted)}.price{font-weight:800;font-size:1.15rem}.price-old{font-weight:400;font-size:.9rem;color:var(--muted);text-decoration:line-through}.badge--tag{background:#f1f1ec;color:var(--text);font-weight:500}.badge--warn{background:#fdf1dc;color:#9a6200}.logo-chip{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:7px;background:#2b2b28;padding:3px;overflow:hidden}.logo-monogram{color:#fff;font-weight:700;letter-spacing:.02em;padding:0}.search-input{flex:1 1;min-width:240px;font-size:1.05rem;padding:.75rem .9rem}.chip-remove{margin-left:.35rem;font-weight:800;color:inherit}.chip-remove:hover{text-decoration:none;opacity:.7}.card-link{display:block;color:inherit}.card-link:hover{text-decoration:none;border-color:var(--accent)}details.filters>summary{cursor:pointer;font-weight:600;font-size:.9rem;color:var(--muted)}input,select{font:inherit;padding:.5rem .65rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}label{font-size:.85rem;font-weight:600;color:var(--muted)}@media (max-width:480px){.site-header{padding:.65rem .85rem;flex-wrap:wrap;row-gap:.4rem}.site-header .logo{font-size:1.05rem}.site-header nav{gap:.6rem .9rem;font-size:.85rem}.site-main{padding:1rem 1rem 2.5rem}.search-input{min-width:0;flex-basis:100%}.search-input+.btn{width:100%}}.spinner{display:inline-block;width:.8em;height:.8em;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:spin .6s linear infinite;vertical-align:-.1em;margin-right:.35em}@keyframes spin{to{transform:rotate(1turn)}}.departures-table{min-width:560px}@media (max-width:600px){.departures-table,.departures-table tbody,.departures-table td,.departures-table tr{display:block;width:100%}.departures-table{min-width:0}.departures-table thead{display:none}.departures-table tr{border:1px solid var(--border);border-radius:var(--radius);margin:0 .6rem .6rem;padding:.3rem 0}.dep-cta,.departures-table td{text-align:left}.dep-cta .btn{display:block;width:100%;text-align:center}}