/* Responsive navigation fixes - avoiding conflicts with base styles */

/* Tablet Styles (max-width: 1080px) */
@media (max-width: 1080px) {
    header {
        padding: 1rem;
        flex-direction: row;
        width: 100%;
        box-sizing: border-box;
    }

    header .header-flex {
        flex-direction: row;
        gap: 1rem;
        width: 100%;
    }

    header h1 {
        font-size: 1.2rem;
        flex: 1;
        min-width: auto;
    }

    .logo-circle {
        width: 60px;
        height: 60px;
    }

    .logo-circle img {
        width: 60px;
        height: 60px;
    }

    .header-controls {
        display: flex;
        gap: 0.5rem;
        margin-left: auto;
    }

    .hamburger {
        display: flex;
    }

    .search-btn {
        display: flex;
    }
    .home-image {
    width: 100%;
    height: 300px; /* Fixed height for consistency */
    object-fit: cover; /* Covers the area, cropping if necessary */
    display: block;
    border-radius: 10px;
    }
    .home-video {
    width: 100%;
    height: 500px; /* Fixed height for consistency */
    object-fit: cover; /* Covers the area, cropping if necessary */
    display: block;
    border-radius: 12px;

    /* Menu responsive for tablet - inherits base styles */
    nav.nav-menu {
        width: 250px;
        max-height: calc(100vh - 80px);
    }

    .search-container {
        width: 100%;
        top: 70px;
    }

    main {
        padding: 0 1rem;
    }

    footer {
        padding: 0;
        margin-top: 2rem;
    }

    .footer-header {
        padding: 1rem 0.75rem;
    }

    .footer-content {
        padding: 0;
    }

    .footer-content.open {
        padding: 1rem 0.75rem;
    }

    footer nav {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0.8rem;
        margin-bottom: 1.5rem;
    }

    footer nav a {
        font-size: 0.85rem;
        padding: 0.6rem 0.8rem;
        justify-content: center;
        width: auto;
        display: block;
        text-align: center;
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.05);
        transition: background 0.3s ease;
        margin: 0;
    }

    footer nav a:hover {
        background: rgba(255, 255, 255, 0.1);
    }

    .socials.footer-socials {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1rem;
        margin: 1.5rem 0;
    }

    .footer-contact-row,
    .footer-social-row,
    .footer-email-row {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 1.2rem;
    }

    .footer-contact-row a,
    .footer-social-row a {
        font-size: 0.85rem;
        padding: 0.6rem 0.8rem;
        justify-content: center;
        text-align: center;
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.05);
        transition: background 0.3s ease;
        text-decoration: none;
        width: auto;
    }

    .footer-contact-row a:hover,
    .footer-social-row a:hover {
        background: rgba(255, 255, 255, 0.1);
    }

    .footer-email-row a {
        font-size: 0.85rem;
        padding: 0.8rem 1rem;
        justify-content: center;
        text-align: center;
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.05);
        transition: background 0.3s ease;
        text-decoration: none;
        width: 100%;
    }

    .footer-email-row a:hover {
        background: rgba(255, 255, 255, 0.1);
    }

    .footer-contact-row i,
    .footer-social-row i,
    .footer-email-row i {
        width: 20px;
        text-align: center;
        margin-right: 0.5rem;
    }
}
/* Mobile Styles (max-width: 480px) */
@media (max-width: 480px) {
    header {
        padding: 0.75rem 1rem;
    }

    header h1 {
        font-size: 1rem;
    }

    .logo-circle {
        width: 50px;
        height: 50px;
    }

    .logo-circle img {
        width: 50px;
        height: 50px;
    }

    .header-controls {
        display: flex;
        gap: 0.3rem;
        margin-left: auto;
    }

    .hamburger {
        display: flex;
        padding: 0.5rem 0.4rem;
    }

    .hamburger span {
        width: 24px;
    }

    .search-btn {
        display: flex;
        padding: 0.5rem 0.6rem;
        font-size: 1rem;
    }

    /* Menu responsive for mobile - inherits base styles */
    nav.nav-menu {
        width: 220px;
        max-height: calc(100vh - 80px);
    }

    .search-container {
        padding: 0.75rem 1rem;
        top: 70px;
        width: 100%;
    }

    .search-input {
        font-size: 0.9rem;
        padding: 0.5rem 0.8rem;
    }

    .nav-btn {
        padding: 0.8rem 1rem;
        font-size: 0.9rem;
    }

    .home-image {
    width: 100%;
    height: 300px; /* Fixed height for consistency */
    object-fit: cover; /* Covers the area, cropping if necessary */
    display: block;
    border-radius: 10px;
    }

    .home-video {
    width: 100%;
    height: 200px; /* Fixed height for consistency */
    object-fit: cover; /* Covers the area, cropping if necessary */
    display: block;
    border-radius: 12px;
    }

    .intro-gif{
    width: 100%;
    height: 100px;
    object-fit: cover;
    border-radius: 12px;
    }
    main {
        max-width: 100%;
        margin: 1rem auto;
        padding: 0 0.75rem;
    }

    footer {
        padding: 0;
        margin-top: 2rem;
    }

    .footer-header {
        padding: 1rem 0.75rem;
    }

    .footer-content {
        padding: 0;
    }

    .footer-content.open {
        padding: 1rem 0.75rem;
    }

    footer nav {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0.8rem;
        margin-bottom: 1.5rem;
    }

    footer nav a {
        font-size: 0.85rem;
        padding: 0.6rem 0.8rem;
        justify-content: center;
        width: auto;
        display: block;
        text-align: center;
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.05);
        transition: background 0.3s ease;
        margin: 0;
    }

    footer nav a:hover {
        background: rgba(255, 255, 255, 0.1);
    }

    .socials.footer-socials {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        margin: 1.5rem 0;
    }

    .footer-contact-row {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .footer-social-row {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .footer-email-row {
        display: flex;
        justify-content: center;
        margin-top: 0.5rem;
    }

    .footer-contact-row a,
    .footer-social-row a {
        font-size: 0.8rem;
        padding: 0.5rem 0.6rem;
        justify-content: center;
        text-align: center;
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.05);
        transition: background 0.3s ease;
        text-decoration: none;
        width: auto;
    }

    .footer-contact-row a:hover,
    .footer-social-row a:hover {
        background: rgba(255, 255, 255, 0.1);
    }

    .footer-email-row a {
        font-size: 0.8rem;
        padding: 0.6rem 0.8rem;
        justify-content: center;
        text-align: center;
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.05);
        transition: background 0.3s ease;
        text-decoration: none;
        width: 100%;
    }

    .footer-email-row a:hover {
        background: rgba(255, 255, 255, 0.1);
    }

    .footer-contact-row i,
    .footer-social-row i,
    .footer-email-row i {
        width: 18px;
        margin-right: 0.4rem;
    }

    .accessibility {
        font-size: 0.8rem;
        margin-top: 1rem;
    }

    .event-banner {
        padding: 0.75rem;
        font-size: 0.9rem;
    }

    .announcement-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .announcement-text {
        font-size: 0.95rem;
        line-height: 1.4;
    }

    .announcement-close {
        align-self: flex-end;
    }

    #news-highlights-container {
        margin: 1.25rem 0;
    }

    .news-highlights-carousel {
        height: 260px;
    }

    .news-highlights h2, .intro-events h2 {
        font-size: 1.1rem;
    }
}

