
/* V57 — Page Alignment Fix */

/* Global content width consistency */
.v52-modern-page main > section > .container,
.v52-modern-page .framework-related > .container,
.v52-modern-page .conversion-cta > .container,
.site-footer > .container,
.site-footer .footer-grid,
.site-footer .footer-bottom{
  width:min(1180px, calc(100% - 48px))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Related guides line aligns with page content */
.framework-related{
  width:100%!important;
  margin:0!important;
  padding:26px 0 24px!important;
  text-align:center!important;
}

/* CTA section should span full row, with centered inner card */
.v52-modern-page .conversion-cta{
  width:100%!important;
  margin:0!important;
  padding:0 0 64px!important;
  background:#f5f8fb!important;
}

.v52-modern-page .conversion-cta > .container{
  box-sizing:border-box!important;
  padding:34px 36px!important;
}

/* Prevent accidental left-anchoring caused by older styles */
.v52-modern-page .conversion-cta,
.v52-modern-page .conversion-cta > .container,
.v52-modern-page .conversion-cta .cta-actions{
  float:none!important;
  left:auto!important;
  right:auto!important;
  transform:none!important;
}

/* Footer full-width background, centered content */
.site-footer{
  width:100%!important;
  margin:0!important;
}

.site-footer .footer-grid{
  display:grid!important;
  grid-template-columns:minmax(280px,1.35fr) repeat(3,minmax(150px,.65fr))!important;
  gap:48px!important;
  align-items:start!important;
}

.site-footer .footer-grid>div:first-child{
  text-align:center!important;
}

.site-footer .footer-bottom{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:20px!important;
}

/* Make footer logo column feel balanced instead of drifting low/left */
.site-footer .footer-grid>div:first-child .brand{
  min-height:110px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.site-footer .brand-logo-image{
  width:min(300px,100%)!important;
  max-width:300px!important;
}

/* Remove excessive vertical gap before footer */
.v52-modern-page main{
  margin-bottom:0!important;
}

.v52-modern-page main > section:last-child{
  margin-bottom:0!important;
}

/* vCISO / service page related links area should not create huge empty whitespace */
.v52-modern-page .framework-related{
  min-height:0!important;
}

/* Mobile */
@media(max-width:900px){
  .site-footer .footer-grid{
    grid-template-columns:1fr 1fr!important;
    gap:30px!important;
  }
  .site-footer .footer-grid>div:first-child{
    grid-column:1 / -1!important;
  }
}

@media(max-width:640px){
  .v52-modern-page main > section > .container,
  .v52-modern-page .framework-related > .container,
  .v52-modern-page .conversion-cta > .container,
  .site-footer > .container,
  .site-footer .footer-grid,
  .site-footer .footer-bottom{
    width:min(100% - 24px,1180px)!important;
  }

  .site-footer .footer-grid{
    grid-template-columns:1fr!important;
    text-align:center!important;
  }

  .site-footer .footer-grid>div:first-child{
    grid-column:auto!important;
  }

  .site-footer .footer-bottom{
    flex-direction:column!important;
    text-align:center!important;
  }

  .v52-modern-page .conversion-cta > .container{
    padding:26px!important;
  }
}
