/* ===================================================
   SORTE.ESP.BR - Responsividade
   =================================================== */

/* ---- TABLET (max 1200px) ---- */
@media (max-width: 1200px) {
    .content-layout {
        grid-template-columns: 200px 1fr 260px;
    }

    .footer-top {
        grid-template-columns: 240px 1fr;
        gap: 30px;
    }

    .footer-cols {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ---- TABLET (max 1024px) ---- */
@media (max-width: 1024px) {
    .content-layout {
        grid-template-columns: 1fr;
    }

    .sidebar-left {
        display: none;
    }

    .sidebar-right {
        position: fixed;
        bottom: 0;
        right: 0;
        top: auto;
        width: 100%;
        max-width: 360px;
        z-index: 900;
        transform: translateY(calc(100% - 50px));
        transition: transform 0.3s ease;
        border-radius: 12px 12px 0 0;
        box-shadow: 0 -4px 20px rgba(0,0,0,0.5);
    }

    .sidebar-right.open {
        transform: translateY(0);
    }

    .footer-top {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .footer-cols {
        grid-template-columns: repeat(2, 1fr);
    }

    .promo-text h2 { font-size: 20px; }
    .promo-ball { width: 80px; height: 80px; font-size: 36px; }
}

/* ---- MOBILE (max 768px) ---- */
@media (max-width: 768px) {
    /* Header */
    .header-nav { display: none; }
    .btn-support { display: none; }
    .header-actions { display: none; }
    .mobile-menu-btn { display: flex; }
    .mobile-menu { display: flex; }

    .header-top-inner {
        justify-content: space-between;
        height: 52px;
    }

    /* Banner */
    .promo-content {
        flex-direction: column;
        text-align: center;
        padding: 24px 16px 16px;
    }

    .promo-image { margin: 16px 0 0; }
    .promo-ball { width: 70px; height: 70px; font-size: 30px; }
    .promo-text h2 { font-size: 18px; }
    .promo-text p { font-size: 13px; }

    /* Sports tabs */
    .sports-tabs-inner { padding: 0 8px; }
    .sport-tab { padding: 10px 12px; }
    .sport-tab span { display: none; }
    .sport-tab i { font-size: 16px; }

    /* Main */
    .main-content { padding: 10px 0 100px; }

    /* Games */
    .game-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .game-info {
        width: 100%;
    }

    .game-odds {
        width: 100%;
        justify-content: space-between;
    }

    .odd-btn { flex: 1; }

    .more-odds { flex: 0; }

    /* Footer */
    .footer-cols {
        grid-template-columns: 1fr 1fr;
    }

    .footer-payments {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .odds-header { display: none; }
}

/* ---- SMALL MOBILE (max 480px) ---- */
@media (max-width: 480px) {
    .logo-text { font-size: 15px; }

    .promo-text h2 { font-size: 16px; }

    .footer-cols { grid-template-columns: 1fr; }

    .payment-icons { gap: 8px; }

    .payment-icon { padding: 5px 10px; font-size: 11px; }
}

/* ---- OVERLAY for mobile menu ---- */
.overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    z-index: 1999;
}

.overlay.open { display: block; }

