/* Responsive Styles for Nova Nexus */

/* Tablet and smaller desktop screens */
@media (max-width: 1024px) {
    .container {
        padding: 0 15px;
    }
    
    h1 {
        font-size: 2.2rem;
    }
    
    h2 {
        font-size: 1.8rem;
    }
    
    .hero-content {
        padding: 100px 20px;
    }
    
    .card-container {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .two-column {
        grid-template-columns: 1fr;
    }
    
    .planet-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile devices */
@media (max-width: 768px) {
    header {
        height: auto;
        padding: 10px 0;
    }
    
    .logo h1 {
        font-size: 1.5rem;
    }
    
    .nav-links {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background-color: var(--background-darker);
        flex-direction: column;
        padding: 20px 0;
        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
    }
    
    .nav-links.active {
        display: flex;
    }
    
    .nav-links li {
        margin: 0;
        width: 100%;
    }
    
    .nav-links a {
        padding: 15px 20px;
        display: block;
        width: 100%;
    }
    
    .dropdown-content {
        position: static;
        width: 100%;
        box-shadow: none;
        background-color: rgba(0, 0, 0, 0.2);
        display: none;
    }
    
    .dropdown.active .dropdown-content {
        display: block;
    }
    
    .mobile-menu-btn {
        display: block;
    }
    
    .hero-content {
        padding: 80px 15px;
    }
    
    .hero h1 {
        font-size: 1.8rem;
    }
    
    .hero p {
        font-size: 1rem;
    }
    
    .card-container {
        grid-template-columns: 1fr;
    }
    
    .planet-grid {
        grid-template-columns: 1fr;
    }
    
    .footer-content {
        flex-direction: column;
        text-align: center;
    }
    
    .footer-links, .social-links {
        margin: 20px 0;
    }
}

/* Small mobile devices */
@media (max-width: 480px) {
    h1 {
        font-size: 1.8rem;
    }
    
    h2 {
        font-size: 1.5rem;
    }
    
    .hero h1 {
        font-size: 1.5rem;
    }
    
    .section {
        padding: 40px 0;
    }
    
    .data-table {
        font-size: 0.8rem;
    }
    
    .data-table th, .data-table td {
        padding: 8px;
    }
}

/* Print styles */
@media print {
    header, .hero, footer {
        display: none;
    }
    
    body {
        background-color: white;
        color: black;
    }
    
    .container {
        width: 100%;
        max-width: none;
        padding: 0;
    }
    
    a {
        color: black;
        text-decoration: none;
    }
    
    .data-table {
        border: 1px solid #000;
    }
    
    .data-table th, .data-table td {
        border: 1px solid #000;
    }
} 