/* Widget : liste compacte, faite pour une iframe de 300 à 700 px de large. */
:root {
  --bg: #fffdf8;
  --ink: #1d1b18;
  --muted: #6b645a;
  --line: #e4dccd;
  --brand: #1f2a44;
  --soiree: #dc2626;
  --pratique: #2563eb;
  --stage: #7c3aed;
  --festival: #ca8a04;
  --autre: #6b645a;
}
/* Thème sombre : imposé par ?theme=sombre, ou suivi du téléphone avec ?theme=auto. */
:root[data-theme="sombre"] {
  --bg: #1c1f27; --ink: #ece8e1; --muted: #a39d93; --line: #2c303a; --brand: #e8c37a;
  --soiree: #f87171; --pratique: #60a5fa; --stage: #a78bfa; --festival: #facc15; --autre: #a39d93;
}
@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"] {
    --bg: #1c1f27; --ink: #ece8e1; --muted: #a39d93; --line: #2c303a; --brand: #e8c37a;
    --soiree: #f87171; --pratique: #60a5fa; --stage: #a78bfa; --festival: #facc15; --autre: #a39d93;
  }
}
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--bg); color: var(--ink); }
body { font: 15px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
a { color: inherit; }
.w { padding: 10px 12px; }
.w-title { margin: 0 0 8px; font-weight: 700; font-size: 1.05rem; color: var(--brand); }
.w-status { margin: 0 0 6px; color: var(--muted); font-size: .85rem; }
.w-status:empty { display: none; }
.w-list { list-style: none; margin: 0; padding: 0; }
.w-day { margin: 10px 0 2px; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.w-day:first-child { margin-top: 0; }
.w-ev { --c: var(--autre); display: grid; grid-template-columns: 4.6em 1fr; gap: 0 8px; padding: 6px 0 6px 8px; border-left: 3px solid var(--c); border-bottom: 1px solid var(--line); }
.w-ev[data-type="soiree"] { --c: var(--soiree); }
.w-ev[data-type="pratique"] { --c: var(--pratique); }
.w-ev[data-type="stage"] { --c: var(--stage); }
.w-ev[data-type="festival"] { --c: var(--festival); }
.w-time { font-weight: 600; font-variant-numeric: tabular-nums; font-size: .85rem; }
.w-body { min-width: 0; }
.w-name { font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
.w-name:hover, .w-name:focus-visible { text-decoration: underline; }
.w-type { color: var(--c); font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin-left: 4px; white-space: nowrap; }
.w-meta { margin: 1px 0 0; color: var(--muted); font-size: .82rem; overflow-wrap: anywhere; }
.w-auto { margin: 1px 0 0; color: var(--muted); font-size: .74rem; font-style: italic; }
.w-foot { margin: 10px 0 0; font-size: .88rem; }
.w-foot a { font-weight: 600; color: var(--brand); }
