/* DCAST homepage premium location map — 2026-08-30 */
body .dhs-location-grid{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  min-height:620px;
}

body .dhs-map{
  display:flex;
  flex-direction:column;
  min-height:620px;
  background:#e8eef0;
}

.dhs-map-header{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  gap:14px;
  min-height:86px;
  padding:16px 18px;
  background:linear-gradient(135deg,#07162b 0%,#0d2941 100%);
  border-bottom:1px solid rgba(255,255,255,.12);
}

.dhs-map-pin{
  flex:0 0 48px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:#fff;
  background:linear-gradient(145deg,#16bc78,#07894f);
  box-shadow:0 10px 24px rgba(8,148,88,.28);
}

.dhs-map-pin svg{
  width:23px;
  height:23px;
  display:block;
}

.dhs-map-heading{
  flex:1 1 auto;
  min-width:0;
}

.dhs-map-heading small{
  display:block;
  margin-bottom:4px;
  color:#66efb5;
  font-size:.69rem;
  font-weight:800;
  line-height:1;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.dhs-map-heading strong{
  display:block;
  color:#fff;
  font-size:.96rem;
  line-height:1.35;
  letter-spacing:-.01em;
}

.dhs-map-directions{
  flex:0 0 auto;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  background:#fff;
  color:#07162b;
  font-size:.78rem;
  font-weight:800;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 8px 20px rgba(0,0,0,.15);
  transition:transform .2s ease,background-color .2s ease,color .2s ease;
}

.dhs-map-directions:hover,
.dhs-map-directions:focus-visible{
  transform:translateY(-2px);
  background:#18b978;
  color:#fff;
}

.dhs-map-frame{
  position:relative;
  flex:1 1 auto;
  min-height:534px;
  background:#dce6e8;
}

body .dhs-map iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:534px;
  border:0;
  filter:none !important;
}

.dhs-location-status{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:18px;
  padding:9px 13px;
  border:1px solid rgba(7,22,43,.1);
  border-radius:999px;
  background:#f3f8f7;
  color:#17324a;
  font-size:.75rem;
  font-weight:750;
}

.dhs-location-status::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#0eaa68;
  box-shadow:0 0 0 5px rgba(14,170,104,.12);
}

@media (max-width:900px){
  body .dhs-location-grid{
    grid-template-columns:1fr;
    min-height:0;
  }

  body .dhs-map{
    min-height:510px;
  }

  .dhs-map-frame,
  body .dhs-map iframe{
    min-height:424px;
  }
}

@media (max-width:620px){
  .dhs-map-header{
    min-height:0;
    flex-wrap:wrap;
    padding:15px;
  }

  .dhs-map-pin{
    flex-basis:44px;
    width:44px;
    height:44px;
    border-radius:13px;
  }

  .dhs-map-heading strong{
    font-size:.86rem;
  }

  .dhs-map-directions{
    width:100%;
    margin-top:2px;
  }

  body .dhs-map{
    min-height:472px;
  }

  .dhs-map-frame,
  body .dhs-map iframe{
    min-height:356px;
  }
}
