/* Albanuova — Élections et travaux législatifs
 * Identité publique inspirée des pages institutionnelles de l'administration matriarcale.
 */
.alb-elections-app {
  --elect-ink:#0d0b08;
  --elect-text:#2a2722;
  --elect-muted:#716b61;
  --elect-line:#ded8cc;
  --elect-soft:#f5f1e8;
  --elect-ivory:#faf7ef;
  --elect-paper:#fff;
  --elect-gold:#b28a18;
  --elect-gold-dark:#86670e;
  --elect-success:#45654b;
  --elect-warning:#9b6d22;
  --elect-danger:#8f3d38;
  position:relative;
  /* 0.1.4 — le gabarit gouvernemental fournit déjà un conteneur alignwide de 1280 px.
   * Élections doit le remplir, et non créer un second canevas de 1180 px. */
  width:100% !important;
  max-width:none !important;
  margin:0 0 3rem !important;
  transform:none !important;
  color:var(--elect-text);
  background:var(--elect-ivory);
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.62;
  border-bottom:5px solid var(--elect-gold);
}
.alb-elections-app,.alb-elections-app *, .alb-elections-app *::before,.alb-elections-app *::after,
.alb-elections-forum-scrutin,.alb-elections-forum-scrutin *, .alb-elections-forum-scrutin *::before,.alb-elections-forum-scrutin *::after{box-sizing:border-box;border-radius:0!important}
body.has-albanuova-elections .wp-block-post-content,body.has-albanuova-elections .wp-block-shortcode{overflow:visible!important}
/* Le shortcode vit dans le conteneur alignwide du gabarit gouvernemental.
 * Ne pas recolorer ni redimensionner les wrappers du thème : l’application
 * remplit désormais directement leur largeur. */
body.has-albanuova-elections .wp-block-post-content,
body.has-albanuova-elections .entry-content,
body.has-albanuova-elections .wp-block-shortcode{overflow:visible!important}

