/* Responsive Styles */

@media (max-width: 768px) {
    /* --- Header & Navigation --- */
    header .nav-links {
        display: none;
        flex-direction: column;
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        height: 100vh;
        background-color: rgba(0, 0, 0, 0.9);
        justify-content: center;
        align-items: center;
        z-index: 1000;
    }

    header .nav-links.active {
        display: flex;
    }

    header .nav-links li {
        margin: 20px 0;
    }

    header .nav-links a {
        font-size: 1.5em;
        color: #fff;
    }

    .hamburger {
        display: block;
        cursor: pointer;
        font-size: 1.8em;
        z-index: 1001;
    }

    .hamburger.inactive {
        display: none;
    }

    .close-menu {
        display: none;
        cursor: pointer;
        font-size: 2em;
        color: #fff;
        position: fixed;
        top: 20px;
        right: 20px;
        z-index: 1001;
    }

    .close-menu.active {
        display: block;
    }

    /* --- Section Padding --- */
    main section {
        padding: 2rem 1rem;
    }

    /* --- Detail Page Layout --- */
    .detail-page-container {
        flex-direction: column;
        align-items: stretch;
    }

    .detail-primary,
    .detail-sidebar {
        padding: 0 1rem; /* Add horizontal padding on mobile */
    }

    .main-content,
    .sidebar {
        flex-basis: 100%;
        max-width: 100%;
        padding: 20px;
    }

    .sidebar {
        margin-top: 30px;
        border-top: 2px solid #eee;
        border-left: none;
        padding-top: 30px;
    }

    @media (max-width: 768px) {
        .detail-content {
            flex-direction: column !important;
        }
    }

    /* --- Contact Form --- */
    #contact {
        padding: 40px 20px;
    }

    .contact-form {
        max-width: 100%;
    }
}
