/* ============================================
   QAVALLI - Responsive Styles
   Breakpoints: 991px | 767px | 480px
   ============================================ */

/* ===================================================
   TABLET  ≤ 991px
   =================================================== */
@media (max-width: 1200px) {
    .menu-item a {
        color: #fff !important;
        font-size: 12px;
        text-transform: uppercase;
    }
}

@media (max-width: 991px) {
    /* --- Hide desktop split nav, show mobile header --- */
    #navigation {
        display: none !important;
    }

    /* Hide the entire desktop header-wrap (red bar) on mobile/tablet */
    #header-wrap {
        display: none !important;
    }

    /* Hide the second hamburger icon that lives inside header-wrap */
    #header-controls-right {
        display: none !important;
    }

    #left-header-mobile {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        padding: 10px 20px;
        background: url('../images/nav2.png') repeat;
        min-height: 70px;
        position: relative;
        z-index: 9999;
    }

    #header-logo-mobile {
        flex: 0 0 auto;
        margin-left: 0 !important;
        padding: 0 !important;
        float: none !important;
        text-align: left !important;
    }

    #header-logo-mobile .normal-logo,
    #header-logo-mobile .sticky-logo {
        max-height: 55px !important;
        width: auto !important;
        display: block;
    }

    #left-header-mobile .mobile-nav-controller-wrap {
        flex: 0 0 auto;
        margin-left: auto;
        padding: 0 !important;
    }

    /* --- Stack one-half columns full width --- */
    .one-half.column-block {
        width: 100% !important;
        float: none !important;
        clear: both;
        display: block;
    }

    /* Override inline section padding */
    .be-section-pad {
        padding-top: 60px !important;
        padding-bottom: 60px !important;
    }

    /* --- Menu section: remove huge right-padding --- */
    .be-custom-column-inner {
        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    /* --- Menu food-slider height --- */
    .component.loaded.fxSwipe {
        height: 350px !important;
    }

    /* --- Gallery: 2-column --- */
    .portfolio.four-col .element {
        width: 50% !important;
    }

    /* --- Footer: stack areas --- */
    #footer-wrap .footer-left-area,
    #footer-wrap .footer-right-area {
        float: none !important;
        width: 100% !important;
        text-align: center !important;
    }

    #footer-wrap .footer-right-area {
        margin-top: 20px;
        padding-bottom: 20px;
    }

    /* --- Mobile menu list styling --- */
    .mobile-menu ul {
        padding: 5px 0;
        margin: 0;
        list-style: none;
    }

    .mobile-menu ul li a {
        padding: 12px 20px !important;
        display: block !important;
        font-size: 14px !important;
    }

    /* --- Reduce be-wrap horizontal padding --- */
    .be-wrap {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* ===================================================
   MOBILE  ≤ 767px
   =================================================== */
@media (max-width: 767px) {

    /* --- Mobile header bar --- */
    #left-header-mobile {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        padding: 8px 15px;
        background: url('../images/nav2.png') repeat;
        min-height: 60px;
        position: sticky;
        top: 0;
        z-index: 9999;
    }

    #header-logo-mobile {
        flex: 0 0 auto;
        margin-left: 0 !important;
        padding: 0 !important;
        float: none !important;
        text-align: left !important;
    }

    #header-logo-mobile .normal-logo,
    #header-logo-mobile .sticky-logo {
        max-height: 45px !important;
        width: auto !important;
        display: block;
    }

    #left-header-mobile .mobile-nav-controller-wrap {
        flex: 0 0 auto;
        margin-left: auto;
        padding: 0 !important;
    }

    /* Hamburger button style */
    .mobile-nav-controller-wrap .menu-controls {
        cursor: pointer;
        padding: 6px 8px;
        border: 1px solid rgba(255, 255, 255, 0.3);
        border-radius: 4px;
    }

    .mobile-nav-controller-wrap .menu-icon {
        display: block;
        width: 22px;
        height: 2px;
        background: #fff;
        margin: 4px 0;
        transition: all 0.3s ease;
        border-radius: 1px;
    }

    /* --- Mobile slide-down menu --- */
    .mobile-menu {
        background: rgba(8, 8, 8, 0.98);
        border-top: 2px solid #ca0610;
    }

    .mobile-menu ul {
        padding: 0;
        margin: 0;
        list-style: none;
    }

    .mobile-menu ul li {
        border-bottom: 1px solid rgba(255, 255, 255, 0.07);
    }

    .mobile-menu ul li:last-child {
        border-bottom: none;
    }

    .mobile-menu ul li a {
        display: block !important;
        padding: 14px 22px !important;
        font-size: 13px !important;
        color: rgba(255, 255, 255, 0.82) !important;
        text-transform: uppercase;
        letter-spacing: 1.5px;
        font-weight: 600;
        transition: color 0.2s ease, background 0.2s ease;
    }

    .mobile-menu ul li a:hover,
    .mobile-menu ul li.current-menu-item a {
        color: #ca0610 !important;
        background: rgba(202, 6, 16, 0.06);
    }

    /* --- Section paddings (override inline) --- */
    .be-section-pad {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

    /* --- One-half columns: full width, stacked --- */
    .one-half.column-block {
        width: 100% !important;
        float: none !important;
        clear: both;
        display: block;
    }

    /* Second column in about / menu sections: top gap */
    .one-half.column-block + .one-half.column-block {
        margin-top: 30px;
    }

    /* Remove inner padding overrides for mobile */
    .be-custom-column-inner {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    /* Ensure be-row wraps properly */
    .be-row.be-wrap.clearfix {
        padding-left: 0px !important;
        padding-right: 0px !important;
    }

    /* --- Section headings --- */
    .be-custom-column-inner h2,
    .one-half h2 {
        font-size: 26px !important;
        line-height: 1.3 !important;
    }

    /* --- Section body text --- */
    .be-custom-column-inner p {
        font-size: 15px !important;
        line-height: 1.75 !important;
        text-align: justify;
    }

    /* --- Menu food-slider height --- */
    .component.loaded.fxSwipe,
    .component.loaded.fxSwipe[data-height="500"] {
        height: 280px !important;
    }

    /* --- Menu section custom nav arrows: center --- */
    .custom-slider-nav {
        justify-content: center !important;
        margin-top: 30px !important;
    }

    /* --- Gallery: 2-column on mobile --- */
    .portfolio.four-col .element {
        width: 50% !important;
        float: left;
    }

    .element-inner {
        margin-left: 8px !important;
    }

    .element.be-hoverlay {
        margin-bottom: 10px !important;
    }

    .portfolio {
        margin-right: 20px !important;
        margin-left: 20px    !important;
    }

    /* --- Footer: centered stacked --- */
    #footer-wrap {
        text-align: center;
    }

    #footer-wrap .footer-left-area,
    #footer-wrap .footer-right-area {
        float: none !important;
        width: 100% !important;
        text-align: center !important;
        padding: 0 15px;
    }

    .footer-content-inner-left img {
        max-width: 160px !important;
        margin: 0 auto 15px !important;
        display: block;
    }

    .footer-social-icons {
        justify-content: center !important;
    }

    #footer-wrap .footer-right-area {
        margin-top: 25px;
        padding-bottom: 25px;
    }

    .footer-content-inner-right {
        font-size: 12px;
        color: #888;
    }

    /* --- Special subtitle smaller --- */
    .special-subtitle {
        font-size: 15px !important;
    }

    /* --- Be-wrap padding --- */
    .be-wrap {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }

    /* --- Ensure images scale --- */
    .one-half.column-block img,
    .be-custom-column-inner img {
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
    }

    /* --- Portfolio container clearfix fix --- */
    .portfolio-container.clearfix::after {
        content: '';
        display: table;
        clear: both;
    }

    /* --- DISCOVER OUR MENU button --- */
    .be-button-wrap .be-shortcode.largebtn {
        display: block !important;
        width: 100% !important;
        text-align: center !important;
        padding: 14px 20px !important;
        box-sizing: border-box;
    }
}

