/* ===================================
   Mobile Critical Fix
   Fixes logo being covered and sections being cut off
   =================================== */

/* ===== MOBILE Z-INDEX HIERARCHY FIX ===== */
@media (max-width: 768px) {
    /* Logo must be on top of everything */
    .kombo-logo {
        position: fixed !important;
        top: 10px !important;
        left: 10px !important;
        z-index: 10000 !important; /* Maximum z-index */
        background: rgba(0, 0, 0, 0.95) !important;
        padding: 8px 15px !important;
        border-radius: 8px !important;
        border: 1px solid rgba(139, 92, 246, 0.3) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
        transform: none !important;
    }

    /* Experience mode button below logo but visible */
    .experience-mode-btn {
        position: fixed !important;
        top: 10px !important;
        right: 10px !important;
        z-index: 9999 !important;
        background: rgba(0, 0, 0, 0.95) !important;
        border: 1px solid rgba(139, 92, 246, 0.3) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        padding: 8px 12px !important;
        border-radius: 8px !important;
        font-size: 0.85rem !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
    }

    /* Theme toggle if exists */
    .theme-toggle {
        position: fixed !important;
        top: 60px !important;
        right: 10px !important;
        z-index: 9998 !important;
        background: rgba(0, 0, 0, 0.95) !important;
        backdrop-filter: blur(10px) !important;
        padding: 8px !important;
        border-radius: 50% !important;
        border: 1px solid rgba(139, 92, 246, 0.3) !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3) !important;
    }

    /* Ensure all banners/overlays are below UI elements */
    .page-animated-lines,
    .particle-field,
    .grid-overlay,
    .scroll-line,
    .hero-bg,
    .section-bg,
    .animated-bg {
        z-index: 1 !important;
        position: fixed !important;
        pointer-events: none !important;
    }

    /* Navigation dots below logo but visible */
    .nav-dots {
        z-index: 5000 !important;
        position: fixed !important;
        left: 10px !important;
        top: 80px !important; /* Below logo */
    }

    /* Side navigation */
    .side-nav {
        z-index: 5001 !important;
    }

    /* Mobile bottom navigation */
    .mobile-bottom-nav {
        z-index: 9000 !important;
        position: fixed !important;
        bottom: 0 !important;
        background: rgba(0, 0, 0, 0.95) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        border-top: 1px solid rgba(139, 92, 246, 0.3) !important;
    }
}

