
/*
  Shared public hero coverage
  Applies the same premium public hero style to all pages that can be viewed without logging in.
*/

/* Payment page and affiliate body should align with other public pages. */
html body main.container:has(.uc-page-hero) > :where(.auth-card,.error-page,.grid-3,.card,.public-section,.payment-title-row,.featured-coin-strip,.coin-network-grid,.service-detail-page){
  width:min(1280px,calc(100% - 56px))!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Auth forms: keep the hero style, but make the actual form feel clean and focused. */
html body main.container:has(.uc-page-hero) > .auth-card{
  max-width:540px!important;
  margin-top:clamp(34px,4vw,58px)!important;
  margin-bottom:clamp(70px,7vw,110px)!important;
  padding:30px!important;
  border:0!important;
  outline:0!important;
  border-radius:26px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.022))!important;
  box-shadow:none!important;
}

html body main.container:has(.uc-page-hero) > .auth-card h1{
  margin-top:0!important;
  letter-spacing:-.045em!important;
}

/* Public account/utility pages should not show a second hero-like card directly below the shared hero. */
html body main.container:has(.uc-page-hero) .release-error-page{
  max-width:760px!important;
  text-align:left!important;
  background:transparent!important;
}

html body main.container:has(.uc-page-hero) .release-error-page::before{
  display:none!important;
}

html body main.container:has(.uc-page-hero) .error-code{
  color:rgba(255,255,255,.16)!important;
}

/* Affiliate cards after shared hero. */
html body main.container:has(.uc-page-hero) > .grid-3{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  margin-top:clamp(40px,5vw,72px)!important;
}

html body main.container:has(.uc-page-hero) > .grid-3 .card{
  border:0!important;
  outline:0!important;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.020))!important;
  box-shadow:none!important;
}

/* Payment methods content after hero. */
html body .featured-coin-strip,
html body .coin-network-grid{
  margin-top:24px!important;
}

html body .featured-coin-card,
html body .coin-network-card{
  border:0!important;
  outline:0!important;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.020))!important;
  box-shadow:none!important;
}

/* Transfer invitation: soften old detail summary under the shared hero. */
html body main.container:has(.uc-page-hero) .service-detail-page{
  margin-top:clamp(34px,4vw,58px)!important;
}

html body main.container:has(.uc-page-hero) .service-summary.clean-hero-card{
  display:none!important;
}

/* Keep page spacing consistent for every public hero page. */
html body main.container:has(.uc-page-hero) .uc-page-hero + *{
  margin-top:clamp(34px,4vw,58px)!important;
}

/* Remove old payment hero if a cached/custom block still renders it somewhere. */
html body .payment-hero.streamlined-payment-hero,
html body .public-hero.affiliate-hero{
  display:none!important;
}

@media(max-width:900px){
  html body main.container:has(.uc-page-hero) > .grid-3{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:760px){
  html body main.container:has(.uc-page-hero) > :where(.auth-card,.error-page,.grid-3,.card,.public-section,.payment-title-row,.featured-coin-strip,.coin-network-grid,.service-detail-page){
    width:min(100% - 24px,1280px)!important;
  }
  html body main.container:has(.uc-page-hero) > .auth-card{
    padding:22px!important;
  }
}
