/* WaterDamageGo Locations Design v1.1.0 - design layer for the /locations/
   service-area directory. Loaded ONLY on the locations page (see the PHP
   guard), so plain selectors are safe here. Values mirror the site design
   language: navy #0b2a4a, aqua #0e7fc4, page field #edf4fa, panel line
   #e2edf5, body text #33475c / 1.68, heroes and cards like the services
   hub (.wdg-svc-hero / .wdg-svc-card in wdg-services.css).
   Two selectors are written one class stronger than strictly needed
   (.wdg-locations-list.wdg-loc-wrap and .wdg-locations-list .wdg-loc-cities)
   because Foundation's wdg-frontend.css loads site-wide and also styles
   .wdg-locations-list - these guarantee the directory values win.
   v1.1.0: the hero is real injected markup with a PHOTO background (the
   v1.0.x CSS-only gradient treatment of the content H1 is gone), state
   cards carry a photo header, and city links are pills. */

/* ---------- Page field + hide Kadence's own header ----------
   The injected hero carries the page H1, so the theme's own entry header
   would only duplicate it - the same trick as the Post Hero and Services
   layers. Kadence paints its content column white via ID-level wrappers,
   so the field rules use !important. */
body{background:#edf4fa!important}
#wrapper,.site-container,#inner-wrap,#primary,.content-area,#main,.site-main,main,article.page,.entry-content-wrap,.entry-content{background:transparent!important}
.entry-header{display:none}

/* ---------- Content column ---------- */
.entry-content{max-width:1140px;margin:0 auto;padding:0 20px 12px}
.entry-content p{color:#33475c;line-height:1.68}

/* ---------- Hero (injected markup, mirrors .wdg-svc-hero) ---------- */
.wdg-loc-hero{
    position:relative;
    background-color:#0b2a4a;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
    border-radius:22px;
    box-shadow:0 16px 40px rgba(11,42,74,.22);
    min-height:420px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:54px 30px;
    margin:14px 0 28px;
    color:#fff;
}
.wdg-loc-hero-pill{
    display:inline-block;
    background:rgba(14,127,196,.28);
    border:1px solid rgba(127,212,255,.55);
    color:#cfeaff;
    font-size:12.5px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    line-height:1.4;
    padding:7px 15px;
    border-radius:999px;
}
.entry-content .wdg-loc-hero-title{
    color:#fff;
    font-size:clamp(32px,5vw,46px);
    line-height:1.12;
    letter-spacing:-.01em;
    margin:18px 0 12px;
    text-shadow:0 2px 16px rgba(0,0,0,.45);
}
.entry-content .wdg-loc-hero-sub{
    color:rgba(255,255,255,.92);
    font-size:18px;
    line-height:1.6;
    max-width:720px;
    margin:0 auto;
}
.wdg-loc-hero-chips{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    justify-content:center;
    margin-top:24px;
}
.wdg-loc-hero-chips span{
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.35);
    -webkit-backdrop-filter:blur(6px);
    backdrop-filter:blur(6px);
    color:#fff;
    font-size:14px;
    font-weight:600;
    padding:8px 14px;
    border-radius:999px;
}

/* ---------- Search box ---------- */
.wdg-loc-search{text-align:center;margin:0 auto 26px;max-width:560px}
.wdg-loc-search-label{display:block;color:#0b2a4a;font-weight:700;font-size:18px;margin:0 0 10px}
.wdg-loc-input{
    width:100%;
    padding:15px 22px;
    font-size:17px;
    color:#1c2b39;
    border:1.5px solid #cfe3f2;
    border-radius:999px;
    background:#fff;
    box-shadow:0 4px 18px rgba(11,42,74,.07);
    outline:none;
    transition:border-color .18s ease,box-shadow .18s ease;
}
.wdg-loc-input:focus{border-color:#0e7fc4;box-shadow:0 0 0 4px rgba(14,127,196,.15)}
.wdg-loc-input::placeholder{color:#8aa3b8}

/* ---------- Stats line ---------- */
.wdg-loc-stats{
    text-align:center;
    color:#33475c;
    font-size:16.5px;
    line-height:1.6;
    margin:0 0 26px;
}
.wdg-loc-stats strong{color:#0b2a4a}

/* ---------- Directory grid + state cards ---------- */
.wdg-locations-list.wdg-loc-wrap{max-width:none;margin:0}
.wdg-loc-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(330px,1fr));
    gap:22px;
    align-items:stretch;
}
.wdg-loc-card{
    background:#fff;
    border:1px solid #e2edf5;
    border-radius:16px;
    box-shadow:0 4px 18px rgba(11,42,74,.07);
    padding:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    height:100%;
    transition:transform .18s ease,box-shadow .18s ease;
}
.wdg-loc-card-body{flex:1;display:flex;flex-direction:column}
.wdg-loc-extra{display:none}
.wdg-loc-card.wdg-loc-expanded .wdg-loc-extra{display:list-item}
.wdg-loc-wrap.wdg-loc-searching .wdg-loc-extra{display:list-item}
.wdg-loc-wrap.wdg-loc-searching .wdg-loc-more{display:none}
.wdg-loc-more{
    margin-top:14px;
    align-self:flex-start;
    background:none;
    border:none;
    padding:2px 0;
    font:inherit;
    font-size:14.5px;
    font-weight:700;
    color:#0e7fc4;
    cursor:pointer;
}
.wdg-loc-more:hover{color:#0b2a4a;text-decoration:underline}
.wdg-loc-card:hover{
    transform:translateY(-3px);
    box-shadow:0 14px 30px rgba(11,42,74,.14);
}
.wdg-loc-card-img{display:block;width:100%;height:150px;object-fit:cover}
.wdg-loc-card-body{padding:20px 22px 18px}
.wdg-loc-state{
    color:#0b2a4a;
    font-size:20px;
    margin:0 0 14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}
.wdg-loc-count{
    background:#e8f4fb;
    color:#0e7fc4;
    font-size:12.5px;
    font-weight:700;
    padding:4px 11px;
    border-radius:999px;
    white-space:nowrap;
}
.wdg-locations-list .wdg-loc-cities{
    list-style:none;
    margin:0;
    padding:0;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    columns:auto;
    column-gap:normal;
}
.wdg-loc-city{margin:0}
.wdg-loc-city a{
    display:inline-block;
    background:#eef6fc;
    border:1px solid #d9eaf6;
    color:#1c3d5a;
    font-size:14.5px;
    font-weight:600;
    line-height:1.4;
    text-decoration:none;
    padding:7px 13px;
    border-radius:999px;
    transition:background .15s ease,color .15s ease,border-color .15s ease;
}
.wdg-loc-city a:hover{background:#0b2a4a;color:#fff;border-color:#0b2a4a}
.wdg-loc-empty p{margin:0;color:#33475c;line-height:1.68;font-size:16.5px}

/* ---------- No-results line + bottom call button ---------- */
.wdg-loc-noresults{
    text-align:center;
    color:#33475c;
    font-size:16.5px;
    line-height:1.6;
    padding:26px 0 6px;
    margin:0;
}
.entry-content .wdg-call-link{margin:30px auto 10px}
.entry-content > .wdg-call-link{display:table;margin-left:auto;margin-right:auto}

/* ---------- Mobile ---------- */
@media (max-width:640px){
    .entry-content{padding:0 14px 10px}
    .wdg-loc-hero{min-height:0;padding:40px 18px 44px;border-radius:18px;margin-top:10px}
    .wdg-loc-grid{grid-template-columns:1fr}
    .wdg-loc-card-body{padding:18px}
}

@media (prefers-reduced-motion: reduce){
    .wdg-loc-input,.wdg-loc-city a,.wdg-loc-card{transition:none}
    .wdg-loc-card:hover{transform:none}
}

/* ---------- v1.0.1 live-verification fixes ----------
   Two defects seen live after v1.0.0: (1) Kadence's plain "Locations"
   title band still rendered above the hero - the plain .entry-header
   hide lost to the theme, so the band is now hidden with !important and
   broader Kadence title-area selectors (this stylesheet loads ONLY on
   /locations/, so broad hiding is safe). (2) The content column rendered
   left-shifted with empty space on the right (the page's grid reserves a
   sidebar track) - the wrap is forced to a single centered column and the
   empty sidebar is hidden, all scoped to this page only. */
.entry-header,
.entry-hero,
.page-hero{display:none!important}
#secondary{display:none!important}
#inner-wrap{grid-template-columns:minmax(0,1fr)!important}
#primary,
.content-area,
.site-main{max-width:1140px;margin-left:auto!important;margin-right:auto!important;width:100%}
.entry-content{margin-left:auto!important;margin-right:auto!important}
