/* Widgets d'accueil (js/home-widgets.js) : plan des transports, raccourcis, mini-agenda. Jetons de app.css, thèmes clair et sombre. */
.hw{--hw-water:rgba(86,150,214,.30);background:var(--card);border:1px solid var(--line2);border-radius:var(--r);padding:16px;color:var(--tx);min-width:0;display:flex;flex-direction:column;gap:12px}
html[data-theme="light"] .hw{--hw-water:rgba(70,130,200,.26)}
.hw-head{display:flex;flex-direction:column;gap:2px}
.hw-title{font-family:var(--fd);font-size:1.15rem;line-height:1.25}
.hw-sub{margin:0;font-size:.82rem;color:var(--tx3)}
.hw-note,.hw-priv,.hw-more,.hw-live{margin:0;font-size:.85rem;color:var(--tx2)}
.hw-priv{font-size:.75rem;color:var(--tx3)}
.hw-live:empty,.hw-res:empty{display:none}
.hw-live{font-size:.82rem;color:var(--acc)}

.hw-mapwrap{border-radius:var(--r2);overflow:hidden;border:1px solid var(--line2);background:var(--bg2);aspect-ratio:21/16;width:100%}
.hw-map{width:100%;height:100%;display:block;max-width:none}
.hw-bg{fill:var(--bg2)}
.hw-water{fill:none;stroke:var(--hw-water);stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.hw-marne{stroke-width:5}
.hw-ln{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2;opacity:.95;transition:opacity .2s}
.hw-ln.hw-k-r{stroke-width:1.9}
.hw-ln.hw-k-t{stroke-width:1.4}
.hw-has-sel .hw-ln{opacity:.12}
.hw-has-sel .hw-ln.hw-sel{opacity:1;stroke-width:3.6}
.hw-st{fill:var(--card);stroke:var(--tx2);stroke-width:.9}
.hw-has-sel .hw-st{opacity:.25}
.hw-tx{font:700 8.5px/1 var(--ff);fill:var(--tx);stroke:var(--bg2);stroke-width:2.6px;paint-order:stroke;stroke-linejoin:round;pointer-events:none}
.hw-has-sel .hw-lab{opacity:.45}
.hw-me-h{fill:rgba(66,133,244,.28)}
.hw-me{fill:#4285f4;stroke:#fff;stroke-width:1.5}

.hw-chips{display:flex;flex-wrap:wrap;gap:5px}
.hw-chip{min-width:28px;height:28px;padding:0 6px;border-radius:14px;font:800 12px/1 var(--ff);display:inline-flex;align-items:center;justify-content:center;border:2px solid transparent;touch-action:manipulation;transition:opacity .15s,transform .15s}
.hw-chip.hw-ck-r,.hw-chip.hw-ck-t{border-radius:7px}
.hw-chip[aria-pressed="true"]{border-color:var(--tx);transform:scale(1.1)}
.hw-chip.hw-off{opacity:.45}
.hw-chip:focus-visible,.hw-btn:focus-visible,.hw-q:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

.hw-act{display:flex;flex-wrap:wrap;gap:8px}
.hw-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--tx);font-weight:600;font-size:.88rem;flex:1 1 auto;text-align:center}
.hw-btn:hover{background:var(--card2)}
.hw-btn:disabled{opacity:.6;cursor:progress}
.hw-btn.hw-primary{background:var(--acc);border-color:var(--acc);color:var(--accTx)}
.hw-btn.hw-primary:hover{background:var(--acc2)}
.hw-ico{flex:none}

.hw-near{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.hw-nrow{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;background:var(--card2);border:1px solid var(--line2);border-radius:var(--r2);padding:8px 10px;font-size:.88rem}
.hw-nb{display:inline-flex;flex-wrap:wrap;gap:4px}
.hw-nt{color:var(--acc);font-weight:600;margin-left:auto}

.hw-qlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:8px}
.hw-q{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 12px 6px 8px;border:1px solid var(--line2);border-radius:999px;background:var(--card2);font-weight:600;font-size:.88rem;line-height:1.2}
.hw-q:hover{border-color:var(--acc)}
.hw-qi{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(var(--acc-rgb),.16);color:var(--acc)}

.hw-pday{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.hw-pday strong{font-family:var(--fd);font-size:1.02rem}
.hw-tag{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accTx);background:var(--acc);border-radius:999px;padding:2px 9px}
.hw-pl{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.hw-pl li{display:flex;gap:10px;align-items:baseline;font-size:.9rem;border-left:2px solid var(--acc);padding-left:10px;min-width:0}
.hw-pt{font-variant-numeric:tabular-nums;color:var(--acc);font-weight:700;flex:none}
.hw-pn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

@media(prefers-reduced-motion:reduce){.hw-ln,.hw-chip{transition:none}}
@media(forced-colors:active){.hw-btn,.hw-q,.hw-chip{border:2px solid CanvasText}}
