/* SHADY Website Mobile Responsive Styles - FIXED ALIGNMENT */

/* Critical Mobile Base Styles */
* {
    box-sizing: border-box !important;
}

html {
    font-size: 16px;
    overflow-x: hidden !important;
}

body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100vw !important;
}

/* Disable custom cursor on mobile devices */
@media (hover: none) and (pointer: coarse) {
    .cursor,
    .cursor-trail {
        display: none !important;
    }
    
    body {
        cursor: auto !important;
    }
    
    * {
        cursor: auto !important;
    }
}

/* Mobile Navigation - Critical Fix */
@media (max-width: 768px) {
    .navbar {
        height: 60px !important;
        padding: 0 !important;
        background: rgba(0, 0, 0, 0.95) !important;
        backdrop-filter: blur(20px) !important;
    }
    
    .nav-container {
        padding: 0 15px !important;
        max-width: 100% !important;
    }
    
    .hamburger {
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        width: 30px;
        height: 30px;
        cursor: pointer;
        z-index: 1001;
    }
    
    .hamburger span {
        width: 25px;
        height: 3px;
        background: white;
        margin: 2px 0;
        transition: 0.3s;
        border-radius: 2px;
    }
    
    .nav-menu {
        position: fixed !important;
        top: 60px !important;
        left: -100% !important;
        width: 100% !important;
        height: calc(100vh - 60px) !important;
        background: rgba(0, 0, 0, 0.98) !important;
        backdrop-filter: blur(20px) !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: center !important;
        padding-top: 30px !important;
        transition: left 0.3s ease !important;
        z-index: 1000 !important;
    }
    
    .nav-menu.active {
        left: 0 !important;
    }
    
    .nav-menu li {
        margin: 15px 0 !important;
    }
    
    .nav-link {
        font-size: 1.1rem !important;
        padding: 12px 25px !important;
        border-radius: 20px !important;
        background: rgba(255, 255, 255, 0.1) !important;
        transition: all 0.3s ease !important;
        white-space: nowrap !important;
    }
}

