/* ==========================================================================
   Mobile / tablet fixes for the whole site (loaded last in _Layout.cshtml)
   ========================================================================== */

/* Tables: scroll sideways inside their own box instead of widening the page */
.table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin-bottom: 15px; }
.table-scroll > table { margin-bottom: 0; }
.dataTables_wrapper { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

img { max-width: 100%; height: auto; }
iframe, video, embed { max-width: 100%; }

@media (max-width: 991px) {
    /* page-title banner */
    .inner-header .container.pt-70 { padding-top: 45px !important; padding-bottom: 45px !important; }
}

@media (max-width: 767px) {
    /* safety net: nothing may make the page wider than the phone */
    html, body { overflow-x: hidden; }

    /* ---- Top black bar: one compact line ---- */
    .header-top .col-md-6:first-child { display: none; }
    .header-top .col-md-6 { padding-left: 8px; padding-right: 8px; }
    .header-top .widget ul.list-inline { margin: 6px 0 !important; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 10px; }
    .header-top .widget ul.list-inline li { padding: 0 !important; margin: 0 !important; font-size: 12.5px; line-height: 1.6; }
    .header-top .widget ul.list-inline li a { font-size: 12.5px; }
    .header-top .btn { padding: 3px 10px !important; font-size: 12px !important; border-radius: 14px !important; }

    /* ---- Logo / menu bar ---- */
    .menuzord-brand { margin: 8px 0 !important; }
    .menuzord-brand img { max-height: 56px; width: auto; }
    .header-nav .header-nav-wrapper .menuzord { min-height: 72px; }
    .menuzord .showhide { margin-top: 0 !important; }

    /* ---- Page-title banner ---- */
    .inner-header .container.pt-70 { padding-top: 32px !important; padding-bottom: 32px !important; }
    .inner-header .title, .inner-header h2, .inner-header h3 { font-size: 22px !important; line-height: 1.3; margin: 0 !important; }

    /* ---- General spacing ---- */
    section > .container, .container.pt-70 { padding-left: 16px; padding-right: 16px; }
    .pt-70 { padding-top: 40px !important; }
    .pb-70 { padding-bottom: 40px !important; }
    .pb-50 { padding-bottom: 30px !important; }
    .mb-50 { margin-bottom: 30px !important; }
    h1 { font-size: 26px; }
    h2 { font-size: 22px; }
    h3 { font-size: 19px; }
    p { word-wrap: break-word; overflow-wrap: break-word; }
    #shareIcons { padding-bottom: 6px !important; }
    #shareIcons .jssocials-share-link { width: 34px; height: 34px; line-height: 34px; padding: 0; font-size: 15px; }

    /* ---- "May I Help You" side tab: smaller ---- */
    #appiontment-now-box { top: 22%; }
    #appiontment-now-box .toggle { font-size: 10.5px; width: 120px; left: -71px; padding: 4px 0 7px; letter-spacing: .5px; }
    #appiontment-now-box .appiontment-now.open { width: 290px; max-width: calc(100vw - 40px); max-height: 75vh; overflow-y: auto; padding: 18px 14px; }

    /* ---- Cookie notice: compact bar at the bottom ---- */
    #cookieNotice.display-right { left: 10px; right: 10px; bottom: 10px; }
    #cookieNotice { padding: 10px 14px 4px !important; border-radius: 12px; }
    #cookieNotice .title-wrap { display: none !important; }
    #cookieNotice p { font-size: 12.5px !important; line-height: 1.5 !important; margin: 4px 22px 8px 0 !important; }
    #cookieNotice .btn-wrap button { line-height: 32px !important; font-size: 14px !important; margin: 0 6px 8px !important; }

    /* ---- WhatsApp floating button ---- */
    .wcs_fixed_right { right: 12px !important; bottom: 14px !important; }
    .wcs_button_circle { width: 52px !important; height: 52px !important; }
    .wcs_button_circle .fa { font-size: 28px !important; line-height: 34px !important; }

    .modal-dialog50, .modal-lg { width: auto !important; margin: 10px !important; }
    .modal-body50 p { font-size: 14px !important; line-height: 1.7 !important; }

    /* ---- Old fixed-height boxes: let them grow with content ---- */
    .page-not-found-main[style*="height"] { height: auto !important; min-height: 0 !important; padding-bottom: 20px; }
    .blockstart { height: auto !important; }
    .blockimg { height: auto !important; }

    /* ---- Forms ---- */
    .form-control { font-size: 16px; } /* stops iPhone zooming into inputs */
    .g-recaptcha, [id^="RecaptchaField"] { transform: scale(.9); transform-origin: 0 0; }
}

@media (max-width: 360px) {
    .header-top .widget ul.list-inline li:nth-child(2) { display: none; } /* hide email on very small phones, keep phone */
}
