
/* NILA v21.47 Provider Page Map and Layout Recovery */
:root{
  --v47-ink:#071b31;
  --v47-green:#075f3c;
  --v47-teal:#007f78;
  --v47-blue:#176fc2;
  --v47-yellow:#ffc400;
  --v47-line:rgba(7,27,49,.12);
  --v47-muted:#52677f;
}
body.page-provider{
  background:#f7fbff!important;
}
body.page-provider #providerProfileMount{
  max-width:1280px!important;
  margin:22px auto 18px!important;
  padding:0 24px!important;
}
.v47-provider-shell{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 390px!important;
  gap:18px!important;
  align-items:stretch!important;
}
.v47-provider-main{
  background:#fff!important;
  border:1px solid var(--v47-line)!important;
  border-radius:30px!important;
  box-shadow:0 24px 70px rgba(7,27,49,.12)!important;
  padding:24px!important;
  min-height:330px!important;
}
.v47-provider-main .kicker{
  display:inline-flex!important;
  border-radius:999px!important;
  background:rgba(23,111,194,.10)!important;
  color:var(--v47-blue)!important;
  padding:8px 13px!important;
  font-weight:950!important;
  font-size:13px!important;
  margin-bottom:14px!important;
}
.v47-provider-main h1{
  font-family:Fraunces,Georgia,serif!important;
  font-size:clamp(38px,4.6vw,64px)!important;
  line-height:.92!important;
  letter-spacing:-.06em!important;
  color:var(--v47-ink)!important;
  margin:0 0 10px!important;
}
.v47-provider-main .meta{
  color:var(--v47-muted)!important;
  font-weight:800!important;
  font-size:16px!important;
  margin-bottom:18px!important;
}
.v47-provider-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:18px 0!important;
}
.v47-provider-actions a,
.v47-provider-actions button{
  min-height:44px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 16px!important;
  border-radius:999px!important;
  font-weight:950!important;
  text-decoration:none!important;
  border:1px solid var(--v47-line)!important;
  background:#fff!important;
  color:var(--v47-ink)!important;
}
.v47-provider-actions .primary{
  background:var(--v47-green)!important;
  color:#fff!important;
  border-color:var(--v47-green)!important;
}
.v47-provider-map{
  margin-top:18px!important;
  min-height:260px!important;
  border-radius:24px!important;
  overflow:hidden!important;
  border:1px solid rgba(7,27,49,.10)!important;
  background:#eaf2fb!important;
}
.v47-provider-map iframe{
  width:100%!important;
  height:100%!important;
  min-height:260px!important;
  border:0!important;
  display:block!important;
}
.v47-provider-side{
  background:#fff!important;
  border:1px solid var(--v47-line)!important;
  border-radius:30px!important;
  box-shadow:0 24px 70px rgba(7,27,49,.12)!important;
  overflow:hidden!important;
  min-height:330px!important;
}
.v47-provider-side img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.v47-provider-facts{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin-top:16px!important;
}
.v47-provider-facts div{
  background:#f7fbff!important;
  border:1px solid rgba(7,27,49,.08)!important;
  border-radius:16px!important;
  padding:12px!important;
}
.v47-provider-facts b{
  display:block!important;
  color:var(--v47-ink)!important;
  font-size:14px!important;
}
.v47-provider-facts span{
  display:block!important;
  color:var(--v47-muted)!important;
  font-size:12px!important;
  font-weight:750!important;
  margin-top:3px!important;
}
body.page-provider #reviewSection{
  max-width:1280px!important;
  margin:0 auto 50px!important;
  padding:0 24px!important;
  display:block!important;
}
body.page-provider #reviewSection > div{
  background:#fff!important;
  border:1px solid var(--v47-line)!important;
  border-radius:24px!important;
  box-shadow:0 16px 45px rgba(7,27,49,.08)!important;
  padding:22px!important;
}

/* Hide long filler premium panels inserted by old scripts */
body.page-provider .premium-panel:not(.main-panel),
body.page-provider .premium-gallery,
body.page-provider .premium-highlights{
  display:none!important;
}

/* Provider/directory/category web rail marquee */
@media(min-width:781px){
  body.page-provider .v47-provider-rail,
  body.v46-category-page .v19-cat-rail,
  body.v45-category-page .v19-cat-rail,
  body.v41-category-page .v19-cat-rail{
    overflow:hidden!important;
  }
  body.page-provider .v47-provider-rail-inner,
  body.v46-category-page .v19-cat-rail-inner,
  body.v45-category-page .v19-cat-rail-inner,
  body.v41-category-page .v19-cat-rail-inner{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:10px!important;
    width:max-content!important;
    min-width:max-content!important;
    animation:v47RailMarquee 26s linear infinite!important;
    overflow:visible!important;
  }
  body.page-provider .v47-provider-rail:hover .v47-provider-rail-inner,
  body.v46-category-page .v19-cat-rail:hover .v19-cat-rail-inner,
  body.v45-category-page .v19-cat-rail:hover .v19-cat-rail-inner,
  body.v41-category-page .v19-cat-rail:hover .v19-cat-rail-inner{
    animation-play-state:paused!important;
  }
  @keyframes v47RailMarquee{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }
}
.v47-provider-rail{
  max-width:1280px!important;
  margin:16px auto 0!important;
  padding:0 24px!important;
  overflow:hidden!important;
}
.v47-provider-rail-inner a{
  flex:0 0 auto!important;
  display:inline-flex!important;
  min-height:40px!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 15px!important;
  border-radius:999px!important;
  border:1px solid var(--v47-line)!important;
  background:#fff!important;
  color:var(--v47-ink)!important;
  font-weight:900!important;
  text-decoration:none!important;
}
.v47-provider-rail-inner a.active{
  background:var(--v47-green)!important;
  color:#fff!important;
  border-color:var(--v47-green)!important;
}

@media(max-width:780px){
  body.page-provider #providerProfileMount{
    padding:0 14px!important;
    margin-top:14px!important;
  }
  .v47-provider-shell{
    display:block!important;
  }
  .v47-provider-main{
    padding:18px!important;
    border-radius:24px!important;
  }
  .v47-provider-main h1{
    font-size:40px!important;
  }
  .v47-provider-side{
    display:none!important;
  }
  .v47-provider-map{
    min-height:230px!important;
  }
  .v47-provider-map iframe{
    min-height:230px!important;
  }
  .v47-provider-facts{
    grid-template-columns:1fr!important;
  }
  .v47-provider-rail-inner{
    animation:none!important;
    transform:none!important;
    overflow-x:auto!important;
    display:flex!important;
    width:auto!important;
    min-width:0!important;
    -webkit-overflow-scrolling:touch!important;
  }
}