/* ===================================================
   SMALL PHONES  ≤ 480px
   =================================================== */
@media (max-width: 480px) {

    /* --- Gallery: single column --- */
    .portfolio.four-col .element {
        width: 100% !important;
        float: none !important;
    }

    .element-inner {
        margin-left: 0 !important;
    }

    /* --- Section padding --- */
    .be-section-pad {
        padding-top: 30px !important;
        padding-bottom: 30px !important;
    }

    /* --- Headings --- */
    .be-custom-column-inner h2,
    .one-half h2 {
        font-size: 22px !important;
    }

    /* --- Footer address text --- */
    .special-subtitle {
        font-size: 14px !important;
    }

    /* --- Mobile logo slightly smaller --- */
    #header-logo-mobile .normal-logo,
    #header-logo-mobile .sticky-logo {
        max-height: 38px !important;
    }

    /* --- Mobile header padding --- */
    #left-header-mobile {
        padding: 6px 12px;
    }

    /* --- Be-wrap tighten --- */
    .be-wrap {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    /* --- Menu food-slider --- */
    .component.loaded.fxSwipe,
    .component.loaded.fxSwipe[data-height="500"] {
        height: 230px !important;
    }

    /* --- Hero Slider Text & Button on Mobile --- */
    #rev_slider_3_1 .hero-title-line {
        letter-spacing: 1px;
    }

    #rev_slider_3_1 .hero-btn-book {
        border-radius: 4px !important;
        font-weight: 600 !important;
        box-shadow: 0 4px 15px rgba(202, 6, 16, 0.4) !important;
    }
}