* { box-sizing: border-box; }
body { margin: 0; font-family: "Heebo", system-ui, sans-serif; background: #eef1f5; color: #0f172a; }
.boot { padding: 70px 20px; text-align: center; color: #475569; font-weight: 800; font-size: 16px; }
.wrap { max-width: 1150px; margin: 0 auto; padding: 14px 12px 30px; }
header h1 { font-size: 24px; font-weight: 900; margin: 6px 0 4px; }
.beta { background: #ddd6fe; color: #4c1d95; padding: 3px 11px; border-radius: 9999px; font-size: 11px; font-weight: 900; vertical-align: 6px; }
.tag { color: #475569; font-weight: 700; font-size: 13.5px; margin: 0 0 8px; }
.stats { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.stat { background: #fff; border: 1px solid #e2e8f0; border-radius: 10px; padding: 5px 12px; font-size: 12.5px; font-weight: 800; color: #334155; }
.stat.mut { color: #64748b; }
.tabs { display: flex; gap: 8px; margin-bottom: 10px; }
.tab { border: none; border-radius: 9999px; padding: 7px 17px; font-family: inherit; font-weight: 800; font-size: 14px; background: #e2e8f0; color: #475569; cursor: pointer; }
.tab.on { background: #4c1d95; color: #fff; }
.card { background: #fff; border-radius: 14px; box-shadow: 0 8px 30px rgba(0,0,0,.08); padding: 14px 16px; }
.search { width: 100%; border: 1px solid #e2e8f0; border-radius: 10px; padding: 10px 13px; font-size: 15px; font-family: inherit; }
.search.sm { flex: 1; min-width: 180px; width: auto; padding: 6px 11px; font-size: 13px; }
.search:focus { outline: 2px solid #7c3aed; border-color: transparent; }
.empty { padding: 28px 10px; text-align: center; color: #64748b; font-weight: 700; font-size: 14px; line-height: 1.9; }
.mut { color: #64748b; font-size: 12px; font-weight: 700; }
.llist { margin-top: 10px; }
.lrow { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; width: 100%; text-align: right; border: 1px solid #eee; background: #fff; border-radius: 12px; padding: 9px 11px; margin-bottom: 7px; font-family: inherit; cursor: pointer; }
.lrow .lnote { flex-basis: 100%; font-size: 12.5px; color: #475569; line-height: 1.55; margin-top: 3px; padding-top: 5px; border-top: 1px dashed #e2e8f0; }
.dayhead { font-weight: 900; color: #4c1d95; margin: 16px 0 7px; font-size: 14px; border-bottom: 2px solid #ede9fe; padding-bottom: 4px; }
.lrow:hover { border-color: #7c3aed; }
.badge { background: #4c1d95; color: #fff; border-radius: 10px; padding: 5px 15px; font-weight: 900; font-size: 20px; }
.badge.sm { font-size: 15px; padding: 4px 11px; min-width: 44px; text-align: center; }
/* "רציף N" ליד תחנה במסוף — הרציף הנוכחי, מתעדכן מדי יום (שלמה 03.09) */
.plat { display: inline-block; margin-inline-start: 6px; padding: 1px 7px; border-radius: 8px; background: #ecfeff; color: #155e75; border: 1px solid #a5f3fc; font-size: 12px; font-weight: 700; vertical-align: middle; }
.ldest { font-weight: 800; font-size: 13.5px; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lmeta { color: #64748b; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
/* --- עמוד קו --- */
.linewrap { display: grid; grid-template-columns: 360px 1fr; gap: 12px; }
/* בלי זה, תוכן רחב (שורת חודשים ארוכה) מנפח את עמודת הגריד ואת כל הדף
   במקום להיגלל בתוכה — והמובייל נראה "מוקטן" בקווים עם היסטוריה ארוכה */
.linewrap > * { min-width: 0; }
@media (max-width: 860px) { .linewrap { grid-template-columns: 1fr; } }
.back { border: none; background: none; color: #7c3aed; font-family: inherit; font-weight: 800; font-size: 13px; cursor: pointer; padding: 0 0 8px; }
.linehead { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.dest { font-weight: 800; font-size: 13.5px; color: #334155; }
.facts { font-size: 12px; color: #64748b; font-weight: 700; margin: 4px 0 10px; }
/* סוג תחבורה שאינו אוטובוס — הסבר בגוף עמוד הקו. "שירות לפי דרישה" נראה
   כקו רגיל לכל דבר, וההערה היא מה שמבדיל בין נסיעה קבועה להזמנה מראש. */
.ttnote { background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 9px;
  padding: 6px 10px; margin: 0 0 10px; font-size: 12.5px; color: #075985; line-height: 1.6; }
.ttnote b { color: #0c4a6e; }
/* תקופה שהקו לא היה ברישום — סיכום בולט בראש עמוד הקו */
.offband { background: #fef2f2; border: 1px solid #fecaca; border-radius: 9px;
  padding: 6px 10px; margin: 0 0 8px; font-size: 12.5px; color: #991b1b; line-height: 1.6; }
.offband b { color: #7f1d1d; }
/* אזהרת פער: המפה מציגה הפרש מצטבר בין שתי מדידות רחוקות, לא שינוי יחיד */
.gapwarn { background: #fffbeb; border: 1px solid #fde68a; border-radius: 9px;
  padding: 6px 10px; margin: 0 0 8px; font-size: 12.5px; color: #92400e; line-height: 1.6; }
.gapwarn b { color: #78350f; }
.sibs { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 0 0 10px; }
.sibt { font-size: 11.5px; color: #64748b; font-weight: 800; }
.sib { border: 1.5px solid #e2e8f0; background: #fff; border-radius: 9999px; padding: 4px 11px; font-family: inherit; font-weight: 800; font-size: 12px; color: #475569; cursor: pointer; }
.sib.on { background: #4c1d95; border-color: #4c1d95; color: #fff; }
.sibx { color: #dc2626; margin-inline-start: 4px; }
.sib.on .sibx { color: #fecaca; }
.months { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 10px; align-items: center; }
.mchip { border: 1.5px solid #e2e8f0; background: #fff; border-radius: 9999px; padding: 4px 12px; font-size: 12px; font-weight: 800; color: #475569; cursor: pointer; font-family: inherit; }
.mchip b { color: #7c3aed; }
.mchip.on { background: #7c3aed; border-color: #7c3aed; color: #fff; }
.mchip.on b { color: #fff; }
.tl { position: relative; padding-right: 17px; }
.tl::before { content: ""; position: absolute; right: 5px; top: 6px; bottom: 6px; width: 3px; border-radius: 3px; background: #e9d5ff; }
.ev { position: relative; padding: 8px 10px; border: 1px solid #eee; border-radius: 12px; margin-bottom: 8px; cursor: pointer; }
.ev::before { content: ""; position: absolute; right: -17px; top: 15px; width: 10px; height: 10px; border-radius: 50%; background: #fff; border: 3px solid #7c3aed; }
.ev.sel { border-color: #7c3aed; background: #faf5ff; }
.ev .d { font-size: 11px; color: #64748b; font-weight: 800; }
.ev .t { font-weight: 700; font-size: 13px; margin-top: 2px; }
.ev .sub { font-size: 12px; color: #475569; font-weight: 700; margin-top: 3px; line-height: 1.7; }
.k { display: inline-block; border-radius: 8px; padding: 1px 9px; font-size: 11px; font-weight: 900; color: #fff; margin-left: 5px; }
.vhead { font-size: 13.5px; font-weight: 700; color: #334155; margin-bottom: 9px; }
.map { height: 480px; border-radius: 12px; border: 1px solid #e2e8f0; }
@media (max-width: 640px) { .map { height: 340px; } }
.mapwrap { position: relative; }
.focusbtn { position: absolute; top: 10px; left: 10px; z-index: 800; border: 1.5px solid #7c3aed; background: #fff; color: #6d28d9; border-radius: 9999px; padding: 6px 13px; font-size: 12.5px; font-weight: 800; font-family: inherit; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.focusbtn:hover { background: #f5f3ff; }
.legend { display: flex; gap: 14px; font-size: 12px; font-weight: 800; color: #475569; margin-top: 9px; flex-wrap: wrap; }
.legend i { display: inline-block; width: 22px; height: 0; border-top: 4px solid; border-radius: 2px; margin-left: 5px; vertical-align: 3px; }
.legend .dot { width: 11px; height: 11px; border-radius: 50%; display: inline-block; vertical-align: -1px; margin-left: 5px; }
.lh-tip { font-family: "Heebo", sans-serif; font-weight: 700; direction: rtl; }
.lh-pop { font-family: "Heebo", sans-serif; direction: rtl; }
.lh-pop .leaflet-popup-content { margin: 10px 14px; font-weight: 700; font-size: 13.5px; line-height: 1.7; text-align: right; }
.lh-pop .pst { font-size: 12px; }
.lh-pop .pcode { color: #64748b; font-size: 11.5px; }
/* --- תחנות --- */
.slist { margin-top: 8px; }
.srow { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; border-bottom: 1px solid #f1f5f9; padding: 7px 2px; font-size: 13.5px; }
.srow .nm { font-weight: 700; }
.srow .nm s { color: #b91c1c; }
.srow .code { color: #64748b; font-weight: 700; font-size: 11.5px; }
/* המק"ט הוא גם הקישור לתחנה — מה שמאפשר לשלוח שינוי בתחנה מסוימת */
.slink { text-decoration: none; cursor: copy; }
.slink:hover { color: #7c3aed; }
.slink.copied { color: #16a34a; }
.srow .meta { color: #64748b; font-size: 12px; font-weight: 700; }
footer { margin-top: 18px; text-align: center; color: #475569; font-size: 12px; font-weight: 700; }
footer a { color: #7c3aed; }

/* --- רשימת המקורות (מתקפלת, בתחתית כל טאב) --- */
.srcbox { margin-top: 20px; background: #fbfaff; border: 1px solid #ede9fe;
  border-radius: 12px; padding: 10px 14px; }
.srcbox > summary { cursor: pointer; font-weight: 800; font-size: 13px; color: #5b21b6;
  list-style: none; }
.srcbox > summary::-webkit-details-marker { display: none; }
.srclist { padding-top: 10px; display: flex; flex-direction: column; gap: 11px; }
.srcitem { border-inline-start: 3px solid #ddd6fe; padding-inline-start: 10px; }
.srct { font-weight: 800; font-size: 13px; color: #1e293b; }
.srcd { font-weight: 700; font-size: 11.5px; color: #7c3aed; margin-inline-start: 6px;
  white-space: nowrap; }
.srcb { font-size: 12.5px; font-weight: 600; color: #475569; line-height: 1.75; margin-top: 2px; }
.srcfoot { font-size: 11.5px; font-weight: 700; color: #64748b; line-height: 1.8;
  border-top: 1px dashed #e9d5ff; padding-top: 9px; }
.nogeo { background: #faf5ff; border: 1px solid #e9d5ff; border-radius: 12px; padding: 22px 16px; font-weight: 700; font-size: 14px; line-height: 2; color: #334155; }
.evnote { font-weight: 700; font-size: 12px; color: #475569; }
/* שינוי שהרצף חזר ממנו מיד — תנודה בפרסום, לא שינוי במסלול */
.rvflag { background: #fffbeb; border: 1px solid #fde68a; border-radius: 7px; padding: 1px 7px;
  font-size: 11px; font-weight: 800; color: #92400e; cursor: help; margin-inline-start: 5px; }

/* --- קטגוריות לבחירה (רשימה מתקפלת עם סימון מרובה) --- */
.katbox { margin: 10px 0; border: 1.5px solid #e2e8f0; border-radius: 12px; overflow: hidden; }
.kathead { width: 100%; display: flex; align-items: center; gap: 8px; background: #f8fafc; border: none; padding: 10px 13px; font-family: inherit; font-weight: 800; font-size: 13.5px; color: #334155; cursor: pointer; }
.kathead:hover { background: #f1f5f9; }
.katarrow { color: #7c3aed; font-size: 10px; }
.katn { background: #7c3aed; color: #fff; border-radius: 9999px; padding: 2px 10px; font-size: 11px; margin-inline-start: auto; }
.katlist { display: flex; flex-direction: column; padding: 5px 9px 9px; border-top: 1px solid #eef2f7; }
.katrow { display: flex; align-items: center; gap: 9px; padding: 7px 5px; font-weight: 700; font-size: 13.5px; cursor: pointer; border-radius: 8px; }
.katrow:hover { background: #f8fafc; }
.katrow input { accent-color: #7c3aed; width: 17px; height: 17px; margin: 0; flex: 0 0 auto; }
.katdot { width: 12px; height: 12px; border-radius: 4px; flex: 0 0 auto; }
.katlab { flex: 1; }
.katc { color: #7c3aed; font-size: 12px; }
.katclear { border: none; background: none; color: #b91c1c; font-family: inherit; font-weight: 800; font-size: 12.5px; cursor: pointer; padding: 8px 5px 3px; text-align: right; }
.katgrp { color: #64748b; font-weight: 900; font-size: 11px; letter-spacing: .3px; padding: 9px 5px 2px; border-bottom: 1px dashed #eef2f7; margin-bottom: 2px; }
.katgrp:first-child { padding-top: 3px; }

/* --- מובייל --- */
@media (max-width: 640px) {
  .wrap { padding: 10px 9px 24px; }
  header h1 { font-size: 21px; margin: 4px 0 3px; }
  .tag { font-size: 12.5px; line-height: 1.55; }
  .stat { font-size: 11.5px; padding: 4px 9px; }
  .card { padding: 12px 11px; border-radius: 12px; }
  .search { font-size: 16px; }   /* מתחת ל-16px הדפדפן בנייד עושה זום אוטומטי */
  /* שורות צ'יפים (קטגוריות/חודשים) — פס נגלל אופקית במקום ערימה גבוהה */
  .months { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch;
            scrollbar-width: none; padding-bottom: 3px; }
  .months::-webkit-scrollbar { display: none; }
  .mchip { flex: 0 0 auto; padding: 6px 13px; }
  /* תוצאות חיפוש: מרשים לטקסט להישבר לשורות במקום להיחתך */
  .lrow { flex-wrap: wrap; gap: 5px 8px; padding: 9px 10px; }
  .ldest { flex: 1 1 100%; order: 2; white-space: normal; line-height: 1.5; }
  .lmeta { flex: 1 1 100%; order: 3; white-space: normal; line-height: 1.6; }
  .facts { font-size: 11.5px; line-height: 1.7; }
  .vhead { font-size: 12.5px; }
  .legend { gap: 9px 12px; font-size: 11px; }
  .focusbtn { font-size: 12px; padding: 6px 11px; }
  .srow { font-size: 12.5px; }
}

/* --- מפת אירוע תחנה --- */
.smap { height: 260px; border-radius: 12px; border: 1px solid #e2e8f0; margin: 4px 0 10px; }
.srow.clk { cursor: pointer; }
.srow.clk:hover { background: #f8fafc; }

/* הערת הסבר בתחתית תפריט הקטגוריות */
.katnote { color: #64748b; font-size: 11.5px; font-weight: 700; line-height: 1.7; padding: 8px 5px 3px; border-top: 1px dashed #eef2f7; margin-top: 4px; }

/* קיבוץ כל השינויים של אותה תחנה (טאב תחנות) */
.sgroup { border: 1px solid #e9d5ff; border-radius: 12px; margin: 8px 0; overflow: hidden; }
.sgroup .srow { border-bottom: none; }
.sgroup .ghead { background: #faf5ff; font-size: 14px; padding: 8px 10px; }
.srow.sub { padding-right: 22px; }

/* כפתור "הצג עוד" בסוף רשימות */
/* קישור לקו של היום מתוך שורת 2012 — בלי לגזול את הלחיצה על השורה עצמה */
.totoday { color: #7c3aed; font-weight: 800; font-size: 12px; white-space: nowrap; }

/* תוצאות מצילום 2012, מתחת לתוצאות של היום */
.r12 { margin-top: 14px; border-top: 1px dashed #e7e5e4; padding-top: 10px; }
.r12head { font-size: 12.5px; font-weight: 800; color: #78350f; margin-bottom: 7px; line-height: 1.6; }

/* מסך "קווים שנעלמו" */
.gonehead { background: #fef2f2; border: 1px solid #fecaca; border-radius: 10px;
  padding: 8px 12px; margin: 4px 0 10px; font-size: 13px; font-weight: 700;
  color: #7f1d1d; line-height: 1.7; }
.morebtn { display: block; width: 100%; border: 1.5px dashed #c4b5fd; background: #faf5ff; color: #6d28d9; border-radius: 12px; padding: 10px; margin-top: 8px; font-family: inherit; font-weight: 800; font-size: 13.5px; cursor: pointer; }
.morebtn:hover { background: #f3e8ff; }
/* שורות הקווים וצ'יפי הווריאנטים הם עכשיו קישורים אמיתיים (פתיחה בכרטיסייה חדשה) */
a.lrow, a.sib { text-decoration: none; color: inherit; }
/* עוגן 2012 בעמוד קו */
.a2012 { background: #fafaf9; border: 1px solid #e7e5e4; border-radius: 10px; padding: 7px 10px; font-size: 12.5px; margin: 8px 0; line-height: 1.6; }
.a2012 b { color: #78350f; }
.a2012ov { color: #a16207; font-weight: 800; margin-inline-start: 6px; }
.a2012 a { margin-inline-start: 8px; font-weight: 800; color: #78350f; }
/* רצף תחנות 2012 בתוך עמוד הקו */
.a2012btn { margin-inline-start: 10px; border: 1px solid #d6d3d1; background: #fff; border-radius: 8px; padding: 2px 9px; font-family: inherit; font-weight: 800; font-size: 11.5px; cursor: pointer; color: #78350f; }
.s12chips { margin: 7px 0 2px; }
.rchip12 { border: 1px solid #e7e5e4; background: #fff; border-radius: 9999px; padding: 3px 9px; margin: 2px 0 2px 5px; font-family: inherit; font-weight: 800; font-size: 11px; cursor: pointer; }
.rchip12.on { background: #78350f; color: #fff; border-color: #78350f; }
.s12 { max-height: 260px; overflow-y: auto; margin: 6px 0 2px; padding-inline-start: 20px; font-size: 12.5px; line-height: 1.75; }
/* בעמוד קו 2012 הרשימה היא התוכן ולא הצצה בתוך שורה */
.card > .s12 { max-height: none; overflow: visible; font-size: 13.5px; margin-top: 10px; }
.s12 .pcode { color: #a8a29e; font-size: 11px; }

/* טבלת לפני/אחרי של לוח היציאות (אירועי תדירות/לו"ז) */
.tdiff { margin: 10px 0 4px; }
.tdiff-btn { font-family: inherit; font-weight: 700; font-size: 13px; background: #f5f3ff; color: #4c1d95; border: 1px solid #ddd6fe; border-radius: 10px; padding: 7px 12px; cursor: pointer; }
.tdiff-btn:hover { background: #ede9fe; }
.tdiff-wrap { margin-top: 8px; max-height: 340px; overflow-y: auto; border: 1px solid #e5e7eb; border-radius: 10px; }
.tdiff-tbl { width: 100%; border-collapse: collapse; font-size: 13px; }
.tdiff-tbl th { position: sticky; top: 0; background: #f8fafc; padding: 6px 10px; text-align: center; border-bottom: 2px solid #e2e8f0; }
.tdiff-tbl td { padding: 3px 10px; text-align: center; border-bottom: 1px solid #f1f5f9; }
.tdiff-tbl .num { font-weight: 800; direction: ltr; }
.td-added { background: #f0fdf4; } .td-added .num { color: #15803d; }
.td-removed { background: #fef2f2; } .td-removed .num { color: #b91c1c; text-decoration: line-through; }
.td-changed { background: #fffbeb; } .td-changed .num { color: #b45309; }
.td-same { background: #fff; } .td-same .num { color: #334155; }
.td-moved { background: #fffbeb; } .td-moved .num { color: #b45309; }
.td-removed .num:last-child { text-decoration: none; }
.td-added .num:first-child { color: #15803d; text-decoration: none; }
.tdiff-leg { font-size: 11.5px; color: #64748b; font-weight: 700; padding: 7px 10px; background: #f8fafc; }
.vdetails { margin: 10px 0 6px; display: flex; flex-direction: column; gap: 8px; }
.tdiff-tbl .lbl { font-weight: 900; white-space: nowrap; }
.tdiff-tbl .val { text-align: right; direction: rtl; font-weight: 700; }

/* הלו"ז האחרון של קו מבוטל (k=times) — צילום שעות מהארכיון */
.tsnap-wrap { margin: 10px 0 4px; }
.tsnap { width: 100%; border-collapse: collapse; font-size: 13.5px; margin-top: 8px; border: 1px solid #e5e7eb; border-radius: 10px; overflow: hidden; }
.tsnap th { background: #ecfeff; color: #155e75; font-weight: 800; padding: 7px 12px; text-align: right; border-bottom: 1px solid #e5e7eb; white-space: nowrap; width: 1%; }
.tsnap td { padding: 7px 10px; border-bottom: 1px solid #f1f5f9; line-height: 2; }
.tsnap .tt { display: inline-block; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 7px; padding: 1px 7px; margin: 0 0 0 6px; font-variant-numeric: tabular-nums; font-weight: 700; color: #0f172a; }

/* סרגל סינון קטגוריות בעמוד הקו — כיבוי והדלקה של סוגי שינויים */
.kfilter { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 4px; }
.kchip { border: 1px solid #cbd5e1; background: #fff; color: #475569; border-radius: 999px;
  padding: 3px 10px; font-size: 12px; cursor: pointer; line-height: 1.6; }
.kchip b { font-weight: 700; opacity: .75; margin-inline-start: 3px; }
.kchip.off { background: #f1f5f9; color: #64748b; text-decoration: line-through; border-color: #e2e8f0; }
.kchip:hover { filter: brightness(.96); }

/* השוואה חופשית בין שתי גרסאות בעמוד הקו */
.cmpbar { background: #eef2ff; border: 1px solid #c7d2fe; border-radius: 10px;
  padding: 7px 11px; margin: 8px 0; font-size: 13px; color: #3730a3; }
.cmpbar b { color: #4338ca; }
.cmpsum { color: #4f46e5; }
.cmpx { float: inline-end; border: 1px solid #c7d2fe; background: #fff; color: #4338ca;
  border-radius: 999px; padding: 1px 9px; font-size: 12px; cursor: pointer; }
.cmplist { margin-top: 6px; font-size: 12px; line-height: 1.7; }
.cmplist .ad { color: #15803d; }
.cmplist .rm { color: #b91c1c; }
.cmpbtn { border: 1px solid #cbd5e1; background: #fff; color: #64748b; border-radius: 6px;
  padding: 0 6px; margin-inline-start: 6px; font-size: 12px; cursor: pointer; line-height: 1.5; }
.cmpbtn.on { background: #4338ca; color: #fff; border-color: #4338ca; }

/* תאריך שאינו מדויק — אותר בין שני צילומי ארכיון רחוקים, ולכן מוצג החודש
   בלבד. הסימון ויזואלי כדי שלא ייקרא כתאריך מדוד. */
.approxd { border-bottom: 1px dotted #a16207; cursor: help; }

/* מתג תצוגת המפה: "מה השתנה" מול המסלול המלא אחרי השינוי */
.onlycur { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 8px; }

/* מקור האירוע — מי מדד ומתי. שקט ויזואלית, אבל תמיד נוכח. */
.evsrc { font-size: 11px; color: #64748b; font-weight: 700; margin-top: 4px; line-height: 1.5; }

/* רשומה ברישום שאף קו לא עצר בה — לא תחנה שאפשר לחכות בה */
.nsflag { background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 7px;
  padding: 1px 7px; font-size: 11px; font-weight: 800; color: #475569; cursor: help; }

/* עדות ממאגר מגיעים 2012 — חמש שנים לפני תחילת הארכיון */
.m12flag { background: #ecfdf5; border: 1px solid #a7f3d0; border-radius: 7px;
  padding: 1px 7px; font-size: 11px; font-weight: 800; color: #047857; cursor: help; }

/* --- השוואה בין חלופות --- */
.sibwrap { display: inline-flex; align-items: center; gap: 3px; }
.sibcmp { border: 1.5px solid #e2e8f0; background: #fff; color: #7c3aed; border-radius: 9999px;
  width: 26px; height: 26px; font-family: inherit; font-weight: 900; font-size: 12px;
  cursor: pointer; padding: 0; line-height: 1; }
.sibcmp:hover { border-color: #7c3aed; background: #f5f3ff; }
.altcmp { border: 1.5px solid #ddd6fe; background: #faf5ff; border-radius: 12px;
  padding: 10px 12px; margin: 0 0 12px; }
.altcmphead { font-size: 13.5px; font-weight: 700; color: #334155; display: flex;
  align-items: baseline; gap: 6px; flex-wrap: wrap; }
.altcmphead b { color: #5b21b6; }
.altstat { display: flex; gap: 12px; flex-wrap: wrap; margin: 7px 0 9px;
  font-size: 12.5px; font-weight: 800; color: #475569; }
.altstat .onlya { color: #4c1d95; }
.altstat .onlyb { color: #16a34a; }

/* נגישות הקו ומגבלות עלייה/ירידה בתחנה */
.wa.yes { color: #0d9488; font-weight: 800; }
.wa.no { color: #b45309; font-weight: 800; }
/* --- מה השתנה לאחרונה (מסך הפתיחה) --- */
.recent { margin-top: 4px; }
.rechead { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 12px 0 0; }
.rechead b { font-size: 15px; color: #1e293b; }
.recall { border: none; background: none; color: #7c3aed; font-family: inherit;
  font-weight: 800; font-size: 12.5px; cursor: pointer; padding: 0; }
.recmore { display: block; width: 100%; border: 1.5px dashed #e2e8f0; background: #fff;
  color: #64748b; border-radius: 10px; padding: 7px; margin: 2px 0 4px; font-family: inherit;
  font-weight: 800; font-size: 12.5px; cursor: pointer; }

/* הסבר שנפתח בהקשה (סעיף 15 — בטלפון אין ריחוף, title לא נראה שם) */
.tiptag { cursor: pointer; }
.tipnote { display: block; background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 8px;
  padding: 6px 10px; margin: 4px 0; font-size: 12px; color: #334155; line-height: 1.55; font-weight: 400; }

/* כפתור השיתוף בעמוד קו (שלב ב, סעיף 20) */
.sharebtn { margin-inline-start: auto; background: #f5f3ff; border: 1.5px solid #ddd6fe; color: #5b21b6;
  border-radius: 10px; padding: 6px 12px; font-size: 12.5px; font-weight: 800; cursor: pointer; font-family: inherit; }
.sharebtn:hover { background: #ede9fe; }
.linehead { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* תגית-סוג ככפתור אמיתי וכפתור מפה בשורת תחנה — נגישות בלי כפתור-בתוך-כפתור */
button.kbtn { border: 0; cursor: pointer; font: inherit; }
.mapbtn { border: 0; background: none; cursor: pointer; font-size: inherit; padding: 0 2px; }
.mapbtn:focus-visible, button.kbtn:focus-visible { outline: 2px solid #4c1d95; outline-offset: 2px; }

/* המונה בצ׳יפ פעיל יורש את צבע הצ׳יפ — האפור נכשל בניגודיות */
.kchip.on b { color: inherit; opacity: 1; }

/* חלון "מה חדש" (בקשת שלמה) */
.newsbtn { background: #ede9fe; color: #5b21b6; border: 1px solid #ddd6fe; border-radius: 999px;
  font-size: 12px; font-weight: 800; padding: 3px 12px; cursor: pointer; font-family: inherit; vertical-align: middle; }
.newsbtn:hover { background: #ddd6fe; }
.wnover { position: fixed; inset: 0; background: rgba(15,23,42,.55); z-index: 9999;
  display: flex; align-items: center; justify-content: center; padding: 16px; }
.wncard { background: #fff; border-radius: 18px; max-width: 560px; width: 100%; max-height: 85vh;
  overflow-y: auto; box-shadow: 0 20px 60px rgba(0,0,0,.3); }
.wnhead { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px;
  border-bottom: 1px solid #e2e8f0; font-size: 17px; position: sticky; top: 0; background: #fff; }
.wnx { border: 0; background: #f1f5f9; color: #475569; width: 30px; height: 30px; border-radius: 50%;
  font-size: 18px; font-weight: 900; cursor: pointer; line-height: 1; }
.wnx:hover { background: #e2e8f0; color: #0f172a; }
.wnbody { padding: 12px 18px 18px; }
.wnsec { font-weight: 900; color: #4c1d95; font-size: 14px; margin: 12px 0 6px; }
.wnbody ul { margin: 0; padding-inline-start: 18px; }
.wnbody li { font-size: 13.5px; color: #334155; margin-bottom: 7px; line-height: 1.65; }
.wnbody li b { color: #0f172a; }
.wnlead { font-size: 14.5px; color: #0f172a; line-height: 1.7; margin: 10px 0 4px; }
/* עיצוב "מה חדש" — גרסת שלמה */
.wnhero { background: linear-gradient(135deg, #4c1d95, #6d28d9); color: #ede9fe; border-radius: 14px;
  padding: 14px 16px; font-size: 14px; line-height: 1.7; margin: 10px 0 12px; font-weight: 700; }
.wnht { font-size: 17px; font-weight: 900; color: #fff; margin-bottom: 4px; }
.wnmain { list-style: none; padding: 0 !important; margin: 0; }
.wnmain li { background: #f8fafc; border: 1px solid #eef2f7; border-radius: 12px;
  padding: 9px 12px; margin-bottom: 8px; font-size: 13.5px; line-height: 1.65; color: #334155; }
.wnmain li b { color: #0f172a; }
.wnmore { font-size: 13px; color: #475569; font-weight: 700; margin: 10px 2px 14px; }
.wnline { font-size: 12.5px; color: #475569; line-height: 1.7; margin: 2px 2px 10px; }

/* ציר הקווים של תחנה (LinesAtStop) */
.lat{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;margin:10px 0 14px;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.lat .lathead{font-weight:900;font-size:15px;color:#0f172a;margin-bottom:8px}
.lat .latnow{font-size:13px;font-weight:700;color:#334155;margin-bottom:10px;display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.lat .latb{text-decoration:none}
.lat .latlist{display:flex;flex-direction:column;gap:4px}
.lat .latrow{font-size:13px;color:#334155;padding:3px 0;border-bottom:1px dashed #f1f5f9}
.lat .latrow a{color:#0369a1;text-decoration:none;font-weight:900}
.lat .latd{color:#64748b;font-weight:700;font-size:12px;margin-left:6px}
.lat .latnote{font-size:11.5px;color:#94a3b8;font-weight:600;margin-top:8px;line-height:1.5}
.latlink{font-size:11.5px;font-weight:900;color:#0369a1;text-decoration:none;background:#f0f9ff;border:1px solid #bae6fd;border-radius:99px;padding:2px 8px;margin-inline-start:6px;white-space:nowrap}
.latlink:hover{background:#e0f2fe}
.lat .lathead{display:flex;align-items:center;justify-content:space-between}
.lat .latx{border:none;background:#f1f5f9;color:#64748b;border-radius:99px;width:26px;height:26px;font-size:13px;font-weight:900;cursor:pointer;flex:none}
.lat .latx:hover{background:#e2e8f0;color:#0f172a}

/* טבלת הלו"ז המלא בעמוד הקו — כל שעות היציאה, תגבור מסומן ×N */
.schedbox{margin:10px 0;background:#faf8ff;border:1px solid #e4defc;border-radius:10px;padding:8px 12px}
.schedbox summary{cursor:pointer;font-weight:700;color:#4c1d95}
.schednote{font-size:.85em;color:#6b7280;margin:6px 0}
.schedtbl{border-collapse:collapse;width:100%}
.schedtbl th{white-space:nowrap;text-align:right;vertical-align:top;padding:4px 0 4px 10px;color:#4c1d95;font-size:.9em}
.schedtbl td{padding:3px 0}
.tchip{display:inline-block;background:#fff;border:1px solid #ddd6fe;border-radius:6px;padding:1px 6px;margin:2px 3px 2px 0;font-size:.85em;font-variant-numeric:tabular-nums}
.tchip.tb{background:#fef3c7;border-color:#f59e0b;font-weight:700}
