/* W257 route-owned stylesheet slot. Home-specific presentation stays in this lane. */

/* SECTION: Task265 combined owner profile and Race Week hero.
   The shared profile host keeps its lifecycle; only Home removes its standalone frame.
   Existing race scene, status layout, ad mappings and visitor styles remain authoritative. */
.home-race-feature.home-race-feature--my-hub {
  min-height: 0;
  /* Size from wrapped content instead of the parent grid's stretched row estimate. */
  height: max-content;
  align-self: start;
  gap: 20px clamp(24px, 3vw, 42px);
  padding: 76px clamp(20px, 2.6vw, 36px) clamp(20px, 2.6vw, 36px);
}
.home-race-feature--my-hub::before {
  background: linear-gradient(180deg, rgba(5,8,9,.76), rgba(5,8,9,.48) 52%, rgba(5,8,9,.32)),
    linear-gradient(90deg, rgba(6,10,12,.45), rgba(6,10,12,.04));
}
.home-race-feature--my-hub > [data-member-hub="hero"] {
  position: static;
  z-index: 2;
  grid-column: 1 / -1;
  grid-row: 1;
  min-width: 0;
}
.home-race-feature--my-hub .my-hub-hero {
  gap: .35rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  min-width: 0;
}
.home-race-feature--my-hub .my-hub-avatar { width: 96px; height: 96px; flex-shrink: 0; }
.home-race-feature--my-hub .my-hub-hero h1 { font-size: clamp(26px, 3vw, 36px); line-height: 1.12; max-width: 100%; }
.home-race-feature--my-hub .my-hub-hero p { max-width: 65ch; }
.home-race-feature--my-hub .my-hub-counts,
.home-race-feature--my-hub .my-hub-actions { justify-content: center; gap: .5rem; margin: .25rem 0 0; max-width: 100%; }
.home-race-feature--my-hub .my-hub-counts > *,
.home-race-feature--my-hub .my-hub-actions > * { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.home-race-feature--my-hub > .home-race-copy,
.home-race-feature--my-hub > .home-hero-support-panel { grid-row: 2; min-width: 0; }
.home-race-feature--my-hub > .home-race-copy { padding: 0; gap: 10px; }
.home-race-feature--my-hub .home-race-copy h2 { font-size: clamp(30px, 3.7vw, 52px); overflow-wrap: anywhere; }
.home-race-feature--my-hub .home-hero-intro { gap: 3px; min-width: 0; overflow-wrap: anywhere; }
.home-race-feature--my-hub .home-hero-intro p { font-size: clamp(16px, 1.7vw, 20px); }
/* The owner action occupies a reserved top row within the same racing scene. */
.home-race-feature--my-hub [data-hub-action="edit-profile"] {
  position: absolute;
  top: 16px;
  right: clamp(20px, 2.6vw, 36px);
  z-index: 3;
  min-height: 44px;
}
/* Wide/intermediate desktop: share height across race, centered identity and status. */
@media (min-width: 981px) {
  .home-race-feature.home-race-feature--my-hub {
    grid-template-columns: minmax(0, 1fr) minmax(260px, .95fr) minmax(0, 1fr);
    column-gap: clamp(20px, 2vw, 32px);
  }
  .home-race-feature--my-hub > [data-member-hub="hero"] { grid-column: 2; grid-row: 1; align-self: center; }
  .home-race-feature--my-hub > .home-race-copy { grid-column: 1; grid-row: 1; }
  .home-race-feature--my-hub > .home-hero-support-panel { grid-column: 3; grid-row: 1; }
  .home-race-feature--my-hub .home-race-copy h2 { font-size: clamp(32px, 3.2vw, 46px); }
  .home-race-feature--my-hub .my-hub-hero h1 { font-size: clamp(26px, 2.5vw, 36px); }
}
@media (max-width: 980px) {
  .home-race-feature--my-hub > .home-race-copy { grid-row: 2; }
  .home-race-feature--my-hub > .home-hero-support-panel { grid-row: 3; width: 100%; max-width: none; }
}
@media (max-width: 640px) {
  .home-race-feature.home-race-feature--my-hub { padding: 72px 14px 18px; gap: 18px; }
  .home-race-feature--my-hub [data-hub-action="edit-profile"] { top: 14px; right: 14px; }
  .home-race-feature--my-hub .my-hub-avatar { width: 88px; height: 88px; }
}

/* SECTION: Default racing series guidance */
/* Descriptor: Keep the required Home setup copy and action readable across narrow layouts. */
.home-default-series-guidance {
  display: grid;
  gap: 10px;
  width: min(100%, 620px);
  max-width: 100%;
  padding: 14px 16px;
  border: 1px solid rgba(244, 189, 89, 0.48);
  border-radius: 8px;
  background: rgba(10, 16, 18, 0.68);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.2);
}