/* Hero Section - Mobile Optimized */
@media (max-width: 768px) {
    .hero {
        min-height: 100vh !important;
        padding: 80px 0 40px !important;
        overflow: hidden !important;
    }
    
    .hero-content {
        flex-direction: column !important;
        gap: 20px !important;
        max-width: 100% !important;
        align-items: center !important;
        text-align: center !important;
        padding: 0 20px !important;
    }
    
    .hero-character {
        order: 1 !important;
        margin-bottom: 15px !important;
    }
    
    .main-character {
        width: 160px !important;
        height: auto !important;
        max-width: 80vw !important;
    }
    
    .hero-text {
        order: 2 !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    
    .hero-title {
        font-size: 1.6rem !important;
        line-height: 1.2 !important;
        margin-bottom: 12px !important;
        max-width: 100% !important;
        word-wrap: break-word !important;
        padding: 0 10px !important;
    }
    
    .title-line {
        display: block !important;
        margin-bottom: 3px !important;
    }
    
    .hero-subtitle {
        font-size: 0.9rem !important;
        line-height: 1.3 !important;
        margin-bottom: 20px !important;
        max-width: 100% !important;
        padding: 0 15px !important;
    }
    
    .hero-buttons {
        flex-direction: column !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 260px !important;
        margin: 0 auto !important;
    }
    
    .cta-button {
        width: 100% !important;
        padding: 12px 18px !important;
        font-size: 0.85rem !important;
        border-radius: 20px !important;
        white-space: nowrap !important;
    }
    
    .hero-stats {
        flex-direction: row !important;
        justify-content: space-around !important;
        gap: 10px !important;
        max-width: 100% !important;
        margin-top: 25px !important;
        flex-wrap: wrap !important;
        padding: 0 10px !important;
    }
    
    .stat {
        flex: 1 !important;
        min-width: 70px !important;
        text-align: center !important;
        max-width: 30% !important;
    }
    
    .stat-number {
        font-size: 1.1rem !important;
        margin-bottom: 3px !important;
        white-space: nowrap !important;
    }
    
    .stat-label {
        font-size: 0.7rem !important;
        line-height: 1.1 !important;
        word-wrap: break-word !important;
    }
}

/* Section Titles - CRITICAL FIX */
@media (max-width: 768px) {
    .section-title {
        font-size: 1.4rem !important;
        line-height: 1.3 !important;
        margin-bottom: 25px !important;
        text-align: center !important;
        padding: 0 15px !important;
        word-wrap: break-word !important;
        max-width: 100% !important;
        overflow-wrap: break-word !important;
    }
    
    .container {
        padding: 0 15px !important;
        max-width: 100% !important;
        width: 100% !important;
    }
}

/* Tools Section - Mobile */
@media (max-width: 768px) {
    .tools {
        padding: 40px 10px !important;
        width: 100% !important;
    }
    
    .tools-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    
    .tool-card {
        padding: 15px !important;
        margin: 0 5px !important;
        max-width: 100% !important;
        text-align: center !important;
        border-radius: 15px !important;
        width: calc(100% - 10px) !important;
    }
    
    .tool-icon {
        margin-bottom: 12px !important;
    }
    
    .tool-img {
        width: 100px !important;
        height: 100px !important;
        max-width: 25vw !important;
    }
    
    .tool-info h3 {
        font-size: 1.1rem !important;
        margin-bottom: 8px !important;
        line-height: 1.2 !important;
        padding: 0 5px !important;
    }
    
    .tool-info p {
        font-size: 0.8rem !important;
        line-height: 1.3 !important;
        margin-bottom: 12px !important;
        padding: 0 5px !important;
    }
    
    .tool-features {
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 6px !important;
        margin-bottom: 15px !important;
    }
    
    .feature-tag {
        font-size: 0.7rem !important;
        padding: 3px 6px !important;
        border-radius: 8px !important;
    }
    
    .tool-button {
        width: auto !important;
        padding: 10px 25px !important;
        font-size: 0.8rem !important;
        border-radius: 18px !important;
    }
}

/* Features Section - Mobile */
@media (max-width: 768px) {
    .features {
        padding: 40px 10px !important;
    }
    
    .features-grid {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
        width: 100% !important;
    }
    
    .feature-item {
        grid-area: auto !important;
        text-align: center !important;
        padding: 15px !important;
        margin: 0 5px !important;
        border-radius: 15px !important;
        width: calc(100% - 10px) !important;
    }
    
    .feature-icon {
        margin-bottom: 10px !important;
    }
    
    .feature-icon img {
        width: 60px !important;
        height: 60px !important;
        max-width: 15vw !important;
    }
    
    .feature-content h3 {
        font-size: 1rem !important;
        margin-bottom: 8px !important;
        line-height: 1.2 !important;
        padding: 0 5px !important;
    }
    
    .feature-content p {
        font-size: 0.75rem !important;
        line-height: 1.3 !important;
        padding: 0 5px !important;
    }
}

/* Tokenomics Section - Mobile */
@media (max-width: 768px) {
    .tokenomics {
        padding: 40px 10px !important;
    }
    
    .tokenomics-content {
        flex-direction: column !important;
        gap: 25px !important;
        text-align: center !important;
        width: 100% !important;
    }
    
    .tokenomics-chart {
        order: 1 !important;
    }
    
    .token-mascot {
        width: 120px !important;
        height: auto !important;
        max-width: 30vw !important;
    }
    
    .tokenomics-details {
        order: 2 !important;
        width: 100% !important;
        padding: 0 5px !important;
    }
    
    .token-info h3 {
        font-size: 1.2rem !important;
        margin-bottom: 15px !important;
        padding: 0 10px !important;
    }
    
    .token-stats {
        gap: 10px !important;
        width: 100% !important;
    }
    
    .stat-item {
        flex-direction: column !important;
        text-align: center !important;
        padding: 8px !important;
        border-radius: 10px !important;
        margin: 0 5px !important;
    }
    
    .stat-label {
        font-size: 0.8rem !important;
        margin-bottom: 4px !important;
    }
    
    .stat-value {
        font-size: 0.85rem !important;
        font-weight: bold !important;
    }
    
    .buy-button {
        width: 100% !important;
        max-width: 200px !important;
        margin: 15px auto !important;
        padding: 12px 18px !important;
        font-size: 0.85rem !important;
        border-radius: 20px !important;
    }
}

/* Community Section - Mobile */
@media (max-width: 768px) {
    .community {
        padding: 40px 10px !important;
    }
    
    .community-content {
        flex-direction: column !important;
        gap: 25px !important;
        text-align: center !important;
        width: 100% !important;
    }
    
    .community-stats {
        order: 2 !important;
    }
    
    .mascot-img {
        width: 100px !important;
        height: auto !important;
        max-width: 25vw !important;
    }
    
    .stats-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 10px !important;
        max-width: 280px !important;
        margin: 0 auto !important;
    }
    
    .stat-card {
        padding: 12px 8px !important;
        border-radius: 12px !important;
    }
    
    .stat-card .stat-number {
        font-size: 1.3rem !important;
        margin-bottom: 3px !important;
    }
    
    .stat-card .stat-label {
        font-size: 0.7rem !important;
        line-height: 1.1 !important;
    }
    
    .community-links {
        order: 1 !important;
        width: 100% !important;
        padding: 0 10px !important;
    }
    
    .community-links h3 {
        font-size: 1.1rem !important;
        margin-bottom: 15px !important;
    }
    
    .social-buttons {
        flex-direction: column !important;
        gap: 10px !important;
        max-width: 200px !important;
        margin: 0 auto 20px !important;
    }
    
    .social-btn {
        width: 100% !important;
        padding: 10px 18px !important;
        font-size: 0.8rem !important;
        border-radius: 18px !important;
    }
    
    .contract-info {
        max-width: 100% !important;
        padding: 0 5px !important;
    }
    
    .contract-info h4 {
        font-size: 0.9rem !important;
        margin-bottom: 8px !important;
    }
    
    .contract-address {
        flex-direction: column !important;
        gap: 8px !important;
        background: rgba(255, 255, 255, 0.1) !important;
        padding: 10px !important;
        border-radius: 10px !important;
    }
    
    .contract-address span {
        font-size: 0.7rem !important;
        word-break: break-all !important;
        max-width: 100% !important;
        line-height: 1.2 !important;
    }
    
    .copy-btn {
        width: 100% !important;
        max-width: 100px !important;
        padding: 6px 12px !important;
        font-size: 0.7rem !important;
        border-radius: 15px !important;
    }
}

