
/* NILA v21.36 Category Page Stability and Mobile Layout Fix */
:root{
  --v36-ink:#06192e;
  --v36-green:#075f3c;
  --v36-blue:#176fc2;
  --v36-gold:#d8a736;
  --v36-muted:#52677f;
  --v36-line:rgba(6,25,46,.12);
  --v36-shadow:0 22px 60px rgba(6,25,46,.10);
}

/* Category directory pages only */
body.v36-category-page .v19-dir-hero{
  padding:26px 0 18px!important;
  background:linear-gradient(180deg,#fff 0%,#f7fbff 100%)!important;
  border-bottom:1px solid rgba(6,25,46,.08)!important;
}
body.v36-category-page .v19-dir-hero .crumbs{
  display:none!important;
}
body.v36-category-page .v19-dir-hero h1{
  font-family:Fraunces,Georgia,serif!important;
  font-size:clamp(32px,4vw,54px)!important;
  letter-spacing:-.055em!important;
  line-height:.95!important;
  margin:0 0 8px!important;
}
body.v36-category-page .v19-dir-hero p{
  max-width:620px!important;
  margin:0 0 14px!important;
}
body.v36-category-page .v19-dir-search{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto!important;
  gap:10px!important;
  border-radius:22px!important;
  padding:10px!important;
  background:#fff!important;
  box-shadow:0 18px 50px rgba(6,25,46,.08)!important;
  border:1px solid rgba(6,25,46,.10)!important;
}
body.v36-category-page .v19-dir-search #dirCat{
  display:none!important;
}
body.v36-category-page .v19-dir-search input,
body.v36-category-page .v19-dir-search button{
  min-height:46px!important;
  border-radius:16px!important;
}
body.v36-category-page .dir-search-intro{
  display:none!important;
}

/* Stable category rail, no page shaking */
body.v36-category-page .v19-cat-rail{
  position:sticky!important;
  top:0!important;
  z-index:60!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(14px)!important;
  border-top:0!important;
  border-bottom:1px solid rgba(6,25,46,.10)!important;
  box-shadow:0 12px 30px rgba(6,25,46,.05)!important;
}
body.v36-category-page .v19-cat-rail .container{
  max-width:1280px!important;
  overflow:hidden!important;
}
body.v36-category-page .v19-cat-rail-inner{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x proximity!important;
  padding:12px 4px!important;
  scrollbar-width:thin!important;
  justify-content:flex-start!important;
}
body.v36-category-page .v19-cat-pill{
  flex:0 0 auto!important;
  scroll-snap-align:start!important;
  white-space:nowrap!important;
}

/* Remove old generated category hero variants and replace with v36 */
body.v36-category-page #v31DirCategoryHero,
body.v36-category-page #v30DirCategoryHero,
body.v36-category-page #v29DirCategoryHero,
body.v36-category-page .v25-category-hero,
body.v36-category-page .v26-category-hero,
body.v36-category-page .v29-dir-category-hero{
  display:none!important;
}

/* v36 category hero with useful map area */
#v36DirCategoryHero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 340px!important;
  gap:18px!important;
  max-width:1280px!important;
  margin:20px auto 16px!important;
  padding:0 24px!important;
  align-items:stretch!important;
}
.v36-category-copy{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;
  gap:18px!important;
  background:#fff!important;
  border:1px solid var(--v36-line)!important;
  border-radius:30px!important;
  box-shadow:var(--v36-shadow)!important;
  padding:20px!important;
  min-height:270px!important;
}
.v36-category-summary{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-width:0!important;
}
.v36-category-summary .kicker{
  display:inline-flex!important;
  width:max-content!important;
  border-radius:999px!important;
  background:rgba(23,111,194,.10)!important;
  color:var(--v36-blue)!important;
  padding:8px 13px!important;
  font-weight:950!important;
  font-size:13px!important;
  margin-bottom:14px!important;
}
.v36-category-summary h1{
  font-family:Fraunces,Georgia,serif!important;
  font-size:clamp(34px,4vw,56px)!important;
  line-height:.95!important;
  letter-spacing:-.055em!important;
  margin:0 0 12px!important;
  color:var(--v36-ink)!important;
}
.v36-category-summary p{
  margin:0 0 18px!important;
  max-width:620px!important;
  color:var(--v36-muted)!important;
  font-size:16px!important;
  line-height:1.5!important;
}
.v36-category-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
.v36-category-actions a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  font-weight:950!important;
  text-decoration:none!important;
  border:1px solid rgba(6,25,46,.12)!important;
}
.v36-category-actions .primary{
  background:var(--v36-green)!important;
  color:#fff!important;
}
.v36-category-actions .secondary{
  background:#fff!important;
  color:var(--v36-ink)!important;
}
.v36-category-map{
  border-radius:24px!important;
  overflow:hidden!important;
  border:1px solid rgba(6,25,46,.10)!important;
  background:#eef5ff!important;
  min-height:230px!important;
  position:relative!important;
}
.v36-category-map #dirMap{
  width:100%!important;
  height:100%!important;
  min-height:230px!important;
  display:block!important;
  visibility:visible!important;
}
.v36-category-map-label{
  position:absolute!important;
  left:14px!important;
  top:14px!important;
  z-index:2!important;
  background:rgba(255,255,255,.92)!important;
  border:1px solid rgba(6,25,46,.10)!important;
  border-radius:999px!important;
  padding:8px 12px!important;
  font-weight:950!important;
  color:var(--v36-ink)!important;
  box-shadow:0 12px 28px rgba(6,25,46,.10)!important;
}
.v36-category-visual{
  border-radius:30px!important;
  overflow:hidden!important;
  border:1px solid var(--v36-line)!important;
  background:#fff!important;
  box-shadow:var(--v36-shadow)!important;
  min-height:270px!important;
}
.v36-category-visual img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
}