.alb-elections-app a,.alb-elections-forum-scrutin a{color:var(--elect-ink,#0d0b08);text-underline-offset:4px;text-decoration-thickness:1px}
.alb-elections-app h1,.alb-elections-app h2,.alb-elections-app h3,.alb-elections-app p{margin-top:0}
.alb-elections-app h1,.alb-elections-app h2,.alb-elections-app h3{color:var(--elect-ink);font-family:Georgia,"Times New Roman",serif;font-weight:700;letter-spacing:-.025em}

/* En-tête : ivoire, noir et or, dans le langage visuel gouvernemental. */
.alb-elections-header{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(235px,310px);gap:clamp(28px,5vw,72px);align-items:end;padding:clamp(48px,7vw,88px) clamp(28px,6vw,76px) clamp(44px,6vw,70px);background:var(--elect-ivory);border-top:12px solid var(--elect-gold);border-bottom:1px solid #e2dbcc}
.alb-elections-header::after{content:"";position:absolute;left:clamp(28px,6vw,76px);bottom:0;width:86px;height:3px;background:var(--elect-gold)}
.alb-elections-header__brand{min-width:0;max-width:780px}
.alb-elections-header h1{margin:0;font-size:clamp(3.2rem,7vw,6rem);line-height:.88;letter-spacing:-.055em}
.alb-elections-header h1 span{font-size:.74em;font-weight:600}
.alb-elections-header__description{max-width:760px;margin:1.6rem 0 0!important;color:#4c473f;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1rem,1.4vw,1.14rem);line-height:1.75}
.alb-elections-eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 .8rem!important;color:var(--elect-ink)!important;font-size:.64rem!important;line-height:1.3!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.alb-elections-eyebrow::before{content:"";width:24px;height:2px;flex:0 0 24px;background:var(--elect-gold)}
.alb-elections-header__code{color:#5c554a!important;margin-bottom:1.35rem!important}
.alb-elections-header__signal{padding:22px 22px 20px;color:#fff;background:#0b0907;border-top:4px solid var(--elect-gold)}
.alb-elections-header__signal span,.alb-elections-header__signal strong{display:block;color:#fff}
.alb-elections-header__signal span{margin-bottom:10px;color:#d9c990;font-size:.62rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.alb-elections-header__signal strong{font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;line-height:1.45}

.alb-elections-nav{display:flex;overflow-x:auto;white-space:nowrap;padding:0 clamp(16px,4vw,48px);background:#0b0907;border-bottom:4px solid var(--elect-gold);scrollbar-width:thin}
.alb-elections-nav a{position:relative;display:inline-flex;align-items:center;min-height:54px;padding:0 18px;color:rgba(255,255,255,.78);font-size:.7rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase;text-decoration:none}
.alb-elections-nav a::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:3px;background:transparent}
.alb-elections-nav a:hover,.alb-elections-nav a:focus-visible,.alb-elections-nav a.is-active{color:#fff;background:#17130d}
.alb-elections-nav a.is-active::after{background:var(--elect-gold)}

.alb-elections-main{display:grid;gap:42px;padding:clamp(28px,5vw,64px) clamp(24px,6vw,72px) clamp(46px,7vw,84px)}
.alb-elections-section-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:40px;align-items:end;padding:0 0 26px;border-bottom:1px solid var(--elect-line)}
.alb-elections-section-head h2{margin:0;font-size:clamp(2.4rem,5vw,4rem);line-height:1}
.alb-elections-section-head>p{margin:0;color:var(--elect-muted);font-family:Georgia,"Times New Roman",serif;font-size:1rem;line-height:1.7}
.alb-elections-panel,.alb-elections-card,.alb-elections-detail-hero{background:var(--elect-paper);border:1px solid var(--elect-line)}
.alb-elections-panel{padding:clamp(22px,3.2vw,38px)}
.alb-elections-panel__head{display:flex;align-items:end;justify-content:space-between;gap:22px;padding-bottom:18px;margin-bottom:25px;border-bottom:1px solid var(--elect-line)}
.alb-elections-panel__head h3{margin:0;font-size:clamp(1.55rem,2.8vw,2.3rem)}
.alb-elections-panel__head a{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.alb-elections-panel__hint{max-width:480px;color:var(--elect-muted);font-size:.82rem;text-align:right}
.alb-elections-muted{color:var(--elect-muted)}
.alb-elections-empty{padding:30px;background:var(--elect-ivory);border:1px solid var(--elect-line);color:var(--elect-muted);font-family:Georgia,"Times New Roman",serif}

.alb-elections-detail-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:clamp(30px,5vw,56px);background:var(--elect-ivory);border-top:5px solid var(--elect-gold)}
.alb-elections-detail-hero h2{margin:0;max-width:900px;font-size:clamp(2.3rem,5vw,4.4rem);line-height:.98}
.alb-elections-detail-hero p:last-child{margin:.95rem 0 0;color:var(--elect-muted);font-family:Georgia,"Times New Roman",serif}
.alb-elections-status{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border:1px solid #9a917f;color:var(--elect-ink);background:#fff;font-size:.62rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}

.alb-elections-stats,.alb-elections-budget-snapshot{display:grid;gap:0;border-top:1px solid var(--elect-line);border-left:1px solid var(--elect-line)}
.alb-elections-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.alb-elections-stats>div,.alb-elections-budget-snapshot>div{padding:18px;background:#fff;border-right:1px solid var(--elect-line);border-bottom:1px solid var(--elect-line)}
.alb-elections-stats span,.alb-elections-budget-snapshot span{display:block;color:var(--elect-muted);font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.alb-elections-stats strong,.alb-elections-budget-snapshot strong{display:block;margin-top:7px;color:var(--elect-ink);font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;line-height:1.15}
.alb-elections-budget-snapshot{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0}

/* Composition du Conszeì Grant : identité propre de chaque parti. */
.alb-elections-seat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.alb-elections-party-card{--party-color:var(--elect-gold);display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:13px;align-items:center;min-height:92px;padding:16px;background:#fff;border:1px solid var(--elect-line);border-top:5px solid var(--party-color)}
.alb-elections-party-card__logo{display:flex;align-items:center;justify-content:center;width:54px;height:54px;background:#fff;border:1px solid #e3ded4;overflow:hidden}
.alb-elections-party-card__logo img{display:block;max-width:44px;max-height:44px;width:auto;height:auto;object-fit:contain}
.alb-elections-party-card__logo span{color:var(--party-color);font-family:Georgia,"Times New Roman",serif;font-size:.8rem;font-weight:700}
.alb-elections-party-card__identity span,.alb-elections-party-card__identity small,.alb-elections-party-card__seats strong,.alb-elections-party-card__seats small{display:block}
.alb-elections-party-card__identity span{color:var(--elect-ink);font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.alb-elections-party-card__identity small{margin-top:3px;color:var(--elect-muted);font-family:Georgia,"Times New Roman",serif;font-size:.78rem;line-height:1.25}
.alb-elections-party-card__seats{text-align:right}
.alb-elections-party-card__seats strong{color:var(--elect-ink);font-family:Georgia,"Times New Roman",serif;font-size:2.1rem;line-height:.9}
.alb-elections-party-card__seats small{margin-top:5px;color:var(--elect-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.05em}

.alb-elections-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.alb-elections-card{padding:22px;border-top:4px solid var(--elect-gold)}
.alb-elections-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;color:var(--elect-muted);font-size:.74rem}
.alb-elections-card h3{margin:20px 0;font-size:1.55rem;line-height:1.12}
.alb-elections-card h3 a{color:inherit;text-decoration:none}
.alb-elections-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--elect-line);border-left:1px solid var(--elect-line)}
.alb-elections-mini-stats span{display:block;min-width:0;padding:11px;background:#fff;border-right:1px solid var(--elect-line);border-bottom:1px solid var(--elect-line);color:var(--elect-muted);font-size:.66rem}
.alb-elections-mini-stats strong{display:block;overflow-wrap:anywhere;color:var(--elect-ink);font-family:Georgia,"Times New Roman",serif;font-size:.9rem}

.alb-elections-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:20px}
.alb-elections-choice{--party-color:var(--elect-gold);display:block;position:relative;cursor:pointer}
.alb-elections-choice input{position:absolute;opacity:0;pointer-events:none}
.alb-elections-choice span{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;min-height:90px;padding:15px;background:#fff;border:1px solid var(--elect-line);border-top:4px solid var(--party-color)}
.alb-elections-choice__logo{grid-row:1 / span 2;width:42px;height:42px;object-fit:contain}
.alb-elections-choice strong,.alb-elections-choice small{display:block}
.alb-elections-choice strong{align-self:end;color:var(--elect-ink);font-family:Georgia,"Times New Roman",serif;font-size:1.1rem}
.alb-elections-choice small{align-self:start;margin-top:2px;color:var(--elect-muted)}
.alb-elections-choice input:checked+span{padding:13px;border:3px solid var(--party-color);background:#fbfaf6}
.alb-elections-choice input:focus-visible+span{outline:3px solid rgba(178,138,24,.24);outline-offset:2px}
.alb-elections-button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:10px 16px;border:1px solid #0b0907;background:#0b0907;color:#fff!important;font:inherit;font-size:.76rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;text-decoration:none!important;cursor:pointer}
.alb-elections-button:hover,.alb-elections-button:focus-visible{border-color:var(--elect-gold);background:var(--elect-gold);color:#0b0907!important}
.alb-elections-button:disabled{opacity:.55;cursor:wait}

.alb-elections-list{border-top:1px solid var(--elect-line)}
.alb-elections-list__row{display:grid;grid-template-columns:120px minmax(0,1fr) 150px;gap:18px;align-items:center;padding:17px 8px;border-bottom:1px solid var(--elect-line);background:#fff;color:var(--elect-ink)!important;text-decoration:none}
.alb-elections-list__row:hover{background:var(--elect-ivory)}
.alb-elections-list__main strong,.alb-elections-list__main small,.alb-elections-list__metric,.alb-elections-list__metric small{display:block}
.alb-elections-list__main strong{font-family:Georgia,"Times New Roman",serif;font-size:1.05rem}
.alb-elections-list__main small,.alb-elections-list__metric small{color:var(--elect-muted);font-size:.7rem}
.alb-elections-list__metric{text-align:right;font-weight:800}

.alb-elections-table-wrap{overflow-x:auto}
.alb-elections-table{width:100%;min-width:760px;border-collapse:collapse}
.alb-elections-table th,.alb-elections-table td{padding:11px;border-bottom:1px solid var(--elect-line);text-align:left;vertical-align:top}
.alb-elections-table thead th{background:#0b0907;color:#fff;font-size:.66rem;text-transform:uppercase;letter-spacing:.06em}
.alb-elections-table tbody th{background:var(--elect-ivory)}
.alb-elections-table td small{display:block;margin-top:3px;color:var(--elect-muted);font-size:.7rem}
.alb-elections-vote-history{display:grid;border-top:1px solid var(--elect-line)}
.alb-elections-vote-history>div{display:flex;justify-content:space-between;gap:18px;padding:12px 4px;border-bottom:1px solid var(--elect-line);background:#fff}
.alb-elections-vote-history span{color:var(--elect-muted)}
.alb-elections-details summary{cursor:pointer;font-family:Georgia,"Times New Roman",serif;font-weight:700}
.alb-elections-details[open] summary{margin-bottom:18px}

.alb-elections-notice{padding:15px 17px;border:1px solid var(--elect-line);border-left:5px solid var(--elect-gold);background:var(--elect-ivory)}
.alb-elections-notice.is-success{border-left-color:var(--elect-success)}
.alb-elections-notice.is-warning{border-left-color:var(--elect-warning)}
.alb-elections-notice.is-error{border-left-color:var(--elect-danger)}
.alb-elections-result-banner{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:14px 0 20px;padding:17px;border:1px solid var(--elect-line);border-left:6px solid var(--elect-success);background:#f7f9f5}
.alb-elections-result-banner.is-rejected{border-left-color:var(--elect-danger);background:#fbf5f4}
.alb-elections-result-banner strong{font-family:Georgia,"Times New Roman",serif;font-size:1.35rem;text-transform:uppercase;letter-spacing:.03em}
.alb-elections-scrutin-progress{display:flex;justify-content:space-between;gap:16px;margin:16px 0;padding:13px 0;border-top:1px solid var(--elect-line);border-bottom:1px solid var(--elect-line)}
.alb-elections-scrutin-progress span{color:var(--elect-muted)}
.alb-elections-inline-choices{display:flex;flex-wrap:wrap;gap:8px;margin:13px 0}
.alb-elections-inline-choices label{padding:9px 13px;border:1px solid var(--elect-line);background:#fff;cursor:pointer}
.alb-elections-inline-choices label:has(input:checked){border-color:var(--elect-gold);box-shadow:inset 0 -3px 0 var(--elect-gold)}
.alb-elections-prose{max-width:850px;font-family:Georgia,"Times New Roman",serif}
.alb-elections-prose h3{margin-top:2rem;font-size:1.65rem}


/* 0.1.8 — visualisations institutionnelles */
.alb-elections-hemicycle{margin:0 auto 28px;padding:6px 0 2px;text-align:center}
.alb-elections-hemicycle svg{display:block;width:min(100%,680px);height:auto;margin:0 auto;overflow:visible}
.alb-elections-hemicycle.is-compact{margin-bottom:22px}
.alb-elections-hemicycle.is-compact svg{width:min(100%,520px)}
.alb-elections-hemicycle__seat{stroke:#fff;stroke-width:2.4;vector-effect:non-scaling-stroke;transition:transform .16s ease,filter .16s ease;transform-box:fill-box;transform-origin:center}
.alb-elections-hemicycle__seat:hover{transform:scale(1.18);filter:brightness(.96)}
.alb-elections-chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:-8px;color:var(--elect-muted);font-size:.72rem}
.alb-elections-chart-legend>span{--party-color:var(--elect-gold);display:inline-grid;grid-template-columns:10px auto auto;gap:6px;align-items:center}
.alb-elections-chart-legend i{display:block;width:9px;height:9px;background:var(--party-color);border-radius:50%!important}
.alb-elections-chart-legend strong{color:var(--elect-ink);font-size:.72rem;letter-spacing:.05em}
.alb-elections-chart-legend small{font-size:.7rem}
.alb-elections-seat-grid--result{margin-top:14px}

.alb-elections-electoral-map-panel.is-compact{margin-top:30px;padding-top:30px;border-top:1px solid var(--elect-line)}
.alb-elections-electoral-map-panel.is-compact .alb-elections-panel__head{margin-bottom:18px}
.alb-elections-map-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:24px;align-items:stretch}
.alb-elections-map-column{min-width:0}
.alb-elections-map{position:relative;min-height:460px;background:var(--elect-ivory);border:1px solid var(--elect-line);overflow:hidden}
.alb-elections-electoral-map-panel.is-compact .alb-elections-map{min-height:380px}
.alb-elections-map svg{display:block;width:100%;height:auto;min-height:460px}
.alb-elections-electoral-map-panel.is-compact .alb-elections-map svg{min-height:380px}
.alb-elections-map__loading{position:absolute;left:20px;top:18px;z-index:2;margin:0!important;color:var(--elect-muted);font-size:.78rem}
.alb-elections-map__commune-boundary{fill:none;stroke:rgba(13,11,8,.22);stroke-width:.7;pointer-events:none}
.alb-elections-map__paisz-shape{cursor:pointer;stroke:#fff;stroke-width:3;opacity:.92;transition:opacity .16s ease,stroke .16s ease,filter .16s ease}
.alb-elections-map__paisz-shape:hover,.alb-elections-map__paisz-shape:focus-visible{opacity:1;stroke:#0d0b08;stroke-width:4;filter:brightness(.98);outline:none}
.alb-elections-map__paisz-shape.is-selected{opacity:1;stroke:#0d0b08;stroke-width:5}
.alb-elections-map__paisz-label{fill:#0d0b08;font-family:Georgia,"Times New Roman",serif;font-size:17px;font-weight:700;paint-order:stroke;stroke:rgba(255,255,255,.86);stroke-width:5;stroke-linejoin:round;pointer-events:none}
.alb-elections-map-tooltip{position:absolute;z-index:5;min-width:170px;max-width:230px;padding:10px 12px;color:#fff;background:#0b0907;border-top:3px solid var(--elect-gold);box-shadow:0 8px 24px rgba(0,0,0,.18);pointer-events:none}
.alb-elections-map-tooltip strong,.alb-elections-map-tooltip span,.alb-elections-map-tooltip small{display:block}
.alb-elections-map-tooltip strong{font-family:Georgia,"Times New Roman",serif;font-size:.95rem}
.alb-elections-map-tooltip span{margin-top:2px;color:#f0e7cb;font-size:.72rem}
.alb-elections-map-tooltip small{margin-top:5px;color:rgba(255,255,255,.72);font-size:.66rem}
.alb-elections-map-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px}
.alb-elections-map-legend>span{--party-color:var(--elect-gold);display:grid;grid-template-columns:24px auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;min-width:130px}
.alb-elections-map-legend img,.alb-elections-map-legend i{grid-row:1 / span 2;display:flex;width:24px;height:24px;object-fit:contain;background:#fff;border:1px solid var(--elect-line)}
.alb-elections-map-legend i{background:var(--party-color);border-color:var(--party-color)}
.alb-elections-map-legend strong{align-self:end;color:var(--elect-ink);font-size:.68rem;letter-spacing:.05em}
.alb-elections-map-legend small{align-self:start;color:var(--elect-muted);font-size:.65rem;line-height:1.15}
.alb-elections-map-detail{padding:24px;background:#0b0907;color:#fff;border-top:5px solid var(--elect-gold)}
.alb-elections-map-detail .alb-elections-eyebrow{color:#d9c990!important}
.alb-elections-map-detail h4{margin:0;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.6rem,2.6vw,2.35rem);line-height:1.05}
.alb-elections-map-detail>p:not(.alb-elections-eyebrow){color:rgba(255,255,255,.74)}
.alb-elections-map-detail__lead{margin:10px 0 18px!important;font-family:Georgia,"Times New Roman",serif;line-height:1.55}
.alb-elections-map-detail__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px;border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}
.alb-elections-map-detail__stats span{padding:10px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.alb-elections-map-detail__stats strong,.alb-elections-map-detail__stats small{display:block}
.alb-elections-map-detail__stats strong{font-family:Georgia,"Times New Roman",serif;font-size:1rem}
.alb-elections-map-detail__stats small{margin-top:2px;color:rgba(255,255,255,.62);font-size:.6rem;text-transform:uppercase;letter-spacing:.04em}
.alb-elections-map-detail__parties{display:grid;border-top:1px solid rgba(255,255,255,.16)}
.alb-elections-map-detail__party{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.16)}
.alb-elections-map-detail__swatch{display:block;width:9px;height:34px;background:var(--party-color)}
.alb-elections-map-detail__party>div:last-child{text-align:right}
.alb-elections-map-detail__party strong,.alb-elections-map-detail__party small{display:block}
.alb-elections-map-detail__party strong{color:#fff;font-size:.76rem}
.alb-elections-map-detail__party small{color:rgba(255,255,255,.58);font-size:.65rem}
.alb-elections-map-detail__secondary{display:flex;flex-wrap:wrap;gap:8px 16px;padding-top:14px;color:rgba(255,255,255,.7);font-size:.69rem}
.alb-elections-map-detail__secondary strong{color:#fff}
.alb-elections-map-detail__real{margin-top:22px;padding-top:18px;border-top:2px solid rgba(178,138,24,.7)}
.alb-elections-map-detail__real>p:not(.alb-elections-eyebrow){margin-bottom:10px;color:rgba(255,255,255,.72);font-size:.72rem}
.alb-elections-map-detail__real>div{display:flex;flex-wrap:wrap;gap:7px 13px}
.alb-elections-map-detail__real>div span{display:inline-flex;align-items:center;gap:5px;color:rgba(255,255,255,.78);font-size:.68rem}
.alb-elections-map-detail__real i{display:block;width:7px;height:7px;background:var(--party-color);border-radius:50%!important}

.alb-elections-scrutin-chart{margin:18px 0 22px;padding:16px 0;border-top:1px solid var(--elect-line);border-bottom:1px solid var(--elect-line)}
.alb-elections-scrutin-chart__bar{display:flex;width:100%;height:42px;overflow:hidden;background:#ebe6db;border:1px solid var(--elect-line)}
.alb-elections-scrutin-chart__bar>span{display:flex;align-items:center;justify-content:center;flex:0 0 var(--seat-share);min-width:0;color:#fff;font-size:.72rem;font-weight:850}
.alb-elections-scrutin-chart__bar>span.is-for{background:var(--elect-success)}
.alb-elections-scrutin-chart__bar>span.is-against{background:var(--elect-danger)}
.alb-elections-scrutin-chart__bar>span.is-abstain{background:var(--elect-gold)}
.alb-elections-scrutin-chart__bar>span.is-not-voted{background:#b7b0a4;color:#27231e}
.alb-elections-scrutin-chart__legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:10px}
.alb-elections-scrutin-chart__legend span{display:grid;grid-template-columns:9px auto auto;gap:5px;align-items:center;color:var(--elect-muted);font-size:.68rem}
.alb-elections-scrutin-chart__legend i{display:block;width:9px;height:9px;background:#b7b0a4}
.alb-elections-scrutin-chart__legend .is-for i{background:var(--elect-success)}
.alb-elections-scrutin-chart__legend .is-against i{background:var(--elect-danger)}
.alb-elections-scrutin-chart__legend .is-abstain i{background:var(--elect-gold)}
.alb-elections-scrutin-chart__legend strong{color:var(--elect-ink)}

/* Bloc wpForo : même identité institutionnelle, format compact. */
.alb-elections-forum-scrutin{--elect-ink:#0d0b08;--elect-muted:#716b61;--elect-line:#ded8cc;--elect-gold:#b28a18;--elect-success:#45654b;--elect-danger:#8f3d38;display:block;width:100%;margin:18px 0 4px;padding:20px;color:#2a2722;background:#fff;border:1px solid var(--elect-line);border-top:5px solid var(--elect-gold);box-shadow:none;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
.alb-elections-scrutin-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.alb-elections-scrutin-card__head>div>strong,.alb-elections-scrutin-card__head>div>a{display:block}
.alb-elections-scrutin-card__head>div>strong{margin-top:5px;color:var(--elect-ink);font-family:Georgia,"Times New Roman",serif;font-size:1.22rem}
.alb-elections-scrutin-card__head>div>a{margin-top:6px;font-size:.76rem;font-weight:750}
.alb-elections-scrutin-card__brand{display:block;color:var(--elect-gold-dark,#86670e);font-size:.62rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.alb-elections-forum-scrutin .alb-elections-scrutin-form{margin-top:13px;padding-top:13px;border-top:1px solid var(--elect-line)}
.alb-elections-forum-scrutin .alb-elections-scrutin-form p{margin:0 0 8px!important}
.alb-elections-forum-scrutin__link{display:inline-block;margin-top:15px;font-size:.76rem;font-weight:800}
.alb-elections-forum-scrutin .alb-elections-vote-history{margin-top:10px}

@media(max-width:900px){
  .alb-elections-header,.alb-elections-section-head{grid-template-columns:1fr}
  .alb-elections-map-layout{grid-template-columns:1fr}
  .alb-elections-map-detail{min-height:0}
  .alb-elections-card-grid{grid-template-columns:1fr 1fr}
  .alb-elections-stats{grid-template-columns:1fr 1fr}
  .alb-elections-list__row{grid-template-columns:100px minmax(0,1fr)}
  .alb-elections-list__metric{grid-column:2;text-align:left}
}
@media(max-width:640px){
  .alb-elections-app{width:100%!important;max-width:none!important}
  .alb-elections-header{padding:38px 22px 34px}
  .alb-elections-header h1{font-size:clamp(3rem,17vw,4.8rem)}
  .alb-elections-nav{padding:0 4px}
  .alb-elections-main{padding:28px 18px 44px;gap:28px}
  .alb-elections-card-grid,.alb-elections-stats,.alb-elections-budget-snapshot{grid-template-columns:1fr}
  .alb-elections-detail-hero,.alb-elections-panel__head,.alb-elections-result-banner,.alb-elections-scrutin-progress,.alb-elections-scrutin-card__head{align-items:flex-start;flex-direction:column}
  .alb-elections-panel__hint{text-align:left}
  .alb-elections-list__row{grid-template-columns:1fr}
  .alb-elections-list__metric{grid-column:auto}
  .alb-elections-vote-history>div{flex-direction:column;gap:2px}
  .alb-elections-inline-choices{display:grid;grid-template-columns:1fr}
  .alb-elections-party-card{grid-template-columns:48px minmax(0,1fr) auto;padding:13px}
  .alb-elections-party-card__logo{width:48px;height:48px}
  .alb-elections-map,.alb-elections-map svg,.alb-elections-electoral-map-panel.is-compact .alb-elections-map,.alb-elections-electoral-map-panel.is-compact .alb-elections-map svg{min-height:300px}
  .alb-elections-map-detail{padding:18px}
  .alb-elections-map-detail__stats{grid-template-columns:1fr}
  .alb-elections-map__paisz-label{font-size:14px}
  .alb-elections-hemicycle__seat{stroke-width:1.8}
}


/* 0.1.9 — frise du calendrier électoral */
.alb-elections-timeline{padding:26px 28px;background:#fff;border:1px solid var(--elect-line);border-top:4px solid var(--elect-gold)}
.alb-elections-timeline__head{margin-bottom:20px}
.alb-elections-timeline__head h3{margin:0;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.55rem,2.8vw,2.25rem);line-height:1.05}
.alb-elections-timeline__track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));position:relative}
.alb-elections-timeline__track:before{content:"";position:absolute;left:4%;right:4%;top:10px;height:1px;background:var(--elect-line)}
.alb-elections-timeline__step{position:relative;z-index:1;min-width:0;padding:0 10px;text-align:center}
.alb-elections-timeline__step i{display:block;width:21px;height:21px;margin:0 auto 10px;background:#fff;border:2px solid #aaa;border-radius:50%!important}
.alb-elections-timeline__step span,.alb-elections-timeline__step strong{display:block}
.alb-elections-timeline__step span{color:var(--elect-ink);font-family:Georgia,"Times New Roman",serif;font-size:.76rem;font-weight:700;line-height:1.25}
.alb-elections-timeline__step strong{margin-top:5px;color:var(--elect-muted);font-size:.62rem;font-weight:600;line-height:1.35}
.alb-elections-timeline__step.is-done i{background:#0b0907;border-color:#0b0907;box-shadow:inset 0 0 0 5px #0b0907}
.alb-elections-timeline__step.is-current i{background:var(--elect-gold);border-color:var(--elect-gold);box-shadow:0 0 0 4px rgba(178,138,24,.15)}
.alb-elections-timeline__step.is-overdue i,.alb-elections-timeline__step.is-error i{background:var(--elect-danger);border-color:var(--elect-danger)}
.alb-elections-timeline.is-compact{margin-top:18px;padding:18px 16px;background:#fbf9f3}
.alb-elections-timeline.is-compact .alb-elections-timeline__step span{font-size:.69rem}
.alb-elections-timeline.is-compact .alb-elections-timeline__step strong{font-size:.58rem}
@media(max-width:900px){.alb-elections-timeline__track{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}.alb-elections-timeline__track:before{display:none}}
@media(max-width:640px){.alb-elections-timeline{padding:20px 16px}.alb-elections-timeline__track{grid-template-columns:1fr}.alb-elections-timeline__step{display:grid;grid-template-columns:24px minmax(0,1fr);gap:2px 10px;text-align:left;padding:7px 0;border-bottom:1px solid var(--elect-line)}.alb-elections-timeline__step i{grid-row:1 / span 2;margin:2px 0 0}.alb-elections-timeline__step strong{margin-top:0}.alb-elections-timeline.is-compact .alb-elections-timeline__track{grid-template-columns:1fr}}

/* 0.1.12 — compositions plus compactes et lecture hémicycle / partis. */
.alb-elections-composition-layout{
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(290px,.88fr);
  gap:clamp(22px,4vw,48px);
  align-items:center;
}
.alb-elections-composition-layout__chart,
.alb-elections-composition-layout__parties{min-width:0}
.alb-elections-composition-layout .alb-elections-hemicycle{margin:0;padding:0}
.alb-elections-composition-layout .alb-elections-hemicycle svg{width:min(100%,650px)}
.alb-elections-composition-layout.is-overview .alb-elections-hemicycle svg{width:min(100%,540px)}
.alb-elections-composition-layout__parties .alb-elections-seat-grid--side{grid-template-columns:1fr;gap:10px}
.alb-elections-seat-grid--side .alb-elections-party-card{
  grid-template-columns:46px minmax(0,1fr) auto;
  min-height:72px;
  padding:11px 13px;
  gap:11px;
  border-top-width:3px;
}
.alb-elections-seat-grid--side .alb-elections-party-card__logo{width:46px;height:46px}
.alb-elections-seat-grid--side .alb-elections-party-card__logo img{max-width:38px;max-height:38px}
.alb-elections-seat-grid--side .alb-elections-party-card__identity span{font-size:.66rem}
.alb-elections-seat-grid--side .alb-elections-party-card__identity small{font-size:.72rem}
.alb-elections-seat-grid--side .alb-elections-party-card__seats strong{font-size:1.75rem}
.alb-elections-seat-grid--side .alb-elections-party-card__seats small{font-size:.58rem}

/* Archives : davantage de législatures visibles sans perdre les logos ni les couleurs. */
.alb-elections-card-grid--legislatures{gap:12px}
.alb-elections-card--legislature{padding:15px 16px 16px;border-top-width:3px}
.alb-elections-card--legislature .alb-elections-card__top{gap:8px;font-size:.61rem;line-height:1.25}
.alb-elections-card--legislature .alb-elections-status{min-height:23px;padding:3px 6px;font-size:.53rem}
.alb-elections-card--legislature h3{margin:12px 0 11px;font-size:1.2rem}
.alb-elections-seat-grid--archive{grid-template-columns:1fr;gap:6px}
.alb-elections-seat-grid--archive .alb-elections-party-card{
  grid-template-columns:34px minmax(0,1fr) auto;
  min-height:51px;
  padding:7px 9px;
  gap:8px;
  border-top-width:3px;
}
.alb-elections-seat-grid--archive .alb-elections-party-card__logo{width:34px;height:34px}
.alb-elections-seat-grid--archive .alb-elections-party-card__logo img{max-width:29px;max-height:29px}
.alb-elections-seat-grid--archive .alb-elections-party-card__logo span{font-size:.66rem}
.alb-elections-seat-grid--archive .alb-elections-party-card__identity span{font-size:.58rem;letter-spacing:.06em}
.alb-elections-seat-grid--archive .alb-elections-party-card__identity small{margin-top:1px;font-size:.6rem;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alb-elections-seat-grid--archive .alb-elections-party-card__seats strong{font-size:1.35rem}
.alb-elections-seat-grid--archive .alb-elections-party-card__seats small{margin-top:2px;font-size:.5rem}

@media(max-width:900px){
  .alb-elections-composition-layout{grid-template-columns:1fr;gap:24px}
  .alb-elections-composition-layout__chart{order:1}
  .alb-elections-composition-layout__parties{order:2}
  .alb-elections-seat-grid--side{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .alb-elections-seat-grid--side .alb-elections-party-card{grid-template-columns:38px minmax(0,1fr) auto}
  .alb-elections-seat-grid--side .alb-elections-party-card__logo{width:38px;height:38px}
  .alb-elections-seat-grid--side .alb-elections-party-card__logo img{max-width:32px;max-height:32px}
}
@media(max-width:640px){
  .alb-elections-seat-grid--side{grid-template-columns:1fr!important}
  .alb-elections-card-grid--legislatures{grid-template-columns:1fr}
  .alb-elections-card--legislature{padding:14px}
  .alb-elections-seat-grid--archive .alb-elections-party-card__identity small{white-space:normal}
}

/* 0.1.13 — fiches de partis et statistiques politiques. */
.alb-elections-party-card__link{display:contents;color:inherit!important;text-decoration:none!important}
.alb-elections-party-card__link:hover .alb-elections-party-card__identity span{text-decoration:underline;text-underline-offset:3px}
.alb-elections-seat-delta{display:inline-flex;align-items:center;justify-content:center;min-width:28px;margin-top:3px;padding:2px 5px;border:1px solid var(--elect-line);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.55rem;font-style:normal;font-weight:850;line-height:1}
.alb-elections-seat-delta.is-up{color:#496e16;border-color:#87a95a;background:#f4f8ee}
.alb-elections-seat-delta.is-down{color:#a52d36;border-color:#d5999e;background:#fff4f4}
.alb-elections-seat-delta.is-flat{color:var(--elect-muted);background:#faf8f2}

.alb-elections-party-directory{display:grid;gap:18px;padding:28px;background:#fff;border:1px solid var(--elect-line);border-top:4px solid var(--elect-gold)}
.alb-elections-party-directory.is-historical{background:#faf8f2}
.alb-elections-party-directory__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.alb-elections-party-profile-card{--party-color:#b28a18;background:#fff;border:1px solid var(--elect-line);border-top:4px solid var(--party-color)}
.alb-elections-party-profile-card>a{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;min-height:116px;padding:16px;color:inherit!important;text-decoration:none!important}
.alb-elections-party-profile-card>a:hover{background:#fbfaf6}
.alb-elections-party-profile-card__logo{display:flex;align-items:center;justify-content:center;width:72px;height:72px;background:#fff;border:1px solid color-mix(in srgb,var(--party-color) 30%,#ded8cc)}
.alb-elections-party-profile-card__logo img{display:block;max-width:60px;max-height:60px;object-fit:contain}
.alb-elections-party-profile-card__logo span{color:var(--party-color);font-family:Georgia,"Times New Roman",serif;font-size:1.25rem;font-weight:800}
.alb-elections-party-profile-card__body{min-width:0}
.alb-elections-party-profile-card__body .alb-elections-status{margin-bottom:6px}
.alb-elections-party-profile-card__body h3{margin:0;color:var(--elect-ink);font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;line-height:1}
.alb-elections-party-profile-card__body p{margin:5px 0 0;font-size:.78rem;font-weight:700}
.alb-elections-party-profile-card__body small{display:block;margin-top:6px;color:var(--elect-muted);font-size:.68rem;line-height:1.35}
.alb-elections-party-profile-card__metric{text-align:right}
.alb-elections-party-profile-card__metric strong,.alb-elections-party-profile-card__metric span,.alb-elections-party-profile-card__metric small{display:block}
.alb-elections-party-profile-card__metric strong{color:var(--elect-ink);font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:1}
.alb-elections-party-profile-card__metric span{margin-top:3px;color:var(--elect-muted);font-size:.58rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.alb-elections-party-profile-card__metric small{margin-top:8px;color:var(--party-color);font-size:.62rem;font-weight:800}

.alb-elections-party-hero{--party-color:#b28a18;display:grid;grid-template-columns:128px minmax(0,1fr) 180px;gap:28px;align-items:center;padding:34px;background:#fff;border:1px solid var(--elect-line);border-top:6px solid var(--party-color)}
.alb-elections-party-hero__logo{display:flex;align-items:center;justify-content:center;width:128px;height:128px;background:#fff;border:1px solid color-mix(in srgb,var(--party-color) 35%,#d9d2c4)}
.alb-elections-party-hero__logo img{display:block;max-width:106px;max-height:106px;object-fit:contain}
.alb-elections-party-hero__logo span{color:var(--party-color);font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:800}
.alb-elections-party-hero__identity h2{margin:0;color:var(--elect-ink);font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,7vw,5.8rem);line-height:.82;letter-spacing:-.055em}
.alb-elections-party-hero__identity h3{margin:12px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:1.2rem}
.alb-elections-party-hero__orientation{max-width:650px;margin:12px 0 0!important;color:var(--elect-muted);font-size:.86rem;line-height:1.55}
.alb-elections-party-hero__current{padding:18px;border-left:1px solid var(--elect-line);text-align:right}
.alb-elections-party-hero__current span,.alb-elections-party-hero__current strong,.alb-elections-party-hero__current small{display:block}
.alb-elections-party-hero__current span{color:var(--elect-muted);font-size:.62rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.alb-elections-party-hero__current strong{margin-top:7px;color:var(--party-color);font-family:Georgia,"Times New Roman",serif;font-size:3.2rem;line-height:1}
.alb-elections-party-hero__current small{margin-top:4px;color:var(--elect-muted);font-size:.7rem;font-weight:700}

.alb-elections-party-about__layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);gap:32px}
.alb-elections-party-meta{margin:0;padding:0;border-top:1px solid var(--elect-line)}
.alb-elections-party-meta>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--elect-line)}
.alb-elections-party-meta dt{color:var(--elect-muted);font-size:.63rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.alb-elections-party-meta dd{margin:0;font-size:.78rem;font-weight:700}

.alb-elections-party-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#0b0907;border-top:4px solid var(--elect-gold)}
.alb-elections-party-stats-grid>div{padding:20px 22px;color:#fff;border-right:1px solid rgba(255,255,255,.16)}
.alb-elections-party-stats-grid>div:last-child{border-right:0}
.alb-elections-party-stats-grid span,.alb-elections-party-stats-grid strong,.alb-elections-party-stats-grid small{display:block}
.alb-elections-party-stats-grid span{color:rgba(255,255,255,.65);font-size:.6rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.alb-elections-party-stats-grid strong{margin-top:5px;font-family:Georgia,"Times New Roman",serif;font-size:2rem;line-height:1}
.alb-elections-party-stats-grid small{margin-top:5px;color:rgba(255,255,255,.68);font-size:.65rem}

.alb-elections-seat-history-chart{margin:0;padding:12px 0 0}
.alb-elections-seat-history-chart svg{display:block;width:100%;height:auto;overflow:visible}
.alb-elections-seat-history-chart text{fill:var(--elect-muted);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:11px;font-weight:700}
.alb-elections-seat-history-chart__grid{stroke:#ddd7ca;stroke-width:1;stroke-dasharray:3 5}
.alb-elections-seat-history-chart__line{fill:none;stroke:var(--party-color);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.alb-elections-seat-history-chart__point{fill:var(--party-color);stroke:#fff;stroke-width:3}
.alb-elections-party-history-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-top:16px}
.alb-elections-party-history-list>a{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;padding:8px 9px;color:inherit!important;background:#faf8f2;border:1px solid var(--elect-line);text-decoration:none!important}
.alb-elections-party-history-list>a:hover{background:#fff}
.alb-elections-party-history-list span{font-size:.62rem;font-weight:850;text-transform:uppercase}
.alb-elections-party-history-list strong{font-family:Georgia,"Times New Roman",serif;font-size:.78rem;text-align:right}
.alb-elections-party-history-list .alb-elections-seat-delta{margin:0}

.alb-elections-party-vote-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-bottom:18px;background:var(--elect-line);border:1px solid var(--elect-line)}
.alb-elections-party-vote-stats>div{padding:14px 16px;background:#fff}
.alb-elections-party-vote-stats span,.alb-elections-party-vote-stats strong{display:block}
.alb-elections-party-vote-stats span{color:var(--elect-muted);font-size:.6rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.alb-elections-party-vote-stats strong{margin-top:4px;font-family:Georgia,"Times New Roman",serif;font-size:1.8rem;line-height:1}
.alb-elections-party-vote-stats .is-for{border-top:3px solid #3f7652}.alb-elections-party-vote-stats .is-against{border-top:3px solid #b73840}.alb-elections-party-vote-stats .is-abstain{border-top:3px solid #b28a18}
.alb-elections-party-votes{display:grid;border-top:1px solid var(--elect-line)}
.alb-elections-party-votes>a{display:grid;grid-template-columns:90px minmax(0,1fr) 110px;gap:14px;align-items:center;padding:13px 0;color:inherit!important;border-bottom:1px solid var(--elect-line);text-decoration:none!important}
.alb-elections-party-votes>a:hover strong{text-decoration:underline;text-underline-offset:3px}
.alb-elections-party-votes>a>div strong,.alb-elections-party-votes>a>div small{display:block}
.alb-elections-party-votes>a>div strong{font-family:Georgia,"Times New Roman",serif;font-size:.9rem}
.alb-elections-party-votes>a>div small{margin-top:3px;color:var(--elect-muted);font-size:.65rem}
.alb-elections-party-votes>a>em{justify-self:end;font-style:normal;font-size:.68rem;font-weight:850;text-transform:uppercase}
.alb-elections-party-votes>a>em.is-for{color:#3f7652}.alb-elections-party-votes>a>em.is-against{color:#b73840}.alb-elections-party-votes>a>em.is-abstain{color:#9b7715}.alb-elections-party-votes>a>em.is-unrecorded{color:var(--elect-muted)}

@media(max-width:1000px){
  .alb-elections-party-directory__grid{grid-template-columns:1fr 1fr}
  .alb-elections-party-hero{grid-template-columns:100px minmax(0,1fr) 150px;padding:28px}
  .alb-elections-party-hero__logo{width:100px;height:100px}.alb-elections-party-hero__logo img{max-width:84px;max-height:84px}
  .alb-elections-party-history-list{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:760px){
  .alb-elections-party-directory__grid{grid-template-columns:1fr}
  .alb-elections-party-hero{grid-template-columns:82px minmax(0,1fr);gap:18px;padding:22px}
  .alb-elections-party-hero__logo{width:82px;height:82px}.alb-elections-party-hero__logo img{max-width:70px;max-height:70px}
  .alb-elections-party-hero__current{grid-column:1/-1;padding:14px 0 0;border-left:0;border-top:1px solid var(--elect-line);text-align:left}
  .alb-elections-party-about__layout{grid-template-columns:1fr}
  .alb-elections-party-stats-grid{grid-template-columns:1fr 1fr}
  .alb-elections-party-stats-grid>div:nth-child(2){border-right:0}
  .alb-elections-party-history-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .alb-elections-party-votes>a{grid-template-columns:78px minmax(0,1fr)}
  .alb-elections-party-votes>a>em{grid-column:2;justify-self:start}
}
@media(max-width:520px){
  .alb-elections-party-directory{padding:18px}
  .alb-elections-party-profile-card>a{grid-template-columns:58px minmax(0,1fr);min-height:0;padding:13px}
  .alb-elections-party-profile-card__logo{width:58px;height:58px}.alb-elections-party-profile-card__logo img{max-width:48px;max-height:48px}
  .alb-elections-party-profile-card__metric{grid-column:1/-1;display:flex;align-items:baseline;gap:7px;text-align:left}
  .alb-elections-party-profile-card__metric strong{font-size:1.5rem}.alb-elections-party-profile-card__metric span,.alb-elections-party-profile-card__metric small{margin:0}
  .alb-elections-party-stats-grid,.alb-elections-party-vote-stats{grid-template-columns:1fr 1fr}
  .alb-elections-party-history-list{grid-template-columns:1fr 1fr}
}

/* 0.1.15 — candidatures, participation et communication électorale */
.alb-elections-candidacies{border-top:4px solid var(--elect-gold)}
.alb-elections-forum-link{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;color:var(--elect-ink)!important;background:var(--elect-ivory);border:1px solid var(--elect-line);font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;text-decoration:none!important}
.alb-elections-forum-link:hover,.alb-elections-forum-link:focus-visible{border-color:var(--elect-gold);background:#fff}
.alb-elections-candidacy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.alb-elections-candidacy-card{--party-color:var(--elect-gold);display:grid;grid-template-columns:66px minmax(0,1fr);gap:15px;align-items:start;padding:16px;background:#fff;border:1px solid var(--elect-line);border-top:5px solid var(--party-color)}
.alb-elections-candidacy-card>img{display:block;width:66px;height:66px;padding:5px;object-fit:contain;background:#fff;border:1px solid #e5dfd4}
.alb-elections-candidacy-card>div>span{display:block;color:var(--party-color);font-size:.65rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.alb-elections-candidacy-card h4{margin:3px 0 2px;color:var(--elect-ink);font-family:Georgia,"Times New Roman",serif;font-size:1.2rem;line-height:1.15}
.alb-elections-candidacy-card small{display:block;color:var(--elect-muted);font-size:.68rem}
.alb-elections-candidacy-card p{margin:12px 0 0!important;color:#474239;font-family:Georgia,"Times New Roman",serif;font-size:.82rem;line-height:1.55;white-space:pre-line}
.alb-elections-candidacy-card a{display:inline-block;margin-top:10px;font-size:.68rem;font-weight:800}
.alb-elections-candidacy-form{margin-top:24px;padding:22px;background:var(--elect-ivory);border:1px solid var(--elect-line);border-left:5px solid var(--elect-gold)}
.alb-elections-candidacy-form h4{margin:0 0 8px;color:var(--elect-ink);font-family:Georgia,"Times New Roman",serif;font-size:1.45rem}
.alb-elections-candidacy-form form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}
.alb-elections-candidacy-form label{display:grid;gap:6px;color:var(--elect-ink);font-size:.7rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}
.alb-elections-candidacy-form label:nth-of-type(2){grid-column:1/-1}
.alb-elections-candidacy-form input,.alb-elections-candidacy-form textarea{width:100%;padding:10px 11px;color:var(--elect-text);background:#fff;border:1px solid #cfc8ba;font:inherit;font-size:.86rem;line-height:1.5;text-transform:none;letter-spacing:normal}
.alb-elections-candidacy-form input:focus,.alb-elections-candidacy-form textarea:focus{outline:2px solid rgba(178,138,24,.3);outline-offset:1px;border-color:var(--elect-gold)}
.alb-elections-candidacy-form .alb-elections-button{justify-self:start;align-self:end}
.alb-elections-participation-public{display:grid;grid-template-columns:minmax(190px,.45fr) minmax(260px,1fr);gap:14px 24px;align-items:center;padding:20px 22px;color:#fff;background:#0b0907;border-top:4px solid var(--elect-gold)}
.alb-elections-participation-public>div:first-child span,.alb-elections-participation-public>div:first-child strong{display:block}
.alb-elections-participation-public>div:first-child span{color:#d9c990;font-size:.62rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.alb-elections-participation-public>div:first-child strong{margin-top:4px;font-family:Georgia,"Times New Roman",serif;font-size:1.6rem}
.alb-elections-participation-public__bar{height:12px;background:rgba(255,255,255,.16);overflow:hidden}
.alb-elections-participation-public__bar i{display:block;height:100%;background:var(--elect-gold)}
.alb-elections-participation-public>small{grid-column:2;color:rgba(255,255,255,.68);font-size:.66rem}

/* Le calendrier v3 comporte huit jalons publics. */
.alb-elections-timeline__track{grid-template-columns:repeat(8,minmax(0,1fr))}
@media(max-width:1100px){.alb-elections-timeline__track{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:24px}.alb-elections-timeline__track:before{display:none}}
@media(max-width:760px){
  .alb-elections-candidacy-grid{grid-template-columns:1fr}
  .alb-elections-candidacy-form form{grid-template-columns:1fr}.alb-elections-candidacy-form label:nth-of-type(2){grid-column:auto}
  .alb-elections-participation-public{grid-template-columns:1fr}.alb-elections-participation-public>small{grid-column:auto}
}
@media(max-width:640px){.alb-elections-timeline__track{grid-template-columns:1fr}}

/* 0.2.0 — climat électoral contextualisé par Agòra */
.alb-elections-climate-summary{border-top:4px solid var(--elect-gold)}
.alb-elections-climate-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--elect-line);border:1px solid var(--elect-line)}
.alb-elections-climate-grid>div{padding:13px 10px;background:#fff}
.alb-elections-climate-grid span,.alb-elections-climate-grid strong{display:block}.alb-elections-climate-grid span{color:var(--elect-muted);font-size:.6rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.alb-elections-climate-grid strong{margin-top:5px;font-family:Georgia,"Times New Roman",serif;font-size:.88rem;line-height:1.15}
.alb-elections-climate-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:18px;background:var(--elect-line);border:1px solid var(--elect-line)}
.alb-elections-climate-facts>div{padding:14px;background:#fff}.alb-elections-climate-facts span,.alb-elections-climate-facts strong,.alb-elections-climate-facts small{display:block}.alb-elections-climate-facts span{color:var(--elect-muted);font-size:.6rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.alb-elections-climate-facts strong{margin-top:5px;font-family:Georgia,"Times New Roman",serif;font-size:1rem;line-height:1.25}.alb-elections-climate-facts small{margin-top:4px;color:var(--elect-muted)}
.alb-elections-roll-audit th,.alb-elections-roll-audit td{text-align:center;white-space:nowrap}.alb-elections-roll-audit tbody th{text-align:left}.alb-elections-roll-audit thead tr:first-child th{border-bottom:1px solid var(--elect-ink)}
.alb-elections-fingerprint{overflow-wrap:anywhere;margin:18px 0 0!important;padding-top:14px;border-top:1px solid var(--elect-line);font-size:.68rem;color:var(--elect-muted)}.alb-elections-fingerprint code{font-size:.65rem}
@media(max-width:900px){.alb-elections-climate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.alb-elections-climate-facts{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.alb-elections-climate-grid,.alb-elections-climate-facts{grid-template-columns:1fr}}

/* 0.2.1 — travaux législatifs */
.alb-elections-bill-card{border-top:4px solid var(--elect-gold)}
.alb-elections-bill-links{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.alb-elections-bill-links a{display:inline-flex;align-items:center;min-height:34px;padding:6px 10px;color:var(--elect-ink)!important;background:var(--elect-ivory);border:1px solid var(--elect-line);font-size:.68rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;text-decoration:none!important}
.alb-elections-bill-links a:hover,.alb-elections-bill-links a:focus-visible{background:#fff;border-color:var(--elect-gold)}
.alb-elections-bill-vote{margin-top:20px;padding-top:18px;border-top:1px solid var(--elect-line)}
.alb-elections-bill-vote>h3{margin:0 0 12px;color:var(--elect-ink);font-family:Georgia,"Times New Roman",serif;font-size:1.25rem}
.alb-elections-scrutin-card.is-vote-only{display:block;margin:0;padding:0;background:transparent;border:0;box-shadow:none}
.alb-elections-scrutin-card.is-vote-only .alb-elections-scrutin-card__head{padding:12px 14px;background:var(--elect-ivory);border:1px solid var(--elect-line)}
.alb-elections-scrutin-card.is-vote-only .alb-elections-scrutin-progress,.alb-elections-scrutin-card.is-vote-only .alb-elections-scrutin-form,.alb-elections-scrutin-card.is-vote-only .alb-elections-result-banner,.alb-elections-scrutin-card.is-vote-only .alb-elections-vote-history,.alb-elections-scrutin-card.is-vote-only .alb-elections-chart{margin-left:0;margin-right:0}

/* 0.2.2 — fiche institutionnelle des travaux législatifs */
.alb-elections-bill-card{
  --bill-paper:#fffdf8;
  --bill-ivory:#f7f1e5;
  --bill-line:#d8cfbe;
  --bill-ink:#17130f;
  position:relative;
  padding:0!important;
  overflow:hidden;
  color:var(--bill-ink);
  background:var(--bill-paper);
  border:1px solid var(--bill-line)!important;
  border-top:6px solid var(--elect-gold)!important;
}
.alb-elections-forum-scrutin.alb-elections-bill-card{
  margin:20px 0 5px;
  box-shadow:0 7px 20px rgba(39,31,19,.07);
}
.alb-elections-bill-card__masthead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:58px;
  padding:13px 20px 12px;
  background:var(--bill-ivory);
  border-bottom:1px solid var(--bill-line);
}
.alb-elections-bill-card__institution{display:grid;gap:2px;min-width:0}
.alb-elections-bill-card__institution>span{
  color:var(--bill-ink);
  font-size:.66rem;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.alb-elections-bill-card__institution>small{
  color:var(--elect-gold-dark,#86670e);
  font-family:Georgia,"Times New Roman",serif;
  font-size:.78rem;
  font-style:italic;
  line-height:1.25;
}
.alb-elections-bill-status{
  min-height:30px;
  padding:5px 10px;
  border-color:#9f9583;
  background:#fff;
  font-size:.58rem;
  letter-spacing:.1em;
}
.alb-elections-bill-status.is-review{color:#775711;border-color:#b28a18;background:#fff9e8}
.alb-elections-bill-status.is-voting{color:#fff;border-color:#17130f;background:#17130f}
.alb-elections-bill-status.is-adopted{color:#2f5036;border-color:#78937d;background:#eef4ed}
.alb-elections-bill-status.is-rejected{color:#77342f;border-color:#ae7771;background:#f8eeee}
.alb-elections-bill-status.is-cancelled{color:#6b6258;border-color:#aaa095;background:#f2eee8}
.alb-elections-bill-status.is-historical{color:#51493f;border-color:#9f9583;background:#f3efe7}
.alb-elections-bill-card__body{padding:22px 22px 20px;background:#fff}
.alb-elections-bill-card__titleblock{position:relative;padding:0 0 18px;border-bottom:1px solid var(--bill-line)}
.alb-elections-bill-card__title{
  display:block;
  max-width:880px;
  margin:0;
  color:var(--bill-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.34rem,2.2vw,1.72rem);
  font-weight:700;
  letter-spacing:-.018em;
  line-height:1.18;
}
.alb-elections-bill-card__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px 0;
  margin-top:10px;
  color:#655d52;
  font-size:.72rem;
  line-height:1.4;
}
.alb-elections-bill-card__meta>span{display:inline-flex;align-items:center}
.alb-elections-bill-card__meta>span+span::before{
  content:"";
  width:3px;
  height:3px;
  margin:0 9px;
  background:var(--elect-gold);
}
.alb-elections-bill-card__meta a{font-weight:750;text-decoration:none!important;border-bottom:1px solid rgba(178,138,24,.55)}
.alb-elections-bill-card__meta a:hover,.alb-elections-bill-card__meta a:focus-visible{border-bottom-color:var(--elect-ink)}
.alb-elections-bill-card__summary{margin:18px 0 0!important;padding:0!important;color:#4c463e;font-family:Georgia,"Times New Roman",serif;font-size:.94rem;line-height:1.62}
.alb-elections-bill-card__summary p{margin:0!important}
.alb-elections-bill-card__text{margin-top:20px}
.alb-elections-bill-procedure{
  display:grid;
  grid-template-columns:minmax(145px,190px) minmax(0,1fr);
  gap:18px;
  align-items:start;
  margin:20px 0 0;
  padding:15px 17px;
  background:var(--bill-ivory);
  border-left:3px solid var(--elect-gold);
  border-top:1px solid var(--bill-line);
  border-right:1px solid var(--bill-line);
  border-bottom:1px solid var(--bill-line);
}
.alb-elections-bill-procedure>span{
  color:#5c4b20;
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.1em;
  line-height:1.35;
  text-transform:uppercase;
}
.alb-elections-bill-procedure>p{margin:0!important;color:#454038;font-family:Georgia,"Times New Roman",serif;font-size:.88rem;line-height:1.55}
.alb-elections-bill-card .alb-elections-budget-snapshot{margin:20px 0 0}
.alb-elections-bill-card .alb-elections-bill-links{margin:14px 0 0}
.alb-elections-bill-card .alb-elections-bill-links a{background:#fff}
.alb-elections-bill-card .alb-elections-bill-vote{margin-top:22px;padding-top:20px;border-top:1px solid var(--bill-line)}
.alb-elections-bill-card .alb-elections-bill-vote>h3{font-size:1.12rem}
.alb-elections-bill-card__footer{
  display:flex;
  align-items:center;
  min-height:46px;
  padding:0 20px;
  background:#12100d;
  border-top:3px solid var(--elect-gold);
}
.alb-elections-bill-card__footer .alb-elections-forum-scrutin__link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:#fff!important;
  font-size:.64rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none!important;
}
.alb-elections-bill-card__footer .alb-elections-forum-scrutin__link span{color:#d7b95c;font-size:.9rem;transition:transform .15s ease}
.alb-elections-bill-card__footer .alb-elections-forum-scrutin__link:hover span,.alb-elections-bill-card__footer .alb-elections-forum-scrutin__link:focus-visible span{transform:translateX(3px)}

@media(max-width:640px){
  .alb-elections-bill-card__masthead{align-items:flex-start;flex-direction:column;gap:10px;padding:13px 16px}
  .alb-elections-bill-card__body{padding:19px 16px 17px}
  .alb-elections-bill-card__title{font-size:1.28rem}
  .alb-elections-bill-card__meta{display:grid;gap:5px}
  .alb-elections-bill-card__meta>span+span::before{display:none}
  .alb-elections-bill-procedure{grid-template-columns:1fr;gap:6px;padding:14px}
  .alb-elections-bill-card__footer{padding:0 16px}
}

/* 0.2.3 — intégration wpForo : fiche en tête du premier message et isolation visuelle */
#wpforo #wpforo-wrap .wpforo-post article.alb-elections-forum-scrutin.alb-elections-bill-card,
.wpforo-post article.alb-elections-forum-scrutin.alb-elections-bill-card{
  display:block!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:none!important;
  margin:0 0 22px!important;
  padding:0!important;
  overflow:hidden!important;
  color:#17130f!important;
  background:#fffdf8!important;
  border:1px solid #d8cfbe!important;
  border-top:5px solid #b28a18!important;
  box-shadow:0 5px 16px rgba(39,31,19,.06)!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:14px!important;
  line-height:1.45!important;
}
#wpforo #wpforo-wrap .wpforo-post article.alb-elections-forum-scrutin.alb-elections-bill-card *,
.wpforo-post article.alb-elections-forum-scrutin.alb-elections-bill-card *{box-sizing:border-box}

#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__masthead,
.wpforo-post .alb-elections-bill-card__masthead{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-height:0!important;
  margin:0!important;
  padding:14px 18px 13px!important;
  background:#f7f1e5!important;
  border:0!important;
  border-bottom:1px solid #d8cfbe!important;
}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__institution,
.wpforo-post .alb-elections-bill-card__institution{display:grid!important;gap:3px!important;margin:0!important;padding:0!important}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__institution>span,
.wpforo-post .alb-elections-bill-card__institution>span{
  display:block!important;margin:0!important;padding:0!important;color:#17130f!important;font-size:11px!important;font-weight:850!important;line-height:1.2!important;letter-spacing:.14em!important;text-transform:uppercase!important
}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__institution>small,
.wpforo-post .alb-elections-bill-card__institution>small{
  display:block!important;margin:0!important;padding:0!important;color:#775711!important;font-family:Georgia,"Times New Roman",serif!important;font-size:13px!important;font-style:italic!important;line-height:1.2!important
}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-status,
.wpforo-post .alb-elections-bill-status{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;min-height:30px!important;margin:0!important;padding:6px 10px!important;border:1px solid #b28a18!important;background:#fff9e8!important;color:#775711!important;font-size:10px!important;font-weight:850!important;line-height:1!important;letter-spacing:.1em!important;text-transform:uppercase!important
}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-status.is-voting,.wpforo-post .alb-elections-bill-status.is-voting{background:#17130f!important;border-color:#17130f!important;color:#fff!important}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-status.is-adopted,.wpforo-post .alb-elections-bill-status.is-adopted{background:#eef4ed!important;border-color:#78937d!important;color:#2f5036!important}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-status.is-rejected,.wpforo-post .alb-elections-bill-status.is-rejected{background:#f8eeee!important;border-color:#ae7771!important;color:#77342f!important}

#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__body,
.wpforo-post .alb-elections-bill-card__body{
  display:block!important;margin:0!important;padding:19px 20px 18px!important;background:#fffdf8!important;border:0!important
}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__titleblock,
.wpforo-post .alb-elections-bill-card__titleblock{display:block!important;margin:0!important;padding:0 0 14px!important;border:0!important;border-bottom:1px solid #ded6c8!important}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__title,
.wpforo-post .alb-elections-bill-card__title{
  display:block!important;max-width:900px!important;margin:0!important;padding:0!important;color:#17130f!important;font-family:Georgia,"Times New Roman",serif!important;font-size:24px!important;font-weight:700!important;line-height:1.18!important;letter-spacing:-.015em!important
}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__meta,
.wpforo-post .alb-elections-bill-card__meta{
  display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px 0!important;margin:9px 0 0!important;padding:0!important;color:#655d52!important;font-size:12px!important;line-height:1.35!important
}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__meta>span,
.wpforo-post .alb-elections-bill-card__meta>span{display:inline-flex!important;align-items:center!important;margin:0!important;padding:0!important}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__meta>span+span::before,
.wpforo-post .alb-elections-bill-card__meta>span+span::before{content:""!important;display:block!important;width:3px!important;height:3px!important;margin:0 9px!important;background:#b28a18!important}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__meta a,
.wpforo-post .alb-elections-bill-card__meta a{color:#285f61!important;font-weight:750!important;text-decoration:none!important;border-bottom:1px solid rgba(40,95,97,.35)!important}

#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-procedure,
.wpforo-post .alb-elections-bill-procedure{
  display:grid!important;grid-template-columns:170px minmax(0,1fr)!important;gap:16px!important;align-items:start!important;margin:16px 0 0!important;padding:13px 15px!important;background:#f7f1e5!important;border:1px solid #ded6c8!important;border-left:3px solid #b28a18!important
}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-procedure>span,
.wpforo-post .alb-elections-bill-procedure>span{display:block!important;margin:0!important;padding:0!important;color:#5c4b20!important;font-size:10px!important;font-weight:900!important;line-height:1.35!important;letter-spacing:.1em!important;text-transform:uppercase!important}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-procedure>p,
.wpforo-post .alb-elections-bill-procedure>p{display:block!important;margin:0!important;padding:0!important;color:#454038!important;font-family:Georgia,"Times New Roman",serif!important;font-size:14px!important;line-height:1.5!important}

#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__footer,
.wpforo-post .alb-elections-bill-card__footer{
  display:flex!important;align-items:center!important;min-height:42px!important;margin:0!important;padding:0 18px!important;background:#f7f1e5!important;border:0!important;border-top:1px solid #d8cfbe!important
}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__footer .alb-elections-forum-scrutin__link,
.wpforo-post .alb-elections-bill-card__footer .alb-elections-forum-scrutin__link{
  display:inline-flex!important;align-items:center!important;gap:8px!important;margin:0!important;padding:0!important;color:#17130f!important;font-size:11px!important;font-weight:850!important;line-height:1.2!important;letter-spacing:.07em!important;text-transform:uppercase!important;text-decoration:none!important
}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__footer .alb-elections-forum-scrutin__link span,
.wpforo-post .alb-elections-bill-card__footer .alb-elections-forum-scrutin__link span{color:#9a7612!important;font-size:15px!important}

#wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card.is-at-post-head,
.wpforo-post .alb-elections-bill-card.is-at-post-head{margin-top:0!important}

@media(max-width:640px){
  #wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__masthead,.wpforo-post .alb-elections-bill-card__masthead{align-items:flex-start!important;flex-direction:column!important;gap:9px!important;padding:13px 14px!important}
  #wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__body,.wpforo-post .alb-elections-bill-card__body{padding:16px 14px!important}
  #wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__title,.wpforo-post .alb-elections-bill-card__title{font-size:20px!important}
  #wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__meta,.wpforo-post .alb-elections-bill-card__meta{display:grid!important;gap:4px!important}
  #wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__meta>span+span::before,.wpforo-post .alb-elections-bill-card__meta>span+span::before{display:none!important}
  #wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-procedure,.wpforo-post .alb-elections-bill-procedure{grid-template-columns:1fr!important;gap:5px!important}
  #wpforo #wpforo-wrap .wpforo-post .alb-elections-bill-card__footer,.wpforo-post .alb-elections-bill-card__footer{padding:0 14px!important}
}

/* 0.2.4 — dossier législatif : parcours, participantes et chronologie wpForo */
.alb-elections-legislative-progress{margin:20px 0 0;padding:20px;border:1px solid var(--bill-line);background:var(--bill-paper)}
.alb-elections-legislative-progress__head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}
.alb-elections-legislative-progress__head h3{margin:2px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:1.28rem;line-height:1.15}
.alb-elections-legislative-progress__head>span{color:#6b5a2b;font-size:.63rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.alb-elections-legislative-progress__track{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;position:relative;margin:0;padding:0;list-style:none}
.alb-elections-legislative-progress__track:before{content:"";position:absolute;left:9%;right:9%;top:10px;height:1px;background:#d8cfbe}
.alb-elections-legislative-progress__track li{position:relative;z-index:1;display:grid;grid-template-columns:1fr;justify-items:center;gap:8px;padding:0 10px;text-align:center}
.alb-elections-legislative-progress__track li>i{display:block;width:21px;height:21px;background:#fff;border:2px solid #aaa095;border-radius:50%!important}
.alb-elections-legislative-progress__track li>div{display:grid;gap:3px}
.alb-elections-legislative-progress__track strong{font-family:Georgia,"Times New Roman",serif;font-size:.86rem}
.alb-elections-legislative-progress__track span{color:#625b52;font-size:.66rem;font-weight:700}
.alb-elections-legislative-progress__track small{color:#81796e;font-size:.61rem;line-height:1.35}
.alb-elections-legislative-progress__track li.is-done>i{background:#17130f;border-color:#17130f;box-shadow:inset 0 0 0 5px #17130f}
.alb-elections-legislative-progress__track li.is-current>i{background:#b28a18;border-color:#b28a18;box-shadow:0 0 0 4px rgba(178,138,24,.14)}
.alb-elections-legislative-progress__track li.is-cancelled>i{background:#8a4e48;border-color:#8a4e48}

.alb-elections-legislative-debate{margin:26px 0 0;padding-top:24px;border-top:1px solid var(--bill-line)}
.alb-elections-legislative-debate__head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}
.alb-elections-legislative-debate__head h3{margin:2px 0 4px;font-family:Georgia,"Times New Roman",serif;font-size:1.45rem;line-height:1.12}
.alb-elections-legislative-debate__head p:last-child{margin:0;color:#70685d;font-size:.72rem}
.alb-elections-debate-live,.alb-elections-debate-archive{display:flex;align-items:center;gap:8px;margin:0 0 16px;padding:9px 11px;border:1px solid #ddd3c1;background:#faf6ed;color:#5a5146;font-size:.68rem}
.alb-elections-debate-live i{width:8px;height:8px;background:#5e8666;border-radius:50%!important;box-shadow:0 0 0 3px rgba(94,134,102,.12)}
.alb-elections-debate-archive{display:flex;flex-wrap:wrap;border-left:3px solid #b28a18}
.alb-elections-debate-archive strong{color:#4f421d;font-size:.61rem;letter-spacing:.08em;text-transform:uppercase}
.alb-elections-debate-archive code{margin-left:auto;color:#776e63;font-size:.62rem}
.alb-elections-debate-participants{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px;margin:0 0 22px}
.alb-elections-debate-participant{display:grid;grid-template-columns:46px minmax(0,1fr);gap:10px;align-items:center;padding:10px 11px;background:#fff;border:1px solid #ddd5c8;border-left:3px solid var(--party-color)}
.alb-elections-debate-participant>div:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:3px 7px;min-width:0}
.alb-elections-debate-participant strong{flex-basis:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}
.alb-elections-debate-participant small{color:#7a7267;font-size:.62rem}
.alb-elections-debate-avatar{width:42px;height:42px;overflow:hidden;background:#f1ece3;border:1px solid #d4cabb;border-radius:50%!important}
.alb-elections-debate-avatar img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important}
.alb-elections-debate-avatar span{display:grid;width:100%;height:100%;place-items:center;font-family:Georgia,"Times New Roman",serif;font-size:1rem;font-weight:700}
.alb-elections-party-chip{display:inline-flex;align-items:center;gap:5px;min-height:20px;padding:2px 6px;color:#403a32;background:#faf8f3;border:1px solid #d9d1c4;font-size:.56rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}
.alb-elections-party-chip i{display:block;width:7px;height:7px;background:var(--party-color);border-radius:50%!important}
.alb-elections-party-chip.is-none{color:#766f65;background:#f5f2ec;font-weight:700;letter-spacing:0;text-transform:none}
.alb-elections-debate-chronology{position:relative;display:grid;gap:0;margin:0;padding:0;list-style:none}
.alb-elections-debate-chronology:before{content:"";position:absolute;left:20px;top:10px;bottom:18px;width:1px;background:#d8cfbe}
.alb-elections-debate-chronology>li{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;padding:0 0 18px}
.alb-elections-debate-chronology>li>.alb-elections-debate-avatar{position:relative;z-index:1;width:42px;height:42px;border:2px solid var(--party-color);background:#fff}
.alb-elections-debate-chronology>li>article{padding:12px 14px;background:#fff;border:1px solid #ddd5c8;border-left:3px solid var(--party-color)}
.alb-elections-debate-chronology header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.alb-elections-debate-chronology header>div{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px}
.alb-elections-debate-chronology header strong{font-size:.8rem}
.alb-elections-debate-chronology time{flex:0 0 auto;color:#7c7469;font-size:.61rem}
.alb-elections-debate-chronology p{margin:0!important;color:#49433b;font-family:Georgia,"Times New Roman",serif;font-size:.86rem;line-height:1.55}
.alb-elections-debate-chronology a{display:inline-block;margin-top:8px;color:#5f4c17!important;font-size:.61rem;font-weight:850;letter-spacing:.035em;text-transform:uppercase;text-decoration:none!important}
.alb-elections-debate-chronology a:hover,.alb-elections-debate-chronology a:focus-visible{text-decoration:underline!important}
@media(max-width:700px){.alb-elections-legislative-progress__head,.alb-elections-legislative-debate__head{align-items:flex-start;flex-direction:column}.alb-elections-legislative-progress__track{grid-template-columns:1fr;gap:0}.alb-elections-legislative-progress__track:before{left:10px;right:auto;top:10px;bottom:10px;width:1px;height:auto}.alb-elections-legislative-progress__track li{grid-template-columns:22px minmax(0,1fr);justify-items:start;gap:10px;padding:0 0 15px;text-align:left}.alb-elections-legislative-progress__track li>i{grid-row:1}.alb-elections-legislative-progress__track li>div{grid-column:2}.alb-elections-debate-chronology header{display:grid;gap:5px}.alb-elections-debate-archive code{width:100%;margin-left:0}}

/* 0.2.5 — Institutions et représentation : Législatures, Comprendre et personnes rattachées aux partis. */
.alb-elections-legislatures-intro{margin-bottom:-8px}
.alb-elections-legislature-featured{overflow:hidden;background:#fff;border:1px solid var(--elect-line);border-top:6px solid var(--elect-gold)}
.alb-elections-legislature-featured__head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:30px 34px 24px;background:linear-gradient(90deg,#faf7ef 0,#fff 72%);border-bottom:1px solid var(--elect-line)}
.alb-elections-legislature-featured__head h3{margin:0;font-size:clamp(2rem,4vw,3.35rem);line-height:1}
.alb-elections-legislature-featured__head p:last-child{margin:.7rem 0 0;color:var(--elect-muted);font-family:Georgia,"Times New Roman",serif}
.alb-elections-legislature-featured__status{display:grid;justify-items:end;gap:10px;text-align:right}
.alb-elections-legislature-featured__status strong{max-width:310px;font-family:Georgia,"Times New Roman",serif;font-size:.95rem;line-height:1.35}
.alb-elections-status.is-active{color:#fff;background:#0b0907;border-color:#0b0907}
.alb-elections-legislature-featured__body{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);gap:clamp(28px,5vw,66px);align-items:center;padding:clamp(26px,4vw,46px) clamp(26px,4vw,44px)}
.alb-elections-legislature-featured__hemicycle .alb-elections-hemicycle{margin:0;padding:0}
.alb-elections-legislature-featured__hemicycle .alb-elections-hemicycle svg{width:min(100%,560px)}
.alb-elections-legislature-featured__summary{display:grid;gap:20px}
.alb-elections-legislature-party-strip{display:grid;gap:8px}
.alb-elections-legislature-party-strip>a{--party-color:var(--elect-gold);display:grid;grid-template-columns:5px minmax(0,1fr) auto auto;gap:12px;align-items:center;min-height:58px;padding:9px 12px 9px 0;color:inherit!important;background:#fbfaf6;border:1px solid var(--elect-line);text-decoration:none!important}
.alb-elections-legislature-party-strip>a:hover{background:#fff}
.alb-elections-legislature-party-strip>a>i{width:5px;height:100%;background:var(--party-color)}
.alb-elections-legislature-party-strip>a>span strong,.alb-elections-legislature-party-strip>a>span small{display:block}
.alb-elections-legislature-party-strip>a>span strong{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.alb-elections-legislature-party-strip>a>span small{margin-top:2px;color:var(--elect-muted);font-family:Georgia,"Times New Roman",serif;font-size:.72rem}
.alb-elections-legislature-party-strip>a>b{font-family:Georgia,"Times New Roman",serif;font-size:1.65rem;line-height:1}
.alb-elections-legislature-party-strip>a>em{min-width:31px;padding:3px 5px;border:1px solid var(--elect-line);font-size:.58rem;font-style:normal;font-weight:800;text-align:center}
.alb-elections-legislature-party-strip>a>em.is-up{color:#496e16;background:#f4f8ee;border-color:#87a95a}
.alb-elections-legislature-party-strip>a>em.is-down{color:#a52d36;background:#fff4f4;border-color:#d5999e}
.alb-elections-legislature-party-strip>a>em.is-flat{color:var(--elect-muted);background:#fff}
.alb-elections-legislature-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--elect-line);border-left:1px solid var(--elect-line)}
.alb-elections-legislature-kpis>div{padding:13px 12px;background:#fff;border-right:1px solid var(--elect-line);border-bottom:1px solid var(--elect-line)}
.alb-elections-legislature-kpis span,.alb-elections-legislature-kpis small{display:block;color:var(--elect-muted);font-size:.58rem;font-weight:750;line-height:1.35;text-transform:uppercase;letter-spacing:.05em}
.alb-elections-legislature-kpis strong{display:block;margin:5px 0 1px;color:var(--elect-ink);font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;line-height:1}
.alb-elections-legislature-kpis.is-detail{margin-top:-20px}
.alb-elections-legislature-kpis.is-detail>div{padding:18px 20px}
.alb-elections-legislature-kpis.is-detail strong{font-size:2rem}
.alb-elections-institutional-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0 8px;border-bottom:2px solid var(--elect-ink);font-size:.68rem;font-weight:850;letter-spacing:.07em;text-decoration:none!important;text-transform:uppercase}
.alb-elections-institutional-link span{font-size:1.1rem}

.alb-elections-legislatures-upcoming,.alb-elections-legislature-archives{padding:28px;background:#fff;border:1px solid var(--elect-line)}
.alb-elections-upcoming-legislature{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(180px,.45fr) 28px;gap:18px;align-items:center;padding:18px 20px;color:inherit!important;background:var(--elect-ivory);border-left:4px solid var(--elect-gold);text-decoration:none!important}
.alb-elections-upcoming-legislature:hover{background:#fff}
.alb-elections-upcoming-legislature__number{font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:700}
.alb-elections-upcoming-legislature>span:nth-child(2) strong,.alb-elections-upcoming-legislature>span:nth-child(2) small{display:block}
.alb-elections-upcoming-legislature>span:nth-child(2) small{margin-top:3px;color:var(--elect-muted)}
.alb-elections-upcoming-legislature>em{color:var(--elect-muted);font-size:.72rem;font-style:normal;font-weight:750;text-align:right;text-transform:uppercase;letter-spacing:.04em}
.alb-elections-upcoming-legislature>i{font-size:1.2rem;font-style:normal;text-align:right}

.alb-elections-legislature-archive-list{display:grid;border-top:1px solid var(--elect-line)}
.alb-elections-legislature-archive-row{display:grid;grid-template-columns:92px minmax(210px,.72fr) minmax(330px,1.35fr) 135px 30px;gap:18px;align-items:center;padding:18px 6px;border-bottom:1px solid var(--elect-line)}
.alb-elections-legislature-archive-row:hover{background:#fcfaf5}
.alb-elections-legislature-archive-row__number{display:grid;place-items:center;align-content:center;min-height:70px;color:inherit!important;background:#0b0907;text-decoration:none!important}
.alb-elections-legislature-archive-row__number span{color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:1.8rem;font-weight:700;line-height:1}
.alb-elections-legislature-archive-row__number small{margin-top:4px;color:#d9c990;font-size:.5rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.alb-elections-legislature-archive-row__identity{display:grid;justify-items:start;gap:5px;min-width:0}
.alb-elections-legislature-archive-row__identity strong{font-family:Georgia,"Times New Roman",serif;font-size:.86rem}
.alb-elections-legislature-archive-row__identity small{color:var(--elect-muted);font-size:.66rem;line-height:1.35}
.alb-elections-legislature-archive-row__parties .alb-elections-legislature-party-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.alb-elections-legislature-archive-row__parties .alb-elections-legislature-party-strip>a{grid-template-columns:3px minmax(0,1fr) auto auto;min-height:43px;gap:6px;padding:5px 6px 5px 0}
.alb-elections-legislature-archive-row__parties .alb-elections-legislature-party-strip>a>i{width:3px}
.alb-elections-legislature-archive-row__parties .alb-elections-legislature-party-strip>a>span small{display:none}
.alb-elections-legislature-archive-row__parties .alb-elections-legislature-party-strip>a>span strong{font-size:.59rem}
.alb-elections-legislature-archive-row__parties .alb-elections-legislature-party-strip>a>b{font-size:1.15rem}
.alb-elections-legislature-archive-row__parties .alb-elections-legislature-party-strip>a>em{min-width:24px;padding:2px 3px;font-size:.48rem}
.alb-elections-legislature-archive-row__work{text-align:right}
.alb-elections-legislature-archive-row__work strong,.alb-elections-legislature-archive-row__work span,.alb-elections-legislature-archive-row__work small{display:block}
.alb-elections-legislature-archive-row__work strong{font-family:Georgia,"Times New Roman",serif;font-size:1.5rem;line-height:1}
.alb-elections-legislature-archive-row__work span{margin-top:4px;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.alb-elections-legislature-archive-row__work small{margin-top:3px;color:var(--elect-muted);font-size:.57rem}
.alb-elections-legislature-archive-row__open{font-size:1.3rem;text-align:center;text-decoration:none!important}
.alb-elections-legislature-detail-hero__aside{display:grid;justify-items:end;gap:9px;text-align:right}
.alb-elections-legislature-detail-hero__aside strong{max-width:300px;font-family:Georgia,"Times New Roman",serif;font-size:.92rem}

/* Personnes rattachées aux partis. */
.alb-elections-party-people__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.alb-elections-party-person{display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;background:#fbfaf6;border:1px solid var(--elect-line);border-left:4px solid var(--party-color,var(--elect-gold))}
.alb-elections-party-person__avatar{width:68px;height:68px;overflow:hidden;background:#fff;border:1px solid var(--elect-line)}
.alb-elections-party-person__avatar img{display:block;width:100%;height:100%;object-fit:cover}
.alb-elections-party-person__identity span,.alb-elections-party-person__identity strong,.alb-elections-party-person__identity small{display:block}
.alb-elections-party-person__identity span{color:var(--elect-gold-dark);font-size:.56rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.alb-elections-party-person__identity strong{margin-top:4px;color:var(--elect-ink);font-family:Georgia,"Times New Roman",serif;font-size:1.03rem}
.alb-elections-party-person__identity small{margin-top:2px;color:var(--elect-muted);font-size:.66rem}
.alb-elections-party-person__activity{min-width:112px;padding-left:14px;border-left:1px solid var(--elect-line);text-align:right}
.alb-elections-party-person__activity strong,.alb-elections-party-person__activity span,.alb-elections-party-person__activity small{display:block}
.alb-elections-party-person__activity strong{font-family:Georgia,"Times New Roman",serif;font-size:1.55rem;line-height:1}
.alb-elections-party-person__activity span{margin-top:3px;font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.alb-elections-party-person__activity small{margin-top:2px;color:var(--elect-muted);font-size:.58rem}
.alb-elections-party-person__activity a{display:inline-block;margin-top:7px;font-size:.55rem;font-weight:800;text-transform:uppercase;text-decoration:none!important}
.alb-elections-party-people__note{margin:18px 0 0!important;color:var(--elect-muted);font-size:.7rem}

/* Comprendre : lecture pédagogique du cycle institutionnel. */
.alb-elections-understand-flow{display:grid;grid-template-columns:repeat(13,auto);align-items:stretch;gap:0;background:#0b0907;border-top:4px solid var(--elect-gold)}
.alb-elections-understand-flow>div{display:grid;align-content:start;min-width:0;padding:22px 18px;color:#fff}
.alb-elections-understand-flow>div span{color:#d9c990;font-size:.58rem;font-weight:850;letter-spacing:.1em}
.alb-elections-understand-flow>div strong{margin-top:8px;color:#fff;font-family:Georgia,"Times New Roman",serif;font-size:1.08rem}
.alb-elections-understand-flow>div small{margin-top:7px;color:#d7d1c6;font-size:.66rem;line-height:1.45}
.alb-elections-understand-flow>i{display:grid;place-items:center;color:var(--elect-gold);font-style:normal}
.alb-elections-understand-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.alb-elections-understand-grid article{padding:24px;background:#fff;border:1px solid var(--elect-line);border-top:3px solid var(--elect-gold)}
.alb-elections-understand-grid h3{margin:0 0 12px;font-size:1.28rem;line-height:1.15}
.alb-elections-understand-grid article>p:last-child{margin:0;color:#514c43;font-size:.78rem;line-height:1.65}
.alb-elections-understand-finance__flow{display:flex;align-items:stretch;gap:0;margin-bottom:18px;border:1px solid var(--elect-line)}
.alb-elections-understand-finance__flow span{flex:1;padding:17px 12px;background:#fbfaf6;font-size:.68rem;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.035em}
.alb-elections-understand-finance__flow i{display:grid;place-items:center;padding:0 7px;background:#0b0907;color:var(--elect-gold);font-style:normal}
.alb-elections-understand-finance>p{margin:0;color:var(--elect-muted);font-family:Georgia,"Times New Roman",serif}
.alb-elections-understand-rules dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;border-top:1px solid var(--elect-line);border-left:1px solid var(--elect-line)}
.alb-elections-understand-rules dl>div{padding:18px;border-right:1px solid var(--elect-line);border-bottom:1px solid var(--elect-line)}
.alb-elections-understand-rules dt{color:var(--elect-ink);font-family:Georgia,"Times New Roman",serif;font-size:1rem;font-weight:700}
.alb-elections-understand-rules dd{margin:7px 0 0;color:var(--elect-muted);font-size:.75rem;line-height:1.55}

@media(max-width:1050px){
  .alb-elections-legislature-featured__body{grid-template-columns:1fr}
  .alb-elections-legislature-featured__hemicycle{text-align:center}
  .alb-elections-legislature-archive-row{grid-template-columns:82px minmax(180px,.8fr) minmax(280px,1.3fr) 30px}
  .alb-elections-legislature-archive-row__work{display:none}
  .alb-elections-understand-flow{grid-template-columns:1fr}
  .alb-elections-understand-flow>i{height:22px;transform:rotate(90deg)}
}
@media(max-width:800px){
  .alb-elections-legislature-featured__head{align-items:flex-start;flex-direction:column}
  .alb-elections-legislature-featured__status{justify-items:start;text-align:left}
  .alb-elections-legislature-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .alb-elections-legislature-archive-row{grid-template-columns:70px minmax(0,1fr) 28px;gap:12px}
  .alb-elections-legislature-archive-row__parties{grid-column:2 / 3}
  .alb-elections-legislature-archive-row__parties .alb-elections-legislature-party-strip{grid-template-columns:1fr}
  .alb-elections-party-people__grid,.alb-elections-understand-grid{grid-template-columns:1fr}
  .alb-elections-understand-finance__flow{display:grid;grid-template-columns:1fr}
  .alb-elections-understand-finance__flow i{height:20px;transform:rotate(90deg)}
}
@media(max-width:560px){
  .alb-elections-legislature-featured__head,.alb-elections-legislature-featured__body,.alb-elections-legislatures-upcoming,.alb-elections-legislature-archives{padding-left:16px;padding-right:16px}
  .alb-elections-upcoming-legislature{grid-template-columns:58px minmax(0,1fr) 22px;padding:14px}
  .alb-elections-upcoming-legislature>em{display:none}
  .alb-elections-legislature-kpis{grid-template-columns:1fr 1fr}
  .alb-elections-legislature-archive-row{grid-template-columns:58px minmax(0,1fr) 22px}
  .alb-elections-legislature-archive-row__number{min-height:58px}
  .alb-elections-legislature-archive-row__number span{font-size:1.35rem}
  .alb-elections-party-person{grid-template-columns:56px minmax(0,1fr)}
  .alb-elections-party-person__avatar{width:56px;height:56px}
  .alb-elections-party-person__activity{grid-column:1 / -1;display:grid;grid-template-columns:auto auto 1fr;gap:6px;align-items:end;padding:10px 0 0;border-left:0;border-top:1px solid var(--elect-line);text-align:left}
  .alb-elections-party-person__activity a{grid-column:1 / -1}
  .alb-elections-understand-rules dl{grid-template-columns:1fr}
}

/* 0.2.6 — procédure de vote législatif */
.alb-elections-vote-rules{display:grid;gap:4px;margin:0 0 12px;padding:12px 14px;background:#fbf8ee;border:1px solid var(--elect-line);border-left:4px solid var(--elect-gold)}
.alb-elections-vote-rules strong{font-family:Georgia,"Times New Roman",serif;font-size:.9rem}
.alb-elections-vote-rules span{color:var(--elect-muted);font-size:.68rem;line-height:1.45}
.alb-elections-vote-final-warning{margin:10px 0!important;padding:10px 12px;background:#fff7e6;border:1px solid #d5b36a;color:#6b5318;font-size:.7rem;line-height:1.45}
.alb-elections-result-banner small{display:block;margin-top:5px;font-size:.62rem;font-weight:600;opacity:.82}

/* 0.2.8 — le vote parlementaire vit dans une réponse wpForo dédiée. */
.alb-elections-bill-vote-jump{
  display:inline-flex!important;align-items:center!important;gap:8px!important;margin:12px 0 0!important;padding:9px 12px!important;
  color:#17130f!important;background:#fff!important;border:1px solid #c9b97c!important;border-left:3px solid var(--elect-gold)!important;
  font-size:.65rem!important;font-weight:850!important;line-height:1.2!important;letter-spacing:.055em!important;text-transform:uppercase!important;text-decoration:none!important
}
.alb-elections-bill-vote-jump:hover,.alb-elections-bill-vote-jump:focus-visible{background:#fff9e8!important;border-color:#b28a18!important}
.alb-elections-bill-vote-jump span{font-size:.9rem;color:#9a7612}

#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote,
.wpforo-post .alb-elections-forum-vote{
  --vote-paper:#fffdf8;
  display:block!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:16px 0 4px!important;padding:0!important;
  overflow:hidden!important;color:#17130f!important;background:var(--vote-paper)!important;border:1px solid #d8cfbe!important;border-top:6px solid #b28a18!important;
  box-shadow:0 7px 20px rgba(39,31,19,.07)!important
}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote *,
.wpforo-post .alb-elections-forum-vote *{box-sizing:border-box}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-card__head,
.wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-card__head{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;margin:0!important;padding:14px 18px!important;
  background:#f7f1e5!important;border:0!important;border-bottom:1px solid #d8cfbe!important
}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-card__head>div,
.wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-card__head>div{display:grid!important;gap:3px!important;min-width:0!important;margin:0!important;padding:0!important}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-card__brand,
.wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-card__brand{color:#775711!important;font-size:10px!important;font-weight:900!important;line-height:1.25!important;letter-spacing:.11em!important;text-transform:uppercase!important}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-card__head strong,
.wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-card__head strong{display:block!important;margin:0!important;color:#17130f!important;font-family:Georgia,"Times New Roman",serif!important;font-size:20px!important;line-height:1.22!important;font-weight:700!important}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-status,
.wpforo-post .alb-elections-forum-vote .alb-elections-status{flex:0 0 auto!important;margin:0!important;padding:5px 9px!important;background:#17130f!important;border:1px solid #17130f!important;color:#fff!important;font-size:9px!important;font-weight:900!important;letter-spacing:.08em!important;text-transform:uppercase!important}

.alb-elections-forum-vote__notice{display:grid;gap:5px;margin:0!important;padding:16px 18px!important;background:#fff!important;border-bottom:1px solid #ded6c8!important}
.alb-elections-forum-vote__notice>span{color:#765912;font-size:.61rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.alb-elections-forum-vote__notice>p{margin:0!important;color:#403a33!important;font-family:Georgia,"Times New Roman",serif!important;font-size:.91rem!important;line-height:1.55!important}
.alb-elections-forum-vote__notice.is-open{border-left:4px solid #b28a18}
.alb-elections-forum-vote__notice.is-closed{border-left:4px solid #5d7d62}
.alb-elections-forum-vote__notice.is-scheduled{border-left:4px solid #8f877b}

#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-vote-rules,
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-progress,
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-form,
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-result-banner,
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-vote-history,
.wpforo-post .alb-elections-forum-vote .alb-elections-vote-rules,
.wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-progress,
.wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-form,
.wpforo-post .alb-elections-forum-vote .alb-elections-result-banner,
.wpforo-post .alb-elections-forum-vote .alb-elections-vote-history{margin:14px 18px!important}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-form,
.wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-form{padding:15px!important;background:#faf6ed!important;border:1px solid #ddd3c1!important}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-inline-choices,
.wpforo-post .alb-elections-forum-vote .alb-elections-inline-choices{display:flex!important;flex-wrap:wrap!important;gap:8px 16px!important;margin:10px 0 12px!important}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-inline-choices label,
.wpforo-post .alb-elections-forum-vote .alb-elections-inline-choices label{display:inline-flex!important;align-items:center!important;gap:6px!important;margin:0!important;padding:0!important;font-weight:750!important}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-button,
.wpforo-post .alb-elections-forum-vote .alb-elections-button{margin:0!important}
.alb-elections-forum-vote__detail{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;margin:0!important;padding:12px 18px!important;color:#17130f!important;background:#f7f1e5!important;border-top:1px solid #d8cfbe!important;font-size:.62rem!important;font-weight:850!important;letter-spacing:.06em!important;text-transform:uppercase!important;text-decoration:none!important}
.alb-elections-forum-vote__detail:hover,.alb-elections-forum-vote__detail:focus-visible{background:#fff9e8!important}
.alb-elections-forum-vote__detail span{color:#9a7612;font-size:.9rem}
@media(max-width:640px){
  #wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-card__head,.wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-card__head{align-items:flex-start!important;flex-direction:column!important;padding:13px 14px!important}
  #wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-vote-rules,#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-progress,#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-form,#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-result-banner,#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-vote .alb-elections-vote-history,.wpforo-post .alb-elections-forum-vote .alb-elections-vote-rules,.wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-progress,.wpforo-post .alb-elections-forum-vote .alb-elections-scrutin-form,.wpforo-post .alb-elections-forum-vote .alb-elections-result-banner,.wpforo-post .alb-elections-forum-vote .alb-elections-vote-history{margin:12px 14px!important}
  .alb-elections-forum-vote__notice{padding:14px!important}.alb-elections-forum-vote__detail{padding:11px 14px!important}
}

/* 0.2.9 — promulgation matriarcale */
.alb-elections-bill-promulgation-section{margin-top:24px}
.alb-elections-promulgation-card{overflow:hidden;color:var(--elect-ink);background:#fffdf8;border:1px solid var(--elect-line);border-top:6px solid var(--elect-gold);box-shadow:0 7px 20px rgba(39,31,19,.06)}
.alb-elections-promulgation-card__head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;background:#f7f1e5;border-bottom:1px solid var(--elect-line)}
.alb-elections-promulgation-card__head>div{display:grid;gap:3px;min-width:0}
.alb-elections-promulgation-card__head strong{font-family:Georgia,"Times New Roman",serif;font-size:1.15rem;line-height:1.25}
.alb-elections-promulgation-card__body{display:grid;gap:14px;padding:18px}
.alb-elections-promulgation-card__council{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 18px;padding-bottom:13px;border-bottom:1px solid var(--elect-line)}
.alb-elections-promulgation-card__council>span{grid-column:1/-1;color:#775711;font-size:.61rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.alb-elections-promulgation-card__council strong{font-family:Georgia,"Times New Roman",serif}
.alb-elections-promulgation-card__council small{color:var(--elect-muted);text-align:right}
.alb-elections-promulgation-card__notice{padding:14px 16px;background:#fbf8ee;border-left:4px solid var(--elect-gold)}
.alb-elections-promulgation-card__notice strong{font-family:Georgia,"Times New Roman",serif}
.alb-elections-promulgation-card__notice p{margin:.35rem 0!important;line-height:1.5}
.alb-elections-promulgation-card__notice small{color:var(--elect-muted)}
.alb-elections-promulgation-card__decision{padding:15px;background:#fff;border:1px solid var(--elect-line)}
.alb-elections-promulgation-card__decision>p{margin:0 0 10px!important;font-family:Georgia,"Times New Roman",serif}
.alb-elections-promulgation-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:8px}
.alb-elections-promulgation-actions form{margin:0!important}
.alb-elections-button.is-secondary{color:var(--elect-ink)!important;background:#fff!important;border:1px solid #a88f70!important}
.alb-elections-button.is-secondary:hover{background:#f7f1e5!important}
.alb-elections-status.is-awaiting_promulgation{color:#6e5314;background:#fff8df;border-color:#caaa56}
.alb-elections-status.is-promulgated{color:#355a3d;background:#eef6ee;border-color:#78937d}
.alb-elections-status.is-opposed{color:#852d35;background:#fff0f0;border-color:#b87a80}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-promulgation,.wpforo-post .alb-elections-forum-promulgation{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:16px 0 4px!important;padding:0!important}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-promulgation *,.wpforo-post .alb-elections-forum-promulgation *{box-sizing:border-box}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-promulgation .alb-elections-promulgation-card__head,.wpforo-post .alb-elections-forum-promulgation .alb-elections-promulgation-card__head{display:flex!important;margin:0!important;padding:14px 18px!important}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-promulgation .alb-elections-promulgation-card__body,.wpforo-post .alb-elections-forum-promulgation .alb-elections-promulgation-card__body{display:grid!important;gap:14px!important;margin:0!important;padding:18px!important}
#wpforo #wpforo-wrap .wpforo-post .alb-elections-forum-promulgation .alb-elections-promulgation-actions form,.wpforo-post .alb-elections-forum-promulgation .alb-elections-promulgation-actions form{margin:0!important;padding:0!important}
@media(max-width:640px){.alb-elections-promulgation-card__head{align-items:flex-start;flex-direction:column}.alb-elections-promulgation-card__council{grid-template-columns:1fr}.alb-elections-promulgation-card__council small{text-align:left}.alb-elections-promulgation-actions{display:grid}.alb-elections-promulgation-actions .alb-elections-button{width:100%}}

/* 0.2.13 — registre de la législation */
.alb-legal-register-app{--legal-paper:#fffdf8}
.alb-legal-register-intro{margin-bottom:18px}
.alb-legal-register-filters{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(150px,.7fr)) auto;gap:10px;align-items:end;margin:0 0 28px;padding:16px 18px;background:#f7f1e5;border:1px solid var(--elect-line);border-top:3px solid var(--elect-gold)}
.alb-legal-register-filters label{display:grid;gap:5px}
.alb-legal-register-filters label>span{font-size:.58rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.alb-legal-register-filters input,.alb-legal-register-filters select{width:100%;min-height:40px;padding:8px 10px;color:var(--elect-ink);background:#fff;border:1px solid #cfc5b5;border-radius:0}
.alb-legal-register-section{margin:0 0 28px;padding:20px;background:#fff;border:1px solid var(--elect-line)}
.alb-legal-register-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.alb-legal-register-card{position:relative;display:grid;align-content:start;gap:8px;min-height:175px;padding:18px 18px 16px;background:#fbfaf6;border:1px solid var(--elect-line);border-left:4px solid var(--elect-gold)}
.alb-legal-register-card.is-repealed,.alb-legal-register-card.is-replaced,.alb-legal-register-card.is-historical{border-left-color:#8f877b}
.alb-legal-register-card__meta{display:flex;align-items:center;justify-content:space-between;gap:12px}
.alb-legal-register-card__meta time{color:var(--elect-muted);font-size:.64rem}
.alb-legal-register-card h4{margin:2px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:1.22rem;line-height:1.18}
.alb-legal-register-card h4 a{color:var(--elect-ink);text-decoration:none}
.alb-legal-register-card>p{margin:0;color:var(--elect-muted);font-size:.72rem;line-height:1.5}
.alb-legal-register-card__reference{font-size:.6rem!important;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.alb-legal-register-card__link{align-self:end;margin-top:auto;padding-top:6px;color:#6f520d;font-size:.6rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase;text-decoration:none!important}
.alb-legal-document-head{margin:0 0 24px;padding:24px 26px;background:#f7f1e5;border:1px solid var(--elect-line);border-top:5px solid var(--elect-gold)}
.alb-legal-document-head__top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px;color:#6f520d;font-size:.62rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.alb-legal-document-head h1{max-width:900px;margin:0;color:var(--elect-ink);font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.7rem,3vw,2.7rem);line-height:1.05}
.alb-legal-document-meta{display:flex;flex-wrap:wrap;gap:0;margin:20px 0 0;border-top:1px solid #d8cfbe;border-left:1px solid #d8cfbe}
.alb-legal-document-meta>div{min-width:180px;padding:10px 14px;border-right:1px solid #d8cfbe;border-bottom:1px solid #d8cfbe}
.alb-legal-document-meta dt{color:var(--elect-muted);font-size:.54rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.alb-legal-document-meta dd{margin:3px 0 0;font-family:Georgia,"Times New Roman",serif;font-size:.85rem}
.alb-legal-document-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:16px}
.alb-legal-document-actions a{font-size:.61rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;text-decoration:none!important}
.alb-legal-document-relations{margin-top:16px;padding:12px 14px;background:#fff;border-left:3px solid var(--elect-gold)}
.alb-legal-document-relations>strong{font-size:.59rem;letter-spacing:.07em;text-transform:uppercase}
.alb-legal-document-relations ul{display:flex;flex-wrap:wrap;gap:6px 18px;margin:6px 0 0;padding:0;list-style:none}
.alb-legal-document-relations li{font-size:.69rem}
.alb-legal-toc{margin:0 0 26px;padding:18px 20px;background:#fff;border:1px solid var(--elect-line);border-left:4px solid #0b0907}
.alb-legal-toc>strong{font-family:Georgia,"Times New Roman",serif;font-size:1.05rem}
.alb-legal-toc ol{columns:2;column-gap:28px;margin:10px 0 0;padding-left:20px}
.alb-legal-toc li{break-inside:avoid;margin:0 0 5px;font-size:.72rem;line-height:1.4}
.alb-legal-toc a{text-decoration:none}
.alb-elections-legal-document__text [id^="article-"]{scroll-margin-top:110px}
.alb-elections-legal-document__text{font-size:.92rem;line-height:1.7}
.alb-elections-legal-document__text>p,.alb-elections-legal-document__text>ul,.alb-elections-legal-document__text>ol{max-width:920px}
.alb-elections-promulgation-form{display:grid!important;grid-template-columns:minmax(220px,1fr) auto;gap:10px!important;align-items:end!important;width:100%}
.alb-elections-promulgation-form label{display:grid!important;gap:5px!important;margin:0!important}
.alb-elections-promulgation-form label>span{font-size:.56rem!important;font-weight:850!important;letter-spacing:.06em!important;text-transform:uppercase!important}
.alb-elections-promulgation-form input[type="text"]{width:100%!important;min-height:40px!important;padding:8px 10px!important;background:#fff!important;border:1px solid #cfc5b5!important}
.alb-elections-result-banner a{display:inline-block;margin-top:8px;font-size:.61rem;font-weight:850;text-transform:uppercase;text-decoration:none!important}
@media(max-width:900px){.alb-legal-register-filters{grid-template-columns:1fr 1fr}.alb-legal-register-filters .alb-elections-button{width:max-content}.alb-legal-register-list{grid-template-columns:1fr}}
@media(max-width:640px){.alb-legal-register-filters{grid-template-columns:1fr}.alb-legal-document-head{padding:18px}.alb-legal-document-meta{display:grid}.alb-legal-document-meta>div{min-width:0}.alb-legal-toc ol{columns:1}.alb-elections-promulgation-form{grid-template-columns:1fr}.alb-elections-promulgation-form .alb-elections-button{width:100%}}
.alb-elections-legal-document{--elect-ink:#0d0b08;--elect-text:#2a2722;--elect-muted:#716b61;--elect-line:#ded8cc;--elect-soft:#f5f1e8;--elect-ivory:#faf7ef;--elect-paper:#fff;--elect-gold:#b28a18;--elect-gold-dark:#86670e;--elect-success:#45654b;--elect-warning:#9b6d22;--elect-danger:#8f3d38;color:var(--elect-text)}
body.has-albanuova-legislation .wp-block-post-content,body.has-albanuova-legislation .wp-block-shortcode,body.has-albanuova-legal-text .wp-block-post-content,body.has-albanuova-legal-text .entry-content{overflow:visible!important}
body.has-albanuova-legal-text .wp-block-post-title{display:none!important}
body.has-albanuova-legislation .wp-block-post-title{display:none!important}

/* 0.2.18 — registre Législation : type de publication auto-détecté + taxonomie texte-juridique */
.alb-elections-legislation-template{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.alb-elections-legislation-template>.alb-elections-app{width:100%;max-width:none;margin:0}

/* 0.3.0 — législation native : l'index et les textes utilisent le même dossier institutionnel. */
.alb-elections-legal-document-page .alb-elections-main{padding-top:22px}
.alb-elections-legal-document-page .alb-elections-legal-document{max-width:1080px;margin:0 auto}
.alb-legal-document-head__summary{max-width:880px;margin:14px 0 0;color:var(--elect-muted);font-family:Georgia,"Times New Roman",serif;font-size:.93rem;line-height:1.55}
.alb-elections-legal-document__text{padding:2px 4px 30px;color:var(--elect-text)}
.alb-elections-legal-document__text h2,.alb-elections-legal-document__text h3{font-family:Georgia,"Times New Roman",serif;color:var(--elect-ink)}
.alb-elections-legal-document__text blockquote{max-width:920px;margin:20px 0;padding:14px 18px;background:#f7f1e5;border-left:4px solid var(--elect-gold)}
.alb-elections-legal-document__text table{width:100%;max-width:980px;border-collapse:collapse}
.alb-elections-legal-document__text th,.alb-elections-legal-document__text td{padding:9px 10px;border:1px solid var(--elect-line);vertical-align:top}
.alb-elections-legal-document__text th{background:#f7f1e5;text-align:left}
body.has-albanuova-legal-text .wp-block-post-title,body.has-albanuova-legislation .wp-block-post-title{display:none!important}

/* 0.3.1 — Espace parlementaire */
.alb-elections-parliamentary-cta{margin:0 0 24px;padding:18px 20px;border:1px solid rgba(17,104,108,.18);border-radius:18px;background:linear-gradient(135deg,rgba(225,244,241,.9),rgba(250,248,240,.95));display:flex;align-items:center;justify-content:space-between;gap:18px}.alb-elections-parliamentary-cta div{display:grid;gap:3px}.alb-elections-parliamentary-cta span{font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:#55716e}.alb-elections-parliamentary-cta strong{font-size:18px}.alb-elections-parliamentary-cta small{color:#68716f}.alb-elections-parliamentary-cta a{font-weight:800;text-decoration:none;white-space:nowrap}.alb-parliamentary-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:22px;align-items:start}.alb-parliamentary-editor>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.alb-parliamentary-editor>header h3,.alb-parliamentary-work h3{margin:.15em 0 0}.alb-parliamentary-editor form{display:grid;gap:17px}.alb-parliamentary-fields{display:grid;grid-template-columns:1.4fr .6fr;gap:14px}.alb-parliamentary-editor label{display:grid;gap:7px;font-weight:700}.alb-parliamentary-editor input,.alb-parliamentary-editor select,.alb-parliamentary-editor textarea{width:100%;box-sizing:border-box}.alb-parliamentary-rich-editor{border:1px solid rgba(48,59,57,.18);border-radius:14px;overflow:hidden;background:#fff}.alb-parliamentary-editor-tools{padding:9px 12px;background:#f5f3ec;border-bottom:1px solid rgba(48,59,57,.12);font-size:12px;color:#686d69}.alb-parliamentary-rich-editor textarea{border:0!important;border-radius:0!important}.alb-parliamentary-note{display:grid;gap:4px;padding:13px 15px;border-radius:13px;background:#f4f1e7;color:#555b58}.alb-parliamentary-note span{font-size:13px;line-height:1.5}.alb-parliamentary-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.alb-parliamentary-work{position:sticky;top:24px}.alb-parliamentary-list{display:grid;gap:10px;margin-top:14px}.alb-parliamentary-list article{padding:13px;border:1px solid rgba(48,59,57,.14);border-radius:13px;background:#fff;display:grid;gap:6px}.alb-parliamentary-list article>strong{font-size:14px}.alb-parliamentary-list article>small{color:#747a76}.alb-parliamentary-list article>div{display:flex;gap:12px;align-items:center;margin-top:3px}.alb-parliamentary-list article a,.alb-parliamentary-list article button{appearance:none;border:0;background:none;padding:0;color:inherit;text-decoration:underline;text-underline-offset:3px;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.alb-parliamentary-list article form{margin:0}.alb-parliamentary-preview{margin-top:22px;padding:22px;border:1px solid rgba(178,138,24,.25);border-radius:16px;background:#fffdf8}.alb-parliamentary-preview h3{font-size:24px;margin:.2em 0 .8em}.alb-parliamentary-preview h4{margin:1.4em 0 .5em;border-top:1px solid rgba(48,59,57,.12);padding-top:13px}.alb-elections-bill-section{margin-top:22px}.alb-elections-bill-section>h3{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:#65706d;margin:0 0 10px}.alb-parliamentary-locked{max-width:760px;margin-inline:auto}@media(max-width:900px){.alb-parliamentary-layout{grid-template-columns:1fr}.alb-parliamentary-work{position:static}.alb-parliamentary-fields{grid-template-columns:1fr}}@media(max-width:640px){.alb-elections-parliamentary-cta{align-items:flex-start;flex-direction:column}.alb-elections-parliamentary-cta a{white-space:normal}.alb-parliamentary-actions{align-items:stretch;flex-direction:column}.alb-parliamentary-actions .alb-elections-button{width:100%;justify-content:center}}


/* 0.3.2 — dépôt parlementaire robuste */
.alb-elections-forum-publication-warning{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.alb-elections-forum-publication-warning form{margin:0 0 0 auto}
.alb-elections-forum-publication-warning .alb-elections-button{min-height:38px}
@media(max-width:640px){.alb-elections-forum-publication-warning{align-items:flex-start;flex-direction:column}.alb-elections-forum-publication-warning form{margin-left:0;width:100%}.alb-elections-forum-publication-warning .alb-elections-button{width:100%;justify-content:center}}

/* Élections 0.3.3 — retour explicite du dépôt parlementaire. */
.alb-parliamentary-submit-status{min-height:1.4em;margin:.65rem 0 0;font-size:.9rem;opacity:.78}

/* 0.3.6 — ouverture présidentielle de l'examen et interventions institutionnelles. */
.alb-elections-legislative-debate.is-pending{padding:18px 20px;border:1px solid #ddd3c1;border-left:4px solid #b28a18;background:#fbf7ef}
.alb-elections-institutional-presence{display:flex;flex-wrap:wrap;gap:7px 12px;align-items:center;margin:0 0 18px;padding:10px 12px;border:1px solid #d8d0c3;background:#f7f3eb;color:#5c554b;font-size:.68rem}
.alb-elections-institutional-presence>strong{color:#4b3f20;font-size:.61rem;letter-spacing:.08em;text-transform:uppercase}
.alb-elections-institutional-presence>span{padding-left:10px;border-left:1px solid #d4cabb}
.alb-elections-party-chip.is-institutional{color:#513f14;background:#f7edcf;border-color:#d9c27e;letter-spacing:.03em;text-transform:none}
.alb-elections-matriarch-intervention{display:grid;grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr);gap:20px;margin:0 0 24px;padding:18px;border:1px solid #d5c9b8;border-top:4px solid #b28a18;background:#fffdf8}
.alb-elections-matriarch-intervention h4{margin:.15em 0 .5em;font-family:Georgia,"Times New Roman",serif;font-size:1.25rem}
.alb-elections-matriarch-intervention p{color:#6d655b;font-size:.78rem;line-height:1.55}
.alb-elections-matriarch-intervention form{display:grid;gap:12px}
.alb-elections-matriarch-intervention label{display:grid;gap:6px;font-size:.72rem;font-weight:800;color:#574f45}
.alb-elections-matriarch-intervention input[type=text]{width:100%;box-sizing:border-box;padding:10px;border:1px solid #d5cbbc;background:#fff}
.alb-elections-matriarch-intervention .alb-parliamentary-rich-editor textarea{width:100%;box-sizing:border-box;min-height:180px}
.alb-elections-matriarch-intervention button{justify-self:start;padding:10px 15px;border:0;background:#263e47;color:#fff;font-weight:800;cursor:pointer}
.alb-elections-matriarch-intervention button:hover,.alb-elections-matriarch-intervention button:focus-visible{background:#172b32}
@media(max-width:760px){.alb-elections-matriarch-intervention{grid-template-columns:1fr}.alb-elections-institutional-presence{align-items:flex-start;flex-direction:column}.alb-elections-institutional-presence>span{padding-left:0;border-left:0}}
.alb-elections-review-opening{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px;padding:14px 16px;border-top:1px solid #ddd3c1;background:#fffdf8}
.alb-elections-review-opening>div{max-width:760px}.alb-elections-review-opening h4{margin:.1em 0 .3em;font-family:Georgia,"Times New Roman",serif;font-size:1.1rem}.alb-elections-review-opening p{margin:.25em 0;color:#655d52;font-size:.76rem;line-height:1.5}.alb-elections-review-opening form{margin:0;flex:0 0 auto}.alb-elections-review-opening button{padding:10px 14px;border:0;background:#263e47;color:#fff;font-weight:800;cursor:pointer}.alb-elections-review-opening button:hover,.alb-elections-review-opening button:focus-visible{background:#172b32}
@media(max-width:760px){.alb-elections-review-opening{align-items:stretch;flex-direction:column}.alb-elections-review-opening form,.alb-elections-review-opening button{width:100%}}

/* 0.3.10 — intégration native du Guide du jeu. */
.alb-elections-detail-hero__actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.alb-elections-panel__head-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px 14px;flex-wrap:wrap;text-align:right}
.alb-elections-panel__head-actions .alb-elections-panel__hint{max-width:360px}
.alb-elections-legislative-debate__actions{display:flex;align-items:center;justify-content:flex-end;gap:10px 14px;flex-wrap:wrap}
.alb-elections-matriarch-intervention__actions{display:flex;align-items:flex-start;justify-content:flex-end;gap:10px 14px;flex-wrap:wrap;align-self:center}
.alb-elections-scrutin-card__guide{display:flex;justify-content:flex-end;margin:10px 0 0}
.alb-elections-app .alb-guide-context__button{font-size:.72rem;font-weight:800;letter-spacing:.01em;line-height:1.2}
.alb-elections-matriarch-intervention .alb-guide-modal__content p{font-size:1rem;line-height:1.7;color:var(--alb-guide-text)}
@media(max-width:760px){
  .alb-elections-detail-hero__actions,.alb-elections-panel__head-actions,.alb-elections-legislative-debate__actions,.alb-elections-matriarch-intervention__actions{align-items:flex-start;justify-content:flex-start;text-align:left}
  .alb-elections-scrutin-card__guide{justify-content:flex-start}
}
/* Le dialogue du Guide reste visuellement autonome même lorsqu'il est déclenché depuis un en-tête Élections. */
.alb-elections-app .alb-guide-modal__panel{text-align:left}
.alb-elections-app .alb-guide-modal__panel p{font-size:1rem;line-height:1.7;color:var(--alb-guide-text);font-family:inherit;text-transform:none;letter-spacing:normal}
.alb-elections-app .alb-guide-modal__panel a{font-size:inherit;text-transform:none;letter-spacing:normal}
.alb-elections-app .alb-guide-modal__panel .alb-guide-modal__eyebrow{font-size:.72rem;line-height:1.2}
.alb-elections-app .alb-guide-modal__panel .alb-guide-modal__action a{font-weight:750}