/* Roadmap Section - Mobile */
@media (max-width: 768px) {
    .roadmap {
        padding: 40px 10px !important;
    }
    
        .roadmap-grid {
        grid-template-columns: 1fr !important;
        grid-template-rows: repeat(4, auto) !important;
        gap: 20px !important;
        padding: 0 10px !important;
        max-width: 100% !important;
        min-height: auto !important;
    }

    .roadmap-phase {
        max-width: 100% !important;
        height: 180px !important;
        padding: 14px 12px !important;
        margin: 0 !important;
    }

    .phase-icon {
        width: 55px !important;
        height: 55px !important;
        margin-bottom: 10px !important;
    }

    .phase-icon img {
        width: 28px !important;
        height: 28px !important;
    }

    .phase-content h3 {
        font-size: 1rem !important;
        margin-bottom: 8px !important;
        line-height: 1.2 !important;
    }

    .phase-content p {
        font-size: 0.75rem !important;
        line-height: 1.3 !important;
        -webkit-line-clamp: 3 !important;
    }
}

/* Footer - Mobile */
@media (max-width: 768px) {
    .footer {
        padding: 25px 15px !important;
        text-align: center !important;
    }
    
    .footer-content {
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    .footer-logo img {
        width: 35px !important;
        height: 35px !important;
    }
    
    .footer-logo span {
        font-size: 1.1rem !important;
    }
}

/* Loading Screen - Mobile */
@media (max-width: 768px) {
    .loading-character {
        max-width: 90% !important;
        padding: 0 20px !important;
    }
    
    .loading-eyes img {
        width: 80px !important;
        height: 40px !important;
    }
    
    .loading-text {
        font-size: 1.1rem !important;
    }
    
    .loading-bar {
        width: 120px !important;
    }
}

/* General Mobile Fixes - IMPROVED */
@media (max-width: 768px) {
    /* Hide peek characters and minimize other background animations on mobile */
    .floating-element,
    .bg-elements,
    .peek-character {
        display: none !important;
    }
    
    /* Keep but optimize running and parachute characters for mobile */
    .running-character {
        width: 50px !important;
        height: 50px !important;
        z-index: 1 !important;
    }
    
    .running-character video {
        width: 100% !important;
        height: 100% !important;
    }
    
    .parachute-character {
        width: 60px !important;
        height: 60px !important;
        z-index: 1 !important;
    }
    
    .parachute-character img {
        width: 100% !important;
        height: 100% !important;
    }
    
    /* Optimize smaller running characters */
    .runner-4,
    .runner-5,
    .runner-6 {
        width: 35px !important;
        height: 35px !important;
    }
    
    /* Optimize smaller parachute characters */
    .parachute-2,
    .parachute-3 {
        width: 45px !important;
        height: 45px !important;
    }
    
    /* Optimize scrolling */
    .scroll-indicator {
        bottom: 15px !important;
        font-size: 0.7rem !important;
    }
    
    /* Remove hover effects on mobile */
    .tool-card:hover,
    .feature-item:hover,
    .social-btn:hover,
    .cta-button:hover {
        transform: none !important;
    }
    
    /* Force proper text sizing */
    h1, h2, h3, h4, h5, h6 {
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        hyphens: auto !important;
    }
    
    /* Prevent horizontal overflow */
    img, video {
        max-width: 100% !important;
        height: auto !important;
    }
    
    /* Better button spacing */
    button, .btn, .cta-button, .tool-button, .social-btn {
        margin: 5px !important;
        min-height: 40px !important;
    }
}

/* Extra small screens - IMPROVED */
@media (max-width: 480px) {
    .hero-title {
        font-size: 1.4rem !important;
    }
    
    .hero-subtitle {
        font-size: 0.8rem !important;
    }
    
    .main-character {
        width: 130px !important;
    }
    
    .section-title {
        font-size: 1.2rem !important;
    }
    
    .stats-grid {
        grid-template-columns: 1fr !important;
    }
    
    .hero-stats {
        flex-direction: column !important;
        gap: 8px !important;
    }
    
    .stat {
        min-width: 100px !important;
        max-width: 100% !important;
    }
    
    .container {
        padding: 0 10px !important;
    }
    
    .tools, .features, .tokenomics, .roadmap, .community {
        padding: 30px 5px !important;
    }
}

/* Landscape mobile orientation - IMPROVED */
@media (max-width: 896px) and (orientation: landscape) {
    .hero {
        min-height: 100vh !important;
        padding: 60px 0 30px !important;
    }
    
    .hero-content {
        flex-direction: row !important;
        align-items: center !important;
        gap: 20px !important;
    }
    
    .hero-character {
        flex: 0 0 150px !important;
        order: 1 !important;
    }
    
    .hero-text {
        flex: 1 !important;
        order: 2 !important;
        text-align: left !important;
    }
    
    .main-character {
        width: 120px !important;
    }
    
    .hero-title {
        font-size: 1.4rem !important;
    }
    
    .hero-buttons {
        flex-direction: row !important;
        max-width: none !important;
    }
    
    .cta-button {
        width: auto !important;
        flex: 1 !important;
        max-width: 150px !important;
    }
} 