/* Providers first, map already in hero */
body.v36-category-page .v19-dir-body{
  display:block!important;
  max-width:1280px!important;
  margin:0 auto 44px!important;
  padding:0 24px!important;
}
body.v36-category-page .v19-dir-list-wrap{
  width:100%!important;
}
body.v36-category-page .v19-dir-list-head{
  margin:6px 0 18px!important;
}
body.v36-category-page #dirMapCard.v36-mapcard-parked{
  display:none!important;
}

/* Mobile category page is action first, not big image first */
@media (max-width: 780px){
  body.v36-category-page .v19-dir-hero{
    padding:16px 0 10px!important;
  }
  body.v36-category-page .v19-dir-hero h1{
    font-size:32px!important;
  }
  body.v36-category-page .v19-dir-hero p{
    font-size:14px!important;
  }
  body.v36-category-page .v19-dir-search{
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:8px!important;
  }
  body.v36-category-page .v19-cat-rail{
    top:0!important;
  }
  #v36DirCategoryHero{
    display:block!important;
    margin:12px auto 14px!important;
    padding:0 14px!important;
  }
  .v36-category-copy{
    display:block!important;
    min-height:0!important;
    padding:16px!important;
    border-radius:22px!important;
  }
  .v36-category-summary .kicker{
    margin-bottom:10px!important;
  }
  .v36-category-summary h1{
    font-size:31px!important;
  }
  .v36-category-summary p{
    font-size:14px!important;
    margin-bottom:14px!important;
  }
  .v36-category-actions a{
    flex:1 1 auto!important;
    min-height:44px!important;
  }
  .v36-category-map{
    margin-top:14px!important;
    min-height:220px!important;
  }
  .v36-category-map #dirMap{
    min-height:220px!important;
  }
  .v36-category-visual{
    display:none!important;
  }
  body.v36-category-page .v19-dir-body{
    padding:0 14px!important;
  }
  body.v36-category-page .v19-dir-list-head{
    display:block!important;
  }
  body.v36-category-page .v19-dir-toolbar{
    margin-top:10px!important;
    overflow-x:auto!important;
    display:flex!important;
    gap:8px!important;
  }
  body.v36-category-page .v19-dir-toolbar select{
    flex:0 0 auto!important;
  }
}


/* Mobile tap and action recovery */
@media (max-width: 780px){
  body.v36-category-page .v19-dir-hero,
  body.v36-category-page .v19-dir-search,
  body.v36-category-page .v19-cat-rail,
  body.v36-category-page #v36DirCategoryHero,
  body.v36-category-page .v19-dir-body,
  body.v36-category-page .dir-grid,
  body.v36-category-page #dirMap{
    pointer-events:auto!important;
  }
  body.v36-category-page .v19-dir-search input,
  body.v36-category-page .v19-dir-search button,
  body.v36-category-page .v19-dir-search select,
  body.v36-category-page .dir-cat,
  body.v36-category-page .v36-category-actions a,
  body.v36-category-page .provider-card,
  body.v36-category-page .dir-card,
  body.v36-category-page a,
  body.v36-category-page button{
    pointer-events:auto!important;
    touch-action:manipulation!important;
  }
  body.v36-category-page .v19-dir-search{
    position:relative!important;
    z-index:120!important;
  }
  body.v36-category-page .v19-cat-rail{
    z-index:115!important;
  }
  body.v36-category-page #v36DirCategoryHero{
    position:relative!important;
    z-index:20!important;
  }
  body.v36-category-page .v19-dir-body{
    position:relative!important;
    z-index:25!important;
  }
  body.v36-category-page .v19-dir-search .ghost,
  body.v36-category-page #dirHeroUseLocation,
  body.v36-category-page #dirSearchBtn{
    width:100%!important;
    cursor:pointer!important;
  }
  body.v36-category-page .mobile-nav{
    z-index:130!important;
  }
}
/* prevent decorative pseudo layers from stealing taps */
body.v36-category-page *::before,
body.v36-category-page *::after{
  pointer-events:none!important;
}
