/* Refinements layer. Loads after site.css. Uses the site's own tokens (.s --navy, --gold, --rule...). */

/* ---------- Home: router cards gain direct links ---------- */
.router .rc{display:flex;flex-direction:column;border-bottom:1px solid var(--rule);min-width:0}
.router .rc+.rc{border-left:1px solid var(--rule)}
.router .rc>a.rc-main{border-bottom:0;flex:1;padding-bottom:20px}
.router .rc-q{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:0 32px 30px}
.router .rc-q .lab{flex-basis:100%;font-size:11px}
.router .rc-q a,.router .rc-q a+a{display:inline-flex;flex-direction:row;align-items:center;gap:0;min-height:40px;padding:0 14px;border:1px solid var(--navy);border-bottom:1px solid var(--navy);font:600 14px Archivo,sans-serif;text-decoration:none;transition:background .2s,color .2s}
.router .rc-q a:hover{background:var(--navy);color:#fff}
@media (min-width:901px) and (max-width:1240px){.s .router .rc-q{padding:0 22px 26px}.s .router .rc>a.rc-main{padding-bottom:18px}}
@media (max-width:900px){
  .s .router .rc+.rc{border-left:0}
  .s .router .rc>a.rc-main{padding-bottom:14px}
  .s .router .rc-q{padding:0 4px 24px}
  .s .router .rc-q a{min-height:44px}
}

/* ---------- Home: county map names the place under your finger ---------- */
.gmap{display:block;text-decoration:none}
.gmap .gcap{display:flex;justify-content:center;align-items:baseline;gap:10px;margin-top:14px;min-height:26px;font:600 14px Archivo,sans-serif;color:#fff;letter-spacing:.02em}
.gmap .gcap small{font:500 13px Archivo,sans-serif;color:var(--mist)}
.gmap .cty{cursor:pointer}
.gmap .cty.on{fill:#D4AF37}

/* ---------- VA: entitlement check ---------- */
.ec{margin-top:28px;background:#fff;border:1px solid var(--rule);border-top:3px solid var(--gold);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
.ec-q{padding:34px 36px;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:18px}
.ec-q h3{font-size:28px}
.ec-step{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--slate)}
.ec-opts{display:grid;gap:10px}
.ec-opts button{appearance:none;text-align:left;min-height:56px;padding:12px 18px;background:var(--paper);border:1.5px solid var(--rule);font:600 16px/1.35 Archivo,sans-serif;color:var(--navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;transition:border-color .2s,background .2s}
.ec-opts button:hover{border-color:var(--navy);background:#fff}
.ec-opts button:focus-visible,.ec-back:focus-visible,.pz select:focus-visible,.pbc select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ec-opts button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.ec-opts button .ic{color:var(--gold)}
.ec-back{appearance:none;align-self:flex-start;background:none;border:0;padding:6px 0;font:600 14px Archivo,sans-serif;color:var(--slate);cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.ec-a{padding:34px 40px;background:var(--navy);color:#fff;display:flex;flex-direction:column;gap:14px}
.ec-a .lab{color:var(--gold)}
.ec-a h3{font-size:34px}
.ec-a .k{font-weight:600;color:#fff}
.ec-a p{color:#DEE0E4}
.ec-a .fine{color:var(--mist)}
.ec-a .lnk{color:#fff;align-self:flex-start;margin-top:4px}
.ec-a.flash>*{animation:jrIn .45s cubic-bezier(.2,.8,.2,1)}
.ec-links{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:6px}
.ent article{transition:box-shadow .3s,opacity .3s}
.ent.picked article{opacity:.55}
.ent.picked article.on{opacity:1;box-shadow:0 0 0 2px var(--navy)}
.ent-h{margin-top:44px}
@media (max-width:900px){
  .s .ec{grid-template-columns:1fr}
  .s .ec-q{padding:24px 20px;border-right:0;border-bottom:1px solid var(--rule)}
  .s .ec-q h3{font-size:24px}
  .s .ec-a{padding:26px 20px}
  .s .ec-a h3{font-size:28px}
}

/* ---------- Residential: payment builder starts from a Gwinnett community ---------- */
.pbc{display:flex;flex-direction:column;gap:8px;padding-bottom:22px;border-bottom:1px solid var(--rule)}
.pbc label{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--slate)}
.pbc select,.pz select{appearance:none;height:50px;width:100%;border:1.5px solid var(--navy);border-radius:0;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230D1B2A' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/18px;padding:0 44px 0 14px;font:600 16px Archivo,sans-serif;color:var(--navy);cursor:pointer}
.pbc .fine{min-height:1.5em}
.pbc .fine a{font-weight:600}
.pb-send{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;padding-top:18px;border-top:1px solid rgba(255,255,255,.18)}
.pb-send .lnk{color:#fff}

/* ---------- Gwinnett: city or unincorporated ---------- */
.pz{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start;margin-top:44px}
.pz-map{display:flex;flex-direction:column;gap:18px}
.pz-map svg{display:block;width:100%;max-width:460px;height:auto;margin:0 auto}
.pz-map .cnty{fill:#16283A;stroke:#D4AF37;stroke-width:3;stroke-linejoin:round;cursor:pointer;transition:fill .2s}
.pz-map .cnty.on{fill:#22384E}
.pz-map .cty{fill:#3A4858;stroke:#7B8794;stroke-width:1.5;cursor:pointer;transition:fill .2s}
.pz-map .cty:hover{fill:#8E7A35}
.pz-map .cty.on{fill:#D4AF37;stroke:#D4AF37}
.pz-pick{display:flex;flex-direction:column;gap:8px}
.pz-pick label{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.pz select{border-color:#fff}
.pz-out{display:flex;flex-direction:column;gap:16px;min-width:0}
.pz-out.flash>*{animation:jrIn .45s cubic-bezier(.2,.8,.2,1)}
.pz-kind{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--navy);background:var(--gold);padding:5px 10px}
.pz-out h3{font-size:38px;color:#fff}
.pz-out .p{color:#DEE0E4}
.pz-facts{border-top:1px solid rgba(255,255,255,.2);margin-top:6px}
.pz-facts>div{display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.pz-facts dt{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mist);padding-top:3px}
.pz-facts dd{margin:0;color:#fff;font-weight:600}
.pz-facts dd small{display:block;font-weight:400;font-size:13.5px;line-height:1.5;color:var(--mist);margin-top:3px}
.pz-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:6px}
.pz-links .lnk{color:#fff}
@media (max-width:900px){
  .s .pz{grid-template-columns:1fr;gap:28px;margin-top:28px}
  .s .pz-map svg{max-width:300px}
  .s .pz-out h3{font-size:30px}
  .s .pz-facts>div{grid-template-columns:1fr;gap:2px}
}
@media (prefers-reduced-motion:reduce){.ec-a.flash>*,.pz-out.flash>*{animation:none}}

/* ---------- Skip link ---------- */
.skip{position:absolute;left:12px;top:-80px;z-index:100;background:#fff;color:#0D1B2A;border:2px solid #D4AF37;padding:12px 16px;font:600 15px Archivo,sans-serif;text-decoration:none}
.skip:focus{top:12px}