/* Extra small devices (max-width: 320px) */
@media (max-width: 320px) {
    header {
        padding: 0.5rem;
    }

    header h1 {
        font-size: 0.8rem;
    }

    .logo-circle {
        width: 40px;
        height: 40px;
    }

    .logo-circle img {
        width: 40px;
        height: 40px;
    }

    .header-controls {
        gap: 0.2rem;
    }

    .hamburger {
        padding: 0.4rem 0.3rem;
    }

    .hamburger span {
        width: 20px;
    }

    .search-btn {
        padding: 0.4rem 0.4rem;
        font-size: 0.9rem;
    }

    .nav-btn {
        padding: 0.7rem 1rem;
        font-size: 0.85rem;
    }

    main {
        padding: 0 0.5rem;
    }

    /* Menu responsive for extra small devices */
    nav.nav-menu {
        width: 180px;
        max-height: calc(100vh - 80px);
    }

    .search-container {
        padding: 0.5rem 0.8rem;
    }

    .search-input {
        font-size: 0.8rem;
        padding: 0.4rem 0.6rem;
    }
    .home-image {
    width: 100%;
    height: 300px; /* Fixed height for consistency */
    object-fit: cover; /* Covers the area, cropping if necessary */
    display: block;
    border-radius: 10px;
    }

    .home-video {
    width: 100%;
    height: 200px; /* Fixed height for consistency */
    object-fit: cover; /* Covers the area, cropping if necessary */
    display: block;
    border-radius: 12px;
    }
    .intro-gif{
    width: 100%;
    height: 200px;
    object-fit: cover;
    border-radius: 12px;
    }

    .announcement-text {
        font-size: 0.9rem;
    }

    .news-highlights-carousel {
        height: 220px;
    }

    /* Extra small footer optimizations */
    footer nav {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.4rem;
    }

    footer nav a {
        font-size: 0.8rem;
        padding: 0.5rem 0.6rem;
        width: auto;
        margin: 0.2rem;
    }

    .footer-contact-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.8rem;
    }

    .footer-social-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 0.8rem;
    }

    .footer-contact-row a,
    .footer-social-row a {
        font-size: 0.75rem;
        padding: 0.4rem 0.5rem;
    }

    .footer-email-row a {
        font-size: 0.75rem;
        padding: 0.5rem 0.6rem;
    }

    .footer-contact-row i,
    .footer-social-row i,
    .footer-email-row i {
        width: 16px;
        margin-right: 0.3rem;
    }
}