
/* v438G — Fees physical centered rail fix.
   The issue was not only section max-width. At browser zoom-out, the subpage sections
   still behaved like separate full-width bands and their internal blocks could look
   left-biased. This creates one physical centered main rail for the Fees page. */

body.fees-page{
  --fees-physical-rail: 1280px;
  --fees-physical-gutter: clamp(24px, 4vw, 56px);
  background:#fff !important;
}

/* One real centered wrapper for all Fees page content below the hero. */
body.fees-page .fees-main-rail-v438G{
  width:min(calc(100% - (var(--fees-physical-gutter) * 2)), var(--fees-physical-rail)) !important;
  max-width:var(--fees-physical-rail) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* Once inside the physical rail, containers should not create another width system. */
body.fees-page .fees-main-rail-v438G > .section > .container,
body.fees-page .fees-main-rail-v438G .fees-check-section > .container,
body.fees-page .fees-main-rail-v438G .fees-example-grid{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  box-sizing:border-box !important;
}

/* Remove all old subpage decorative layers inside the rail; they were creating fake left/right weight. */
body.fees-page .fees-main-rail-v438G .section::before,
body.fees-page .fees-main-rail-v438G .section::after,
body.fees-page .fees-check-section .container.grid.two > :first-child::after{
  content:none !important;
  display:none !important;
  background:none !important;
  opacity:0 !important;
}

body.fees-page .fees-main-rail-v438G .section{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  overflow:visible !important;
  isolation:auto !important;
}

/* Clean, balanced Fees checker panel. */
body.fees-page .fees-main-rail-v438G .fees-check-section{
  padding-top:clamp(56px, 5vw, 78px) !important;
  padding-bottom:clamp(48px, 4.8vw, 68px) !important;
}

body.fees-page .fees-main-rail-v438G .fees-check-section > .container.grid.two{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  gap:clamp(24px, 3vw, 42px) !important;
  align-items:stretch !important;
  padding:clamp(26px, 3vw, 42px) !important;
  border:1px solid rgba(203,213,225,.9) !important;
  border-radius:32px !important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%) !important;
  box-shadow:0 24px 70px rgba(15,23,42,.07) !important;
}

body.fees-page .fees-main-rail-v438G .fees-check-section > .container.grid.two > div:first-child{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding:clamp(12px, 1.6vw, 22px) !important;
  max-width:none !important;
  min-height:0 !important;
}

body.fees-page .fees-main-rail-v438G .fees-check-section h2{
  max-width:560px !important;
  font-size:clamp(36px, 3.8vw, 54px) !important;
  line-height:1.04 !important;
  letter-spacing:-.045em !important;
}

body.fees-page .fees-main-rail-v438G .fees-check-section p.muted,
body.fees-page .fees-main-rail-v438G .fees-check-section p.small{
  max-width:560px !important;
}

body.fees-page .fees-main-rail-v438G .fees-check-section .fee-card{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  align-self:stretch !important;
  padding:clamp(24px, 2.6vw, 36px) !important;
  border-radius:26px !important;
  box-sizing:border-box !important;
}

/* Tables and headings inside the same physical rail. */
body.fees-page .fees-main-rail-v438G > .section:not(.fees-check-section){
  padding-top:clamp(46px, 4.8vw, 68px) !important;
  padding-bottom:clamp(46px, 4.8vw, 68px) !important;
}

body.fees-page .fees-main-rail-v438G > .section > .container > h2{
  max-width:900px !important;
  margin-left:0 !important;
  margin-right:auto !important;
  text-align:left !important;
  font-size:clamp(34px, 3.2vw, 52px) !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
}

body.fees-page .fees-main-rail-v438G > .section > .container > p.muted,
body.fees-page .fees-main-rail-v438G > .section > .container > .section-lead{
  max-width:980px !important;
  margin-left:0 !important;
  margin-right:auto !important;
  text-align:left !important;
}

body.fees-page .fees-main-rail-v438G .urgent-table-wrap{
  width:100% !important;
  max-width:100% !important;
  margin:clamp(24px, 2.4vw, 34px) 0 0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  box-shadow:0 18px 48px rgba(15,23,42,.055) !important;
}

body.fees-page .fees-main-rail-v438G .fees-table,
body.fees-page .fees-main-rail-v438G .urgent-table{
  width:100% !important;
  min-width:0 !important;
  table-layout:fixed !important;
}

/* Trust and example blocks. */
body.fees-page .fees-main-rail-v438G .fees-trust-section .trust-grid{
  width:100% !important;
  max-width:100% !important;
  margin:clamp(24px, 2.4vw, 34px) 0 0 !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:20px !important;
}

body.fees-page .fees-main-rail-v438G .fees-example-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:clamp(24px, 3vw, 42px) !important;
}

/* Keep the hero rail consistent too, but the main rail is the important fix. */
body.fees-page .fees-hero > .container{
  width:min(calc(100% - (var(--fees-physical-gutter) * 2)), var(--fees-physical-rail)) !important;
  max-width:var(--fees-physical-rail) !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width:1100px){
  body.fees-page .fees-main-rail-v438G .fees-check-section > .container.grid.two,
  body.fees-page .fees-main-rail-v438G .fees-example-grid{
    grid-template-columns:1fr !important;
  }

  body.fees-page .fees-main-rail-v438G .fees-trust-section .trust-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width:720px){
  body.fees-page{
    --fees-physical-gutter:18px;
  }

  body.fees-page .fees-main-rail-v438G .fees-check-section > .container.grid.two{
    padding:18px !important;
    border-radius:24px !important;
  }

  body.fees-page .fees-main-rail-v438G .fees-trust-section .trust-grid{
    grid-template-columns:1fr !important;
  }
}
