/* Styles added for the static multi-site build (county index on the home page). Loaded last. */
.gp-index{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:28px 32px;text-align:left}
.gp-index-state h3{margin:0 0 8px;font-size:18px;color:var(--gp-navy,#031D59)}
.gp-index-state ul{list-style:none;margin:0;padding:0}
.gp-index-state li{margin:0 0 6px;font-size:15px;line-height:1.35}
.gp-index-state a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.gp-index-state a:hover{color:var(--gp-red,#E20414)}

/* Three-plan layout (the original theme block was built for four cards in a 2x2 grid). */
@media (min-width:1025px){
  .gp-local-plans .wrap_inner.gp-plans-3{grid-template-columns:repeat(3,minmax(0,1fr)) !important;max-width:1160px;margin-left:auto;margin-right:auto}
  .gp-local-plans .wrap_inner.gp-plans-3 > div{width:auto !important;max-width:none !important;float:none !important;margin:0 !important}
}

/* Four-stat row (the theme's stats grid assumes five). */
@media (min-width:1025px){ .gp-stats.gp-stats-4{grid-template-columns:repeat(4,minmax(0,1fr))} }

/* --- Fixes already made on the live WordPress sites (Oct 15 2026), carried into the static build --- */
/* Contact links in the "Get in Touch" box are navy on white (the theme had white-on-white). */
body .location-info > a, body .location-info > a:visited, body .location-info > p a { color: #031d59 !important; text-decoration: underline; }
/* ...but the blue company box (phone, email, social icons) keeps its white links. */
body .location-info .company-info a { color: #fff !important; text-decoration: none; }
/* Header logo centred with the buttons on phones; sized like the main site. */
@media (max-width: 559px) {
  html body .site-header .title-area .site-title a { display: flex !important; align-items: center; height: 70px; }
  html body .gp-sync-logo-img { width: 142px !important; }
}
@media (max-width: 429px) { html body .gp-sync-logo-img { width: 128px !important; } }
@media (max-width: 379px) { html body .gp-sync-logo-img { width: 112px !important; } }
/* Hamburger is brand blue so it does not blend into the header. */
@media (max-width: 1024px) {
  html body .menu-toggle, html body .menu-toggle:hover, html body .menu-toggle:focus { background-color: #0540f5 !important; }
}
/* Plan cards: keep each card's button text on a single line. */
.gp-local-plans h3 .gp-plan-price { white-space: nowrap; }

/* Hero secondary CTA: a real outlined button instead of a bare text link. */
.gp-local-hero-ctas .gp-local-link-cta{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:59px;padding:0 28px;border:2px solid rgba(255,255,255,.9);border-radius:10px;font-size:16px;font-weight:600;line-height:1.2;opacity:1;background:transparent;transition:background-color .15s ease,color .15s ease,border-color .15s ease}
.gp-local-hero-ctas .gp-local-link-cta:hover{background:#fff;color:#031d59 !important;border-color:#fff;transform:none}
@media (max-width:480px){.gp-local-hero-ctas .gp-local-link-cta,.gp-local-hero-ctas .section-1-button{width:100%;box-sizing:border-box}}

/* Testimonials on phones: a full-width swipe row so the next card peeks in (the theme squeezed it into the padded text column). */
@media (max-width:767px){
  .reviews .gp-stream.gp-swipe{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:0}
}

/* ===== Data sections (Ad Competition Index, category pressure, permits, comparison, calculator, rules, provenance) ===== */
.gp-aci{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:32px;align-items:center;margin:8px 0 28px}
.gp-aci-card{background:var(--gp-navy,#031D59);color:#fff;border-radius:18px;padding:26px 26px 22px;box-shadow:var(--gp-shadow-lg,0 22px 48px rgba(3,29,89,.16))}
.gp-aci-label{margin:0 0 4px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#9fb4ff}
.gp-aci-score{margin:0 0 12px;line-height:1}
.gp-aci-score strong{font-size:64px;font-weight:800;color:#fff}
.gp-aci-score span{font-size:18px;margin-left:6px;color:#9fb4ff;font-weight:600}
.gp-aci-bar{position:relative;height:12px;border-radius:12px;background:rgba(255,255,255,.18);margin:0 0 14px}
.gp-aci-fill{position:absolute;left:0;top:0;bottom:0;border-radius:12px;background:linear-gradient(90deg,#4f7bff,#ff5b6b)}
.gp-aci-mid{position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;background:#fff;opacity:.85}
.gp-aci-ranks{margin:0;font-size:14.5px;line-height:1.5;color:#e7edff}
.gp-aci-ranks a{color:#fff !important;text-decoration:underline}
.gp-aci-text p{margin:0 0 12px}
.gp-metrics{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.gp-metrics li{background:#fff;border-radius:14px;box-shadow:var(--gp-shadow,0 4px 18px rgba(3,29,89,.07));padding:16px 16px 14px;display:flex;flex-direction:column;gap:6px;border-top:4px solid var(--gp-blue,#0540F5)}
.gp-m-label{font-size:12.5px;line-height:1.35;color:#5a6474;font-weight:600;min-height:34px}
.gp-m-val{font-size:26px;line-height:1.1;font-weight:800;color:var(--gp-navy,#031D59)}
.gp-m-bar{display:block;height:6px;border-radius:6px;background:#E8ECF6;overflow:hidden}
.gp-m-bar i{display:block;height:100%;background:var(--gp-blue,#0540F5);border-radius:6px}
.gp-m-rel{font-size:12.5px;color:#4a4a4a;line-height:1.35}

.gp-press{background:#fff;border-radius:15px;box-shadow:var(--gp-shadow,0 4px 18px rgba(3,29,89,.07));overflow:hidden;margin:6px 0 4px}
.gp-press-head,.gp-press-row{display:grid;grid-template-columns:minmax(150px,1.5fr) 80px minmax(170px,2fr) 110px 100px;gap:14px;align-items:center;padding:12px 20px}
.gp-press-head{background:var(--gp-navy,#031D59);color:#fff;font-size:12.5px;font-weight:600;letter-spacing:.02em}
.gp-press-row{border-top:1px solid #EEF1F8;font-size:15px}
.gp-press-row.is-flag{background:#F5F8FF}
.gp-p-name{font-weight:600;color:var(--gp-navy,#031D59);line-height:1.3}
.gp-p-name em{display:block;font-style:normal;font-size:11.5px;font-weight:700;color:var(--gp-red,#E20414);letter-spacing:.04em;text-transform:uppercase;margin-top:2px}
.gp-p-n,.gp-p-l{font-variant-numeric:tabular-nums;font-weight:700;color:var(--gp-blue,#0540F5)}
.gp-p-bar{display:flex;align-items:center;gap:10px}
.gp-p-track{position:relative;flex:1;height:10px;background:#E8ECF6;border-radius:10px}
.gp-p-track i{position:absolute;left:0;top:0;bottom:0;border-radius:10px;background:#9aa8c9}
.gp-p-track i.hi{background:var(--gp-blue,#0540F5)}
.gp-p-track u{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--gp-navy,#031D59);text-decoration:none}
.gp-p-bar b{min-width:42px;text-align:right;font-weight:800;color:var(--gp-navy,#031D59);font-variant-numeric:tabular-nums}
.gp-p-g{font-weight:700;font-variant-numeric:tabular-nums}
.gp-p-g.up{color:#0e7a3c}.gp-p-g.down{color:var(--gp-red,#E20414)}
@media (max-width:820px){
  .gp-press-head{display:none}
  .gp-press-row{grid-template-columns:1fr 1fr;gap:6px 14px;padding:14px 16px}
  .gp-press-row .gp-p-name{grid-column:1 / -1}
  .gp-press-row .gp-p-bar{grid-column:1 / -1}
  .gp-press-row .gp-p-n::before{content:"Locations: ";font-weight:500;color:#5a6474}
  .gp-press-row .gp-p-g::before{content:"2017-22: ";font-weight:500;color:#5a6474}
  .gp-press-row .gp-p-l::before{content:"20+ staff: ";font-weight:500;color:#5a6474}
}

.gp-permits{background:#fff;border-radius:15px;box-shadow:var(--gp-shadow,0 4px 18px rgba(3,29,89,.07));padding:24px 20px 14px;margin:6px 0 4px}
.gp-bars{display:flex;align-items:flex-end;gap:12px;height:230px}
.gp-bar{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;min-width:0}
.gp-bar i{display:block;width:100%;max-width:62px;background:var(--gp-blue,#0540F5);border-radius:8px 8px 0 0}
.gp-bar-v{font-size:12.5px;font-weight:700;color:var(--gp-navy,#031D59);margin-bottom:4px;font-variant-numeric:tabular-nums}
.gp-bar-l{font-size:12px;color:#5a6474;margin-top:6px;text-align:center;line-height:1.25;min-height:30px}
.gp-bar--ytd i{background:#9aa8c9}
.gp-bar--ytd.gp-bar--now i{background:var(--gp-red,#E20414)}
.gp-bar-sep{width:1px;align-self:stretch;background:#DCE1EE;margin:0 4px}
@media (max-width:520px){.gp-bars{gap:6px;height:200px}.gp-bar-v{font-size:10.5px}.gp-bar-l{font-size:10.5px}}

.gp-compare tbody th a{color:var(--gp-blue,#0540F5);text-decoration:underline}
.gp-compare thead th,.gp-compare tbody td{text-align:right}
.gp-compare thead th:first-child,.gp-compare tbody th{text-align:left}
.gp-compare tbody td{font-weight:700}
.gp-compare tr.is-self th,.gp-compare tr.is-self td{background:#EAF0FF !important}
.gp-compare em{font-weight:500;font-style:normal;color:#5a6474;font-size:13px}
.gp-compare th,.gp-compare td{font-size:15px}
#aci-table thead th:nth-child(2),#aci-table tbody th{text-align:left}
#aci-table thead th:nth-child(3),#aci-table tbody td:nth-child(3){text-align:left}
.gp-aci-filter{margin:0 0 14px}.gp-aci-filter label{font-weight:600;color:var(--gp-navy,#031D59);font-size:14px}
.gp-aci-filter input{display:block;margin-top:6px;width:100%;max-width:360px;padding:12px 14px;border:1px solid #cfd6e6;border-radius:10px;font:inherit;font-size:16px}

.gp-calc{background:#fff;border-radius:16px;box-shadow:var(--gp-shadow,0 4px 18px rgba(3,29,89,.07));padding:24px;margin-top:8px}
.gp-calc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.gp-calc label{display:block;font-size:13.5px;font-weight:600;color:var(--gp-navy,#031D59);line-height:1.35}
.gp-calc input,.gp-calc select{display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:12px 14px;border:1px solid #cfd6e6;border-radius:10px;font:inherit;font-size:16px;color:#222;background:#fff}
.gp-calc input:focus,.gp-calc select:focus{outline:2px solid var(--gp-blue,#0540F5);outline-offset:1px}
.gp-calc-out{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.gp-calc-out>div{background:#F5F7FC;border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.gp-calc-out span{font-size:13px;color:#5a6474;line-height:1.35}
.gp-calc-out strong{font-size:26px;font-weight:800;color:var(--gp-blue,#0540F5);line-height:1.1}
.gp-calc-out .wide{grid-column:1 / -1;background:#EAF0FF}
.gp-calc-out .wide span{font-size:15px;color:var(--gp-navy,#031D59);font-weight:600}
@media (max-width:640px){.gp-calc-grid,.gp-calc-out{grid-template-columns:1fr}.gp-calc{padding:18px}}

.gp-rules{display:grid;gap:14px;margin-top:6px}
.gp-rule{background:#fff;border:1px solid #E2E6EF;border-left:5px solid var(--gp-blue,#0540F5);border-radius:12px;padding:18px 20px}
.gp-rule h3{margin:0 0 8px;font-size:18px;color:var(--gp-navy,#031D59)}
.gp-rule p{margin:0 0 8px;font-size:15.5px;line-height:1.6}
.gp-rule-src{font-size:13.5px !important;color:#5a6474}
.gp-rule-src a{color:var(--gp-blue,#0540F5);text-decoration:underline}

.gp-prov-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.gp-prov-list li{display:grid;grid-template-columns:170px 1fr;gap:14px;font-size:15px;line-height:1.5;padding-top:10px;border-top:1px solid #DCE1EE}
.gp-prov-list strong{color:var(--gp-navy,#031D59)}
.gp-prov-list a{color:var(--gp-blue,#0540F5);text-decoration:underline}
@media (max-width:640px){.gp-prov-list li{grid-template-columns:1fr;gap:2px}}

@media (max-width:1024px){.gp-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.gp-aci{grid-template-columns:1fr}}
@media (max-width:430px){.gp-m-val{font-size:22px}.gp-aci-score strong{font-size:54px}}
.gp-compare tbody td{white-space:nowrap}
.gp-compare thead th{vertical-align:bottom;line-height:1.3}
.gp-compare tbody th{min-width:170px}
.gp-bar i{flex:none}

/* Hero buttons: the theme's .button margin-top pushed "Schedule a Consultation" 14px below "See Pricing". Same height, same baseline, centred. */
html body .gp-local-hero-ctas{align-items:center}
html body .gp-local-hero-ctas .button.section-1-button,html body .gp-local-hero-ctas a.section-1-button{margin:0 !important;min-height:59px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
html body .gp-local-hero-ctas .gp-local-link-cta{margin:0 !important}
.gp-table thead th:not(:first-child){text-align:right}

/* County directory on the home page: 400 links grouped by state, flowed into columns so it stays compact. */
.gp-index{display:block;column-width:210px;column-gap:32px}
.gp-index-state{break-inside:avoid;margin:0 0 22px}
.gp-index-state li{margin:0 0 5px;font-size:14.5px}
