/**
 * May88 Theme - Responsive Stylesheet
 *
 * @package May88_Theme
 */

/* ========================================
   1. Large Devices (Desktops, 1200px and up)
   ======================================== */

@media (min-width: 1200px) {
    .container {
        max-width: 1200px;
    }
}

/* ========================================
   2. Medium Devices (Tablets, 992px to 1199px)
   ======================================== */

@media (max-width: 1199px) {
    .container {
        max-width: 960px;
    }
    
    .hero-title {
        font-size: 2.5rem;
    }
    
    .vip-content {
        gap: 40px;
    }
    
    .vip-text h2 {
        font-size: 1.8rem;
    }
}

/* ========================================
   3. Small Devices (Tablets, 768px to 991px)
   ======================================== */

@media (max-width: 991px) {
    .container {
        max-width: 720px;
    }
    
    /* Header */
    .main-navigation {
        display: none;
    }
    
    .menu-toggle {
        display: block;
    }
    
    .header-actions .btn {
        display: none;
    }
    
    /* Hero */
    .hero-section {
        min-height: auto;
        padding: 100px 0 60px;
    }
    
    .hero-title {
        font-size: 2rem;
    }
    
    .hero-description {
        font-size: 1rem;
    }
    
    .hero-stats {
        gap: 40px;
    }
    
    .stat-number {
        font-size: 2rem;
    }
    
    /* VIP Section */
    .vip-content {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .vip-benefits {
        display: inline-block;
        text-align: left;
    }
    
    .vip-levels {
        max-width: 500px;
        margin: 0 auto;
    }
    
    /* Games Grid */
    .games-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Features Grid */
    .features-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Footer */
    .footer-widgets {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer-bottom-content {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }
}

/* ========================================
   4. Extra Small Devices (Phones, 767px and down)
   ======================================== */

@media (max-width: 767px) {
    .container {
        max-width: 100%;
        padding: 0 15px;
    }
    
    /* Typography */
    h1 {
        font-size: 1.8rem;
    }
    
    h2 {
        font-size: 1.5rem;
    }
    
    h3 {
        font-size: 1.2rem;
    }
    
    .section {
        padding: 50px 0;
    }
    
    /* Header */
    .site-title {
        font-size: 1.4rem;
    }
    
    /* Hero */
    .hero-section {
        padding: 80px 0 40px;
    }
    
    .hero-title {
        font-size: 1.6rem;
    }
    
    .hero-actions {
        flex-direction: column;
        gap: 15px;
    }
    
    .hero-actions .btn {
        width: 100%;
    }
    
    .hero-stats {
        flex-direction: column;
        gap: 20px;
    }
    
    /* Games Grid */
    .games-grid {
        grid-template-columns: 1fr;
    }
    
    .game-card {
        padding: 30px 20px;
    }
    
    /* Features Grid */
    .features-grid {
        grid-template-columns: 1fr;
    }
    
    .feature-card {
        padding: 30px 20px;
    }
    
    /* VIP Section */
    .vip-text h2 {
        font-size: 1.5rem;
    }
    
    .vip-levels {
        grid-template-columns: 1fr;
    }
    
    /* CTA Section */
    .cta-section {
        padding: 60px 0;
    }
    
    .cta-section h2 {
        font-size: 1.6rem;
    }
    
    .cta-actions {
        flex-direction: column;
        gap: 15px;
    }
    
    .cta-actions .btn {
        width: 100%;
    }
    
    /* Footer */
    .footer-top {
        padding: 50px 0 30px;
    }
    
    .footer-widgets {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .footer-widget-title::after {
        left: 50%;
        transform: translateX(-50%);
    }
    
    .footer-social {
        justify-content: center;
    }
    
    /* Page Content */
    .page-wrapper {
        padding: 40px 0;
    }
    
    .page-title {
        font-size: 1.8rem;
    }
    
    /* Posts Grid */
    .posts-grid {
        grid-template-columns: 1fr;
    }
    
    .post-card {
        padding: 20px;
    }
    
    .post-thumbnail {
        margin: -20px -20px 20px;
    }
    
    /* Pagination */
    .page-numbers a,
    .page-numbers span {
        padding: 8px 15px;
        font-size: 0.9rem;
    }
}

/* ========================================
   5. Very Small Devices (Phones, 480px and down)
   ======================================== */

@media (max-width: 480px) {
    .hero-title {
        font-size: 1.4rem;
    }
    
    .section-title h2 {
        font-size: 1.3rem;
    }
    
    .game-icon {
        width: 60px;
        height: 60px;
    }
    
    .feature-icon {
        width: 50px;
        height: 50px;
    }
    
    .stat-number {
        font-size: 1.8rem;
    }
    
    .vip-card {
        padding: 20px;
    }
    
    .btn-large {
        padding: 12px 25px;
        font-size: 1rem;
    }
}

/* ========================================
   6. Mobile Navigation Specific
   ======================================== */

@media (max-width: 991px) {
    .mobile-navigation {
        width: 280px;
    }
    
    .mobile-nav-menu a {
        padding: 12px;
        font-size: 0.95rem;
    }
}

@media (max-width: 480px) {
    .mobile-navigation {
        width: 100%;
        right: -100%;
    }
}

/* ========================================
   7. Landscape Mode for Mobile
   ======================================== */

@media (max-height: 500px) and (orientation: landscape) {
    .hero-section {
        min-height: auto;
        padding: 80px 0 40px;
    }
    
    .hero-stats {
        flex-direction: row;
        gap: 30px;
    }
}

/* ========================================
   8. Print Styles
   ======================================== */

@media print {
    .site-header,
    .site-footer,
    .hero-actions,
    .cta-section,
    .mobile-navigation,
    .mobile-menu-overlay {
        display: none !important;
    }
    
    body {
        background: #fff;
        color: #000;
    }
    
    .site-content {
        padding-top: 0;
    }
    
    a {
        text-decoration: underline;
        color: #000;
    }
    
    .card {
        border: 1px solid #ccc;
        background: #fff;
    }
}
