/* =============================================
   Jain Shikanji — Global Mobile Optimisation
   Applies site-wide responsive fixes on top of
   whatever theme / page-builder styles are in use.
   ============================================= */

/* ── Prevent horizontal scroll everywhere ── */
html, body {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* ── Fluid images & media ── */
img, video, iframe, embed, object {
    max-width: 100% !important;
    height: auto !important;
}

/* ── Tables become scrollable on small screens ── */
table {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    max-width: 100% !important;
}

/* ── Base font / line-height scaling ── */
@media (max-width: 768px) {
    body {
        font-size: 16px !important;
        line-height: 1.65 !important;
    }

    h1 { font-size: clamp(1.8rem, 6vw, 2.6rem) !important; }
    h2 { font-size: clamp(1.5rem, 5vw, 2.0rem) !important; }
    h3 { font-size: clamp(1.2rem, 4vw, 1.6rem) !important; }
    h4, h5, h6 { font-size: clamp(1rem, 3.5vw, 1.3rem) !important; }
    p, li, a { font-size: clamp(0.88rem, 2.8vw, 1rem) !important; }

    /* Elementor / generic section padding */
    .elementor-section,
    .wp-block-group,
    section {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    /* Elementor columns → stack */
    .elementor-column {
        width: 100% !important;
    }

    /* Navigation: hide desktop nav, show mobile */
    .elementor-nav-menu--main {
        display: none !important;
    }

    /* Buttons: full width & tap-friendly */
    .elementor-button,
    .wp-block-button__link,
    input[type="submit"],
    button[type="submit"] {
        width: 100% !important;
        padding: 14px 20px !important;
        font-size: 1rem !important;
        touch-action: manipulation !important;
    }

    /* Forms: stack labels and inputs */
    .wpcf7-form,
    .wpforms-form,
    .gform_wrapper form {
        padding: 0 !important;
    }

    .wpcf7-form input,
    .wpcf7-form textarea,
    .wpcf7-form select,
    .wpforms-form input,
    .wpforms-form textarea,
    .wpforms-form select,
    .gform_wrapper input,
    .gform_wrapper textarea,
    .gform_wrapper select {
        width: 100% !important;
        font-size: 16px !important; /* prevents iOS zoom-in on focus */
        padding: 12px !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 480px) {
    /* Extra-small screens */
    body {
        font-size: 15px !important;
    }

    .elementor-section,
    .wp-block-group,
    section {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    /* Tap targets: minimum 44 × 44 px (Apple HIG) */
    a, button, [role="button"] {
        min-height: 44px !important;
        display: inline-flex !important;
        align-items: center !important;
    }
}
