/* Mobile First Responsive Design */

/* Large Desktop (1400px and up) */
@media (min-width: 1400px) {
    .container {
        max-width: 1320px;
    }

    .hero-title {
        font-size: 3rem;
    }

    .links-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Desktop (1200px and up) */
@media (min-width: 1200px) {
    .links-grid {
        grid-template-columns: repeat(4, 1fr);
    }

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

    .about-content {
        grid-template-columns: repeat(3, 1fr);
    }

    .tools-grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 1rem;
    }
}

/* Tablet Landscape (992px and up) */
@media (min-width: 992px) {
    .header-container {
        padding: 1rem 2rem;
    }

    .desktop-nav {
        display: flex;
    }

    .mobile-menu-btn {
        display: none;
    }

    .nav-menu {
        gap: 1.5rem;
    }

    .hero-section {
        padding: 1.67rem 0 0.56rem 0;
    }

    .links-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 1rem;
    }

    .tools-grid {
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 1rem;
    }

    .section-title {
        font-size: 2.25rem;
    }
}

/* Tablet Portrait (768px and up) */
@media (min-width: 768px) and (max-width: 991px) {
    .container {
        padding: 0 2rem;
    }

    .hero-title {
        font-size: 2.75rem;
    }

    .hero-subtitle {
        font-size: 1.4rem;
    }

    .links-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }

    .tools-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.25rem;
    }

    .faq-grid {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }

    .about-content {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }

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

    .footer-bottom {
        flex-direction: row;
        text-align: left;
    }

    .update-info {
        flex-direction: row;
        text-align: left;
    }
}

/* Mobile Large (576px and up) */
@media (min-width: 576px) {
    .hero-section {
        padding: 1rem 0 0.33rem 0;
    }

    .links-grid {
        grid-template-columns: 1fr;
    }

    .tools-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .tool-card {
        padding: 1.25rem;
    }

    .card-footer {
        flex-direction: row;
        gap: 1rem;
    }

    .scroll-buttons {
        right: 1rem;
        bottom: 1rem;
        gap: 0.375rem;
    }
}

