:root{
  --fc-neon:#e6ef00;
  --fc-green:#0a7d59;
  --fc-navy:#102947;
  --fc-clay:#c1652f;
  --fc-ink:#1e2d3d;
  --fc-muted:#6e7b87;
  --fc-soft:#f6f8f7;
  --fc-border:#e2e8e5;
}

/* FlashCourt design system overrides. */
.flashcourt-ui-500 a{transition:color .18s ease,background-color .18s ease,border-color .18s ease}
.flashcourt-ui-500 .search-submit,
.flashcourt-ui-500 .btn-primary,
.flashcourt-ui-500 .button-primary,
.flashcourt-ui-500 input[type=submit],
.flashcourt-ui-500 button[type=submit]{background:var(--fc-neon)!important;border-color:var(--fc-neon)!important;color:var(--fc-navy)!important}
.flashcourt-ui-500 .search-submit:hover,
.flashcourt-ui-500 .btn-primary:hover,
.flashcourt-ui-500 .button-primary:hover,
.flashcourt-ui-500 input[type=submit]:hover,
.flashcourt-ui-500 button[type=submit]:hover{background:#d8e100!important;border-color:#d8e100!important;color:var(--fc-navy)!important}
.flashcourt-ui-500 .featured-label,
.flashcourt-ui-500 .card__tag,
.flashcourt-ui-500 .ribbon,
.flashcourt-ui-500 .listing-featured-badge,
.flashcourt-ui-500 .job_listing--featured .card__featured-tag{background:var(--fc-green)!important;color:#fff!important}
.flashcourt-ui-500 .showing_jobs a,
.flashcourt-ui-500 .reset-results,
.flashcourt-ui-500 .card__title{color:var(--fc-navy)!important}
/* Verified/claimed-listing checkmark badge (the SVG fills with currentColor,
   so without this it just inherits whatever ambient text color surrounds it —
   navy on cards, red by default on the single listing header). One explicit
   clay-court-orange color, everywhere the badge appears. */
.flashcourt-ui-500 .listing-claimed-icon{color:var(--fc-clay)!important}

/* Milestone 1 — court/coach detail row and amenity tags */
.fc-detail-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.fc-spec{display:inline-flex;align-items:center;height:34px;padding:0 14px;border:1px solid var(--fc-border);border-radius:999px;font-size:13px;font-weight:700;color:var(--fc-navy)}
.fc-spec-rate{background:var(--fc-soft)}
.fc-coach-facts{margin:6px 0 14px;font-size:14px}
.fc-coach-facts dt{font-weight:700;color:var(--fc-navy);margin-top:8px}
.fc-coach-facts dd{margin:2px 0 0;color:var(--fc-muted)}
.fc-amenities{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.fc-amenity-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px 6px 8px;border:1px solid var(--fc-border);border-radius:10px;font-size:13px;color:var(--fc-ink)}
.fc-amenity-tag svg{width:17px;height:17px;flex:none;color:var(--fc-green)}
.fc-verified-note{display:inline-flex;align-items:center;height:34px;padding:0 4px;margin:6px 0;font-size:13px;font-weight:700;color:var(--fc-green)}

/* Card preview chips (archive) — small overlay row at the image's bottom edge */
.fc-card-chips{position:absolute;left:10px;right:10px;bottom:10px;z-index:2;display:flex;gap:6px;flex-wrap:wrap}
.fc-card-chip{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border-radius:999px;background:rgba(16,41,71,.82);color:#fff;font-size:11px;font-weight:700}
.fc-card-chip svg{width:12px;height:12px;flex:none}

/* Grouped feature sections on the single listing — tighter than one long flat list */
.fc-feature-group{margin:0 0 14px}
.fc-feature-group__label{margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--fc-muted)}
.fc-feature-group .fc-amenities{margin:0}

/* Filter panel on the listings archive */
.fc-filter-panel{margin:0 0 18px;border:1px solid var(--fc-border);border-radius:14px;padding:14px 16px;background:#fff}
.fc-filter-panel summary{cursor:pointer;font-weight:700;color:var(--fc-navy)}
.fc-filter-panel form{display:flex;flex-wrap:wrap;gap:18px;margin-top:14px}
.fc-filter-panel fieldset{border:0;padding:0;margin:0;min-width:150px}
.fc-filter-panel legend{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--fc-muted);margin-bottom:6px;padding:0}
.fc-filter-panel label{display:block;font-size:13px;color:var(--fc-ink);padding:3px 0;font-weight:400}
.fc-filter-panel .fc-booking-pill{margin-top:6px}

/* Tighten single-listing vertical rhythm to match the denser Listable demo feel */
.flashcourt-ui-500.single-job_listing .entry-content p{margin:0 0 12px}
.flashcourt-ui-500.single-job_listing .listing-sidebar{margin:16px 0}
.flashcourt-ui-500 .fc-detail-row{margin:8px 0}
.flashcourt-ui-500 .fc-bookmark-pill,.flashcourt-ui-500 .fc-booking-pill{margin-top:4px;margin-bottom:4px}
/* Generic placeholder category icons (a default shirt/tag icon Listable
   shows when a term has no custom icon uploaded) — hidden until real icons
   are designed, rather than shipping the off-brand default. */
.flashcourt-ui-500 .card__tags,
.flashcourt-ui-500 .single-listing-map-category-icon{display:none!important}
.flashcourt-ui-500 .showing_jobs a:hover,
.flashcourt-ui-500 .reset-results:hover{color:var(--fc-green)!important}

/* Keep directory maps native and usable. */
.flashcourt-ui-500 .map,
.flashcourt-ui-500 #map,
.flashcourt-ui-500 .map-canvas,
.flashcourt-ui-500 .job_listings-map,
.flashcourt-ui-500 .google-map,
.flashcourt-ui-500 .gm-style,
.flashcourt-ui-500 .gm-style>div,
.flashcourt-ui-500 .gm-style img{filter:none!important;image-rendering:auto!important}
.flashcourt-ui-500 .gm-style img{max-width:none!important}
.flashcourt-ui-500 .map-toggle,
.flashcourt-ui-500 .js-map-btn,
.flashcourt-ui-500 .map__button,
.flashcourt-ui-500 .map-view-button,
.flashcourt-ui-500 .show-map,
.flashcourt-ui-500 .show-list{display:flex!important;align-items:center!important;justify-content:center!important;min-width:48px!important;min-height:48px!important;border:1px solid var(--fc-border)!important;border-radius:14px!important;background:#fff!important;color:var(--fc-navy)!important;box-shadow:0 8px 24px rgba(16,41,71,.13)!important;opacity:1!important;visibility:visible!important}

/* Compact two-column mobile directory. */
@media(max-width:782px){
  .flashcourt-ui-500:not(.home) .grid.job_listings,
  .flashcourt-ui-500:not(.home) .job_listings.product-content{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;padding:12px!important;margin:0!important}
  .flashcourt-ui-500:not(.home) .grid.job_listings>.grid__item,
  .flashcourt-ui-500:not(.home) .job_listings.product-content>.grid__item,
  .flashcourt-ui-500:not(.home) .product-content.job_listings>*{float:none!important;width:auto!important;max-width:none!important;margin:0!important;padding:0!important}
  .flashcourt-ui-500:not(.home) .job_listing .card,
  .flashcourt-ui-500:not(.home) .grid__item .card{height:100%!important;overflow:hidden;border:1px solid var(--fc-border)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 7px 22px rgba(16,41,71,.08)!important}
  .flashcourt-ui-500:not(.home) .card__image{min-height:118px!important;height:118px!important}
  .flashcourt-ui-500:not(.home) .card__content{min-height:116px!important;padding:14px 13px 15px!important}
  .flashcourt-ui-500:not(.home) .card__title{font-size:16px!important;line-height:1.18!important;margin-bottom:8px!important}
  .flashcourt-ui-500:not(.home) .card__subtitle,
  .flashcourt-ui-500:not(.home) .card__address{font-size:12px!important;line-height:1.35!important}
  /* Scoped to .page-listings only — the explore/archive map view. Single
     listing pages reuse id="map" for their own small sidebar map widget,
     and that one needs the theme's native width:100%/height:100% behavior
     left alone (Leaflet/Google Maps need a concrete pixel height; height:auto
     collapses it to nothing, which was breaking single-listing maps). */
  .flashcourt-ui-500.page-listings .map,.flashcourt-ui-500.page-listings #map,.flashcourt-ui-500.page-listings .map-canvas,.flashcourt-ui-500.page-listings .job_listings-map,.flashcourt-ui-500.page-listings .google-map{top:80px!important;bottom:0!important;height:auto!important;min-height:0!important}
}

/* One clean footer only. */
.fc-global-footer{position:relative;z-index:20;margin:0;background:var(--fc-navy);color:#fff}
.fc-global-footer__inner{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;width:min(1120px,calc(100% - 40px));margin:auto;padding:42px 0}
.fc-global-footer__brand{display:block;margin:0 0 8px;color:#fff!important;font-size:24px;font-weight:900;letter-spacing:.08em;text-decoration:none}
.fc-global-footer p{max-width:460px;margin:0;color:#c7d1dc;font-size:15px;line-height:1.6}
.fc-global-footer nav{display:flex;flex-wrap:wrap;align-content:start;justify-content:flex-end;gap:18px 24px}
.fc-global-footer nav a{color:#fff!important;font-weight:700;text-decoration:none}
.fc-global-footer__bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);color:#91a0b3;font-size:13px}
@media(max-width:680px){.fc-global-footer__inner{grid-template-columns:1fr;gap:24px;padding:34px 0}.fc-global-footer nav{justify-content:flex-start}.fc-global-footer__bottom{display:block}.fc-global-footer__bottom span{display:block;margin-top:6px}}

/* Build 6.0.3 — shared FlashCourt header on all non-home pages. */
body:not(.home) .fc-site-header{
  position:relative!important;
  z-index:1000!important;
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:30px!important;
  width:100%!important;
  height:auto!important;
  min-height:82px!important;
  padding:11px 30px!important;
  background:#fff!important;
  border:0!important;
  border-bottom:1px solid var(--fc-border)!important;
  box-shadow:0 2px 14px rgba(16,41,71,.04)!important;
}
body:not(.home) .fc-site-header__brand{display:block;justify-self:start;line-height:0}
body:not(.home) .fc-site-header__brand img{display:block;width:205px!important;max-width:100%!important;height:auto!important;max-height:60px!important;object-fit:contain!important}
body:not(.home) .fc-site-header__nav{display:flex;align-items:center;justify-content:center;gap:34px;min-width:0}
body:not(.home) .fc-site-header__nav a,
body:not(.home) .fc-site-header__account{color:var(--fc-navy)!important;font-size:15px!important;font-weight:800!important;text-decoration:none!important;white-space:nowrap}
body:not(.home) .fc-site-header__nav a:hover,
body:not(.home) .fc-site-header__account:hover{color:var(--fc-green)!important}
body:not(.home) .fc-site-header__account{justify-self:end;padding:11px 16px;border:1px solid var(--fc-border);border-radius:999px;background:#fff}
body:not(.home) .fc-site-header__menu,
body:not(.home) .fc-site-header__search{display:none}

.fc-site-mobile-menu[hidden]{display:none!important}
.fc-site-mobile-menu{position:fixed;inset:0 auto 0 0;z-index:99999;width:min(82vw,390px);padding:86px 28px 34px;background:#fff;box-shadow:22px 0 55px rgba(16,41,71,.16)}
.fc-site-mobile-menu a{display:block;padding:17px 8px;border-bottom:1px solid var(--fc-border);color:var(--fc-navy)!important;font-size:19px;font-weight:700;text-decoration:none}
.fc-site-mobile-menu__close{position:absolute;top:22px;left:24px;width:46px;height:46px;padding:0;border:0;background:transparent!important;color:var(--fc-navy)!important;font:300 46px/1 sans-serif}
html.fc-menu-open{overflow:hidden}

@media(max-width:899px){
  body:not(.home) .fc-site-header{
    grid-template-columns:54px minmax(0,1fr) 54px!important;
    gap:8px!important;
    min-height:78px!important;
    padding:9px 12px!important;
  }
  body:not(.home) .fc-site-header__brand{grid-column:2;justify-self:center}
  body:not(.home) .fc-site-header__brand img{width:220px!important;max-height:58px!important}
  body:not(.home) .fc-site-header__nav,
  body:not(.home) .fc-site-header__account{display:none!important}
  body:not(.home) .fc-site-header__menu{grid-column:1;grid-row:1;display:flex!important;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;padding:10px;border:0!important;background:transparent!important}
  body:not(.home) .fc-site-header__menu span{display:block;width:27px;height:2px;background:var(--fc-navy);border-radius:3px}
  body:not(.home) .fc-site-header__search{grid-column:3;grid-row:1;display:flex!important;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:0;background:transparent!important;color:var(--fc-navy)!important;cursor:pointer}
  body:not(.home) .fc-site-header__search svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
}
@media(max-width:390px){body:not(.home) .fc-site-header__brand img{width:190px!important}}

.fc-site-header-search{position:relative;z-index:900;display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:#fff;border-bottom:1px solid var(--fc-border)}
.fc-site-header-search[hidden]{display:none!important}
.fc-site-header-search svg{flex:none;width:20px;height:20px;fill:none;stroke:var(--fc-navy);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.fc-site-header-search input[type=search]{flex:1;min-width:0;height:44px;padding:0 14px;border:1px solid var(--fc-border);border-radius:12px;background:var(--fc-soft);color:var(--fc-ink);font-size:16px}
.fc-site-header-search input[type=search]:focus{outline:none;border-color:var(--fc-green)}
.fc-site-header-search button[type=submit]{flex:none;height:44px;padding:0 18px;border:0;border-radius:12px;background:var(--fc-neon)!important;color:var(--fc-navy)!important;font-weight:800;cursor:pointer}
@media(min-width:900px){.fc-site-header-search{max-width:520px;margin:0 auto;border-radius:0 0 18px 18px;border:1px solid var(--fc-border);border-top:0;box-shadow:0 14px 30px rgba(16,41,71,.12)}}

/* Do not force Google Maps to resize/reinitialize from the child theme. */
.flashcourt-ui-500 .gm-style img{max-width:none!important}

/* Build 6.0.17 — simple stacked-list mobile drawer on every page. */
.fc-site-mobile-menu{
  width:min(84vw,360px)!important;
  padding:90px 26px 36px!important;
}
.fc-site-mobile-menu__close{
  top:28px!important;
  left:30px!important;
  width:52px!important;
  height:52px!important;
  font-size:54px!important;
  line-height:.82!important;
  font-weight:300!important;
}
.fc-site-mobile-menu__list{
  display:flex;
  flex-direction:column;
  border-top:1px solid var(--fc-border);
}
.fc-site-mobile-menu__list a{
  display:flex!important;
  align-items:center;
  min-height:64px;
  padding:18px 4px!important;
  border-bottom:1px solid var(--fc-border)!important;
  color:var(--fc-navy)!important;
  font-size:18px!important;
  font-weight:700!important;
  line-height:1.22!important;
  text-decoration:none!important;
}
body.home .fc-site-mobile-menu{display:block}
body.home .fc-site-mobile-menu[hidden]{display:none!important}

/* Build 6.0.10 — All Courts and All Coaches remain two columns on mobile. */
@media(max-width:782px){
  body.fc-two-column-directory .site-content,
  body.fc-two-column-directory .content-area,
  body.fc-two-column-directory .site-main,
  body.fc-two-column-directory .entry-content,
  body.fc-two-column-directory .page-content{
    width:100%!important;
    max-width:none!important;
  }
  body.fc-two-column-directory ul.job_listings,
  body.fc-two-column-directory .grid.job_listings,
  body.fc-two-column-directory .job_listings.product-content{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:12px!important;
  }
  body.fc-two-column-directory ul.job_listings>li.job_listing,
  body.fc-two-column-directory .grid.job_listings>.grid__item,
  body.fc-two-column-directory .job_listings.product-content>.grid__item,
  body.fc-two-column-directory .job_listings.product-content>li.job_listing{
    float:none!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  body.fc-two-column-directory .card,
  body.fc-two-column-directory li.job_listing .card{
    width:100%!important;
    min-width:0!important;
    height:100%!important;
  }
}
