/* Events and holidays calendar (/events): server/events-pages.mjs. Uses the site tokens; logical properties keep RTL correct.
   Events are ruled rows, grouped by country on /events and by month within it: dates on the start side, then the event, its
   kind, certainty, places and source. */
.ev-tools{display:grid;gap:var(--s-3);padding:var(--s-2) 0 var(--s-4);border-bottom:1px solid var(--line)}
.ev-filters,.ev-countries,.ev-cities{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.ev-filters a,.ev-countries a,.ev-cities a{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--ink-2);font-size:var(--fs-13);font-weight:500;text-decoration:none}
.ev-filters a:hover,.ev-countries a:hover,.ev-cities a:hover{border-color:var(--ink-2);color:var(--ink)}
.ev-filters a[aria-current],.ev-countries a[aria-current],.ev-cities a[aria-current]{background:var(--ink);border-color:var(--ink);color:var(--surface)}
.ev-countries strong,.ev-cities strong{font-size:var(--fs-13);font-weight:600;color:var(--ink-2);margin-inline-end:var(--s-2)}
.ev-legend{color:var(--muted);font-size:var(--fs-13);line-height:2;margin:var(--s-2) 0 0;max-width:90ch}
.ev-timeline{padding-top:var(--s-6)}
.ev-month+.ev-month{margin-top:var(--s-7)}
.ev-month h2,.ev-impact h2,.ev-method h2{font-size:var(--fs-22);margin-bottom:var(--s-3)}
/* One section per country on /events: the country, its cities, then its months. */
.ev-country{padding-top:0;scroll-margin-top:90px}
.ev-country+.ev-country{margin-top:var(--s-7);padding-top:var(--s-6);border-top:1px solid var(--line-strong)}
.ev-country>h2{font-size:var(--fs-28);margin:0 0 var(--s-3)}
.ev-country>.ev-cities{margin-bottom:var(--s-5)}
.ev-country .ev-month h3{font-size:var(--fs-18);margin:0 0 var(--s-3)}
.ev-country details{margin-top:var(--s-5)}
.ev-country summary{font-size:var(--fs-16)}
h4.ev-name{font-size:var(--fs-16)}
.ev-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.ev-item{display:grid;grid-template-columns:minmax(150px,15rem) minmax(0,1fr);gap:var(--s-2) var(--s-6);padding:var(--s-5) 0;border-bottom:1px solid var(--line);scroll-margin-top:90px}
.ev-item:target{background:var(--dune-soft);padding-inline:var(--s-3);border-radius:var(--r-sm)}
.ev-when{display:grid;gap:2px;align-content:start}
.ev-when strong{font-size:var(--fs-16);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.ev-hijri{color:var(--muted);font-size:var(--fs-13)}
.ev-name{font-size:var(--fs-18);margin:0 0 var(--s-2);line-height:1.35}
.ev-tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:0 0 var(--s-2);font-size:var(--fs-13)}
.ev-kind{color:var(--ink-2);font-weight:500}
.ev-badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-12);font-weight:500;border-radius:var(--r-pill);padding:2px 10px;border:1px solid transparent}
.ev-badge::before{content:"";width:6px;height:6px;transform:rotate(45deg);background:currentColor}
.ev-badge.ev-official{background:var(--good-soft);border-color:var(--good-line);color:var(--good)}
.ev-badge.ev-expected{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}
.ev-where a{color:var(--ink-2);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}
.ev-where a:hover{color:var(--brand-ink);text-decoration-color:currentColor}
.ev-note{margin:0 0 var(--s-2);color:var(--ink-2);font-size:var(--fs-15);line-height:1.6;max-width:70ch}
.ev-source{display:flex;flex-wrap:wrap;gap:2px 12px;margin:0;color:var(--muted);font-size:var(--fs-12)}
.ev-source a{color:var(--ink-2);word-break:break-word;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}
.ev-past{padding-top:0}
.ev-past summary{font-size:var(--fs-16)}
.ev-impact .num{text-align:end}
.ev-method p{max-width:72ch;line-height:1.65;margin:0 0 var(--s-3);color:var(--ink-2)}
.ev-method p.muted{color:var(--muted);font-size:var(--fs-13)}
@media (max-width:640px){.ev-item{grid-template-columns:minmax(0,1fr);gap:var(--s-2);padding:var(--s-4) 0}}
