/* =========================================================================
   Footer — Locations & Hours (elegant redesign)
   PAGES-owned. Loaded after main.min.css so these rules win the cascade
   without touching main.css/main.min.css. Only targets NEW classes below
   (.asm-ftloc*) plus one narrow override of the stock .asm-footer__top
   grid so the brand block reflows to full width now that the location
   grid has moved out into its own section.
   ========================================================================= */

#asm-footer .asm-footer__top{
  grid-template-columns:1fr;
  border-bottom:0;
  padding-bottom:8px;
}
#asm-footer .asm-footer__brand p{ max-width:60ch; }

/* ---- section chrome ---------------------------------------------------- */
.asm-ftloc{
  padding:clamp(40px,5vw,64px) 0;
  border-top:1px solid rgba(247,244,238,.14);
}
.asm-ftloc__head{ margin-bottom:clamp(24px,3vw,36px); }
.asm-ftloc__head .asm-eyebrow{ color:var(--accent-2); }
.asm-ftloc__title{
  font-family:var(--font-display);
  font-size:clamp(1.6rem,2.6vw,2.3rem);
  color:#fff;
  margin:0;
  letter-spacing:-.01em;
}

/* ---- plain 4-across grid (no card boxes) -------------------------------- */
.asm-ftloc__grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  column-gap:24px;
  row-gap:32px;
}
.asm-ftloc__col{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:9px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.10);
}
.asm-ftloc__name{
  font-family:var(--font-display);
  color:#fff;
  font-size:1.02rem;
  font-weight:600;
  margin:0;
  line-height:1.3;
}
.asm-ftloc__addr{
  font-style:normal;
  font-size:.82rem;
  line-height:1.55;
  color:rgba(247,244,238,.62);
  margin:0;
}
.asm-ftloc__addr p{ margin:0; }
.asm-ftloc__line{
  display:flex;
  align-items:center;
  gap:.5em;
  font-size:.82rem;
  min-width:0;
  margin:0;
}
.asm-ftloc__line svg{ flex:none; color:var(--accent-2); }
.asm-ftloc__line a{
  color:rgba(247,244,238,.86);
  text-decoration:none;
  border-bottom:1px solid transparent;
  overflow-wrap:anywhere;
  word-break:break-word;
  min-width:0;
}
.asm-ftloc__line a:hover{ color:var(--accent-2); border-bottom-color:rgba(0,224,198,.4); }

.asm-ftloc__social{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:4px 0 0;
  padding:0;
}
.asm-ftloc__social li{ margin:0; padding:0; list-style:none; }
.asm-ftloc__social li:empty{ display:none; }
.asm-ftloc__social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:transparent;
  border:1px solid rgba(0,224,198,.28);
  color:var(--accent-2);
  font-size:0;
  line-height:1;
  text-decoration:none;
  transition:background .3s ease,transform .3s ease,border-color .3s ease;
}
.asm-ftloc__social a::before{
  font-size:9px;
  font-weight:800;
  letter-spacing:.01em;
  font-family:var(--font-body);
}
.asm-ftloc__social a[aria-label="Twitter"]::before{ content:"X"; }
.asm-ftloc__social a[aria-label="Facebook"]::before{ content:"f"; }
.asm-ftloc__social a[aria-label="Pinterest"]::before{ content:"P"; }
.asm-ftloc__social a[aria-label="LinkedIn"]::before{ content:"in"; }
.asm-ftloc__social a[aria-label="Instagram"]::before{ content:"IG"; }
.asm-ftloc__social a[aria-label="YouTube"]::before{ content:"YT"; }
.asm-ftloc__social a[aria-label="TikTok"]::before{ content:"TT"; }
.asm-ftloc__social a[aria-label="Yelp"]::before{ content:"Y"; }
.asm-ftloc__social a:hover{
  background:rgba(0,224,198,.16);
  border-color:var(--accent-2);
  transform:translateY(-2px);
}

.asm-ftloc__cta{
  margin-top:auto;
  padding-top:6px;
  display:inline-flex;
  align-items:center;
  gap:.4em;
  font-family:var(--font-body);
  font-weight:600;
  font-size:.8rem;
  color:var(--accent-2);
  text-decoration:none;
}
.asm-ftloc__cta span{ transition:transform .28s var(--ease); }
.asm-ftloc__cta:hover span{ transform:translateX(4px); }

/* ---- hours column (8th grid slot, matches the location columns) -------- */
.asm-ftloc__col--hours{ gap:6px; }
.asm-ftloc__hoursnote{
  font-size:.8rem;
  color:rgba(247,244,238,.55);
  margin:0 0 2px;
}
.asm-ftloc__hourslist{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
}
.asm-ftloc__hourslist li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:.3em 0;
  font-size:.8rem;
  color:rgba(247,244,238,.72);
}
.asm-ftloc__hourslist li span:last-child{ color:rgba(247,244,238,.72); white-space:nowrap; }
.asm-ftloc__hourslist li.is-today{ color:#fff; font-weight:700; }
.asm-ftloc__hourslist li.is-today span:last-child{ color:var(--accent-2); font-weight:700; }

@media (max-width:1100px){ .asm-ftloc__grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:820px){ .asm-ftloc__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .asm-ftloc__grid{ grid-template-columns:1fr; } }

/* ---- company name above each footer location title -------------------- */
/* Block <span>, not <p>, so the global p{font-size:14px!important} rule
   does not clamp this eyebrow line. Colour is inherited + dimmed so it
   works in both the dark and light footer skins. */
.asm-ftloc__brand{
  display:block;
  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.005em;
  line-height:1.35;
  margin:0 0 2px;
  opacity:.68;
}
.asm-ftloc__namelink{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .24s var(--ease), border-color .24s var(--ease);
}
.asm-ftloc__namelink:hover,
.asm-ftloc__namelink:focus-visible{
  color:var(--accent-2);
  border-bottom-color:currentColor;
}

/* ---- live footer menus: Explore / Services / Industries We Serve ------- */
.asm-ftnav{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  column-gap:24px;
  row-gap:32px;
  padding:clamp(32px,4vw,48px) 0;
  border-top:1px solid rgba(247,244,238,.14);
}
.asm-ftnav__col{ min-width:0; padding-top:18px; border-top:1px solid rgba(255,255,255,.10); }
#asm-footer .asm-ftnav__title{
  font-family:var(--font-display);
  color:#fff;
  font-size:1.02rem!important;
  font-weight:600;
  margin:0 0 12px;
  letter-spacing:0;
  line-height:1.3;
}
.asm-ftnav__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:2px; }
.asm-ftnav__list a{
  display:inline-block;
  padding:6px 0;
  font-size:.88rem;
  line-height:1.45;
  color:rgba(247,244,238,.8);
  text-decoration:none;
  transition:color .2s ease;
}
.asm-ftnav__list a:hover,.asm-ftnav__list a:focus-visible{ color:var(--accent-2,#00E0C6); }
@media (max-width:760px){ .asm-ftnav{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .asm-ftnav{ grid-template-columns:1fr; } }
