/* ============================================
   Josh Internet - Premium 404 Page
   Responsive Styles
   ============================================ */

/* --- XXL (≥1400px) --- */
@media (max-width: 1400px) {
    .glass-card {
        max-width: 620px;
        padding: 3rem 2.5rem;
    }
}

/* --- XL (≥1200px) --- */
@media (max-width: 1200px) {
    .glass-card {
        max-width: 600px;
        padding: 2.75rem 2.25rem;
    }

    .btn-josh {
        min-width: 180px;
        padding: 0.8rem 1.75rem;
    }
}

/* --- LG (≥992px) --- */
@media (max-width: 992px) {
    .glass-card {
        max-width: 560px;
        padding: 2.5rem 2rem;
    }

    .error-number .display-404 {
        font-size: clamp(5rem, 16vw, 9rem);
    }

    .error-title {
        font-size: 1.5rem;
    }

    .features-strip {
        gap: 1rem 1.5rem;
        padding: 1rem 1.25rem;
    }

    .btn-josh {
        min-width: 160px;
        padding: 0.75rem 1.5rem;
        font-size: 0.9rem;
    }

    .mouse-glow {
        width: 400px;
        height: 400px;
    }
}

/* --- MD (≥768px) --- */
@media (max-width: 768px) {
    .main-container {
        padding: 1.5rem 1rem;
    }

    .logo-area {
        margin-bottom: 2rem;
    }

    .logo-icon {
        width: 56px;
        height: 56px;
        font-size: 1.5rem;
        border-radius: 14px;
    }

    .logo-text {
        font-size: 1.25rem;
    }

    .glass-card {
        max-width: 100%;
        padding: 2rem 1.5rem;
        border-radius: 20px;
    }

    .glass-card::before {
        border-radius: 21px;
    }

    .error-number .display-404 {
        font-size: clamp(4.5rem, 20vw, 7rem);
        letter-spacing: -3px;
    }

    .error-title {
        font-size: 1.3rem;
    }

    .error-description {
        font-size: 0.9rem;
        max-width: 360px;
        margin-bottom: 2rem;
    }

    .btn-group-custom {
        flex-direction: column;
        align-items: center;
        gap: 0.85rem;
    }

    .btn-josh {
        min-width: 220px;
        width: 100%;
        max-width: 300px;
        padding: 0.8rem 1.5rem;
        font-size: 0.9rem;
    }

    .features-strip {
        flex-direction: column;
        align-items: center;
        gap: 0.75rem;
        padding: 1rem;
    }

    .feature-item {
        font-size: 0.8rem;
    }

    .wifi-router .router-body {
        width: 64px;
        height: 24px;
    }

    .wifi-router .router-antennas .antenna {
        height: 18px;
    }

    .mouse-glow {
        width: 250px;
        height: 250px;
        opacity: 0.4;
    }
}

/* --- SM (≥576px) --- */
@media (max-width: 576px) {
    .main-container {
        padding: 1rem 0.75rem;
    }

    .logo-area {
        margin-bottom: 1.5rem;
    }

    .logo-icon {
        width: 48px;
        height: 48px;
        font-size: 1.25rem;
        border-radius: 12px;
    }

    .logo-text {
        font-size: 1.1rem;
    }

    .glass-card {
        padding: 1.75rem 1.25rem;
        border-radius: 16px;
    }

    .glass-card::before {
        border-radius: 17px;
    }

    .error-number .display-404 {
        font-size: clamp(3.5rem, 22vw, 5.5rem);
        letter-spacing: -2px;
    }

    .error-number .glow-ring {
        width: 100%;
        height: 60%;
    }

    .error-title {
        font-size: 1.15rem;
    }

    .error-description {
        font-size: 0.85rem;
        max-width: 100%;
        margin-bottom: 1.75rem;
    }

    .btn-group-custom {
        gap: 0.75rem;
    }

    .btn-josh {
        min-width: 180px;
        max-width: 260px;
        padding: 0.7rem 1.25rem;
        font-size: 0.85rem;
        border-radius: 12px;
    }

    .btn-josh i {
        font-size: 0.95rem;
    }

    .features-strip {
        padding: 0.85rem;
        border-radius: 12px;
    }

    .feature-item {
        font-size: 0.75rem;
        gap: 0.45rem;
    }

    .feature-item i {
        font-size: 0.85rem;
    }

    .wifi-router .router-body {
        width: 56px;
        height: 20px;
        border-radius: 6px;
    }

    .wifi-router .router-body .led {
        width: 4px;
        height: 4px;
    }

    .wifi-router .router-antennas {
        gap: 16px;
    }

    .wifi-router .router-antennas .antenna {
        height: 16px;
        width: 1.5px;
    }

    .wifi-router .signal-waves {
        top: -24px;
    }

    .wifi-router .signal-waves .wave {
        width: 8px;
        height: 8px;
        border-width: 1.5px;
    }

    .wifi-router .signal-waves .wave:nth-child(2) {
        width: 16px;
        height: 16px;
    }

    .wifi-router .signal-waves .wave:nth-child(3) {
        width: 24px;
        height: 24px;
    }

    .footer p {
        font-size: 0.7rem;
        letter-spacing: 1.5px;
    }

    .mouse-glow {
        display: none;
    }
}

/* --- XS (<400px) --- */
@media (max-width: 400px) {
    .glass-card {
        padding: 1.5rem 1rem;
    }

    .logo-icon {
        width: 42px;
        height: 42px;
        font-size: 1.1rem;
    }

    .logo-text {
        font-size: 1rem;
    }

    .error-number .display-404 {
        font-size: clamp(2.8rem, 25vw, 4.5rem);
    }

    .error-title {
        font-size: 1rem;
    }

    .error-description {
        font-size: 0.8rem;
    }

    .btn-josh {
        min-width: 150px;
        max-width: 220px;
        padding: 0.6rem 1rem;
        font-size: 0.8rem;
    }
}

/* --- Landscape Mode (Mobile) --- */
@media (max-height: 500px) and (orientation: landscape) {
    .main-container {
        padding: 0.75rem;
    }

    .logo-area {
        margin-bottom: 0.75rem;
    }

    .logo-icon {
        width: 36px;
        height: 36px;
        font-size: 1rem;
        margin-bottom: 0.4rem;
    }

    .logo-text {
        font-size: 0.9rem;
    }

    .glass-card {
        padding: 1rem;
        max-width: 90vw;
    }

    .error-number .display-404 {
        font-size: 3rem;
    }

    .error-title {
        font-size: 0.95rem;
        margin-bottom: 0.3rem;
    }

    .error-description {
        font-size: 0.75rem;
        margin-bottom: 0.75rem;
    }

    .btn-group-custom {
        flex-direction: row;
        gap: 0.5rem;
        margin-bottom: 0.75rem;
    }

    .btn-josh {
        min-width: auto;
        padding: 0.4rem 0.85rem;
        font-size: 0.7rem;
    }

    .features-strip {
        display: none;
    }

    .wifi-router {
        display: none;
    }

    .footer {
        padding: 0.5rem;
    }

    .footer p {
        font-size: 0.6rem;
    }
}

