/* BenefitMath shared styles: menu, featured layout, ad spots, phone top links, related links. */
/* Ad spots stay hidden until a slot ID is set in BM_ADS (bottom of page), and hide again if Google has no ad to fill them. Until an ad actually arrives the spot takes no space and shows no label, so visitors and reviewers never see empty "Advertisement" boxes. It stays in the layout (not display:none) so Google can still measure its width. */.ad-slot:not(.on){display:none!important}.ad-slot.on:has(ins[data-ad-status="unfilled"]){display:none!important}.ad-slot ins.adsbygoogle{width:100%;max-width:728px}.ad-slot.rect ins.adsbygoogle{max-width:336px}.ad-slot ins[data-ad-status="filled"]{min-height:90px}.ad-slot.rect ins[data-ad-status="filled"]{min-height:250px}.ad-slot.on:not(:has(ins[data-ad-status="filled"])){margin-block:0;gap:0}.ad-slot.on:not(:has(ins[data-ad-status="filled"])) .ad-label{display:none}
.mega{width:min(1010px,calc(100vw - 32px))}
@media (min-width:1061px){.mcols{grid-template-columns:repeat(4,minmax(0,1fr))}}
.mtitle{font:600 15px var(--f-display);color:var(--ink);margin:4px 10px 6px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.ngroup a .jn::after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin:0 0 2px 7px;vertical-align:middle;background:var(--ink)}
.ngroup a.j-fed .jn::after{background:var(--info)}.ngroup a.j-state .jn::after{background:var(--accent)}
.ngroup a.j-both .jn::after{background:linear-gradient(90deg,var(--info) 50%,var(--accent) 50%)}
.mleg{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:12px 16px 0;font-size:12.5px;color:var(--muted)}
.hleg{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:30px 0 -14px;font-size:13px;color:var(--muted)}
.gt2{font:600 20px var(--f-display);margin:0;color:var(--ink)}
@media (max-width:800px){.ngroup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.ngroup a small{display:none}.ngroup a{padding:9px 10px;font-size:14px}.mtitle{margin:8px 10px 4px;padding-bottom:6px}.mleg{padding:10px 12px 0}}
@media (max-width:1060px) and (min-width:801px){.mcols{grid-template-columns:repeat(2,minmax(0,1fr))}.mcol:nth-child(odd){border-left:0}.mcol:nth-child(n+3){border-top:1px solid var(--line);padding-top:8px;margin-top:6px}}
.fk{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0}
.fk span{font:600 11px var(--f-mono);letter-spacing:.07em;text-transform:uppercase;border-radius:999px;padding:4px 10px;background:var(--surface);color:var(--accent);border:1px solid var(--accent)}
.fk span.new{background:var(--accent);color:var(--accent-ink)}
.fjump{display:flex;gap:8px;overflow-x:auto;padding:14px 0 2px;scrollbar-width:none}
.fjump::-webkit-scrollbar{display:none}
.fjump a{flex:none;font-size:13.5px;font-weight:600;color:var(--ink);text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:7px 13px;white-space:nowrap}
.fjump a:hover{border-color:var(--accent);color:var(--accent)}
.fsec{scroll-margin-top:16px;border-top:3px solid var(--accent)!important}
.fsec .tbl td:not(:first-child){font-family:var(--f-mono)}
.fsec .tbl th,.fsec .tbl td{text-align:left!important;padding-right:14px;padding-left:0!important}
.fout a{color:var(--accent);font-weight:600}
.fsec .tbl td.w{white-space:normal;font-family:var(--f-body);text-align:left;color:var(--muted);font-size:13.5px}
.fcta{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.fcta a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600;font-size:14.5px;border-radius:12px;padding:11px 16px;background:var(--accent);color:var(--accent-ink)!important}
.fcta a.alt{background:var(--surface);color:var(--ink)!important;border:1px solid var(--line)}
.fcta a::after{content:"→"}
.fsrc{font-size:12.5px;color:var(--muted);margin:2px 0 0}.fsrc a{color:var(--muted)}
.fpick{display:flex;flex-direction:column;gap:12px;max-width:640px}
.fpick .seg{grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid}
.fout{background:var(--accent-soft);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.fout b{font:600 24px var(--f-display);color:var(--ink)}
.fout span{font-size:14.5px;color:var(--ink)}
.perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}
@media (min-width:900px){.perks{grid-template-columns:repeat(4,minmax(0,1fr))}.perks.two{grid-template-columns:repeat(2,minmax(0,1fr))}}
.perk{background:var(--sunk);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.perk b{font:600 16px var(--f-display);color:var(--ink)}
.perk span{font-size:14px;color:var(--muted)}
.perk a,.perkmore a{color:var(--accent);font-weight:600}
.perkmore{grid-column:1/-1;margin:4px 0 0;font-size:14.5px}

/* ---- one place for the rules-checked date ---- */
html:not([lang="es"]) .summary::before{content:"✓ Rules checked Nov 2, 2026"}
/* ---- top links on phones ---- */
@media (max-width:800px){
  .site{flex-wrap:wrap!important}
  .site .site-r{display:contents}
  .site .brand{order:0}
  .site .themebtn{order:1;margin-left:auto}
  .site .navbtn{order:2}
  .site .navlinks{order:3;display:flex!important;flex:0 0 100%;overflow-x:auto!important;gap:6px;padding:2px 0 0;scrollbar-width:none}
  .site .navlinks::-webkit-scrollbar{display:none}
  .site .navlinks a.qk{flex:none;border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:var(--surface);font-size:13.5px}
  .site .navlinks a.qk[aria-current="page"]{border-color:var(--accent)}
}
/* ---- related links ---- */
.related h2{margin-bottom:2px}
.rel{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.rel a{display:flex;flex-direction:column;gap:3px;padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--sunk);text-decoration:none;color:var(--ink)}
.rel a:hover{border-color:var(--accent)}
.rel b{font:600 15.5px var(--f-display);color:var(--accent)}
.rel b::after{content:" →"}
.rel span{font-size:13.5px;color:var(--muted)}
/* ---- share / copy / print ---- */
.sharebar{display:flex;flex-wrap:wrap;gap:8px}
.sharebar button{font:600 13.5px var(--f-body);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 14px;cursor:pointer}
.sharebar button:hover{border-color:var(--accent);color:var(--accent)}
.sharebar button:first-child{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
@media print{
  .site,.mega,.ad-slot,footer,.mbar,.fjump,.snapjump,.sharebar,.related,.faq,#sources,.btns,.sample,.mlinks{display:none!important}
  body{background:#fff!important;color:#000!important}
  .grid{display:block!important}
  .card,.summary{break-inside:avoid}
  .results::after{content:"Estimate from benefitmath.com. Not an official decision: only the agency can decide.";display:block;margin-top:14px;font-size:12px}
}
/* ---- lighter pages ---- */
.faqmore{display:block;margin:14px 0 0;font:600 14px var(--f-body);color:var(--accent);background:none;border:1px solid var(--line);border-radius:999px;padding:9px 16px;cursor:pointer}
.faqmore:hover{border-color:var(--accent)}
details.alsochk{border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
details.alsochk>summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;gap:3px;padding:14px 16px;position:relative;padding-right:40px}
details.alsochk>summary::-webkit-details-marker{display:none}
details.alsochk>summary::after{content:"";position:absolute;right:18px;top:20px;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s}
details.alsochk[open]>summary::after{transform:rotate(-135deg)}
details.alsochk>summary b{font:600 16px var(--f-display);color:var(--ink)}
details.alsochk>summary span{font-size:13px;color:var(--muted)}
.alsoin{display:flex;flex-direction:column;gap:12px;padding:0 12px 12px}
@media (max-width:760px){
  section.fold>h2{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0!important}
  section.fold>h2::after{content:"";flex:none;width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s;margin-right:4px}
  section.fold.open>h2::after{transform:rotate(-135deg)}
  section.fold>.foldin{display:none}
  section.fold.open>.foldin{display:flex;flex-direction:column;gap:12px;margin-top:12px}
}
/* "Ways to file" box (assets/partners.js) */
.filebox{display:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.filebox.on{display:block}
.filebox h3{font:600 17px var(--f-display);margin:0 0 10px;color:var(--ink)}
.fb-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.fb-item{position:relative;display:flex;flex-direction:column;gap:3px;padding:12px 14px 12px;background:var(--sunk);border-radius:10px;text-decoration:none;color:var(--ink);border:1px solid transparent}
.fb-item:hover{border-color:var(--accent)}.fb-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fb-item b{font-size:15px;font-weight:600;padding-right:56px}.fb-item span{font-size:13px;color:var(--muted);line-height:1.4}
.fb-item em{position:absolute;top:12px;right:12px;font:500 10.5px var(--f-mono);letter-spacing:.05em;text-transform:uppercase;font-style:normal;color:var(--good)}
.fb-item.paid em{color:var(--muted)}
.fb-foot{margin:10px 0 0;font-size:12.5px;color:var(--muted)}.fb-foot a{color:var(--accent)}
/* Email signup above the footer (assets/site.js) */
.signup{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px 24px;align-items:center;margin:34px 0 0;padding:20px 22px;background:var(--accent-soft);border-radius:var(--r)}
@media (max-width:760px){.signup{grid-template-columns:minmax(0,1fr)}}
.signup h2{font:600 20px var(--f-display);margin:0 0 4px;color:var(--ink)}
.signup p{margin:0;font-size:14px;color:var(--ink)}.signup p a{color:var(--accent)}
.signup form{display:flex;gap:8px;flex-wrap:wrap}
.signup input{flex:1 1 200px;min-width:0;font:inherit;font-size:15px;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink)}
.signup button{font:600 14.5px var(--f-body);padding:11px 18px;border:0;border-radius:10px;background:var(--accent);color:#fff;cursor:pointer}
.signup button:focus-visible,.signup input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.signup .su-ok{grid-column:1/-1;font-weight:600}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html[lang="es"] .summary::before{content:"✓ Reglas revisadas 2 nov 2026"}
/* ---- site search ---- */
.searchbtn svg{display:block}
@media (max-width:800px){.site .searchbtn{order:1;margin-left:auto}.site .searchbtn~.themebtn{margin-left:0}}
.srch{position:fixed;inset:0;z-index:100;background:rgba(10,18,15,.45);display:flex;justify-content:center;align-items:flex-start;padding:min(12vh,90px) 16px 16px}
.srch[hidden]{display:none}
html.srch-open{overflow:hidden}
.srch-in{width:100%;max-width:620px;max-height:calc(100vh - 2*min(12vh,90px));display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px -20px rgba(0,0,0,.45);overflow:hidden}
.srch-top{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);color:var(--muted)}
.srch-top input{flex:1;min-width:0;border:0;background:none;color:var(--ink);font:500 17px/1.3 var(--f-body,inherit);outline:none;padding:4px 0}
.srch-top input::-webkit-search-cancel-button{display:none}
.srch-x{border:1px solid var(--line);background:var(--sunk);color:var(--muted);border-radius:7px;font-size:12.5px;padding:4px 9px;cursor:pointer}
.srch-x:hover{color:var(--accent);border-color:var(--accent)}
.srch-r{list-style:none;margin:0;padding:6px;overflow-y:auto}
.srch-r a{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:9px;text-decoration:none;color:var(--ink)}
.srch-r a b{font-weight:600;font-size:15px;line-height:1.3}
.srch-r a span{font-size:13.5px;line-height:1.45;color:var(--muted)}
.srch-r a span mark{background:var(--accent-soft,#d9efe6);color:var(--ink);border-radius:3px;padding:0 1px}
.srch-r a.sel,.srch-r a:hover,.srch-r a:focus-visible{background:var(--sunk);outline:none}
.srch-r a.sel b,.srch-r a:hover b{color:var(--accent)}
.sr-hint{padding:14px 12px;font-size:14px;color:var(--muted)}
/* ---- form fields read as text, not code; monospace stays for result numbers ---- */
input[type=number],select{font-family:var(--f-body);font-variant-numeric:tabular-nums}
.money::before{font-family:var(--f-body)}
/* ---- small links next to the federal/state badge (En español, In English) ---- */
.sb-d a{color:var(--accent);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.sb-d a:hover{text-decoration-thickness:2px}
/* ---- phones: one-row header; the quick links live in the Calculators menu ---- */
@media (max-width:800px){
  .site{flex-wrap:nowrap!important;gap:6px}
  .site .navlinks{display:none!important}
  .site .brand{min-width:0;white-space:nowrap}
  .site .navbtn{padding:8px 12px}
}
@media (max-width:380px){
  .site .searchbtn,.site .themebtn{width:36px;height:36px}
  .site .navbtn{padding:7px 10px;font-size:13.5px;min-height:36px}
}
.crumbs{margin:-6px 0 14px;font-size:13px;color:var(--muted)}
.crumbs ol{display:flex;list-style:none;margin:0;padding:0}
.crumbs li{flex:none;white-space:nowrap}
.crumbs li+li::before{content:"›";margin:0 7px;color:var(--muted)}
.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--ink);text-decoration:underline}
.crumbs li[aria-current]{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}

/* "We filled in answers from your other calculators" note */
.prefill{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;margin:0 0 4px;padding:10px 12px 10px 14px;border-radius:10px;background:var(--accent-soft);color:var(--ink);font-size:14px;line-height:1.45}
.prefill span{flex:1 1 220px}.prefill small{color:var(--muted);font-size:12.5px}
.prefill button{flex:none;font:600 13.5px var(--f-body);color:var(--accent);background:var(--surface);border:1px solid var(--accent);border-radius:8px;padding:6px 12px;min-height:36px;cursor:pointer}

/* "More about your result" box that holds the extra info cards */
details.morecards{border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}
details.morecards>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 18px;font-weight:600;font-size:15px;color:var(--ink)}
details.morecards>summary::-webkit-details-marker{display:none}
details.morecards>summary::after{content:"";margin-left:auto;width:9px;height:9px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s}
details.morecards[open]>summary::after{transform:rotate(-135deg)}
details.morecards>summary:hover{color:var(--accent)}
details.morecards .morein{display:flex;flex-direction:column;gap:12px;padding:0 12px 12px}
details.morecards .morein>.card{box-shadow:none}
