/* v900 — Key table pages mobile polish
   Desktop untouched. All rules are mobile/tablet-only. */

@media (max-width: 768px){
  /* Price/Fee matrix: strongest guard, because this is the most business-critical mobile table. */
  body.price-xxx-page-v871 .fees-matrix-wrap-v787DN,
  body.fees-page .fees-matrix-wrap-v787DN,
  body.price-xxx-page-v871 .urgent-table-wrap,
  body.fees-page .urgent-table-wrap{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    border:1px solid #cfdced !important;
    background:#fff !important;
    margin:12px 0 18px !important;
    box-shadow:none !important;
  }

  body.price-xxx-page-v871 .fees-matrix-v787DN,
  body.fees-page .fees-matrix-v787DN{
    min-width:720px !important;
    width:max-content !important;
    table-layout:auto !important;
  }

  body.price-xxx-page-v871 .urgent-table-wrap table,
  body.fees-page .urgent-table-wrap table{
    min-width:680px !important;
    width:max-content !important;
    table-layout:auto !important;
  }

  body.price-xxx-page-v871 .fees-matrix-v787DN th,
  body.price-xxx-page-v871 .fees-matrix-v787DN td,
  body.fees-page .fees-matrix-v787DN th,
  body.fees-page .fees-matrix-v787DN td{
    min-width:118px !important;
    padding:10px 9px !important;
    font-size:13px !important;
    line-height:1.35 !important;
    vertical-align:top !important;
  }

  body.price-xxx-page-v871 .fees-matrix-v787DN th:first-child,
  body.price-xxx-page-v871 .fees-matrix-v787DN td:first-child,
  body.fees-page .fees-matrix-v787DN th:first-child,
  body.fees-page .fees-matrix-v787DN td:first-child{
    min-width:136px !important;
    max-width:170px !important;
    position:sticky !important;
    left:0 !important;
    z-index:3 !important;
    background:#fff !important;
    box-shadow:1px 0 0 #cfdced !important;
  }

  body.price-xxx-page-v871 .fees-matrix-v787DN thead th:first-child,
  body.fees-page .fees-matrix-v787DN thead th:first-child{
    background:#f4f8ff !important;
    z-index:4 !important;
  }

  /* Visa requirements table: keep first column readable without squeezing rest. */
  body.visa-req-redesign-v886 .visa-req-table-wrap-v886{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
    border:1px solid #cfdced !important;
    background:#fff !important;
  }
  body.visa-req-redesign-v886 .visa-req-table-v886{
    min-width:640px !important;
    table-layout:auto !important;
  }
  body.visa-req-redesign-v886 .visa-req-table-v886 th,
  body.visa-req-redesign-v886 .visa-req-table-v886 td{
    min-width:130px !important;
    padding:10px !important;
    font-size:13px !important;
    line-height:1.38 !important;
    vertical-align:top !important;
  }
  body.visa-req-redesign-v886 .visa-req-table-v886 th:first-child,
  body.visa-req-redesign-v886 .visa-req-table-v886 td:first-child{
    min-width:150px !important;
    max-width:175px !important;
  }

  /* VOA comparison/fee tables. */
  body .trust-voa-table-wrap-v800{
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
    border:1px solid #cfdced !important;
    background:#fff !important;
    margin:12px 0 18px !important;
  }
  body .trust-voa-table-v799{
    min-width:660px !important;
    width:max-content !important;
    table-layout:auto !important;
  }
  body .trust-voa-table-v799 th,
  body .trust-voa-table-v799 td{
    min-width:128px !important;
    padding:10px !important;
    font-size:13px !important;
    line-height:1.38 !important;
    vertical-align:top !important;
  }

  /* Vietnam visa information tables are mostly simple comparison tables; make them less huge. */
  body.visa-info-xxx-page-v835 .visa-info-xxx-simple-table-v835{
    min-width:560px !important;
    table-layout:auto !important;
  }
  body.visa-info-xxx-page-v835 .visa-info-xxx-simple-table-v835 th,
  body.visa-info-xxx-page-v835 .visa-info-xxx-simple-table-v835 td{
    min-width:120px !important;
    padding:10px !important;
    font-size:13px !important;
    line-height:1.4 !important;
    vertical-align:top !important;
  }

  /* Fast track / emergency / correction / speed-up tables. */
  body .arrival-xxx-table-v829,
  body .departure-xxx-table-v830,
  body .emergency-summary-table-v787FR,
  body .emergency-price-table-v787GD,
  body .speedup-simple-table-v827,
  body .correction-xxx-table-v828,
  body .evisa-ref-table-v803,
  body .exemption-table-v510G{
    min-width:560px !important;
    width:max-content !important;
    table-layout:auto !important;
  }

  body .arrival-xxx-table-v829 th,
  body .arrival-xxx-table-v829 td,
  body .departure-xxx-table-v830 th,
  body .departure-xxx-table-v830 td,
  body .emergency-summary-table-v787FR th,
  body .emergency-summary-table-v787FR td,
  body .emergency-price-table-v787GD th,
  body .emergency-price-table-v787GD td,
  body .speedup-simple-table-v827 th,
  body .speedup-simple-table-v827 td,
  body .correction-xxx-table-v828 th,
  body .correction-xxx-table-v828 td,
  body .evisa-ref-table-v803 th,
  body .evisa-ref-table-v803 td,
  body .exemption-table-v510G th,
  body .exemption-table-v510G td{
    min-width:118px !important;
    padding:10px !important;
    font-size:13px !important;
    line-height:1.4 !important;
    vertical-align:top !important;
  }

  /* Reduce the table hint visual weight after it has served its purpose. */
  .vge-mobile-table-hint-v898,
  body :where(.fees-matrix-wrap-v787DN, .urgent-table-wrap, .visa-req-table-wrap-v886, .trust-voa-table-wrap-v800)::before{
    font-size:11.5px !important;
    padding:7px 9px !important;
    line-height:1.3 !important;
  }

  /* CTA/floating overlap protection on key pages. */
  body.price-xxx-page-v871 main,
  body.fees-page main,
  body.visa-req-redesign-v886 main,
  body.visa-info-xxx-page-v835 main,
  body.visa-on-arrival-page main,
  body.emergency-visa-page-v787FR main{
    padding-bottom:40px !important;
  }

  /* On pages with important tables, do not let sidebars appear before the main reading flow on mobile. */
  body.price-xxx-page-v871 aside,
  body.fees-page aside,
  body.visa-req-redesign-v886 aside,
  body.visa-info-xxx-page-v835 aside,
  body.emergency-visa-page-v787FR aside{
    order:20 !important;
  }
}

