/* Native election-number fragments. Every rule is opt-in and component-scoped. */
.huugo-election-numbers {
 --hen-ink:#191918; --hen-surface:#b4e7de; --hen-disc:#e8ff58;
 color:var(--hen-ink); background:var(--hen-surface); position:relative; isolation:isolate;
 padding-block:clamp(3rem,6vw,6rem); font-family:var(--wp--preset--font-family--body,Arial,sans-serif);
 line-height:1.5;
}
/* These sections own their gutter, including in TT2 and existing campaign wrappers. */
body .wp-site-blocks .huugo-election-numbers.alignfull,
.editor-styles-wrapper .huugo-election-numbers.alignfull {
 width:100%; max-width:none; margin-inline:0!important; padding-inline:0;
}
.huugo-election-numbers .hen-inner {
 width:min(calc(100% - 2 * var(--huugo-gutter,clamp(1rem,3vw,2.5rem))),var(--huugo-wide,86rem));
 max-width:var(--huugo-wide,86rem); margin-inline:auto;
}
.huugo-election-numbers .hen-heading { border-top:1px solid currentColor; padding-block:1rem 2.5rem; }
.huugo-election-numbers p.hen-eyebrow { font-size:.75rem; letter-spacing:.06em; text-transform:uppercase; font-weight:650; margin:0 0 1.5rem; }
.huugo-election-numbers h2.hen-title { font-family:var(--wp--preset--font-family--editorial,Georgia,serif); font-weight:500; font-size:clamp(2.8rem,6vw,6rem); line-height:1.02; letter-spacing:-.035em; margin:0; overflow-wrap:break-word; }
.huugo-election-numbers .hen-ballots { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--huugo-grid-gap,2rem); }
.huugo-election-numbers .hen-choice { min-width:0; border-top:1px solid currentColor; padding-top:1.25rem; }
.huugo-election-numbers h3.hen-label { font-family:var(--wp--preset--font-family--display,Arial,sans-serif); font-size:clamp(1rem,1.7vw,1.5rem); font-weight:550; letter-spacing:-.02em; line-height:1.4; margin:0 0 2rem; overflow-wrap:anywhere; }
.huugo-election-numbers .hen-disc {
 position:relative; isolation:isolate; container-type:inline-size; width:min(100%,30rem); aspect-ratio:1;
 display:grid; place-items:center; margin:0 auto; padding:0;
}
.huugo-election-numbers .hen-disc::before { content:''; position:absolute; inset:0; border:2px solid var(--hen-ink); border-radius:50%; background:var(--hen-disc); z-index:-1; }
.huugo-election-numbers .hen-disc::after { content:''; position:absolute; inset:3.5%; border:1px solid var(--hen-ink); border-radius:50%; z-index:-1; }
.huugo-election-numbers .hen-choice--assembly { --hen-disc:#ffbde1; }
.huugo-election-numbers p.hen-number {
 font-family:var(--wp--preset--font-family--display,'Unbounded',sans-serif); font-size:clamp(5rem,15vw,12rem); font-size:43cqi;
 font-weight:750; letter-spacing:-.02em; font-variant-numeric:lining-nums tabular-nums;
 line-height:1.05; margin:0; padding:.08em .1em .08em 0; text-align:center; color:var(--hen-ink);
}
.huugo-election-numbers.hen-op { --hen-surface:#f4f1e8; --hen-disc:#ff9b50; }
.huugo-election-numbers.hen-op .hen-inner { display:grid; grid-template-columns:var(--huugo-grid-columns,repeat(12,minmax(0,1fr))); gap:var(--huugo-grid-gap,2rem); align-items:center; }
.huugo-election-numbers.hen-op .hen-heading { grid-column:1 / 8; align-self:stretch; padding-block-end:0; display:flex; flex-direction:column; justify-content:space-between; gap:2rem; }
.huugo-election-numbers.hen-op .hen-title { max-width:15ch; }
.huugo-election-numbers.hen-op .hen-disc { grid-column:9 / -1; }
.huugo-election-numbers.hen-op .hen-number { font-size:30cqi; letter-spacing:-.02em; }
/* Gutenberg wrappers preserve placement and the number's container unit basis. */
.editor-styles-wrapper .huugo-election-numbers .wp-block { max-width:none; }
.editor-styles-wrapper .huugo-election-numbers :is(.hen-ballots,.hen-disc,.hen-heading) > .block-editor-inner-blocks,
.editor-styles-wrapper .huugo-election-numbers :is(.hen-ballots,.hen-disc,.hen-heading) > .block-editor-inner-blocks > .block-editor-block-list__layout { display:contents; }
.editor-styles-wrapper .huugo-election-numbers.hen-op .hen-inner > .block-editor-inner-blocks,
.editor-styles-wrapper .huugo-election-numbers.hen-op .hen-inner > .block-editor-inner-blocks > .block-editor-block-list__layout { display:contents; }
@media(max-width:900px) {
 .huugo-election-numbers.hen-op .hen-heading { grid-column:1 / 7; }
 .huugo-election-numbers.hen-op .hen-disc { grid-column:7 / -1; }
 .huugo-election-numbers.hen-op h2.hen-title { font-size:clamp(2.5rem,5vw,4rem); }
}
@media(max-width:599px) {
 .huugo-election-numbers .hen-ballots { grid-template-columns:1fr; gap:2.5rem; }
 .huugo-election-numbers .hen-disc { width:min(88%,24rem); }
 .huugo-election-numbers h3.hen-label { margin-bottom:1.25rem; }
 .huugo-election-numbers.hen-op .hen-inner { grid-template-columns:1fr; gap:2.5rem; }
 .huugo-election-numbers.hen-op :is(.hen-heading,.hen-disc) { grid-column:1; }
 .huugo-election-numbers.hen-op h2.hen-title { font-size:clamp(2.7rem,10vw,3.8rem); }
}
@media(forced-colors:active) {
 .huugo-election-numbers .hen-disc::before,.huugo-election-numbers .hen-disc::after { border-color:CanvasText; }
}
