/* On Seven public refinement — stage 4 */

/* A slightly shorter opening without changing the established visual language. */
body[data-page="home"] .hero {
  min-height: 680px;
  height: 84vh;
  padding-top: 150px;
  padding-bottom: 76px;
}

/* Inner pages use a different real club image selected by public-stage4.js. */
body:not([data-page="home"]) .page-hero {
  background-position: center 42%;
}

body:not([data-page="home"]) .page-hero::after {
  content: "";
  display: block;
  position: absolute;
  inset: auto 8vw 0 auto;
  width: 72px;
  height: 4px;
  border-radius: 0;
  background: #f5b91f;
  filter: none;
  animation: none;
  opacity: 1;
}

/* Program details: practical information first, no invented values. */
body[data-page="programs"] .page-programs .section-heading > p {
  max-width: 520px;
  color: #cbd5e1;
  font-size: 13px;
  line-height: 1.75;
}

body[data-page="programs"] .program-card {
  min-height: 470px;
  display: flex;
  flex-direction: column;
  padding: 30px;
}

body[data-page="programs"] .program-card .program-icon {
  margin: 28px 0 22px;
}

body[data-page="programs"] .program-card > p {
  max-width: none;
  margin-bottom: 24px;
  font-size: 12px;
  line-height: 1.7;
  opacity: .76;
}

.program-facts {
  display: grid;
  gap: 0;
  margin: auto 0 0;
  border-top: 1px solid rgba(255,255,255,.16);
}

.program-fact {
  display: grid;
  grid-template-columns: 88px minmax(0,1fr);
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.program-fact dt {
  color: #f5b91f;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.program-fact dd {
  margin: 0;
  color: #fff;
  font-size: 10px;
  line-height: 1.55;
}

.program-card:hover .program-fact {
  border-color: rgba(7,62,45,.2);
}

.program-card:hover .program-fact dt,
.program-card:hover .program-fact dd {
  color: #073e2d;
}

.program-confirmation {
  display: block;
  margin-top: 15px;
  color: #aeb8c5;
  font-size: 9px;
  line-height: 1.55;
}

.program-card:hover .program-confirmation { color: rgba(7,62,45,.78); }

/* Search opens calmly: filters appear only after a real query. */
.site-search-overlay:not(.has-query) .site-search-tabs,
.site-search-overlay:not(.has-query) .site-search-help {
  display: none;
}

.site-search-overlay:not(.has-query) .site-search-status {
  padding-top: 2px;
}

.site-search-overlay:not(.has-query) .site-quick-grid {
  grid-template-columns: repeat(2,minmax(0,1fr));
}

@media (max-width: 820px) {
  body[data-page="home"] .hero {
    min-height: 620px;
    height: auto;
    padding-top: 148px;
    padding-bottom: 70px;
  }

  body[data-page="programs"] .program-card { min-height: 440px; }
}

@media (max-width: 560px) {
  body[data-page="home"] .hero {
    min-height: 570px;
    padding-top: 138px;
    padding-bottom: 66px;
  }

  body:not([data-page="home"]) .page-hero::after {
    right: 21px;
    width: 54px;
  }

  body[data-page="programs"] .program-card {
    min-height: 0;
    padding: 26px 22px;
  }

  .program-fact { grid-template-columns: 82px minmax(0,1fr); }
  .site-search-overlay:not(.has-query) .site-quick-grid { grid-template-columns: 1fr; }
}



/* Hero photos: preserve natural colour; use neutral contrast instead of orange glow. */
.hero::after {
  display: none !important;
}

.page-hero::before {
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 0 0 90px rgba(255,255,255,.025), 0 0 0 180px rgba(255,255,255,.015);
}
