/* Court list A: list-first discovery, scoped to /court only. The shared facility
   stylesheet still owns search/filter controls, pagination and weather states. */
:root{--ct-list-ink:#203028;--ct-list-line:#dfe9e2;--ct-list-blue:#39718b}
.ct-hd{
  position:fixed!important;top:var(--hh)!important;left:0!important;right:0!important;
  width:100%!important;max-width:none!important;transform:none!important;
  z-index:900!important;border-bottom:0!important;background:#fbfcfb!important
}
/* Keep only search/filter controls fixed. The count/map/weather strip stays in
   .ct-body and scrolls with the results. */
body.has-visit-ticker main.container .ct-hd{top:var(--visit-shell-top)!important}
.ct-hd-in{
  width:min(1180px,calc(100% - 40px))!important;margin:0 auto!important;
  padding:18px 20px 16px!important;border:1px solid var(--ct-list-line);
  border-radius:16px;background:#f7faf8
}
.ct-top{align-items:center!important;margin-bottom:13px!important}
.ct-ptitle h1{color:var(--ct-list-ink)!important;font-size:24px!important;font-weight:800!important}
.ct-hd .hub-subtabs{margin:0!important}
.facility-filter-row .facility-search-box:focus-within,
.facility-region-select:focus-within summary{outline:2px solid #39718b;outline-offset:2px}
.ct-body{
  padding-top:calc(var(--facility-header-height,150px) + 15px)!important;
  background:transparent!important
}
.ct-list-strip{
  margin-bottom:10px;padding:8px 12px;border:1px solid #d6e1db;
  border-radius:11px;background:#edf4f0
}
.ct-list-summary{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:34px
}
.ct-list-summary-copy{min-width:0}
.ct-list-summary-copy strong{color:var(--ct-list-ink);font-size:15px;font-weight:850}
.ct-list-strip-meta{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:20px;margin-top:2px
}
.ct-sort-label{flex:none;color:#60776a;font-size:11px;font-weight:700;white-space:nowrap}
.ct-list-map-toggle{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;
  min-height:32px;padding:5px 10px;border:1px solid #cadfce;border-radius:8px;
  background:#fff;color:#2d6f49;font-family:inherit;font-size:12px;font-weight:850;cursor:pointer
}
.ct-list-map-toggle:hover{background:#edf6ef;border-color:#a7cbae}
.ct-list-map-toggle:focus-visible,.ct-item:focus-visible,.ct-map-toggle:focus-visible{
  outline:3px solid #39718b;outline-offset:2px
}
.ct-list-map-toggle[hidden]{display:none!important}
.ct-mapsticky{
  position:relative!important;top:auto!important;z-index:5!important;
  margin:10px 0 12px!important;padding:0!important;background:transparent!important;box-shadow:none!important
}
.ct-mapsticky.collapsed{display:none!important}
#ctMapPane{border-radius:13px!important;box-shadow:none!important}
#ctNaverMap{height:240px!important}
.ct-weather-updated{
  justify-content:flex-end!important;gap:4px!important;min-width:0;min-height:18px!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
  background:transparent!important;color:#60776a!important;font-size:11px!important;white-space:nowrap
}
.ct-weather-updated strong{overflow:hidden;color:#315747!important;font-weight:750!important;text-overflow:ellipsis;white-space:nowrap}
.ct-list-wrap{overflow:visible!important;border:0!important;background:transparent!important}
.ct-list{gap:10px!important;background:transparent!important}
.ct-item{
  grid-template-columns:minmax(0,1fr) 72px!important;align-items:stretch!important;
  gap:12px!important;min-height:116px!important;padding:14px!important;
  border:1px solid var(--ct-list-line)!important;
  border-radius:14px!important;background:#fff!important;color:inherit!important;
  transition:border-color .15s,transform .15s,box-shadow .15s!important
}
.ct-item:hover{
  transform:translateY(-2px)!important;border-color:var(--ct-list-line)!important;
  box-shadow:0 9px 23px #194d3614!important
}
.ct-item-main{min-height:72px!important}
.ct-side{width:72px!important}
.ct-thumb,.ct-thumb-fb{width:72px!important;height:72px!important;border-radius:10px!important}
.ct-name{color:var(--ct-list-ink)!important;font-size:16px!important;font-weight:850!important}
.ct-addr{margin-top:5px!important;color:#6d8072!important;font-size:12px!important}
.ct-facts-row{margin-top:auto!important;padding-top:8px!important}
.ct-meta{padding:0!important;border:0!important;gap:5px!important}
.ct-bdg{min-height:22px!important;padding:2px 7px!important;border:1px solid #e0e9e1!important;border-radius:6px!important;font-size:10px!important}
.ct-title-row .ct-weather{background:transparent!important;color:#386547!important;font-size:12px!important}
.ct-title-row .ct-weather .wx-rain{color:#627d6d!important}
@media(max-width:900px){
  .ct-hd-in{width:calc(100% - 32px)!important}
  .ct-list{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  .ct-hd-in{padding:12px!important;border-radius:11px!important}
  .ct-top{margin-bottom:10px!important}
  .ct-ptitle h1{font-size:19px!important}
  .ct-hd .hub-subtabs{padding:2px!important}
  .ct-hd .hub-subtab{min-height:34px!important;padding:0 8px!important;font-size:11.5px!important}
  .ct-body{padding-top:calc(var(--facility-header-height,150px) + 12px)!important}
  .ct-list-strip{padding:7px 10px;border-radius:10px}
  .ct-list-summary-copy strong{font-size:14px}
  .ct-sort-label{font-size:10.5px}
  .ct-list-map-toggle{min-height:32px;padding:5px 9px;font-size:11.5px}
  .ct-weather-updated{font-size:10.5px!important}
  #ctNaverMap{height:205px!important}
  .ct-list{display:block!important;border-top:1px solid var(--ct-list-line)!important}
  .ct-item{
    grid-template-columns:minmax(0,1fr) 68px!important;gap:10px!important;
    min-height:108px!important;padding:12px 2px!important;
    border:0!important;border-bottom:1px solid var(--ct-list-line)!important;
    border-radius:0!important;background:transparent!important
  }
  .ct-item:hover{transform:none!important;border-color:var(--ct-list-line)!important;box-shadow:none!important}
  .ct-item-main{min-height:68px!important}
  .ct-side{width:68px!important}
  .ct-thumb,.ct-thumb-fb{width:68px!important;height:68px!important}
  .ct-name{font-size:15px!important}
  .ct-addr{font-size:13px!important}
  .ct-facts-row{padding-top:6px!important}
  .ct-bdg{min-height:22px!important;padding:2px 6px!important;font-size:11px!important}
  .ct-title-row .ct-weather{font-size:11.5px!important}
}
