/* v898 — Targeted mobile visual QA: tables/media/floating controls
   Desktop untouched: wrappers use display:contents outside mobile. */

.vge-mobile-table-scroll-v898{
  display:contents;
}
.vge-mobile-table-hint-v898{
  display:none;
}

@media (max-width: 768px){
  /* Any table wrapped by v898 gets its own horizontal scroll, so the page itself stays stable. */
  .vge-mobile-table-scroll-v898{
    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 #d7e2f0 !important;
    background:#fff !important;
    box-sizing:border-box !important;
    margin:12px 0 16px !important;
  }
  .vge-mobile-table-scroll-v898 .vge-mobile-table-hint-v898{
    display:block !important;
    position:sticky !important;
    left:0 !important;
    padding:8px 10px !important;
    font-size:12px !important;
    line-height:1.35 !important;
    font-weight:800 !important;
    color:#0b63ce !important;
    background:#f4f8ff !important;
    border-bottom:1px solid #d7e2f0 !important;
    z-index:1 !important;
  }
  .vge-mobile-table-scroll-v898 table{
    min-width:560px !important;
    width:max-content !important;
    max-width:none !important;
    table-layout:auto !important;
    margin:0 !important;
    border:0 !important;
  }
  .vge-mobile-table-scroll-v898 th,
  .vge-mobile-table-scroll-v898 td{
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }

  /* If a table was not wrapped for any reason, make the table itself scroll rather than cut off. */
  body table:not(.vge-desktop-only-table){
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  /* iframe/map/video embedded blocks */
  body iframe,
  body video,
  body embed,
  body object{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  body iframe{
    min-height:240px !important;
  }

  /* Long URLs/email/order references should not stretch page width */
  body a,
  body code,
  body .small,
  body [class*="reference"],
  body [class*="order"],
  body [class*="email"]{
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }

  /* Floating contact controls: reduce crowding on smaller screens */
  body .whatsapp-float,
  body .telegram-float{
    transform:scale(.92) !important;
    transform-origin:right bottom !important;
  }

  body .whatsapp-float{
    bottom:74px !important;
  }
  body .telegram-float{
    bottom:124px !important;
  }

  body .vge-chatbot-launcher,
  body .vge-lsc-launcher{
    bottom:12px !important;
    right:12px !important;
  }

  body .vge-chatbot-panel,
  body .vge-lsc-widget{
    max-height:calc(100vh - 92px) !important;
    bottom:74px !important;
  }

  /* Keep final CTAs visible above floating controls */
  body main > section:last-child,
  body main > div:last-child,
  body footer{
    scroll-margin-bottom:120px !important;
  }
}

@media (max-width: 430px){
  .vge-mobile-table-scroll-v898 table{
    min-width:520px !important;
  }
  body .whatsapp-float,
  body .telegram-float{
    transform:scale(.86) !important;
  }
  body .whatsapp-float{
    bottom:70px !important;
  }
  body .telegram-float{
    bottom:114px !important;
  }
  body .vge-chatbot-panel,
  body .vge-lsc-widget{
    max-height:calc(100vh - 86px) !important;
    bottom:66px !important;
  }
}

@media (max-width: 390px){
  .vge-mobile-table-scroll-v898 table{
    min-width:500px !important;
  }
  .vge-mobile-table-scroll-v898 .vge-mobile-table-hint-v898{
    font-size:11.5px !important;
    padding:7px 9px !important;
  }
}