.home-default-series-guidance p {
  max-width: 58ch;
  margin: 0;
  color: var(--text, #f4f7fb);
  line-height: 1.5;
}

.home-default-series-guidance .home-hero-actions {
  margin-top: 0;
}

.home-default-series-guidance .btn {
  max-width: 100%;
  overflow-wrap: anywhere;
}

@media (max-width: 640px) {
  .home-default-series-guidance {
    padding: 12px 14px;
  }

  .home-default-series-guidance .btn {
    width: 100%;
  }
}

.home-news-hold-teaser {
  align-items: center;
  background: var(--surface-card, #10242d);
  border: 1px solid rgba(126, 227, 212, 0.28);
  border-radius: 1rem;
  display: grid;
  gap: 1.25rem;
  grid-template-columns: minmax(9rem, 34%) 1fr;
  overflow: hidden;
  padding: 0;
}

.home-news-hold-teaser__image {
  display: block;
  height: 100%;
  min-height: 10rem;
  object-fit: cover;
  width: 100%;
}

.home-news-hold-teaser__copy {
  padding: 1.5rem 1.5rem 1.5rem 0;
}

.home-news-hold-teaser__copy h3 {
  margin: 0 0 0.5rem;
}

.home-news-hold-teaser__copy p {
  color: var(--text-muted, #b6c6c9);
  margin: 0;
}

@media (max-width: 720px) {
  .home-news-hold-teaser {
    grid-template-columns: 1fr;
  }

  .home-news-hold-teaser__image {
    height: 9rem;
    min-height: 0;
  }

  .home-news-hold-teaser__copy {
    padding: 0 1.25rem 1.35rem;
  }
}
.home-ad-bank {
  width: 100%;
  min-width: 0;
  margin: 0 0 18px;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.home-ad-bank__row {
  display: grid;
  grid-template-columns: repeat(2, 970px);
  justify-content: center;
  gap: 24px;
  min-width: 0;
}
.home-ad-slot {
  display: grid;
  grid-template-rows: auto 90px;
  justify-items: center;
  width: 970px;
  height: auto;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.home-ad-slot--secondary {
  display: none;
}
.home-ad-slot__label {
  display: block;
  margin: 0 0 6px;
  color: rgba(212,221,221,.78);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}
.home-ad-slot__container {
  display: grid;
  place-items: center;
  width: 970px;
  height: 90px;
  min-width: 970px;
  min-height: 90px;
  max-width: none;
  max-height: 90px;
  padding: 0;
  border: 0;
  background: var(--surface);
  box-shadow: inset 0 0 0 1px rgba(244,189,89,.78), inset 0 0 0 2px rgba(57,210,198,.28);
  overflow: visible;
}
@media (min-width: 1536px) {
  .home-ad-bank {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
  }
  .home-ad-slot--secondary {
    display: grid;
  }
}
@media (min-width: 1536px) and (max-width: 2047px) {
  .home-ad-bank__row {
    grid-template-columns: repeat(2, 728px);
  }
  .home-ad-slot {
    width: 728px;
    grid-template-rows: auto 90px;
  }
  .home-ad-slot__container {
    width: 728px;
    min-width: 728px;
    height: 90px;
    min-height: 90px;
    max-height: 90px;
  }
}
@media (min-width: 1100px) and (max-width: 1535px) {
  .home-ad-bank__row {
    grid-template-columns: 970px;
  }
  .home-ad-slot--secondary {
    display: none;
  }
}
@media (min-width: 800px) and (max-width: 1099px) {
  .home-ad-bank__row {
    grid-template-columns: 728px;
  }
  .home-ad-slot {
    width: 728px;
  }
  .home-ad-slot__container {
    width: 728px;
    min-width: 728px;
    height: 90px;
    min-height: 90px;
    max-height: 90px;
  }
}
@media (min-width: 500px) and (max-width: 799px) {
  .home-ad-bank {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
  }
  .home-ad-bank__row {
    grid-template-columns: 468px;
  }
  .home-ad-slot {
    width: 468px;
    grid-template-rows: auto 60px;
  }
  .home-ad-slot__container {
    width: 468px;
    min-width: 468px;
    height: 60px;
    min-height: 60px;
    max-height: 60px;
  }
}
@media (max-width: 499px) {
  .home-ad-bank {
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
  }
  .home-ad-bank__row {
    grid-template-columns: 320px;
  }
  .home-ad-slot {
    width: 320px;
    grid-template-rows: auto 100px;
  }
  .home-ad-slot__container {
    width: 320px;
    min-width: 320px;
    height: 100px;
    min-height: 100px;
    max-height: 100px;
  }
}

/* Task265: compact in-page mobile access, without duplicating supporting modules. */
.home-section-navigation { display: none; }
.home-section-target { min-width: 0; scroll-margin-top: calc(var(--home-header-height, 128px) + 62px); }
@media (max-width: 980px) {
  .home-section-navigation { position: sticky; top: var(--home-header-height, 128px); z-index: 25; display: flex; gap: 6px; padding: 6px 0; margin-block: 8px; background: var(--panel, #14242b); overflow-x: auto; }
  .home-section-navigation button { flex: 1 0 auto; min-height: 40px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel-2, #20333b); color: var(--text, white); font: inherit; font-size: 13px; }
  .home-section-navigation button:focus-visible { outline: 2px solid var(--teal); outline-offset: -3px; }
}
/* RN-H: Source-qualified event/season messaging stays readable in the existing hero. */
.home-season-note { margin:10px 0; line-height:1.5; font-weight:600; overflow-wrap:anywhere; }
.home-race-feature .home-countdown small { white-space:normal; overflow-wrap:anywhere; line-height:1.5; }
