
/* NILA v21.41 Category/Directory Layout Recovery */
:root{
  --v41d-ink:#071b31;
  --v41d-green:#075f3c;
  --v41d-blue:#176fc2;
  --v41d-line:rgba(7,27,49,.12);
  --v41d-muted:#52677f;
  --v41d-shadow:0 24px 70px rgba(7,27,49,.12);
}
body.v41-category-page .v19-dir-hero{
  padding:22px 0 14px!important;
  background:linear-gradient(180deg,#fff,#f7fbff)!important;
}
body.v41-category-page .v19-dir-hero .crumbs,
body.v41-category-page .v19-dir-hero a[href="index.html"],
body.v41-category-page #v36DirCategoryHero a[href="index.html"]{
  display:none!important;
}
body.v41-category-page .v19-dir-hero h1{
  font-size:clamp(34px,4.6vw,64px)!important;
  line-height:.9!important;
  margin:0 0 8px!important;
}
body.v41-category-page .v19-dir-hero p{
  margin:0 0 12px!important;
  max-width:620px!important;
}
/* Compact search, not the giant web strip */
body.v41-category-page .v19-dir-search{
  width:min(760px,100%)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto!important;
  gap:8px!important;
  padding:8px!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid var(--v41d-line)!important;
  box-shadow:0 14px 42px rgba(7,27,49,.08)!important;
}
body.v41-category-page .v19-dir-search input,
body.v41-category-page .v19-dir-search button,
body.v41-category-page .v19-dir-search select{
  min-height:42px!important;
  border-radius:13px!important;
  font-size:13px!important;
}
body.v41-category-page .v19-dir-search #dirCat{
  display:none!important;
}
body.v41-category-page #dirHeroUseLocation,
body.v41-category-page #dirSearchBtn{
  min-width:116px!important;
  padding:0 14px!important;
}

/* Stop the auto marquee. It is bad for clickable category tabs and was causing shake. */
body.v41-category-page .v19-cat-rail,
body.v41-category-page .v19-cat-rail .container{
  overflow:hidden!important;
  background:#fff!important;
}
body.v41-category-page .v19-cat-rail-inner{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  width:auto!important;
  min-width:0!important;
  transform:none!important;
  animation:none!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x proximity!important;
  scrollbar-width:thin!important;
  padding:12px 4px!important;
}
body.v41-category-page .v19-cat-pill{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  scroll-snap-align:start!important;
}

/* Hero: map takes the left area beside the 3D category image */
body.v41-category-page #v36DirCategoryHero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 340px!important;
  gap:18px!important;
  max-width:1280px!important;
  margin:20px auto 18px!important;
  padding:0 24px!important;
}
body.v41-category-page .v36-category-copy{
  display:grid!important;
  grid-template-columns:minmax(300px,.9fr) minmax(380px,1.1fr)!important;
  gap:18px!important;
  padding:20px!important;
  border-radius:28px!important;
  background:#fff!important;
  border:1px solid var(--v41d-line)!important;
  box-shadow:var(--v41d-shadow)!important;
  min-height:300px!important;
}
body.v41-category-page .v36-category-summary{
  justify-content:center!important;
}
body.v41-category-page .v36-category-summary h1{
  font-size:clamp(34px,4vw,52px)!important;
}
body.v41-category-page .v36-category-map{
  display:block!important;
  min-height:260px!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:#eef5ff!important;
  border:1px solid rgba(7,27,49,.10)!important;
  position:relative!important;
}
body.v41-category-page .v36-category-map-label{
  display:none!important;
}
body.v41-category-page .v36-category-map #dirMap,
body.v41-category-page #v36DirCategoryHero #dirMap{
  width:100%!important;
  height:100%!important;
  min-height:260px!important;
  display:block!important;
  visibility:visible!important;
}
body.v41-category-page .v36-category-visual{
  display:block!important;
  min-height:300px!important;
  border-radius:28px!important;
  overflow:hidden!important;
  box-shadow:var(--v41d-shadow)!important;
}
body.v41-category-page .v36-category-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Since the map is now in the useful top area, hide the duplicate lower map card shell only on category pages */
body.v41-category-page #dirMapCard{
  display:none!important;
}
body.v41-category-page .v19-dir-body{
  display:block!important;
  max-width:1280px!important;
  margin:0 auto 48px!important;
  padding:0 24px!important;
}
body.v41-category-page .v19-dir-list-wrap{
  width:100%!important;
}
@media(max-width:900px){
  body.v41-category-page .v19-dir-search{
    grid-template-columns:1fr 1fr!important;
  }
  body.v41-category-page #dirHeroUseLocation,
  body.v41-category-page #dirSearchBtn{
    min-width:0!important;
  }
  body.v41-category-page #v36DirCategoryHero{
    display:block!important;
    padding:0 14px!important;
  }
  body.v41-category-page .v36-category-copy{
    display:block!important;
    padding:16px!important;
    min-height:0!important;
  }
  body.v41-category-page .v36-category-map{
    margin-top:14px!important;
    min-height:220px!important;
  }
  body.v41-category-page .v36-category-visual{
    display:none!important;
  }
}
@media(max-width:620px){
  body.v41-category-page .v19-dir-search{
    grid-template-columns:1fr!important;
  }
}