/* Mobile Devices (575px and down) */
@media (max-width: 575px) {
    .container {
        padding: 0 1rem;
    }

    .header-container {
        padding: 1rem;
        gap: 1rem;
    }

    .desktop-nav {
        display: none;
    }

    .mobile-menu-btn {
        display: flex;
    }

    .desktop-only {
        display: none !important;
    }

    .mobile-only {
        display: block !important;
    }

    /* Logo Section Mobile */
    .logo-section {
        flex: 1;
        justify-content: center;
        order: 2;
    }

    .mobile-menu-btn {
        order: 1;
    }

    .header-buttons {
        order: 3;
        gap: 0.5rem;
    }

    .site-title {
        font-size: 1.25rem;
    }

    .logo-icon {
        width: 32px;
        height: 32px;
    }

    /* Hero Section Mobile */
    .hero-section {
        padding: 0.67rem 0 0.22rem 0;
    }

    .hero-title {
        font-size: 1.75rem;
        line-height: 1.3;
    }

    .hero-subtitle {
        font-size: 1.1rem;
    }

    .hero-description {
        font-size: 1rem;
    }

    /* Section Spacing Mobile */
    .links-section {
        padding: 0.67rem 0;
    }

    .help-section,
    .history-section,
    .about-section {
        padding: 2rem 0;
    }

    .section-title {
        font-size: 1.5rem;
        margin-bottom: 1.5rem;
    }

    /* Cards Mobile */
    .links-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .tools-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .tool-card {
        padding: 1rem;
        min-height: 160px;
    }

    .tool-card[data-tooltip]::after {
        width: 250px;
        font-size: 0.8rem;
    }

    .category-title {
        font-size: 1.25rem;
        margin-bottom: 1.5rem;
    }

    .link-card {
        border-radius: 12px;
    }

    .card-header,
    .card-body {
        padding: 1rem;
    }

    .domain-name {
        font-size: 1.1rem;
    }

    .main-link,
    .backup-link {
        padding: 0.625rem 0.75rem;
        font-size: 0.9rem;
    }

    .card-footer {
        flex-direction: column;
        gap: 0.5rem;
        align-items: flex-start;
    }

    /* Update Info Mobile */
    .update-info {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }

    /* FAQ Grid Mobile */
    .faq-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .faq-card {
        padding: 1.5rem;
    }

    .faq-card h4 {
        font-size: 1.1rem;
    }

    /* About Content Mobile */
    .about-content {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .about-card {
        padding: 1.5rem;
    }

    /* History Content Mobile */
    .history-content {
        padding: 1.5rem;
        min-height: 200px;
    }

    .history-loading {
        height: 150px;
    }

    /* Important Notes Mobile */
    .note-card {
        padding: 1rem;
        border-radius: 8px;
    }

    .note-card h4 {
        font-size: 1rem;
        margin-bottom: 0.75rem;
    }

    /* Footer Mobile */
    .footer {
        padding: 2rem 0 1rem;
    }

    .footer-content {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }

    .footer-section h4 {
        font-size: 1.1rem;
        margin-bottom: 0.75rem;
    }

    .links-grid-footer {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.75rem;
    }

    .footer-link {
        padding: 0.375rem 0.75rem;
        font-size: 0.9rem;
    }

    .footer-bottom {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }

    .footer-links {
        gap: 1rem;
        flex-wrap: wrap;
        justify-content: center;
    }

    /* Scroll Buttons Mobile */
    .scroll-buttons {
        right: 1.5rem;
        bottom: 1.5rem;
        gap: 0.5rem;
    }

    .scroll-btn {
        width: 48px;
        height: 48px;
        font-size: 14px;
        border-radius: 12px;
    }

    /* Mobile Navigation */
    .mobile-nav {
        top: 70px;
        left: 10px;
        right: 10px;
    }

    .mobile-menu li a {
        padding: 0.875rem 1rem;
        font-size: 0.95rem;
    }
}

/* Extra Small Mobile (400px and down) */
@media (max-width: 400px) {
    .container {
        padding: 0 0.75rem;
    }

    .header-container {
        padding: 0.75rem;
    }

    .site-title {
        font-size: 1.1rem;
    }

    .hero-title {
        font-size: 1.5rem;
    }

    .hero-subtitle {
        font-size: 1rem;
    }

    .section-title {
        font-size: 1.375rem;
    }

    .card-header,
    .card-body,
    .faq-card,
    .about-card,
    .note-card {
        padding: 0.875rem;
    }

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

    .footer-links {
        flex-direction: column;
        align-items: center;
    }
}

/* Landscape Mobile Orientation */
@media (max-height: 500px) and (orientation: landscape) {
    .hero-section {
        padding: 0.5rem 0 0.17rem 0;
    }

    .hero-title {
        font-size: 1.75rem;
    }

    .mobile-nav {
        top: 60px;
        max-height: calc(100vh - 80px);
        overflow-y: auto;
    }

    .mobile-menu li a {
        padding: 0.75rem 1rem;
    }

    .scroll-buttons {
        bottom: 1rem;
        right: 1rem;
        gap: 0.5rem;
    }

    .scroll-btn {
        width: 44px;
        height: 44px;
        font-size: 13px;
        border-radius: 10px;
    }
}

/* High DPI / Retina Displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
    .logo-icon {
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }
}

/* Touch Device Optimizations */
@media (hover: none) and (pointer: coarse) {
    .link-card:hover,
    .faq-card:hover,
    .about-card:hover {
        transform: none;
    }

    .nav-menu li a:hover,
    .main-link:hover,
    .backup-link:hover,
    .footer-link:hover {
        transform: none;
    }

    /* Increase touch targets */
    .mobile-menu li a,
    .header-buttons button,
    .scroll-btn {
        min-height: 44px;
        min-width: 44px;
    }
}

/* Print Specific Mobile Adjustments */
@media print {
    .mobile-menu-btn,
    .mobile-nav-overlay,
    .header-buttons {
        display: none !important;
    }

    .links-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    .card-footer {
        page-break-inside: avoid;
    }
}