/* Shared race/club presentation contract. Loaded after entity-specific styles.
   Data, eligibility, account behavior and external destinations stay in their renderers. */
:root {
  --detail-width: var(--layout-shell);
  --detail-gap: var(--space-8);
  --detail-hero-bg: var(--color-surface-subtle);
}
.discovery-home .race-page,.club-profile-page #clubProfile {
  width: 100%;
  max-width: var(--detail-width);
  margin-inline: auto;
  min-width: 0
}
.discovery-home .race-page {
  width: calc(100% - var(--page-gutter)*2);
  padding-inline: 0
}
.club-profile-page .shell {
  max-width: 1600px
}
.discovery-home .site-header .nav-account :is(a,button) {
  text-decoration: none;
  border: 0;
  background: transparent;
  box-shadow: none
}
.discovery-home :is(.detail-topbar,.club-breadcrumb) {
  position: static;
  min-height: 44px;
  padding: var(--space-3) 0;
  margin: 0;
  border: 0;
  background: transparent
}
.discovery-home [data-detail-hero] {
  position: relative;
  display: block;
  isolation: isolate;
  min-height: 0;
  margin: 0 0 var(--space-4);
  padding: 0;
  background: var(--detail-hero-bg);
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  overflow: visible
}
.discovery-home [data-detail-hero] [data-detail-copy] {
  position: relative;
  z-index: 2;
  width: 62%;
  max-width: none;
  margin: 0;
  padding: var(--space-8);
  box-sizing: border-box
}
.discovery-home [data-detail-copy] .detail-heading-main {
  max-width: none;
  min-width: 0
}
.discovery-home [data-detail-hero] [data-detail-copy] h1 {
  font: var(--type-h1);
  letter-spacing: -.035em;
  margin: 0 0 var(--space-5);
  text-wrap: balance;
  overflow-wrap: anywhere
}
.discovery-home [data-detail-copy] .eyebrow {
  font: 650 12px/1.5 var(--sans);
  letter-spacing: .08em;
  margin: 0 0 var(--space-3);
  color: var(--muted)
}
.discovery-home [data-detail-copy] .club-profile-location {
  font: 600 16px/1.5 var(--sans);
  margin: 0 0 var(--space-3);
  color: var(--ink)
}
.discovery-home [data-detail-copy] .club-profile-lede {
  font: 400 16px/1.6 var(--sans);
  max-width: 52ch;
  margin: 0 0 var(--space-4)
}
.discovery-home [data-detail-copy] :is(.club-detail-tags,.race-descriptor-chips) {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: 0 0 var(--space-4);
  padding: 0;
  list-style: none
}
.discovery-home [data-detail-copy] :is(.club-detail-tags,.race-descriptor-chips) li {
  padding: var(--space-2) var(--space-3);
  font: 600 13px/1.4 var(--sans);
  border-radius: var(--radius-pill);
  background: var(--color-success-surface);
  color: var(--color-success-text)
}
.discovery-home [data-detail-copy] :is(.club-heading-actions,.race-account-actions--labeled) {
  margin: var(--space-5) 0 0;
  gap: var(--space-2);
  flex-wrap: wrap
}
.discovery-home [data-detail-copy] :is(.club-personal-action,.race-action-icon) {
  min-height: 44px;
  padding: var(--space-2) var(--space-4);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-control);
  background: var(--panel);
  font: 650 14px/1.4 var(--sans);
  color: var(--ink);
  box-shadow: none;
  white-space: normal
}
.discovery-home [data-detail-copy] :is(.club-personal-action,.race-action-icon)[aria-pressed=true] {
  background: var(--ink);
  color: var(--panel)
}
.discovery-home [data-detail-hero] [data-detail-media] {
  display: block;
  position: absolute;
  inset: 0 0 0 auto;
  z-index: 0;
  width: 50%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: 0 var(--radius-panel) var(--radius-panel) 0
}
.discovery-home [data-detail-media] .detail-hero-image {
  position: relative;
  inset: auto;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  border-radius: inherit
}
.discovery-home [data-detail-media] .detail-hero-image::after {
  display: none
}
.discovery-home [data-detail-media]::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg,var(--detail-hero-bg),var(--color-photo-surface) 18%,transparent 65%)
}
.discovery-home [data-detail-media] .race-photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover
}
.discovery-home [data-detail-media] .club-photo-caption {
  position: absolute;
  z-index: 3;
  right: 12px;
  bottom: 6px;
  width: auto;
  max-width: calc(100% - 24px);
  margin: 0;
  padding: 0 var(--space-2);
  background: var(--color-photo-surface);
  border-radius: var(--radius-control)
}
.discovery-home [data-detail-media] .club-photo-details summary {
  font-size: 12px;
  min-height: 44px
}
.discovery-home [data-detail-media] .club-photo-details[open] {
  max-height: 200px;
  overflow: auto
}
.discovery-home .club-detail-masthead--text [data-detail-copy] {
  width: 100%;
  max-width: 900px
}
.discovery-home [data-detail-nav] {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: var(--space-6);
  min-height: 52px;
  max-width: 100%;
  padding: 0 var(--space-1);
  margin: var(--space-3) 0 var(--space-6);
  border-bottom: 1px solid var(--line);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin
}
.discovery-home [data-detail-nav] a {
  display: inline-flex;
  align-items: center;
  flex: none;
  min-height: 48px;
  box-sizing: border-box;
  padding: var(--space-3) var(--space-1);
  border-bottom: 3px solid transparent;
  font: 650 14px/1.4 var(--sans);
  color: var(--muted);
  white-space: nowrap;
  text-decoration: none
}
.discovery-home [data-detail-nav] a:is(:hover,[aria-current=location]) {
  color: var(--ink);
  border-bottom-color: var(--orange)
}
.discovery-home [data-detail-layout] {
  display: grid;
  grid-template-columns: minmax(0,2.1fr) minmax(280px,1fr);
  grid-template-areas: "main primary" "main supporting";
  grid-template-rows: auto 1fr;
  align-items: start;
  gap: var(--detail-gap)
}
.discovery-home [data-detail-layout]>[data-detail-main] {
  grid-area: main;
  min-width: 0
}
.discovery-home [data-detail-layout]>[data-detail-primary] {
  grid-area: primary;
  position: static;
  min-width: 0;
  width: 100%;
  margin: 0
}
.discovery-home [data-detail-layout]>[data-detail-supporting] {
  grid-area: supporting;
  display: block;
  min-width: 0;
  margin: 0
}
.discovery-home [data-detail-layout] [data-detail-action-card] {
  margin: 0;
  padding: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--panel);
  box-shadow: var(--elevation-panel)
}
.discovery-home [data-detail-action-card] h2 {
  font: 400 26px/1.2 var(--serif);
  letter-spacing: -.02em;
  margin: 0 0 var(--space-4)
}
.discovery-home [data-detail-action-card] p {
  font-size: 14px;
  line-height: 1.6;
  margin: 0 0 var(--space-3)
}
.discovery-home [data-detail-action-card] .entry-panel-price {
  font-size: 21px;
  line-height: 1.4
}
.discovery-home [data-detail-action-card] :is(.entry-panel-action,[data-official-participation]) {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  margin: var(--space-4) 0 var(--space-3);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--orange);
  border-radius: var(--radius-control);
  background: var(--orange);
  color: var(--color-on-action);
  font: 650 15px/1.5 var(--sans);
  white-space: normal;
  text-align: center;
  text-decoration: none
}
.discovery-home [data-detail-action-card] :is(.entry-panel-action,[data-official-participation]):hover {
  background: var(--orange-hover);
  border-color: var(--orange-hover)
}
.discovery-home [data-detail-action-card] .club-visit-facts {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-3);
  margin: var(--space-4) 0
}
.discovery-home [data-detail-action-card] .club-visit-facts>div {
  border-bottom: 1px solid var(--line);
  padding-bottom: var(--space-3)
}
.discovery-home [data-detail-action-card] .club-visit-facts dt {
  font-size: 13px;
  line-height: 1.5;
  color: var(--muted);
  margin: 0 0 var(--space-1)
}
.discovery-home [data-detail-action-card] .club-visit-facts dd {
  font-size: 15px;
  line-height: 1.5;
  margin: 0
}
.discovery-home [data-detail-action-card] .eyebrow {
  font-size: 12px
}
.discovery-home [data-detail-main]>section {
  margin: 0 0 var(--space-8);
  padding: 0 0 var(--space-6);
  border: 0;
  border-bottom: 1px solid var(--line)
}
.discovery-home [data-detail-main] h2 {
  font: 400 29px/1.2 var(--serif);
  letter-spacing: -.025em;
  margin: 0 0 var(--space-4)
}
.discovery-home [data-detail-main] h3 {
  font: 400 21px/1.3 var(--serif);
  letter-spacing: -.015em
}
.discovery-home [data-detail-main] p {
  line-height: 1.65
}
.discovery-home [data-detail-main] .club-take {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin: 0 0 var(--space-6);
  padding: var(--space-5) var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius-panel);
  background: var(--soft)
}
.discovery-home [data-detail-main] .club-take-copy {
  flex: 1;
  min-width: 0
}
.discovery-home [data-detail-main] .club-take-fox {
  display: block;
  flex: none;
  width: 78px;
  height: 96px;
  object-fit: contain;
  align-self: flex-end
}
.discovery-home [data-detail-main] .club-take h2 {
  font-weight: 400
}
.discovery-home [data-detail-main] .club-take-mark {
  display: none
}
.discovery-home [data-detail-facts] {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(min(100%,180px),1fr));
  gap: var(--space-2);
  margin: 0 0 var(--space-6)
}
.discovery-home [data-detail-facts]>div {
  min-width: 0;
  padding: var(--space-3);
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--panel)
}
.discovery-home [data-detail-facts] dt {
  text-transform: uppercase;
  font: 600 12px/1.5 var(--sans);
  letter-spacing: .025em;
  color: var(--muted);
  margin: 0 0 var(--space-1)
}
.discovery-home [data-detail-facts] dd {
  font: 400 16px/1.5 var(--sans);
  color: var(--ink);
  margin: 0;
  overflow-wrap: anywhere
}
.discovery-home [data-detail-supporting]>section {
  margin: 0 0 var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--panel)
}
.discovery-home [data-detail-supporting] h2 {
  font: 400 22px/1.25 var(--serif);
  margin: 0 0 var(--space-3)
}
.discovery-home [data-detail-supporting] p {
  font-size: 14px;
  line-height: 1.6
}
.discovery-home [data-detail-supporting] .club-official-link {
  min-height: 44px;
  padding-block: var(--space-2);
  font-size: 14px
}
.discovery-home :is([data-detail-main],[data-detail-supporting]) details>summary {
  min-height: 44px;
  box-sizing: border-box;
  padding-block: var(--space-3);
  cursor: pointer;
  font-size: 14px;
  line-height: 1.5
}
.discovery-home [data-detail-main] .club-session-grid {
  grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr));
  gap: var(--space-4)
}
.discovery-home [data-detail-main] .club-session {
  padding: var(--space-5);
  border: 1px solid var(--line);
  border-radius: var(--radius-control);
  background: var(--panel)
}
.discovery-home [data-detail-main] .club-session h3 {
  margin-top: 0
}
.discovery-home :is([data-detail-main],[data-detail-supporting],[data-detail-primary]) [id] {
  scroll-margin-top: var(--section-offset)
}
.discovery-home :is([data-detail-hero],[data-detail-nav],[data-detail-layout]) :is(a,button,summary):focus-visible {
  outline: 3px solid var(--orange);
  outline-offset: 4px
}
/* Discovery uses one card geometry; race facts and session facts remain distinct. */
.discovery-home :is(.race-result-card,.club-card) {
  display: flex;
  flex-direction: column;
  min-width: 0
}
.discovery-home :is(.race-result-card,.club-card) .race-visual {
  aspect-ratio: 4/3;
  height: auto;
  min-height: 0;
  border-radius: var(--radius-media)
}
.discovery-home :is(.race-result-card,.club-card) .body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-3) 0 0;
  min-width: 0
}
.discovery-home :is(.race-result-card,.club-card) .body h3 {
  font: 650 18px/1.35 var(--sans);
  margin: 0;
  overflow-wrap: anywhere
}
.discovery-home :is(.race-result-card,.club-card) .compact-location {
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  color: var(--muted)
}
.discovery-home :is(.race-result-card,.club-card) .cardactions {
  margin-top: auto;
  padding-top: var(--space-2);
  gap: var(--space-2)
}
.discovery-home :is(.race-result-card,.club-card) .cardactions .view {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 44px;
  padding: var(--space-2) 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font: 650 14px/1.5 var(--sans);
  text-decoration: underline;
  text-underline-offset: 4px
}
.discovery-home .club-card-facts {
  gap: var(--space-2);
  margin: var(--space-1) 0
}
.discovery-home .club-card-facts dt {
  font-size: 12px;
  line-height: 1.5
}
.discovery-home .club-card-facts dd {
  font-size: 14px;
  line-height: 1.5;
  margin: var(--space-1) 0 0
}
@media(max-width:1000px){
.discovery-home [data-detail-layout] {
  gap: var(--space-5);
  grid-template-columns: minmax(0,1.7fr) minmax(260px,1fr)
}
.discovery-home [data-detail-hero] [data-detail-copy] {
  width: 68%;
  padding: var(--space-6)
}
.discovery-home [data-detail-hero] [data-detail-media] {
  width: 46%
}
}
@media(max-width:900px){
.discovery-home [data-detail-hero] [data-detail-copy] {
  width: 100%;
  padding: var(--space-5) var(--space-4)
}
.discovery-home [data-detail-hero] [data-detail-copy] h1 {
  font-size: 32px
}
.discovery-home [data-detail-hero] [data-detail-media] {
  position: relative;
  inset: auto;
  width: 100%;
  height: 180px;
  border-radius: 0 0 var(--radius-panel) var(--radius-panel)
}
.discovery-home [data-detail-media]::after {
  background: linear-gradient(180deg,var(--detail-hero-bg),transparent 30%)
}
.discovery-home [data-detail-nav] {
  gap: var(--space-5);
  margin: var(--space-3) 0 var(--space-6)
}
.discovery-home [data-detail-layout] {
  display: flex;
  flex-direction: column;
  gap: var(--space-6)
}
.discovery-home [data-detail-layout]>:is([data-detail-primary],[data-detail-main],[data-detail-supporting]) {
  width: 100%;
  order: 0
}
.discovery-home [data-detail-layout] [data-detail-action-card] {
  padding: var(--space-5)
}
.discovery-home [data-detail-action-card] .club-visit-facts {
  grid-template-columns: repeat(2,minmax(0,1fr))
}
.discovery-home [data-detail-facts] {
  grid-template-columns: repeat(2,minmax(0,1fr))
}
.discovery-home [data-detail-copy] :is(.club-personal-action,.race-action-wrap) {
  flex: 1 1 145px
}
.discovery-home [data-detail-copy] .club-personal-actions {
  width: 100%;
  gap: var(--space-2)
}
.discovery-home [data-detail-copy] .club-heading-actions {
  width: 100%;
  align-items: stretch
}
.discovery-home [data-detail-copy] .race-action-icon {
  width: 100%
}
}
@media(max-width:520px){
.discovery-home [data-detail-copy] :is(.club-personal-action,.race-action-wrap) {
  flex-basis: 100%
}
}
@media(max-width:390px){
.discovery-home [data-detail-main] .club-take-fox {
  display: none
}
.discovery-home [data-detail-hero] [data-detail-copy] h1 {
  font-size: 30px
}
.discovery-home [data-detail-layout] [data-detail-action-card] {
  padding: var(--space-4)
}
.discovery-home [data-detail-action-card] .club-visit-facts {
  grid-template-columns: 1fr
}
.discovery-home [data-detail-facts] dd {
  font-size: 15px
}
.discovery-home [data-detail-copy] :is(.club-personal-action,.race-action-wrap) {
  flex-basis: 100%
}
}
@media(prefers-reduced-motion:reduce){
.discovery-home [data-detail-nav],.discovery-home [data-detail-layout] {
  scroll-behavior: auto
}}
