/* AuthSolution Content & Trust Suite — final conflict-resistant visual layer */
:root{
  --ascts-font:"Segoe UI",Inter,Arial,sans-serif;
  --ascts-navy:#061b3b;
  --ascts-navy-2:#0b3b82;
  --ascts-white:#fff;
  --ascts-ink:#0b1733;
  --ascts-muted:#60708e;
}

/* Keep every managed canvas independent from Astra content widths. */
body.ascts-managed-legal :is(#content,.site-content,.ast-container,#primary,.content-area,.site-main,article.page,.entry-content),
body.ascts-managed-review :is(#content,.site-content,.ast-container,#primary,.content-area,.site-main,article.page,.entry-content){
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
}
body.ascts-managed-legal :is(.entry-header,.entry-title,.ast-article-single>.entry-header),
body.ascts-managed-review :is(.entry-header,.entry-title,.ast-article-single>.entry-header){display:none!important}

/* True full-bleed heroes, even when a theme wrapper remains. */
body :is(.aslc-hero,.asrv-hero,.asrv-form-hero,.asch-hero,.asch-article-hero){
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  box-sizing:border-box!important;
}

/* Prevent global theme typography from turning headings grey or serif. */
body :is(.authsolution-legal-canvas,.asrv-page,.authsolution-content-hub,.asch-site)
:is(h1,h2,h3,h4,p,a,button,input,select,textarea,label,summary,li,strong,small,span){
  font-family:var(--ascts-font)!important;
  font-synthesis:none!important;
  text-shadow:none!important;
  filter:none!important;
}

/* Hero headings must remain bright and readable on navy. */
body :is(.aslc-hero,.asrv-hero,.asrv-form-hero,.asch-hero,.asch-article-hero) h1{
  color:#fff!important;
  opacity:1!important;
  -webkit-text-fill-color:#fff!important;
  background:none!important;
  max-width:820px!important;
  margin:0!important;
  font-family:var(--ascts-font)!important;
  font-size:clamp(2.8rem,4.7vw,4.25rem)!important;
  font-weight:700!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
  text-wrap:balance;
}
body :is(.aslc-hero,.asrv-hero,.asrv-form-hero,.asch-hero,.asch-article-hero)
:is(.aslc-lead,.asrv-lead,.asch-hero__copy>p,.asch-article-hero p){
  color:#e5edf9!important;
  opacity:1!important;
  max-width:700px!important;
  font-size:clamp(1rem,1.35vw,1.18rem)!important;
  line-height:1.72!important;
}

/* Insights: eliminate the grey/serif title conflict and improve rhythm. */
body.authsolution-content-hub .asch-article-hero{
  padding:clamp(5.5rem,7vw,7.5rem) 0 clamp(5rem,6.5vw,6.5rem)!important;
  background:linear-gradient(118deg,#061b3b 0%,#0a2f67 62%,#174998 100%)!important;
}
body.authsolution-content-hub .asch-article-hero__inner{width:min(1180px,calc(100% - 40px))!important;margin-inline:auto!important}
body.authsolution-content-hub .asch-article-hero h1{max-width:980px!important;margin-top:1.55rem!important}
body.authsolution-content-hub .asch-article-hero__meta{color:#bcd5fa!important}
body.authsolution-content-hub .asch-prose :is(h2,h3,h4){color:var(--ascts-ink)!important;font-family:var(--ascts-font)!important;font-weight:700!important;line-height:1.22!important;letter-spacing:-.02em!important}
body.authsolution-content-hub .asch-prose p{color:#32425f!important;line-height:1.78!important}
body.authsolution-content-hub .asch-toc{overflow:hidden!important}
body.authsolution-content-hub .asch-toc a{overflow-wrap:anywhere!important}
body.authsolution-content-hub .asch-toc svg{width:18px!important;height:18px!important}

/* Legal pages: consistent width and mobile-safe typography. */
body.ascts-managed-legal .authsolution-legal-canvas{width:100%!important;max-width:none!important;margin:0!important}
body.ascts-managed-legal .aslc-shell{width:min(1180px,calc(100% - 40px))!important;max-width:1180px!important;margin-inline:auto!important}
body.ascts-managed-legal .aslc-hero{padding:clamp(5.5rem,7vw,7.5rem) 0!important}
body.ascts-managed-legal .aslc-legal-card{font-family:var(--ascts-font)!important}
body.ascts-managed-legal .aslc-legal-card :is(h2,h3){font-family:var(--ascts-font)!important;color:var(--ascts-ink)!important}
body.ascts-managed-legal .aslc-legal-card :is(p,li){overflow-wrap:anywhere!important}

/* Reviews: full width, clean hero and reliable form controls. */
body.ascts-managed-review .asrv-template-main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.ascts-managed-review .asrv-page{width:100%!important;max-width:none!important;margin:0!important}
body.ascts-managed-review .asrv-wrap{width:min(1180px,calc(100% - 40px))!important;max-width:1180px!important;margin-inline:auto!important}
body.ascts-managed-review :is(.asrv-hero,.asrv-form-hero){padding:clamp(5.5rem,7vw,7.5rem) 0!important}
body.ascts-managed-review .asrv-form-card :is(input,select,textarea){
  width:100%!important;
  min-height:52px!important;
  color:var(--ascts-ink)!important;
  background:#fff!important;
  font-family:var(--ascts-font)!important;
  font-size:16px!important;
  line-height:1.35!important;
}
body.ascts-managed-review .asrv-form-card select{height:52px!important;padding:0 44px 0 16px!important}
body.ascts-managed-review .asrv-form-card textarea{min-height:180px!important;padding:16px!important}
body.ascts-managed-review .asrv-consent{align-items:flex-start!important;gap:12px!important}
body.ascts-managed-review .asrv-consent input{width:20px!important;min-width:20px!important;height:20px!important;min-height:20px!important;margin-top:2px!important}

/* Button clarity after Astra or other plugin overrides. */
body :is(.asrv-btn,.asch-button){
  min-height:50px!important;
  padding:0 22px!important;
  border-radius:13px!important;
  font-family:var(--ascts-font)!important;
  font-size:15px!important;
  font-weight:600!important;
  line-height:1!important;
  text-decoration:none!important;
  opacity:1!important;
}

@media(max-width:767px){
  body :is(.aslc-hero,.asrv-hero,.asrv-form-hero,.asch-hero,.asch-article-hero){padding-top:4.5rem!important;padding-bottom:4.75rem!important}
  body :is(.aslc-hero,.asrv-hero,.asrv-form-hero,.asch-hero,.asch-article-hero) h1{
    max-width:100%!important;
    font-size:clamp(2.15rem,10vw,2.75rem)!important;
    line-height:1.17!important;
    letter-spacing:-.018em!important;
    text-wrap:pretty;
  }
  body.authsolution-content-hub .asch-article-hero__inner,
  body.ascts-managed-legal .aslc-shell,
  body.ascts-managed-review .asrv-wrap{width:min(100% - 32px,1180px)!important}
  body.ascts-managed-review .asrv-form-grid{grid-template-columns:1fr!important}
}
