/* Shared public hero treatment. The homepage keeps its existing image and type. */
.marketing-hero,
.public-page-hero,
.hero.fwc-static-hero {
  border-bottom: 4px solid #dc2626;
}

.hero.fwc-static-hero {
  background-color: #0b1220;
  background-image: linear-gradient(rgba(2, 6, 23, 0.7), rgba(2, 6, 23, 0.7)), url("/images/hero/fwc-public-wrestling-background.webp");
  background-position: center 34%;
  background-repeat: no-repeat;
  background-size: cover;
  color: #fff;
}

.hero.fwc-static-hero.fwc-season-events-hero {
  background-image: linear-gradient(rgba(2, 6, 23, 0.7), rgba(2, 6, 23, 0.7)), url("/images/hero/fwc-season-calendar-background-v1.webp");
  background-position: 66% 20%;
}

.fwc-public-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 40px;
  color: #cbd5e1;
  font-family: "Geist Variable", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.65;
  text-shadow: none;
}

.fwc-public-breadcrumbs a { color: #cbd5e1; text-decoration: underline; }
.fwc-public-breadcrumbs a:hover { color: #fff; }
.fwc-public-breadcrumbs [aria-current="page"] { min-width: 0; overflow-wrap: anywhere; }

.public-policy-hero { padding: 26px 0 64px; font-family: "Geist Variable", sans-serif; }
.public-policy-hero__content { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.public-policy-hero h1 { margin: 16px 0 22px; font-weight: 900; line-height: 1.16; letter-spacing: 0; }
.public-policy-hero .fwc-public-eyebrow { color: #fbbf24; }
.public-policy-hero .date { margin: 14px 0 0; color: #cbd5e1; }
.public-policy-hero a { color: #cbd5e1; }

@media (max-width: 760px) {
  .hero.fwc-static-hero {
    background-image: linear-gradient(rgba(2, 6, 23, 0.78), rgba(2, 6, 23, 0.78)), url("/images/hero/fwc-public-wrestling-background.webp");
    background-position: 58% center;
  }
  .hero.fwc-static-hero.fwc-season-events-hero {
    background-image: linear-gradient(rgba(2, 6, 23, 0.78), rgba(2, 6, 23, 0.78)), url("/images/hero/fwc-season-calendar-background-v1.webp");
    background-position: 66% center;
  }
}

@media (max-width: 640px) {
  .fwc-public-breadcrumbs { margin-bottom: 28px; font-size: 13px; }
  .public-policy-hero { padding-bottom: 40px; }
  .public-policy-hero__content { width: calc(100% - 32px); }
}

/* Keep shared artwork independent of each page's text and hero height.
   The minimum image width covers the longest 320px guide hero at normal text size;
   taller text can continue over the same dark backdrop without clipping. */
.hero.fwc-static-hero:not(.fwc-season-events-hero),
.marketing-hero,
.public-page-hero--shared-image {
  --fwc-shared-hero-image-width: max(100%, 1500px);
  --fwc-shared-hero-image-x: 50%;
  background-color: #0b1220;
}

.public-page-hero--standings-image {
  --fwc-shared-hero-image-width: max(100%, 800px);
}

.hero.fwc-static-hero:not(.fwc-season-events-hero) {
  background-size: auto, var(--fwc-shared-hero-image-width) auto;
  background-position: center, var(--fwc-shared-hero-image-x) top;
}

.marketing-hero > .marketing-hero__image,
.public-page-hero--shared-image > .public-page-hero__image {
  inset: 0 auto auto var(--fwc-shared-hero-image-x);
  width: var(--fwc-shared-hero-image-width);
  max-width: none;
  height: auto;
  object-position: center top;
  transform: translateX(calc(0% - var(--fwc-shared-hero-image-x)));
}

@media (max-width: 760px) {
  .hero.fwc-static-hero:not(.fwc-season-events-hero),
  .marketing-hero,
  .public-page-hero--shared-image {
    --fwc-shared-hero-image-x: 58%;
  }

  .public-page-hero--standings-image {
    --fwc-shared-hero-image-x: 50%;
  }
}

@media print {
  .hero.fwc-static-hero,
  .hero.fwc-static-hero:not(.fwc-season-events-hero) { background: #fff; color: #000; }
  .fwc-public-breadcrumbs { display: none; }
  .public-policy-hero { padding-block: 20px; }
  .public-policy-hero .fwc-public-eyebrow,
  .public-policy-hero .date,
  .public-policy-hero a { color: #000; }
}
