/* PASS33 — mobile layout rescue + Maine flag palette accents
   Goal: keep the campaign site usable on phones without changing bill-form text. */
:root{
  --maine-flag-blue:#002664;
  --maine-flag-gold:#ffe84f;
  --maine-flag-red:#ff163c;
  --maine-flag-green:#3e6f3e;
  --maine-flag-white:#ffffff;
}

/* Site-wide mobile de-clutter: page jump chips are useful on desktop but dominate phones. */
@media (max-width: 767px){
  html,body{max-width:100%;overflow-x:hidden;}
  .container{width:100% !important;max-width:100% !important;padding-left:16px !important;padding-right:16px !important;}
  .page-jump-strip{display:none !important;}
  .page-jump-nav,.page-jump-status,.page-jump-progress{display:none !important;}
  .section,.section-alt{padding-top:28px !important;padding-bottom:28px !important;}
  .row,[class*="grid"],[class*="Grid"]{min-width:0 !important;}
  .card,[class$="-card"],[class*="-card"],article,section,aside{max-width:100%;}
  img,svg,video,canvas{max-width:100%;height:auto;}
}

/* Initiative pages get a Maine flag inspired palette: dark blue base, gold calls to action, restrained red/green accents. */
body.maine-flag-palette{
  --bg:var(--maine-flag-blue);
  --bg2:#001b49;
  --panel:#062b62;
  --panel2:#0b356f;
  --cyan:#dff8ff;
  --blue:#0f4da1;
  --gold:var(--maine-flag-gold);
  --danger:var(--maine-flag-red);
  --green:var(--maine-flag-green);
  background:
    radial-gradient(circle at 12% 0%,rgba(255,232,79,.15),transparent 25%),
    radial-gradient(circle at 88% 4%,rgba(255,22,60,.10),transparent 22%),
    linear-gradient(180deg,#002664 0%,#021a43 52%,#001229 100%) !important;
}
body.maine-flag-palette .brand,
body.maine-flag-palette h1,
body.maine-flag-palette h2,
body.maine-flag-palette h3{color:var(--maine-flag-white);}
body.maine-flag-palette .btn.primary,
body.maine-flag-palette .reader-controls button{
  background:linear-gradient(90deg,var(--maine-flag-gold),#fff7b8) !important;
  color:#05152d !important;
  border-color:transparent !important;
}
body.maine-flag-palette .btn.blue,
body.maine-flag-palette .nav-links a.primary{
  background:linear-gradient(90deg,var(--maine-flag-gold),#fff7b8) !important;
  color:#05152d !important;
}
body.maine-flag-palette .loud,
body.maine-flag-palette .eyebrow{
  border-color:rgba(255,232,79,.48) !important;
  background:rgba(255,232,79,.13) !important;
  color:#fffbe2 !important;
}
body.maine-flag-palette .section-number,
body.maine-flag-palette .micro strong{color:var(--maine-flag-gold) !important;}
body.maine-flag-palette .status-card,
body.maine-flag-palette .centerpiece,
body.maine-flag-palette .reader-card{
  border-color:rgba(255,232,79,.36) !important;
}
body.maine-flag-palette .reader-card{box-shadow:0 28px 90px rgba(0,0,0,.34),0 0 0 1px rgba(255,232,79,.10) inset !important;}

/* Initiative-specific mobile rescue. */
@media (max-width: 767px){
  body.maine-flag-palette .focused-nav{position:sticky !important;top:0;background:rgba(0,38,100,.96) !important;}
  body.maine-flag-palette .focused-nav .container{
    min-height:auto !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
    gap:8px !important;
    flex-direction:row !important;
    align-items:center !important;
  }
  body.maine-flag-palette .brand{font-size:12px;letter-spacing:.08em;white-space:nowrap;}
  body.maine-flag-palette .nav-links{
    width:auto !important;
    margin-left:auto;
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:flex-end !important;
    gap:6px !important;
    overflow-x:auto;
    scrollbar-width:none;
  }
  body.maine-flag-palette .nav-links::-webkit-scrollbar{display:none;}
  body.maine-flag-palette .nav-links a{
    flex:0 0 auto !important;
    min-width:0 !important;
    min-height:32px !important;
    padding:7px 9px !important;
    font-size:10px !important;
    letter-spacing:.025em !important;
    white-space:nowrap;
  }
  /* Keep the phone header to three practical actions. The hidden links remain available in the page body. */
  body.maine-flag-palette .nav-links a[href="/initiative-full-text"],
  body.maine-flag-palette .nav-links a[href="/downloads/initiative-draft-changelog-public.txt"]{display:none !important;}

  body.maine-flag-palette .hero{padding:26px 0 14px !important;}
  body.maine-flag-palette .hero-grid,
  body.maine-flag-palette .spotlight,
  body.maine-flag-palette .commentary-grid,
  body.maine-flag-palette .reader-layout{display:block !important;}
  body.maine-flag-palette .hero-card,
  body.maine-flag-palette .status-card,
  body.maine-flag-palette .spotlight-panel,
  body.maine-flag-palette .reader-card,
  body.maine-flag-palette .op-ed-card,
  body.maine-flag-palette .commentary-card,
  body.maine-flag-palette .reader-main-card,
  body.maine-flag-palette .toc-card{
    width:100% !important;
    max-width:100% !important;
    border-radius:18px !important;
    padding:16px !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  body.maine-flag-palette .hero-card{padding:20px 16px !important;}
  body.maine-flag-palette .hero-card:after{display:none !important;}
  body.maine-flag-palette h1{font-size:clamp(34px,10.8vw,48px) !important;line-height:1.02 !important;letter-spacing:-.04em !important;}
  body.maine-flag-palette h2{font-size:clamp(25px,8vw,36px) !important;line-height:1.08 !important;}
  body.maine-flag-palette .lead{font-size:17px !important;line-height:1.45 !important;}
  body.maine-flag-palette .actions{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;margin-top:16px !important;}
  body.maine-flag-palette .btn{width:100%;min-height:44px;padding:11px 14px;border-radius:14px;text-align:center;}
  body.maine-flag-palette .status-card{margin-top:12px !important;}
  body.maine-flag-palette .centerpiece{border-radius:20px !important;}
  body.maine-flag-palette .centerpiece-inner{padding:12px !important;}
  body.maine-flag-palette .bill-callout:before{display:none !important;}
  body.maine-flag-palette .bill-microgrid{grid-template-columns:1fr !important;gap:9px !important;}
  body.maine-flag-palette .micro{padding:12px !important;border-radius:14px !important;}

  body.maine-flag-palette .reader-head{
    position:relative !important;
    top:auto !important;
    display:block !important;
    margin:0 0 8px !important;
    padding:14px !important;
    border-radius:16px !important;
  }
  body.maine-flag-palette .reader-controls{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important;margin-top:12px !important;}
  body.maine-flag-palette .reader-controls button{min-height:42px;border-radius:14px;padding:10px 8px !important;font-size:13px;}
  body.maine-flag-palette .toc-strip{display:none !important;}
  body.maine-flag-palette .section-stack{padding:8px 0 0 !important;gap:10px !important;}
  body.maine-flag-palette .bill-section{border-radius:16px !important;overflow:hidden !important;}
  body.maine-flag-palette .bill-section summary{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    gap:7px 8px !important;
    align-items:start !important;
    padding:13px 12px !important;
    line-height:1.25 !important;
  }
  body.maine-flag-palette .bill-section summary:before{width:22px !important;height:22px !important;margin:0 !important;grid-row:1 / span 2;}
  body.maine-flag-palette .section-number{margin:0 !important;font-size:12px !important;line-height:1.2 !important;}
  body.maine-flag-palette .section-title{font-size:13px !important;line-height:1.25 !important;overflow-wrap:anywhere;}
  body.maine-flag-palette .bill-section pre,
  body.maine-flag-palette .raw-fulltext pre{
    padding:14px 12px !important;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
    font-size:15px !important;
    line-height:1.62 !important;
    letter-spacing:0 !important;
    white-space:pre-wrap !important;
    word-break:normal !important;
    overflow-wrap:break-word !important;
    hyphens:auto !important;
    border-radius:0 !important;
  }
  body.maine-flag-palette .raw-fulltext summary{padding:14px 12px !important;}
  body.maine-flag-palette .toc-card{position:relative !important;top:auto !important;max-height:none !important;margin-bottom:14px !important;}
  body.maine-flag-palette .toc-list{max-height:280px;overflow:auto;padding-right:2px;}
}

@media (max-width: 420px){
  body.maine-flag-palette .container{padding-left:12px !important;padding-right:12px !important;}
  body.maine-flag-palette .hero-card,
  body.maine-flag-palette .status-card,
  body.maine-flag-palette .spotlight-panel,
  body.maine-flag-palette .reader-card,
  body.maine-flag-palette .op-ed-card,
  body.maine-flag-palette .commentary-card,
  body.maine-flag-palette .reader-main-card,
  body.maine-flag-palette .toc-card{padding:14px !important;}
  body.maine-flag-palette .centerpiece-inner{padding:8px !important;}
  body.maine-flag-palette .bill-section pre,
  body.maine-flag-palette .raw-fulltext pre{font-size:14.5px !important;padding:13px 11px !important;}
}