/* ===== SECTIONS NOT BEING CUT OFF - CRITICAL FIX ===== */
@media (max-width: 768px) {
    /* Reset HTML and Body */
    html {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        width: 100% !important;
        height: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body {
        overflow-x: hidden !important;
        overflow-y: visible !important;
        width: 100% !important;
        min-height: 100vh !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Main container must not restrict content */
    .main-container,
    .page-wrapper,
    .content-wrapper,
    main {
        overflow: visible !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        min-height: 100vh !important;
        position: relative !important;
    }

    /* All sections must be fully visible */
    section,
    .section {
        overflow: visible !important;
        width: 100% !important;
        position: relative !important;
        z-index: 10 !important;
    }

    /* Hero Section - No cutting */
    #home,
    .hero-section,
    .modern-hero {
        min-height: 100vh !important;
        padding: 80px 20px 40px 20px !important; /* Top padding for fixed header */
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        overflow: visible !important;
        width: 100% !important;
        box-sizing: border-box !important;
        position: relative !important;
        z-index: 10 !important;
    }

    /* Hero content must be visible */
    .hero-content {
        width: 100% !important;
        padding: 0 10px !important;
        overflow: visible !important;
        text-align: center !important;
        position: relative !important;
        z-index: 20 !important;
    }

    /* Hero title - Prevent cutting */
    .hero-title,
    h1.hero-title,
    .hero-section h1 {
        font-size: clamp(1.8rem, 6vw, 2.3rem) !important;
        line-height: 1.3 !important;
        margin: 0 0 15px 0 !important;
        padding: 0 5px !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        display: block !important;
        width: 100% !important;
        position: relative !important;
        z-index: 21 !important;
    }

    /* About Section - Full visibility */
    #about,
    #modern-hero,
    .about-section,
    .unified-about-section {
        padding: 60px 15px !important;
        overflow: visible !important;
        width: 100% !important;
        box-sizing: border-box !important;
        position: relative !important;
        z-index: 10 !important;
        background: rgba(0, 0, 0, 0.5) !important;
        margin: 20px 0 !important;
    }

    /* About content */
    .about-content,
    .about-wrapper {
        width: 100% !important;
        padding: 20px !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 20 !important;
        background: rgba(0, 0, 0, 0.3) !important;
        border-radius: 15px !important;
    }

    /* Technical Skills - Complete visibility */
    #technical-skills,
    .technical-skills,
    .skills-section,
    .cv-skills {
        padding: 50px 15px !important;
        margin: 20px 0 !important;
        overflow: visible !important;
        width: 100% !important;
        box-sizing: border-box !important;
        position: relative !important;
        z-index: 10 !important;
        background: rgba(0, 0, 0, 0.5) !important;
        border-radius: 0 !important;
    }

    /* Skills grid - Prevent icon cutting */
    .skills-logos,
    .tech-logos-grid,
    .skill-items,
    .skills-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 15px !important;
        padding: 15px 10px !important;
        width: 100% !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 15 !important;
        margin: 0 auto !important;
        max-width: 100% !important;
    }

    /* Individual skill items */
    .skill-logo,
    .tech-logo-item,
    .skill-item {
        width: 100% !important;
        min-height: 85px !important;
        padding: 12px 8px !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 16 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        background: rgba(139, 92, 246, 0.08) !important;
        border: 1px solid rgba(139, 92, 246, 0.25) !important;
        border-radius: 10px !important;
        box-sizing: border-box !important;
    }

    /* Skill icons - Ensure visibility */
    .skill-logo img,
    .skill-icon,
    .tech-icon {
        width: 32px !important;
        height: 32px !important;
        object-fit: contain !important;
        margin-bottom: 6px !important;
        display: block !important;
        flex-shrink: 0 !important;
        position: relative !important;
        z-index: 17 !important;
    }

    /* Skill labels */
    .skill-logo span,
    .skill-name,
    .tech-name {
        font-size: 0.65rem !important;
        line-height: 1.2 !important;
        text-align: center !important;
        color: var(--text-secondary) !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        width: 100% !important;
        padding: 0 2px !important;
        display: block !important;
        position: relative !important;
        z-index: 17 !important;
    }

    /* Section headers */
    h2.section-title,
    .section-header h2,
    .technical-skills h2,
    .skills-section h2 {
        font-size: clamp(1.5rem, 5vw, 2rem) !important;
        margin: 0 0 20px 0 !important;
        padding: 0 10px !important;
        text-align: center !important;
        position: relative !important;
        z-index: 20 !important;
        word-break: break-word !important;
        width: 100% !important;
    }

    /* Category titles */
    .skill-category h3,
    .skills-category-title {
        font-size: clamp(1rem, 4vw, 1.2rem) !important;
        margin: 25px 0 15px 0 !important;
        padding: 0 10px 10px 10px !important;
        text-align: center !important;
        position: relative !important;
        z-index: 20 !important;
        color: var(--accent) !important;
        border-bottom: 1px solid rgba(139, 92, 246, 0.3) !important;
        width: 100% !important;
    }

    /* Prevent any absolute/fixed overlays from covering content */
    .overlay,
    .modal-overlay,
    .loading-overlay {
        z-index: 20000 !important; /* Only modals should be this high */
    }

    /* Safe area for iOS */
    @supports (padding: env(safe-area-inset-top)) {
        #home,
        .hero-section {
            padding-top: calc(80px + env(safe-area-inset-top)) !important;
        }

        .kombo-logo {
            top: calc(10px + env(safe-area-inset-top)) !important;
        }

        .experience-mode-btn {
            top: calc(10px + env(safe-area-inset-top)) !important;
        }

        .mobile-bottom-nav {
            padding-bottom: env(safe-area-inset-bottom) !important;
        }
    }
}

/* ===== SMALL SCREENS (<375px) ===== */
@media (max-width: 375px) {
    /* Even smaller adjustments */
    .hero-title {
        font-size: 1.6rem !important;
    }

    .skills-logos {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 10px !important;
        padding: 10px 5px !important;
    }

    .skill-logo {
        min-height: 75px !important;
        padding: 10px 5px !important;
    }

    .skill-logo img {
        width: 28px !important;
        height: 28px !important;
    }

    .skill-logo span {
        font-size: 0.6rem !important;
    }

    .kombo-logo {
        font-size: 0.85rem !important;
        padding: 6px 10px !important;
    }

    .experience-mode-btn {
        font-size: 0.75rem !important;
        padding: 6px 10px !important;
    }
}

/* ===== LANDSCAPE MODE ===== */
@media (max-width: 812px) and (orientation: landscape) {
    #home,
    .hero-section {
        min-height: auto !important;
        padding: 60px 30px 30px 30px !important;
    }

    .skills-logos {
        grid-template-columns: repeat(4, 1fr) !important;
    }

    .skill-logo {
        min-height: 70px !important;
    }

    .kombo-logo {
        top: 5px !important;
        left: 10px !important;
    }

    .experience-mode-btn {
        top: 5px !important;
        right: 10px !important;
    }
}

/* ===== FORCE VISIBILITY - OVERRIDE ALL ===== */
@media (max-width: 768px) {
    /* Remove any clipping */
    * {
        clip: unset !important;
        clip-path: none !important;
    }

    /* Ensure sections are not hidden */
    section:not(.hidden),
    .section:not(.hidden) {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* Remove any transforms that might push content off-screen */
    section,
    .section {
        transform: none !important;
    }

    /* Ensure content inside sections is visible */
    section > *,
    .section > * {
        visibility: visible !important;
        opacity: 1 !important;
    }
}

/* ===== LIGHT THEME ADJUSTMENTS ===== */
@media (max-width: 768px) {
    [data-theme="light"] .kombo-logo {
        background: rgba(255, 255, 255, 0.95) !important;
        color: #1a1a2e !important;
        border-color: rgba(139, 92, 246, 0.5) !important;
    }

    [data-theme="light"] .experience-mode-btn {
        background: rgba(255, 255, 255, 0.95) !important;
        color: #1a1a2e !important;
        border-color: rgba(139, 92, 246, 0.5) !important;
    }

    [data-theme="light"] .mobile-bottom-nav {
        background: rgba(255, 255, 255, 0.95) !important;
        border-top-color: rgba(139, 92, 246, 0.5) !important;
    }
}

/* ===== DEBUG MODE - Uncomment to see boundaries ===== */
/*
@media (max-width: 768px) {
    .kombo-logo {
        border: 3px solid red !important;
    }

    .experience-mode-btn {
        border: 3px solid blue !important;
    }

    #home, .hero-section {
        border: 3px solid green !important;
    }

    #technical-skills {
        border: 3px solid yellow !important;
    }

    .skill-logo {
        border: 2px solid orange !important;
    }
}
*/