@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");

/*
 * The directory mockup is deliberately scoped to this page.  In particular,
 * do not style body, main, or shared navigation here: those belong to base.html.
 */
.directory-editorial {
  --directory-paper: #f3f1e8;
  --directory-panel: #fbfaf5;
  --directory-ink: #193a32;
  --directory-muted: #667870;
  --directory-line: #d4ddd4;
  --directory-moss: #28594a;
  --directory-rust: #a75336;
  --directory-wheat: #e6c477;
  background: var(--directory-paper);
  color: var(--directory-ink);
  font-family: "DM Sans", sans-serif;
}

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

.directory-editorial > section:first-child {
  background: var(--directory-ink) !important;
  border: 0 !important;
  padding-top: clamp(4.5rem, 9vw, 8rem) !important;
  padding-bottom: clamp(4.5rem, 9vw, 8rem) !important;
}
.directory-editorial > section:first-child > div {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.directory-editorial > section:first-child h1 {
  color: #f3f1e8 !important;
  font-size: clamp(3rem, 7vw, 6.25rem) !important;
  font-weight: 500 !important;
  line-height: .95 !important;
}
.directory-editorial > section:first-child p:not(.editorial-kicker) {
  color: #c8d7cd !important;
  font-size: clamp(1.05rem, 2vw, 1.35rem) !important;
}
.directory-editorial .editorial-kicker {
  color: var(--directory-wheat) !important;
  font: 500 .68rem/1.2 "DM Mono", monospace !important;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.directory-editorial .rounded,
.directory-editorial .rounded-lg,
.directory-editorial .rounded-xl,
.directory-editorial .rounded-2xl,
.directory-editorial .rounded-full { border-radius: 0 !important; }
.directory-editorial .shadow-sm,
.directory-editorial .shadow-md,
.directory-editorial .shadow-lg,
.directory-editorial .shadow-xl,
.directory-editorial .shadow-2xl {
  box-shadow: 0 8px 24px rgba(25,58,50,.07) !important;
}
.directory-editorial .bg-white { background: var(--directory-panel) !important; }
.directory-editorial .bg-gray-50,
.directory-editorial .bg-gray-100 { background: #e9eee8 !important; }
.directory-editorial .border-gray-200,
.directory-editorial .border-gray-300 { border-color: var(--directory-line) !important; }
.directory-editorial .text-gray-500,
.directory-editorial .text-gray-600,
.directory-editorial .text-gray-700 { color: var(--directory-muted) !important; }
.directory-editorial .text-golf-navy { color: var(--directory-ink) !important; }
.directory-editorial .text-golf-blue { color: var(--directory-moss) !important; }
.directory-editorial .bg-golf-blue,
.directory-editorial .bg-golf-green { background: var(--directory-moss) !important; }

.directory-editorial form[role="search"] label {
  color: var(--directory-ink) !important;
  font: 500 .65rem "DM Mono", monospace !important;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.directory-editorial form[role="search"] input,
.directory-editorial form[role="search"] select {
  min-height: 2.8rem;
  background: var(--directory-panel) !important;
  color: var(--directory-ink) !important;
  border-color: var(--directory-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.directory-editorial form[role="search"] input:focus,
.directory-editorial form[role="search"] select:focus {
  border-color: var(--directory-moss) !important;
  box-shadow: 0 0 0 3px #dce8de !important;
}
.directory-editorial form[role="search"] button[type="submit"] {
  background: var(--directory-moss) !important;
  color: #f7f6ef !important;
  border-radius: 0 !important;
}
.directory-editorial form[role="search"] a {
  background: transparent !important;
  color: var(--directory-moss) !important;
  border: 1px solid var(--directory-moss) !important;
  border-radius: 0 !important;
}

.directory-editorial .group > div {
  background: var(--directory-panel) !important;
  border: 1px solid var(--directory-line) !important;
  box-shadow: none !important;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.directory-editorial .group:hover > div {
  border-color: var(--directory-moss) !important;
  box-shadow: 0 12px 26px rgba(25,58,50,.10) !important;
  transform: translateY(-3px);
}
.directory-editorial .group h3 {
  color: var(--directory-ink) !important;
  font-weight: 500 !important;
}
.directory-editorial .group .border-t { border-color: var(--directory-line) !important; }
.directory-editorial .group img { filter: saturate(.82) contrast(.98); }

/* Keep the course cards legible over real photography, including long names. */
.directory-editorial .group .relative h3 {
  color: #fff !important;
  max-width: 100% !important;
  text-shadow: 0 2px 4px rgba(0,0,0,.85), 0 1px 12px rgba(0,0,0,.55);
  line-height: 1.05 !important;
}
.directory-editorial .group .relative > .bg-gradient-to-t {
  background: linear-gradient(to top, rgba(8,22,18,.9), rgba(8,22,18,.28) 62%, transparent) !important;
}
.directory-editorial > div.bg-white.py-16 > div > .grid { gap: 22px !important; }
.directory-editorial > div.bg-white.py-16 > div > .grid > a > div {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
.directory-editorial > div.bg-white.py-16 > div > .grid > a > div > div:last-child {
  flex: 1 !important;
}
.directory-editorial form[role="search"] {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.directory-editorial > section:last-of-type {
  background: #e0e9e0 !important;
  border-color: var(--directory-line) !important;
}

.directory-editorial a:focus-visible,
.directory-editorial button:focus-visible,
.directory-editorial input:focus-visible,
.directory-editorial select:focus-visible {
  outline: 3px solid var(--directory-rust);
  outline-offset: 2px;
}

@media (max-width: 767px) {
  .directory-editorial > section:first-child h1 {
    font-size: clamp(2.9rem, 14vw, 4.7rem) !important;
  }
  .directory-editorial form[role="search"] { position: static !important; }
}