/* Shared final layout and control scale for the election edition. */
@media screen {
  :root { --page-w:1280px; --gutter:64px; --ctl-h:44px; --ctl-fs:.875rem; --ctl-r:8px }
  html { scroll-padding-top:calc(var(--masthead-h, 88px) + 20px) }
  body { font-size:1rem; line-height:1.7 }
  .wrap,#view-home .wrap { width:min(var(--page-w),calc(100% - var(--gutter))) }
  .view.on { min-width:0 }
  #view-home.on { height:calc(100dvh - var(--masthead-h,64px)); overflow-y:auto; scroll-snap-type:none }
  #view-home.on>:is(.election-cover,.verdict,.board,.election-coalition,.home-method) { min-height:calc(100dvh - var(--masthead-h,64px)); scroll-snap-align:start }
  .cover-content { padding-block:48px 36px }
  #election-title { font-size:clamp(3rem,5.5vw,4.8rem); letter-spacing:-.035em }
  .cover-tagline { font-size:clamp(1.2rem,2vw,1.6rem); margin-block:12px }
  .cover-purpose { max-width:48ch; font-size:1.0625rem; line-height:1.8; color:#dce4ee; margin:0 0 16px }
  .cover-points { max-width:54ch; gap:7px }
  .cover-points li { font-size:.9375rem }
  .cover-credit { font-size:.75rem }
  .cover-updated { font-size:.8125rem }
  .cover-actions { flex-wrap:wrap }
  #view-home .election-cover .election-countdown { flex-wrap:wrap; gap:16px; margin-top:24px }
  .election-cover .cd-head h3,.election-cover .countdown-cells em { font-size:.8125rem }
  .election-cover .countdown-cells .num { font-size:1.6rem }
  .section-next { width:44px; height:44px; border-radius:8px; margin-block:20px }
  #view-home .verdict { padding-block:32px 0 }
  #view-home .verdict-in { padding:24px 28px 0; border-radius:12px }
  .election-hero { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:36px; padding-block:28px }
  #view-home #verdict-head { font-size:clamp(1.8rem,3vw,2.6rem); line-height:1.3; letter-spacing:-.025em }
  .hero-description { font-size:1rem; line-height:1.8; max-width:48ch }
  .forecast-headline { font-size:1.0625rem; max-width:none }
  .hero-overline,#view-home .verdict .eyebrow { font-size:.875rem }
  .election-visual { min-width:0; border-radius:12px }
  .seatmap svg { max-width:440px; max-height:270px }
  .sm-bloc span,.visual-topline>span:last-child { font-size:.8125rem }
  .sm-votes,.visual-footnote { font-size:.8125rem; line-height:1.7 }
  #view-home .home-forecast-controls { flex-wrap:wrap; gap:16px 24px; padding-block:18px }
  #view-home .home-history-pick { font-size:.875rem; flex-wrap:wrap }
  .board-title { flex-wrap:wrap; gap:16px }
  .board-title>p,.board-note { font-size:.875rem }
  #view-home .board { padding-block:32px }
  #view-home .wall .hcard-leader,#view-home .wall .hcard-pct { font-size:.8125rem }
  .ptile-name { font-size:.9375rem; line-height:1.5 }
  .ptile-leader { font-size:.8125rem; line-height:1.5 }
  .home-method { margin-top:12px; padding-block:40px }
  #view-home .pipe-k { font-size:.9375rem }
  #view-home .pipe-t { font-size:.875rem; line-height:1.7 }
  #view-home .pipe-step { font-size:.8125rem }
  :is(.grid,.election-hero,.wall,.page-head,.controls,.ec-content)>* { min-width:0 }
  .page-intro { padding-block:32px 20px }
  .page-intro p,.page-head p,.sec-note,.data-explainer { font-size:1rem; line-height:1.8 }
  .page-head { flex-wrap:wrap; gap:20px; padding-block:28px 18px }
  #view-polls .page-head h2 { font-size:clamp(1.65rem,3vw,2.2rem) }
  #view-polls .page-head .stats span { font-size:.875rem }
  .page-head-main { min-width:0 }
  .controls,.average-toolbar { flex-wrap:wrap }
  .tablewrap,.dtable-wrap,.mtable { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain }
  .grid.g2 { grid-template-columns:repeat(2,minmax(0,1fr)) }
  #polls-cards { grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)); gap:20px }
  .election-coalition .ec-heading { flex-wrap:wrap }
  .election-coalition .ec-intro { font-size:1rem }
  .election-coalition .ec-source,.election-coalition .ec-source small { font-size:.8125rem }/* Action controls share geometry; data cards keep their own composition. */
  
  body :is(.btn,.cover-actions button,.show-btn,.print-btn,.ec-reset,.ps-close,.ps-steps button),
  body .view :is(.switch button,.wall-toggle button,.calib-switch button,.average-days button,.filter-modes button,.controls-view button),
  #view-home :is(.home-switch button,.show-btn),
  body :is(select,input[type=search],input[type=number],input[type=text]) {
    min-height:44px; border-radius:8px; font-size:.875rem; line-height:1.5; letter-spacing:0;
  }
  body :is(.btn,.cover-actions button,.show-btn),#view-home .show-btn { padding:10px 16px; gap:10px }
  body .view :is(.switch button,.wall-toggle button,.calib-switch button,.average-days button) { padding:8px 12px; white-space:normal }
  body :is(.switch,.wall-toggle,.poll-view-tabs) { border-radius:10px; flex-wrap:wrap; max-width:100%; gap:4px }
  body .masthead-side .print-btn { width:44px; height:44px; border-radius:8px }
  #view-home .show-btn { color:#081522; background:#dfbe76; border-color:#dfbe76; font-weight:700 }
  #view-home .show-btn:hover { background:#f0d8a4 }
  .hero-link { min-height:44px; font-size:.875rem }
  button:disabled { cursor:default; opacity:.5 }
  .mainnav .tab { font-size:.875rem; min-height:44px; padding-inline:10px }
  .brand-txt span { font-size:.75rem }
  .stamp { font-size:.8125rem }
  .intro-result-links { display:none }
  footer p,footer summary { font-size:.875rem; line-height:1.8 }
  @media (max-width:1100px) {
    :root { --gutter:40px }
    .masthead-in { flex-wrap:wrap; gap:8px 16px; padding-block:10px 0 }
    .mainnav { order:3; flex:0 0 100%; justify-content:flex-start; overflow-x:auto; margin:0; padding:0 0 6px }
    .mainnav .tabs { min-width:max-content; flex-wrap:nowrap }
    .masthead-side { margin-inline-start:auto }
    .wall.has-mid { grid-template-columns:1fr }
  }
  @media (max-width:800px) {
    :root { --gutter:32px }
    .election-hero { grid-template-columns:1fr; gap:24px }
    .grid.g2 { grid-template-columns:1fr }
    .cover-content { padding-block:32px }
    .cover-purpose { max-width:44ch }
    .board-title>p { display:block; width:100%; margin:0; order:3 }
    .wall,.wall.has-mid { grid-template-columns:1fr }
    #view-home .verdict-in { padding-inline:20px }
    .election-coalition .ec-content { grid-template-columns:1fr }
  }
  @media (max-width:480px) {
    :root { --gutter:28px }
    #election-title { font-size:3rem }
    .cover-content { padding-bottom:20px }
    .cover-actions { display:grid; grid-template-columns:1fr }
    .cover-actions button { justify-content:space-between }
    .cover-credit { position:static; display:block; text-align:center; padding:8px }
    .cover-purpose { font-size:1rem }
    .cover-points li { font-size:.875rem }
    #view-home .verdict-in { padding-inline:16px }
    .sm-top { flex-wrap:wrap }
    .sm-bloc span { font-size:.75rem }
    .home-forecast-controls>* { max-width:100% }
    #view-home .home-switch { width:100%; display:grid; grid-template-columns:1fr 1fr }
    .poll-view-tabs { display:flex; width:100% }
    .poll-view-tabs button { flex:1 1 110px }
    .ptiles { grid-template-columns:repeat(3,minmax(0,1fr)) }
  }
}
@media screen {
  .live-status {grid-template-columns:1.15fr repeat(3,minmax(0,1fr))}
  .live-status>div {min-width:0}
  .live-status b {line-height:1.4;overflow-wrap:anywhere}
  @media(max-width:600px) {
    .live-status {grid-template-columns:repeat(2,minmax(0,1fr))}
    .live-status>div {padding:16px 12px}
    .live-status b {font-size:1.125rem}
  }
}
@media screen and (max-width:600px) {
  .live-status .live-phase {display:grid;grid-template-columns:8px minmax(0,1fr);align-content:center;gap:6px 8px;text-align:start}
  .live-status .live-phase b {overflow-wrap:normal}
  .live-status .live-phase em {grid-column:2;margin:0}
}/* Election night is a countdown until 22:00 Israel time. */


.view.night-waiting>.wrap {display:none}
.night-countdown {max-width:900px;margin:0 auto;padding:clamp(48px,9vh,100px) 24px;text-align:center;min-height:65vh}
.night-countdown h2 {font-size:clamp(2rem,5vw,3.6rem);margin:12px 0;line-height:1.3}
.night-countdown p {font-size:1.0625rem;color:var(--ink-2);line-height:1.8}
.night-countdown .kicker {color:var(--gold);font-size:.875rem}
.night-clock {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:40px auto;max-width:660px}
.night-clock>div {padding:24px 12px;background:#f0f7fe;border:1px solid #cad8e7;border-radius:12px;display:grid;gap:8px;text-align:center;justify-items:center}
.night-clock b {font-size:clamp(2rem,6vw,4rem);line-height:1.2;font-variant-numeric:tabular-nums;color:#5d4609}
.night-clock span {color:var(--ink-2);font-size:.875rem}
.night-countdown .night-note {font-size:.9375rem;margin-bottom:24px}
@media(max-width:480px){.night-clock{gap:8px;margin-block:28px}.night-clock>div{padding:18px 6px}.night-countdown{padding-inline:16px}.night-countdown p{font-size:1rem}}
