/* Approved Minnesota service area directory */
.coverage{background:var(--black);color:var(--ink);padding:5.2rem 0}
.coverage .container{width:min(1180px,calc(100% - 40px))}
.city-directory{width:100%;min-width:0;background:#fff;color:var(--ink);border:1px solid #2f2f2f;border-radius:18px;padding:2.15rem 2.4rem 2.5rem;box-shadow:0 24px 60px rgba(0,0,0,.55)}
.city-directory>h2{margin:0 0 .45rem;color:var(--black);font-size:clamp(2rem,3.6vw,2.8rem);letter-spacing:-.025em}
.city-directory-intro{margin:0 0 1.65rem;color:var(--muted);line-height:1.55}
.city-search-label{display:block;margin-bottom:.45rem;color:var(--black);font-size:.86rem;font-weight:800}
.city-search-wrap{position:relative;max-width:100%}
.city-directory input{height:48px;width:100%;margin:0;padding:.75rem 1rem .75rem 3rem;border:2px solid #c9c2bb;border-radius:10px;background:#fff;color:var(--ink);font:1rem Arial,sans-serif;box-shadow:none}
.city-directory input:focus{border-color:var(--red);outline:3px solid rgba(186,30,45,.16);outline-offset:1px}
.city-search-icon{left:1.05rem;width:.82rem;height:.82rem;border-color:var(--red)}
.city-search-icon:after{background:var(--red)}
.city-search-help{margin:.45rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.4}
.city-search-results{grid-template-columns:repeat(3,1fr);max-height:180px;margin-top:1rem;border-color:var(--line);background:var(--cream)}
.city-search-status{min-height:1.15rem;margin:.35rem 0 .7rem;color:var(--muted)}
.city-directory-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin:1rem 0 .65rem}
.city-directory-heading h3{margin:0;color:var(--black);font:700 1.2rem/1.25 Arial,sans-serif}
.city-directory-heading p{margin:.1rem 0 0;color:var(--muted);font-size:.8rem}
.city-featured-badge{background:rgba(186,30,45,.09);color:var(--red-dark);border-radius:999px;padding:.34rem .7rem;font-size:.7rem;letter-spacing:0;text-transform:none}
.city-list{display:grid;grid-template-columns:repeat(3,1fr);max-height:292px;overflow-y:auto;margin:0;padding:.6rem .75rem;border:1px solid var(--line);border-radius:11px;background:#fff;scrollbar-color:var(--red) #ece7e2;scrollbar-width:thin}
.city-list span{min-width:0;padding:.48rem .7rem .48rem 1.15rem;border:0;color:var(--ink);font-size:.86rem}
.city-list span:before{left:.35rem;color:var(--red)}
.city-scroll-hint{margin:.55rem 0 0;color:var(--muted);font-size:.75rem;font-weight:400}
.city-scroll-hint span{color:var(--muted);margin-right:.2rem}
@media(max-width:860px){.coverage{padding:4rem 0}.city-directory{padding:1.8rem}.city-list,.city-search-results{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.coverage .container{width:calc(100% - 28px)}.city-directory{padding:1.35rem}.city-list,.city-search-results{grid-template-columns:1fr}.city-directory-heading{align-items:flex-start}}
