@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&display=swap");

/*
 * Business directory editorial treatment. Everything is scoped to the page
 * wrapper so the shared shell and the other directories remain unchanged.
 */
.business-directory-editorial {
  --directory-paper: #f5f4ee;
  --directory-panel: #fbfaf5;
  --directory-ink: #193a32;
  --directory-muted: #667870;
  --directory-line: #d3ddd4;
  --directory-moss: #28594a;
  --directory-rust: #a75336;
  --directory-wheat: #e6c477;
  background: var(--directory-paper);
  color: var(--directory-ink);
  font-family: "DM Sans", sans-serif;
  padding-bottom: 2rem;
}

.business-directory-editorial h1,
.business-directory-editorial h2,
.business-directory-editorial h3 {
  font-family: Fraunces, Georgia, serif !important;
  color: var(--directory-ink) !important;
  font-weight: 500 !important;
  letter-spacing: -.045em;
}

.business-directory-editorial .directory-hero {
  background: var(--directory-ink) !important;
  padding: clamp(4.5rem, 10vw, 8rem) 0 !important;
}
.business-directory-editorial .directory-hero > div {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center;
}
.business-directory-editorial .directory-hero h1 {
  color: var(--directory-paper) !important;
  font-size: clamp(3rem, 7vw, 6.4rem) !important;
  line-height: .94 !important;
  max-width: 950px;
}
.business-directory-editorial .directory-hero p:not(.editorial-kicker) {
  color: #c8d7cd !important;
  font-size: clamp(1rem, 2vw, 1.3rem) !important;
  line-height: 1.5;
  max-width: 680px;
  margin-left: auto;
  margin-right: auto;
}
.business-directory-editorial .editorial-kicker {
  color: var(--directory-wheat) !important;
  font: 500 .68rem/1.2 "DM Mono", monospace !important;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.business-directory-editorial .directory-ad {
  background: #e9eee8 !important;
  border-color: var(--directory-line) !important;
}
.business-directory-editorial .directory-ad img {
  border-radius: 0 !important;
  box-shadow: none !important;
  max-height: 180px;
}
.business-directory-editorial .directory-filters {
  background: var(--directory-panel) !important;
  border-color: var(--directory-line) !important;
  box-shadow: 0 8px 20px rgba(25,58,50,.06) !important;
}
.business-directory-editorial .directory-filter-toggle { display: none; }
.business-directory-editorial .directory-filter-count {
  color: var(--directory-muted);
  font-size: .8rem;
  font-weight: 500;
}
.business-directory-editorial form[role="search"] label {
  color: var(--directory-ink) !important;
  font: 500 .65rem "DM Mono", monospace !important;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.business-directory-editorial form[role="search"] input {
  min-height: 2.8rem;
  background: var(--directory-paper) !important;
  color: var(--directory-ink) !important;
  border: 1px solid var(--directory-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.business-directory-editorial form[role="search"] {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
}
.business-directory-editorial form[role="search"] input:focus {
  border-color: var(--directory-moss) !important;
  box-shadow: 0 0 0 3px #dce8de !important;
}
.business-directory-editorial form[role="search"] button {
  background: var(--directory-moss) !important;
  border-radius: 0 !important;
  font: 700 .68rem "DM Mono", monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.business-directory-editorial form[role="search"] a {
  color: var(--directory-moss) !important;
  border: 1px solid var(--directory-moss);
  border-radius: 0 !important;
}
.business-directory-editorial nav {
  scrollbar-width: thin;
  scrollbar-color: var(--directory-line) transparent;
}
.business-directory-editorial nav a {
  border-radius: 0 !important;
  color: var(--directory-moss) !important;
  font: 500 .68rem "DM Mono", monospace;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.business-directory-editorial nav a[class*="bg-golf-blue"] {
  background: var(--directory-moss) !important;
  color: #fff !important;
}
.business-directory-editorial nav a:not([class*="bg-golf-blue"]):hover {
  background: #e8eee8 !important;
}

.business-directory-editorial .directory-results {
  background: var(--directory-paper);
}
.business-directory-editorial .directory-results [role="status"] {
  color: var(--directory-muted) !important;
  font: 500 .7rem "DM Mono", monospace;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.business-directory-editorial .directory-results .group > div {
  background: var(--directory-panel) !important;
  border: 1px solid var(--directory-line);
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.business-directory-editorial .directory-results .group:hover > div {
  border-color: var(--directory-moss);
  box-shadow: 0 12px 26px rgba(25,58,50,.1) !important;
  transform: translateY(-3px);
}
.business-directory-editorial .directory-results .group img {
  filter: saturate(.82) contrast(.98);
}
.business-directory-editorial .directory-results .group > div > div:first-child {
  min-height: 192px;
}
.business-directory-editorial .directory-results .group > div > div:first-child [class*="bg-gradient-to-t"] {
  background: linear-gradient(to top, rgba(8,22,18,.9), rgba(8,22,18,.28) 62%, transparent) !important;
}
.business-directory-editorial .directory-results .group h3 {
  color: var(--directory-ink) !important;
}
.business-directory-editorial .directory-results .business-photo-card h3 {
  color: #fff !important;
  line-height: 1.1;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .45);
}
.business-directory-editorial .directory-results .text-gray-500,
.business-directory-editorial .directory-results .text-gray-600,
.business-directory-editorial .directory-results .text-gray-700 {
  color: var(--directory-muted) !important;
}
.business-directory-editorial .directory-results .text-golf-blue {
  color: var(--directory-moss) !important;
}
.business-directory-editorial .directory-results [class*="bg-gradient-to-br"] {
  background: var(--directory-moss) !important;
}
.business-directory-editorial .directory-results [class*="bg-gradient-to-r"] {
  background: var(--directory-moss) !important;
  border-radius: 0 !important;
  font: 500 .62rem "DM Mono", monospace;
  letter-spacing: .08em;
}
.business-directory-editorial .directory-results h2 {
  border-bottom: 1px solid var(--directory-line);
  padding-bottom: .8rem;
}
.business-directory-editorial .directory-results h2 + a {
  color: var(--directory-rust) !important;
  font: 500 .68rem "DM Mono", monospace;
  text-transform: uppercase;
  white-space: nowrap;
}
.business-directory-editorial .directory-results .border-t {
  border-color: var(--directory-line) !important;
}
.business-directory-editorial a:focus-visible,
.business-directory-editorial button:focus-visible,
.business-directory-editorial input:focus-visible {
  outline: 3px solid var(--directory-rust);
  outline-offset: 2px;
}
.business-directory-editorial .directory-results .text-center {
  border: 1px solid var(--directory-line);
  background: var(--directory-panel);
}

@media (max-width: 1023px) {
  .business-directory-editorial .directory-filters {
    position: static !important;
    padding-top: .7rem;
    padding-bottom: .7rem;
  }
  .business-directory-editorial .directory-filters.is-ready {
    position: sticky !important;
  }
  .business-directory-editorial .directory-filters.is-ready .directory-filter-toggle {
    display: flex;
    min-height: 2.6rem;
  }
  .business-directory-editorial .directory-filter-icon {
    width: .55rem;
    height: .55rem;
    margin-right: .2rem;
    flex: none;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
  }
  .business-directory-editorial .directory-filters.is-open .directory-filter-icon {
    transform: rotate(225deg);
  }
  .business-directory-editorial .directory-filters.is-ready .directory-filter-fields {
    display: none;
  }
  .business-directory-editorial .directory-filters.is-open .directory-filter-fields {
    display: block;
    max-height: min(68dvh, 32rem);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
@media (max-width: 767px) {
  .business-directory-editorial .directory-hero h1 {
    font-size: clamp(2.8rem, 14vw, 4.8rem) !important;
  }
  .business-directory-editorial .directory-results {
    padding-top: 2.5rem !important;
  }
  .business-directory-editorial .directory-results .group:hover > div {
    transform: none;
  }
  .business-directory-editorial .directory-results h2 {
    font-size: 2rem !important;
  }
}