/* ==========================================================================
   Mobile Responsive Overrides
   ========================================================================== */

@media (max-width: 991px) {
    /* --- Popular Games Section --- */
    .popular-games {
        flex-direction: column !important;
        gap: 20px !important;
        background-size: cover !important;
    }

    .popular-games [data-section="left"] {
        margin-right: 0 !important;
        width: 100% !important;
    }

    .popular-games [data-section="right"] {
        width: 100% !important;
    }

    /* --- Sports Section --- */
    .sports-platform {
        flex-direction: column !important;
    }

    .sports-platform [data-section="matches"] {
        width: 100% !important;
    }

    .sports-platform [data-section="players"] {
        display: none !important; /* Hide massive player illustration on tablet/mobile */
    }
}

@media (max-width: 767px) {
    /* --- General Utilities --- */
    html, body {
        overflow-x: hidden !important;
        max-width: 100% !important;
    }

    /* --- Top Bar --- */
    .topbar-container {
        padding: 10px 0 !important;
    }

    .topbar-container .row {
        flex-direction: column !important;
        gap: 10px !important;
        align-items: center !important;
        text-align: center !important;
    }

    .topbar-left-container, 
    .topbar-right-container {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        float: none !important;
        padding: 0 !important;
    }

    .topbar-left-section {
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 10px !important;
    }

    .topbar-left-section .topbar-item {
        margin: 0 !important;
        padding: 0 !important;
        border-left: none !important;
    }

    .topbar-left-section .topbar-item+.topbar-item {
        margin-left: 0 !important;
        padding-left: 0 !important;
        border-left: none !important;
    }

    .login-panel {
        justify-content: center !important;
        width: 100% !important;
        gap: 10px !important;
    }

    .login-panel-item {
        flex: 1 !important;
        max-width: 150px !important;
    }

    .login-panel-item a {
        display: block !important;
        text-align: center !important;
        width: 100% !important;
    }

    /* --- Site Header & Logo --- */
    .site-header {
        padding: 12px 0 !important;
    }

    .site-header .container .row {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 12px !important;
    }

    .site-header .container .row>div {
        width: 100% !important;
        text-align: center !important;
        float: none !important;
    }

    .site-header .logo {
        max-width: 200px !important;
        margin: 0 auto !important;
        padding-top: 55px !important; /* Proper scaling height */
        display: block !important;
        background-size: contain !important;
    }

    .site-header .logo>img, 
    .site-header .logo>picture {
        height: 45px !important;
        margin: 5px auto !important;
        position: absolute !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
    }

    /* --- Horizontal Scrollable Menu --- */
    .menu-slide {
        width: 100% !important;
        padding: 0 5px !important;
        justify-content: center !important;
    }

    .menu-slide > i {
        display: none !important; /* Hide chevron buttons on mobile */
    }

    .top-menu {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        padding-bottom: 5px !important;
    }

    /* Webkit scrollbar stylings for cleaner touch menu */
    .top-menu::-webkit-scrollbar {
        height: 3px !important;
    }
    
    .top-menu::-webkit-scrollbar-thumb {
        background-color: var(--top-menu-game-list-scrollbar-thumb-bg, #2f7d28) !important;
        border-radius: 10px !important;
    }

    .top-menu>li {
        flex-basis: 75px !important;
        flex-shrink: 0 !important;
        width: auto !important;
    }

    .top-menu>li>a {
        padding: 12px 0 !important;
        font-size: 10px !important;
        white-space: nowrap !important;
    }

    .top-menu>li>a>img {
        width: 24px !important;
        height: 24px !important;
        margin: 0 auto 4px auto !important;
    }

    /* --- Banner Carousel --- */
    .banner {
        margin-bottom: 10px !important;
    }

    .banner .nav-btn {
        display: none !important; /* Hide arrows on small screens */
    }

    /* --- Announcement Banner --- */
    .announcement-container {
        flex-direction: column !important;
        gap: 8px !important;
        align-items: center !important;
        text-align: center !important;
        padding: 8px 12px !important;
        margin: 10px 0 !important;
    }

    .announcement-container>[data-section="title"],
    .announcement-container>[data-section="date"],
    .announcement-container>[data-section="announcements"] {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
        font-size: 12px !important;
    }

    .announcement-container>[data-section="announcements"] {
        margin: 4px 0 !important;
    }

    /* --- Progressive Jackpot & Lottery Section --- */
    .home-inner-container {
        flex-direction: column !important;
        gap: 15px !important;
        margin: 15px 0 !important;
    }

    .home-inner-container [data-section="jackpot"],
    .home-inner-container [data-section="lottery"] {
        width: 100% !important;
    }

    /* Jackpot container layout conversion (Stack logo and number on mobile) */
    .home-progressive-jackpot .outer-container,
    .home-progressive-jackpot .inner-container,
    .home-progressive-jackpot .border-container {
        border-radius: 16px !important;
        padding: 6px !important;
    }

    .home-progressive-jackpot .border-container {
        gap: 12px !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
    }

    .home-progressive-jackpot .jackpot-play-section {
        align-items: center !important;
        margin-left: 0 !important;
        margin-bottom: 5px !important;
    }

    .home-progressive-jackpot .jackpot-play-section .jackpot-play-text {
        font-size: 20px !important;
    }

    .home-progressive-jackpot .jackpot-play-section img {
        width: 60px !important;
        height: auto !important;
    }

    .home-progressive-jackpot .jackpot-container {
        font-size: 22px !important;
        letter-spacing: 2px !important;
        border-radius: 10px !important;
        padding: 8px !important;
        width: 100% !important;
    }

    .home-progressive-jackpot .jackpot-inner-container,
    .home-progressive-jackpot .jackpot-border-container {
        border-radius: 8px !important;
        width: 100% !important;
        padding: 4px 0 !important;
        line-height: 28px !important;
    }

    .home-progressive-jackpot .jackpot-currency {
        margin-right: 6px !important;
    }

    /* Lottery Results Sizing */
    .lottery-result-container {
        margin: 0 auto !important;
        max-width: 320px !important;
    }

    /* --- Popular Games Content --- */
    .popular-games .nav-tabs {
        gap: 4px !important;
    }

    .popular-games .nav-tabs>li>a {
        padding: 4px 10px !important;
        font-size: 11px !important;
    }

    .popular-games .popular-game-list {
        padding: 0 5px !important;
    }

    .popular-games .popular-game-list .game-item {
        width: 33.33% !important; /* Retain nice 3-column view on mobile */
        padding: 4px !important;
    }

    .popular-games .popular-game-list .game-item .game-player-container {
        width: 70px !important;
        height: 24px !important;
        left: 4px !important;
        top: calc(100% - 28px) !important;
        padding: 4px 6px !important;
    }

    .popular-games .popular-game-list .game-item .game-player h5 {
        font-size: 9px !important;
    }

    .popular-games .popular-game-list .game-item .game-player img {
        width: 10px !important;
        height: 10px !important;
    }

    /* --- Sports Match Items --- */
    .sports-matches-container {
        padding: 6px !important;
    }

    .sport-match-item {
        flex-direction: row !important; /* Keep horizontal row but resize components */
        min-height: auto !important;
    }

    .sport-match-item .match-date {
        flex-basis: 22% !important;
        font-size: 9px !important;
        padding: 4px !important;
    }

    .sport-match-item .match-date>span {
        font-size: 14px !important;
    }

    .sport-match-item .match-info-container {
        flex-basis: 78% !important;
        padding: 6px !important;
    }

    .sport-match-item .match-info-container [data-team] img {
        height: 26px !important;
        width: 26px !important;
    }

    .sport-match-item .match-teams>div {
        font-size: 9px !important;
    }

    .sport-match-item .match-teams>span {
        font-size: 12px !important;
    }

    .hot-match-container [data-team] img {
        height: 45px !important;
        width: 45px !important;
    }

    .hot-match-container [data-match-info="date"] {
        font-size: 18px !important;
    }

    /* --- Footer Providers List --- */
    .provider-container {
        margin: 15px 0 0 0 !important;
        padding: 10px !important;
    }

    .provider-container h5 {
        top: -12px !important;
        font-size: 12px !important;
    }

    .provider-container ul.hover-list {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        padding-left: 0 !important;
        list-style: none !important;
        gap: 6px !important;
        margin-bottom: 0 !important;
    }

    .provider-container ul.hover-list>li {
        flex-basis: calc(33.33% - 6px) !important;
        max-width: calc(33.33% - 6px) !important;
        text-align: center !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
    }

    .provider-container ul.hover-list>li picture img {
        max-width: 100% !important;
        width: auto !important;
        height: 28px !important;
    }
}
