/* Live site additions to the demo shell: the account entry and a footer with sources and legal pages. */
.top-actions .header-account{text-decoration:none}
.live-footer{margin-left:var(--rail-w);padding:20px 32px 40px;border-top:1px solid var(--rule);background:var(--paper);font-size:13px;color:var(--ink-3)}
.live-footer nav{display:flex;flex-wrap:wrap;align-items:center;gap:0 20px;max-width:1180px;margin:0 auto}
.live-footer nav a,.live-footer nav button{display:inline-flex;align-items:center;min-height:44px;font-size:13px;color:var(--ink-2)}
.live-footer p{max-width:1180px;margin:0 auto}
@media(max-width:900px){
  .live-footer{margin-left:0;padding:16px 16px 104px}
  .top-actions .header-account span{display:none}
}

/* Election pages (elections.js), built from the demo's components. */
.mt-find-form{display:flex;flex-wrap:wrap;gap:10px;max-width:none}
.mt-find-form input{flex:1 1 160px;min-height:48px}
.mt-find-form select{flex:1 1 200px;width:auto;min-height:48px;border:1px solid var(--rule-2);border-radius:var(--r-row);background:var(--sheet);color:var(--ink);font-size:16px;padding:11px 12px}
.mt-find-form .btn{min-height:48px}
.seg-tabs a.chip{text-decoration:none;color:inherit}
.mt-state>summary{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;min-height:44px;cursor:pointer;list-style-position:inside}
.mt-state .list{margin-top:8px}
.em-frame{display:block;width:100%;min-height:720px;border:0;background:#FFFFFF;border-radius:8px}
.chip[aria-current="page"]{background:var(--fill);color:var(--ink);border-color:var(--fill);font-weight:600}
.chip .tab,.chip .mono.tab{color:var(--ink-2);opacity:1}
.mt-hemi{max-width:720px}
/* Wide screens: the footer lines up with the page column and the top bar. */
@media(min-width:1280px){.live-footer{padding-left:48px;padding-right:48px}.live-footer nav,.live-footer p{max-width:1280px}}
@media(min-width:1700px){.live-footer nav,.live-footer p{max-width:1380px}}

/* Polish from the full visual review. */
.chip .mono.tab{margin-left:6px;opacity:.7}
.chip[disabled]{display:none}
.rail .brand-slogan,.rail-foot .brand-slogan{text-wrap:balance}
.prod-provenance>summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-2);min-height:32px;display:flex;align-items:center;gap:8px;list-style-position:inside}
.prod-provenance[open]>summary{margin-bottom:6px}
.mt-state-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px;align-items:start}
.cmt.cmt-empty{padding:10px 16px;opacity:.85;gap:4px;align-self:start}
@media(max-width:600px){
  /* Bar lists: the name gets its own line, so it is never cut off. */
  .hbar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"l v" "t t";row-gap:5px}
  .hbar>:first-child{grid-area:l;min-width:0;white-space:normal;overflow:visible;text-overflow:clip}
  .hbar .track{grid-area:t}
  .hbar .v{grid-area:v}
  #main select,#main input:not([type=checkbox]):not([type=radio]){max-width:100%;box-sizing:border-box}
}
/* Shorter desktop windows: tighter sidebar rows so more of the menu is visible. */
@media(min-width:1024px) and (max-height:1000px){
  #rail .nav a{min-height:38px;padding-top:6px;padding-bottom:6px}
  #rail .nav .grp{margin-top:10px;margin-bottom:2px}
}
@media(min-width:1024px) and (max-height:780px){
  #rail .nav a{min-height:34px;padding-top:4px;padding-bottom:4px}
}
