/* Comparison shares the public programme palette and proposal presets. */
.prg-comparison{--cmp-surface:var(--fl-election-surface,#fff);--cmp-ink:var(--fl-election-text,#152433);--cmp-muted:var(--fl-election-muted,#586b7c);--cmp-border:var(--fl-election-border,#dbe6ec);--cmp-accent:var(--prg-accent,#087dbb);color:var(--cmp-ink)}
.prg-comparison [hidden]{display:none!important}
.prg-comparison .prg-cmp-heading{margin:0 0 28px;padding:28px 0 0;max-width:850px}
.prg-comparison .prg-cmp-heading h1{font-size:clamp(26px,3vw,38px);line-height:1.2;letter-spacing:-.035em;margin:8px 0 12px;text-wrap:balance}
.prg-comparison .prg-cmp-heading p{margin:0;color:var(--cmp-muted)}
.prg-comparison .prg-cmp-step{background:var(--cmp-surface);border:1px solid var(--cmp-border);border-radius:24px;padding:24px;margin:0 0 24px;min-width:0}
.prg-comparison .prg-cmp-step legend{float:none;width:auto;max-width:100%;font-size:18px;font-weight:650;padding:0 8px;margin:0 0 12px;line-height:1.5}
.prg-cmp-step legend>span{color:var(--cmp-accent);margin-right:10px;font-size:13px}
.prg-cmp-pickers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.prg-cmp-choice{position:relative;min-width:0}
.prg-cmp-choice>label{display:block;font-size:13px;color:var(--cmp-muted);margin-bottom:10px}
.prg-cmp-choice-button{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;width:100%;padding:14px;border:1px solid var(--cmp-border);border-radius:16px;background:var(--cmp-surface);color:var(--cmp-ink);min-height:80px;transition:border-color .18s,box-shadow .18s}
.prg-cmp-choice-button:hover,.prg-cmp-choice-button[aria-expanded=true]{border-color:var(--cmp-accent);box-shadow:0 4px 20px #087dbb12}
.prg-cmp-choice-button [data-candidate-value]{display:flex;align-items:center;gap:12px;min-width:0}
.prg-cmp-choice-button strong{font-size:14px;overflow-wrap:anywhere}
.prg-cmp-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid var(--cmp-border)}
.prg-cmp-initial{display:inline-flex;align-items:center;justify-content:center;color:var(--cmp-accent);background:color-mix(in srgb,var(--cmp-accent) 8%,var(--cmp-surface));font-weight:650;font-size:20px}
.prg-cmp-choice-panel{position:absolute;top:100%;left:0;right:0;z-index:30;margin-top:8px;background:var(--cmp-surface);border:1px solid var(--cmp-border);border-radius:16px;box-shadow:0 12px 36px #15243324;padding:10px}
.prg-cmp-choice-panel [role=listbox]{max-height:272px;overflow:auto;overscroll-behavior:contain;margin-top:8px}
.prg-cmp-choice-panel [role=option]{display:flex;align-items:center;gap:12px;text-align:left;border:0;background:transparent;color:var(--cmp-ink);width:100%;padding:10px;border-radius:10px;font-size:13px;min-height:64px}
.prg-cmp-choice-panel [role=option]:hover,.prg-cmp-choice-panel [aria-selected=true]{background:color-mix(in srgb,var(--cmp-accent) 9%,var(--cmp-surface))}
.prg-cmp-choice-panel [role=option]:disabled{opacity:.45;cursor:not-allowed}
.prg-comparison input:not([type=checkbox]),.prg-comparison select{width:100%;max-width:100%;border:1px solid var(--cmp-border);border-radius:10px;min-height:44px;padding:10px 12px;background:var(--cmp-surface);color:var(--cmp-ink);font-size:14px}
.prg-cmp-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.prg-cmp-filter-heading p{margin:0}.prg-cmp-theme-search{display:block;max-width:400px;font-size:13px;margin-bottom:16px}
.prg-cmp-themes{display:flex;flex-wrap:wrap;gap:8px}
.prg-cmp-chip{margin:0;cursor:pointer;position:relative}
.prg-cmp-chip input{position:absolute;opacity:0;width:1px;height:1px}
.prg-cmp-chip span{display:flex;align-items:center;min-height:44px;padding:9px 14px;border:1px solid var(--cmp-border);border-radius:30px;font-size:13px;line-height:1.5;color:var(--cmp-ink);transition:background .16s,border-color .16s}
.prg-cmp-chip input:checked+span{background:color-mix(in srgb,var(--cmp-accent) 12%,var(--cmp-surface));border-color:var(--cmp-accent);color:var(--cmp-accent)}
.prg-cmp-chip input:checked+span::before{content:'✓';margin-right:6px}
.prg-comparison :focus-visible,.prg-cmp-chip input:focus-visible+span{outline:2px solid var(--cmp-accent);outline-offset:3px}
.prg-cmp-bottom{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:end}
.prg-cmp-style{display:flex;flex-direction:column;gap:6px;font-size:13px;min-width:170px;margin:0}
.prg-cmp-submit{display:flex;justify-content:space-between;gap:16px;margin:24px 0;align-items:center}
.prg-comparison .prg-cmp-primary{background:var(--cmp-accent);border-color:var(--cmp-accent);color:#fff;padding:12px 22px}
.prg-comparison .prg-btn{min-height:44px;white-space:normal;line-height:1.4;text-align:center}
.prg-cmp-results-tools{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:24px}
.prg-cmp-results-tools form{display:flex;align-items:end;gap:8px}.prg-cmp-results-tools .prg-actions{margin:0}
.prg-cmp-summary{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:16px 20px;border-radius:16px;background:color-mix(in srgb,var(--cmp-accent) 6%,var(--cmp-surface));margin-bottom:12px;font-size:13px}
.prg-cmp-tag{border-left:1px solid var(--cmp-border);padding-left:12px;color:var(--cmp-accent)}
.prg-comparison .prg-comparison-grid{display:grid;grid-template-columns:repeat(var(--prg-columns),minmax(0,1fr));gap:20px;align-items:start;margin-top:24px}
.prg-reader.prg-comparison .prg-comparison-grid>.prg-comparison-column{min-width:0;margin:0;background:var(--cmp-surface);padding:18px;border:1px solid var(--cmp-border);border-radius:24px}
.prg-cmp-candidate{display:flex;align-items:center;gap:12px;padding:0 0 16px;border-bottom:1px solid var(--cmp-border)}
.prg-cmp-candidate h2{font-size:18px;line-height:1.35;margin:2px 0;text-wrap:balance;overflow-wrap:anywhere}
.prg-cmp-candidate .prg-kicker{font-size:11px;margin:0}
.prg-cmp-programme{padding:20px 0;border-bottom:1px solid var(--cmp-border);margin-bottom:20px}
.prg-cmp-programme h3{font-size:16px;line-height:1.5;min-height:48px;margin:6px 0 10px;text-wrap:balance}
.prg-cmp-programme p{font-size:13px;color:var(--cmp-muted)}
.prg-comparison .prg-compare-topic{margin:0 0 24px;--prop-pad:18px;--prop-title:20px;--prop-copy:13px;--prop-photo:180px}
.prg-compare-topic>h3,.prg-cmp-documents>h3{font-size:14px;font-weight:650;line-height:1.5;margin:18px 0 12px;color:var(--cmp-accent)}
.prg-compare-topic>div{margin-top:14px;scroll-margin-top:100px}
.prg-comparison .prg-prop-card{box-shadow:none;border-radius:18px;overflow:hidden;min-width:0}
.prg-comparison .prg-prop-card h4{font-size:20px;line-height:1.4;margin:10px 0;color:var(--cmp-ink)}
.prg-comparison .prg-prop-link{color:var(--cmp-ink)}
.prg-comparison [data-proposal-variant=editorial-manifeste] .prg-prop-number{font-size:28px;padding:18px 18px 0}
.prg-comparison .prg-prop-excerpt{font-size:13px;line-height:1.75}
.prg-comparison .prg-prop-facts{grid-template-columns:1fr}
.prg-cmp-crosslink{font-size:13px;line-height:1.7;padding:12px;border-left:2px solid var(--cmp-border)}
.prg-cmp-documents{border-top:1px solid var(--cmp-border);padding-top:8px}
.prg-cmp-document{display:flex;align-items:center;gap:10px;padding:14px 10px;border:1px solid var(--cmp-border);border-radius:12px;margin-bottom:8px;color:var(--cmp-accent);font-size:13px;min-height:64px}
.prg-cmp-document>span:first-child{background:color-mix(in srgb,var(--cmp-accent) 8%,var(--cmp-surface));padding:8px 4px;border-radius:6px;font-size:11px}.prg-cmp-document strong{flex:1;overflow-wrap:anywhere}
.prg-cmp-pagination{justify-content:center;margin-top:28px}.prg-cmp-pagination [aria-current=page]{background:var(--cmp-accent);color:#fff}
.prg-cmp-permalink{text-align:center;font-size:13px;margin-top:24px}.prg-cmp-error{color:#c33226}
body.night-mode .prg-comparison{--cmp-accent:var(--fl-election-light,#6dcfff)}
@media(max-width:1000px){.prg-cmp-pickers{grid-template-columns:1fr}.prg-cmp-choice-panel{z-index:40}.prg-comparison .prg-comparison-grid{gap:12px}.prg-comparison .prg-comparison-column{padding:12px}.prg-cmp-candidate{flex-wrap:wrap}}
@media(max-width:700px){.prg-comparison .prg-comparison-grid{grid-template-columns:1fr}.prg-cmp-candidate{flex-wrap:nowrap}.prg-comparison .prg-cmp-heading{padding-top:12px;margin-bottom:20px}.prg-comparison .prg-cmp-step{padding:16px;border-radius:18px}.prg-cmp-bottom{grid-template-columns:1fr;gap:12px}.prg-cmp-submit{align-items:stretch;flex-direction:column-reverse}.prg-cmp-filter-heading{align-items:start;flex-direction:column;gap:8px}.prg-cmp-results-tools form{width:100%}.prg-cmp-style{flex:1}.prg-cmp-results-tools .prg-actions{gap:8px}.prg-cmp-programme h3{min-height:0}}
@media(prefers-reduced-motion:reduce){.prg-comparison *{transition:none!important;animation:none!important}}

.prg-cmp-mobile-jumps{display:none}
@media(max-width:700px){
 .prg-cmp-mobile-jumps{display:flex;position:sticky;top:54px;z-index:10;gap:6px;padding:8px 0;background:var(--fl-election-surface,#fff);border-block:1px solid var(--cmp-border);border-radius:12px}
 .prg-cmp-mobile-jumps a{display:flex;flex:1;min-width:0;align-items:center;justify-content:center;flex-direction:column;gap:4px;padding:8px 4px;font-size:11px;line-height:1.35;text-align:center;color:var(--cmp-accent);text-decoration:none}
 .prg-cmp-mobile-jumps .prg-cmp-avatar{width:28px;height:28px;font-size:14px}
 .prg-comparison-column{scroll-margin-top:156px}
}
