.chance-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px;align-items:start}.chance-results{grid-column:1;grid-row:1}.chance-form{grid-column:2;grid-row:1}.chance-chart-wrap{display:grid;place-items:center;padding:12px 0 18px}.chance-chart{width:min(100%,430px);aspect-ratio:1;border-radius:50%;background:#3a332c;position:relative;box-shadow:0 0 0 1px #50463a}.chance-chart:after{content:'';position:absolute;inset:34%;border-radius:50%;background:#211d19;box-shadow:0 0 0 1px #50463a}.chance-center{position:absolute;inset:37%;z-index:2;display:grid;place-items:center;align-content:center;text-align:center;line-height:1.1;font-size:.7rem;font-weight:900}.chance-center strong{display:block;margin-top:5px;font-size:1.55rem;color:#f0d48e}.chance-ranking{display:grid;gap:5px;margin-top:14px;max-height:600px;overflow:auto;padding-right:4px}.chance-rank-row{display:grid;grid-template-columns:28px 10px minmax(0,1fr) auto;gap:8px;align-items:center;padding:7px 8px;border-bottom:1px solid #40382f;font-size:.82rem}.chance-rank-row.you{background:#34291b;border:1px solid #d9b35c;border-radius:8px}.chance-rank-row small{display:block;color:#a99d88;font-size:.7rem}.chance-rank{font-weight:900;color:#f0d48e}.chance-form .serious-box{margin-top:18px;background:#2b251f;border-color:#574c3e;color:#fff5dc}.chance-form .serious-box p{color:#c9bea5}.chance-form .serious-box .btn{color:#fff5dc;border-color:#bda777}.chance-results .warning a{color:#f0d48e}.chance-results .dot{display:block}.chance-results .buttons{margin-top:0}
.aggregate-demo{margin-bottom:18px;border-color:#821d1d;background:#fff0e8}.aggregate-source-note{margin:0 0 18px}.aggregate-controls{display:grid;grid-template-columns:minmax(240px,1fr) minmax(140px,.35fr) auto;gap:12px;align-items:end;margin:18px 0 22px}.aggregate-controls label{display:grid;gap:5px;font-weight:850;font-size:.8rem}.aggregate-controls select{min-height:44px;border:1px solid #bda777;border-radius:7px;padding:9px;background:#fffdf7;font:inherit}.aggregate-kpis{display:grid;grid-template-columns:1.45fr .62fr .72fr .9fr 1fr;gap:10px;margin:0 0 18px}.aggregate-kpi{background:#fff;border:1px solid #d2c4ae;padding:14px;border-radius:10px;min-width:0}.aggregate-kpi span{display:block;font-size:.68rem;font-weight:900;letter-spacing:.08em;color:#821d1d}.aggregate-kpi strong{display:block;margin-top:4px;word-break:normal;overflow-wrap:normal}.aggregate-thermo{margin:18px 0}.aggregate-rule{max-width:1000px}.aggregate-table{margin-top:22px}.aggregate-table table{min-width:980px}.aggregate-median{font-size:1.1rem;color:#821d1d}.aggregate-bar{width:130px;height:9px;border-radius:999px;background:#eee4d4;overflow:hidden}.aggregate-bar i{display:block;height:100%;background:linear-gradient(90deg,#821d1d,#d9b35c);min-width:2px}.trend-up{color:#356c3c;font-weight:900}.trend-down{color:#8c2b24;font-weight:900}.aggregate-detail-head{margin-top:46px}.aggregate-detail-head h2{font-size:clamp(1.8rem,4vw,3rem)}
.poll-viz-layout{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:16px;align-items:start;margin:24px 0}.poll-institute-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.poll-viz-card{background:#fff;border:1px solid #d2c4ae;border-radius:12px;padding:16px;min-width:0}.poll-viz-card h3{margin:4px 0 8px;font-size:1rem}.poll-viz-aggregate{position:sticky;top:calc(var(--site-header-offset,86px) + 8px)}.poll-donut-wrap{display:grid;place-items:center;padding:12px 0}.poll-donut-wrap.small{padding:8px 0}.poll-donut{width:min(100%,310px);aspect-ratio:1;border-radius:50%;position:relative;box-shadow:0 0 0 1px #d2c4ae}.poll-donut:after{content:'';position:absolute;inset:31%;border-radius:50%;background:#fffdf7;box-shadow:0 0 0 1px #d2c4ae}.poll-donut-center{position:absolute;inset:34%;z-index:2;display:grid;place-items:center;align-content:center;text-align:center;line-height:1.1;font-size:.7rem;font-weight:850}.poll-donut-center strong{font-size:1.15rem}.poll-donut-center .metric{font-size:1.75rem;color:#821d1d}.poll-donut-wrap.small .poll-donut{width:min(100%,220px)}.poll-donut-wrap.small .poll-donut-center{font-size:.62rem}.poll-legend{display:grid;gap:5px;margin-top:8px}.poll-legend>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:7px;align-items:center;padding:4px 0;border-bottom:1px solid #eee4d4;font-size:.78rem}.poll-legend i{display:block;width:9px;height:9px;border-radius:50%}.poll-legend.compact>div{font-size:.72rem}.poll-legend span{word-break:normal;overflow-wrap:normal}.poll-legend strong{white-space:nowrap}.poll-viz-card>a,.poll-viz-card p a{font-weight:800}
#candidatures .count-panel,#candidatures .count-panel p,#candidatures .count-panel .fine,#candidatures .count-panel strong,#candidatures .count-panel span{color:#fffaf0!important}
#candidatures .candidate-card{position:relative;overflow:hidden}.candidate-card-media{height:132px;display:grid;place-items:end center;margin-bottom:12px;overflow:hidden;background:linear-gradient(180deg,#f4efe6,#fff)}.candidate-card-media img{display:block;width:100%;height:126px;object-fit:contain;object-position:center bottom}.candidate-card-fallback{width:70px;height:70px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;align-self:center;font:900 1.55rem/1 Georgia,serif;background:#fff}.candidate-card-body{display:block}.candidate-card.is-polled{border:3px solid var(--red)!important;box-shadow:inset 0 5px 0 var(--red)!important}.candidate-polled-badge{display:inline-block;margin:7px 0 2px;padding:5px 7px;background:var(--red);color:#fff!important;font:900 .68rem/1.15 Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.055em;text-decoration:none}.candidate-polled-badge:hover,.candidate-polled-badge:focus-visible{text-decoration:underline;text-underline-offset:2px}.candidate-polled-badge:focus-visible{outline:2px solid #111;outline-offset:2px}body.accessible .candidate-card.is-polled{border-color:#005a70!important;box-shadow:inset 0 5px 0 #005a70!important}body.accessible .candidate-polled-badge{background:#005a70!important;color:#fff!important}
@media(max-width:1100px){.aggregate-kpis{grid-template-columns:repeat(3,1fr)}.poll-viz-layout{grid-template-columns:1fr}.poll-viz-aggregate{position:static}.poll-institute-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.poll-viz-aggregate .poll-donut{max-width:280px}}
@media(max-width:920px){.chance-layout{grid-template-columns:1fr}.chance-form,.chance-results{grid-column:auto;grid-row:auto}.chance-form{order:1}.chance-results{order:2}.chance-chart{max-width:390px}.aggregate-controls{grid-template-columns:1fr 1fr}.aggregate-controls .btn{grid-column:1/-1}.aggregate-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.poll-institute-grid{grid-template-columns:1fr}.poll-donut{max-width:260px}.poll-donut-wrap.small .poll-donut{max-width:210px}.candidate-card-media{height:112px}.candidate-card-media img{height:108px}}
@media(max-width:620px){.chance-chart{max-width:330px}.chance-ranking{max-height:none}.chance-rank-row{grid-template-columns:25px 10px minmax(0,1fr) auto;padding:7px 4px;font-size:.76rem}.aggregate-controls,.aggregate-kpis{grid-template-columns:1fr}.aggregate-controls .btn{grid-column:auto}.aggregate-kpi{padding:12px}.aggregate-bar{width:90px}.poll-viz-card{padding:13px}.poll-legend>div{font-size:.72rem}.poll-donut{max-width:230px}}
/* Bidirectional poll selection: selected legend row and selected chart slice stay linked. */
.bb-poll-main-donut{cursor:pointer;transition:box-shadow .18s ease,filter .18s ease}
.bb-poll-main-donut.is-selected{box-shadow:0 0 0 3px #fffdf7,0 0 0 6px #821d1d33}
.bb-poll-legend-row{width:100%;display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid transparent;border-bottom-color:#eee4d4;background:transparent;color:inherit;padding:7px 8px;text-align:left;font:inherit;cursor:pointer;border-radius:8px;transition:background .16s ease,border-color .16s ease,transform .16s ease}
.bb-poll-legend-row i{display:block;width:10px;height:10px;border-radius:50%;transition:transform .16s ease,box-shadow .16s ease}
.bb-poll-legend-row strong{white-space:nowrap}
.bb-poll-legend-row:hover{background:#fff8e9}
.bb-poll-legend-row[aria-pressed="true"],.bb-poll-legend-row.is-selected{background:#fff3d8;border-color:#d9b35c;transform:translateX(3px)}
.bb-poll-legend-row[aria-pressed="true"] i,.bb-poll-legend-row.is-selected i{transform:scale(1.35);box-shadow:0 0 0 3px #fff}
.bb-poll-legend-row:focus-visible{outline:3px solid #d9b35c;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.bb-poll-main-donut,.bb-poll-legend-row,.bb-poll-legend-row i{transition:none}.bb-poll-legend-row[aria-pressed="true"],.bb-poll-legend-row.is-selected{transform:none}}
/* Quick jump from the long candidate watchlist to the poll panorama. */
#sondages{scroll-margin-top:calc(var(--site-header-offset,86px) + 16px)}
.candidate-polls-jump{display:flex;justify-content:flex-end;margin:10px 0 14px;position:relative;z-index:8}
.candidate-polls-jump .btn{box-shadow:0 3px 0 #111}
@media(max-width:680px){
  .candidate-polls-jump{position:sticky;bottom:max(10px,env(safe-area-inset-bottom));justify-content:center;margin:8px 0 12px;pointer-events:none}
  .candidate-polls-jump .btn{pointer-events:auto;width:min(100%,330px);text-align:center;box-shadow:0 5px 18px #0005,0 3px 0 #111}
}