@media (max-width:430px){
  body.price-xxx-page-v871 .fees-matrix-v787DN,
  body.fees-page .fees-matrix-v787DN{
    min-width:680px !important;
  }
  body.price-xxx-page-v871 .fees-matrix-v787DN th:first-child,
  body.price-xxx-page-v871 .fees-matrix-v787DN td:first-child,
  body.fees-page .fees-matrix-v787DN th:first-child,
  body.fees-page .fees-matrix-v787DN td:first-child{
    min-width:124px !important;
    max-width:145px !important;
  }
  body .trust-voa-table-v799,
  body.visa-req-redesign-v886 .visa-req-table-v886{
    min-width:600px !important;
  }
  body .arrival-xxx-table-v829,
  body .departure-xxx-table-v830,
  body .emergency-summary-table-v787FR,
  body .emergency-price-table-v787GD,
  body .speedup-simple-table-v827,
  body .correction-xxx-table-v828,
  body .evisa-ref-table-v803,
  body .exemption-table-v510G,
  body.visa-info-xxx-page-v835 .visa-info-xxx-simple-table-v835{
    min-width:520px !important;
  }
}

@media (max-width:390px){
  body.price-xxx-page-v871 .fees-matrix-v787DN,
  body.fees-page .fees-matrix-v787DN{
    min-width:650px !important;
  }
  body.price-xxx-page-v871 .fees-matrix-v787DN th,
  body.price-xxx-page-v871 .fees-matrix-v787DN td,
  body.fees-page .fees-matrix-v787DN th,
  body.fees-page .fees-matrix-v787DN td{
    padding:9px 8px !important;
    font-size:12.5px !important;
  }
}
