/* Hide redundant site title text since the logo is present */
.site-branding .site-title,
.site-branding .ast-site-title-wrap {
    display: none !important;
}

/* WhatsApp button specific styling (Global so it works on desktop too) */
a[href*="wa.me"] .elementor-button {
    background-color: #25D366 !important;
}

a[href*="wa.me"]:hover .elementor-button {
    background-color: #128C7E !important;
}

/* =======================================================
   MOBILE TWEAKS (Under 921px) 
   ======================================================= */
@media (max-width: 921px) {

    /* Prevent horizontal scrolling strictly on mobile */
    html,
    body {
        overflow-x: hidden !important;
        width: 100%;
    }

    .elementor-section,
    .elementor-container,
    .ast-container {
        max-width: 100vw !important;
        overflow: hidden !important;
    }

    .elementor-widget-text-editor,
    .elementor-widget-container {
        max-width: 100vw !important;
    }

    .ast-builder-grid-row {
        align-items: center;
    }

    .ast-mobile-menu-buttons {
        margin-top: 10px;
    }

    /* Ensure no text sticks to edges on mobile */
    .elementor-section .elementor-container {
        padding-left: 10px !important;
        padding-right: 10px !important;
        box-sizing: border-box !important;
    }

    /* Fix WPForms capturing vertical swipe (internal scrolling) */
    .wpforms-container {
        overflow: visible !important;
        touch-action: pan-y !important;
    }

    .wpforms-form {
        overflow: visible !important;
    }

    /* Fares table responsiveness only for mobile */
    .elementor-widget-text-editor table,
    .elementor-widget-container table {
        display: block !important;
        max-width: 100vw !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap !important;
        border-collapse: collapse;
    }
}

/* =======================================================
   SMALL MOBILE TWEAKS (Under 480px)
   ======================================================= */
@media (max-width: 480px) {

    /* Heavily scale down the logo */
    .site-logo-img img,
    .custom-logo {
        max-width: 140px !important;
        width: 140px !important;
        height: auto !important;
    }

    .ast-primary-header-bar {
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }

    .ast-mobile-menu-buttons {
        margin-top: 0 !important;
    }

    /* Further padding to prevent edge sticking for grid titles */
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        padding-left: 5px !important;
        padding-right: 5px !important;
        word-wrap: break-word;
    }

    h1 {
        font-size: 26px !important;
    }

    h2 {
        font-size: 22px !important;
    }

    h3 {
        font-size: 20px !important;
    }

    /* Ensure columns stack perfectly */
    .elementor-column,
    .elementor-widget-wrap {
        width: 100% !important;
        display: block !important;
    }

    /* Form fields on booking page (wpforms) should stack */
    .wpforms-container .wpforms-field {
        width: 100% !important;
        float: none !important;
        clear: both !important;
    }

    /* Prevent reCAPTCHA "I'm not a robot" from overflowing the screen */
    .wpforms-recaptcha-container {
        transform: scale(0.85) !important;
        transform-origin: 0 0 !important;
    }

    /* Make the form area take maximum width possible */
    .elementor-widget-wpforms {
        margin-left: -5px;
        margin-right: -5px;
    }
}