
/* v888 — root-cause desktop/sidebar overflow hard fix for price-lists page */
body.price-xxx-overflowfix-v888 .price-xxx-layout-v871{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 304px!important;
  gap:28px!important;
  width:min(1180px, calc(100% - 40px))!important;
  max-width:1180px!important;
  margin:0 auto!important;
  padding-left:0!important;
  padding-right:0!important;
  align-items:start!important;
  overflow-x:clip!important;
  box-sizing:border-box!important;
}
body.price-xxx-overflowfix-v888 .price-xxx-main-v871,
body.price-xxx-overflowfix-v888 .price-xxx-main-v871 .fees-main-rail-v438G,
body.price-xxx-overflowfix-v888 .price-xxx-main-v871 .section,
body.price-xxx-overflowfix-v888 .price-xxx-main-v871 .section > .container{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body.price-xxx-overflowfix-v888 .price-xxx-main-v871{
  grid-column:1!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
}
body.price-xxx-overflowfix-v888 .price-xxx-sidebar-v871{
  grid-column:2!important;
  width:304px!important;
  min-width:304px!important;
  max-width:304px!important;
  position:sticky!important;
  top:92px!important;
  align-self:start!important;
}

/* The real root cause was the pricing tables using auto layout + intrinsic width,
   which let the content exceed the main rail and appear hidden behind the sidebar.
   Force fixed table layout so the full table stays inside the main column on desktop. */
body.price-xxx-overflowfix-v888 .fees-matrix-wrap-v787DN,
body.price-xxx-overflowfix-v888 .urgent-table-wrap{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body.price-xxx-overflowfix-v888 .fees-matrix-v787DN{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
body.price-xxx-overflowfix-v888 .fees-matrix-v787DN thead th:first-child,
body.price-xxx-overflowfix-v888 .fees-matrix-v787DN tbody th.fees-matrix-processing-v787EP{
  width:32%!important;
}
body.price-xxx-overflowfix-v888 .fees-matrix-v787DN thead th:nth-child(2),
body.price-xxx-overflowfix-v888 .fees-matrix-v787DN thead th:nth-child(3),
body.price-xxx-overflowfix-v888 .fees-matrix-v787DN thead th:nth-child(4),
body.price-xxx-overflowfix-v888 .fees-matrix-v787DN thead th:nth-child(5){
  width:17%!important;
}
body.price-xxx-overflowfix-v888 .fees-matrix-v787DN th,
body.price-xxx-overflowfix-v888 .fees-matrix-v787DN td{
  white-space:normal!important;
  word-break:break-word!important;
  overflow-wrap:anywhere!important;
  padding:10px 9px!important;
  font-size:12.4px!important;
  line-height:1.38!important;
  vertical-align:middle!important;
}
body.price-xxx-overflowfix-v888 .fees-matrix-v787DN th{font-size:12.6px!important;}
body.price-xxx-overflowfix-v888 .fees-matrix-total-v787DN{font-size:13.5px!important;}
body.price-xxx-overflowfix-v888 .fees-inline-notes-v787DN{
  display:grid!important;
  gap:8px!important;
}

/* Keep the fee checker and support text safely inside the main rail */
body.price-xxx-overflowfix-v888 .fees-check-section .grid.two,
body.price-xxx-overflowfix-v888 .price-text-columns-v883,
body.price-xxx-overflowfix-v888 .fees-support-text-v883 .container,
body.price-xxx-overflowfix-v888 .fees-article-notes-v883 .container{
  min-width:0!important;
  max-width:100%!important;
}
body.price-xxx-overflowfix-v888 .fee-card,
body.price-xxx-overflowfix-v888 .price-note-block-v883,
body.price-xxx-overflowfix-v888 .price-text-item-v883{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.price-xxx-overflowfix-v888 .fee-card select,
body.price-xxx-overflowfix-v888 .fee-card input{min-width:0!important;}

/* Slightly more room before stacking to prevent the half-covered desktop state */
@media (max-width: 1080px){
  body.price-xxx-overflowfix-v888 .price-xxx-layout-v871{
    grid-template-columns:1fr!important;
    width:min(1180px, calc(100% - 24px))!important;
    gap:20px!important;
  }
  body.price-xxx-overflowfix-v888 .price-xxx-sidebar-v871{
    grid-column:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    position:static!important;
  }
}
@media (max-width: 820px){
  body.price-xxx-overflowfix-v888 .fees-check-section .grid.two,
  body.price-xxx-overflowfix-v888 .price-text-columns-v883{
    grid-template-columns:1fr!important;
  }
  body.price-xxx-overflowfix-v888 .fees-matrix-wrap-v787DN,
  body.price-xxx-overflowfix-v888 .urgent-table-wrap{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.price-xxx-overflowfix-v888 .fees-matrix-v787DN{
    min-width:620px!important;
    table-layout:auto!important;
  }
}
