/* ========================================
   RESPONSIVE & MOBILE STYLES
   ======================================== */

@media (max-width: 600px) {
    /* Menu - switch to column and mobile layout */
    .menu {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 0.8rem 1rem;
        height: 4rem;
    }

    .menu-right {
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    .links {
        position: fixed;
        top: 4rem;
        right: 0;
        width: 70vw;
        height: calc(100vh - 5rem);
        background-color: rgba(0, 0, 0, 0.95);
        flex-direction: column;
        padding: 2rem 1rem;
        border-radius: 0 0 0 10px;
        box-shadow: -2px 0 12px rgba(0, 0, 0, 0.7);
        display: none;
        z-index: 12000;
        overflow-y: auto;
        pointer-events: auto;
    }

    .hamburger-menu {
        display: flex;
        cursor: pointer;
        z-index: 11000;
    }

    /* Smaller logo on mobile */
    .logo {
        font-size: 1rem;
        margin-top: 10px;
        line-height: 1.5rem;
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .logo img,
    .logo .logo-img {
        height: 130px;
        transform: translateY(3px);
    }

    /* Links in hamburger menu */
    .container.active .links {
        display: flex;
    }

    .links a {
        font-size: 1.4rem;
        padding: 1rem 0;
        color: white;
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
    }

    /* Login/Register buttons smaller and full width */
    .login a,
    .register a {
        font-size: 1rem;
        padding: 0.6rem 1.2rem;
        width: 100%;
        text-align: center;
    }

    /* Smaller headings */
    .title {
        font-size: 2rem;
    }

    .description {
        width: 90%;
        font-size: 1.2rem;
    }

    /* Contact form mobile */
    #contact-section {
        max-width: 90%;
        margin: 2rem auto;
        padding: 1.2rem;
    }

    #contact-section input,
    #contact-section textarea {
        font-size: 1rem;
        padding: 0.6rem 1rem;
    }

    #contact-section button {
        font-size: 1rem;
        padding: 0.8rem 1.5rem;
        width: 100%;
    }

    /* Info sections narrower with less padding */
    .info-section,
    .steps-section {
        max-width: 95%;
        padding: 1rem 1rem;
    }

    .steps-container {
        gap: 1rem;
        flex-direction: column;
    }

    /* Step text smaller */
    .step-text {
        font-size: 1rem;
    }

    /* Filter modal mobile */
    .filter-modal__content {
        margin-top: 160px;
        max-width: 95%;
    }

    /* User info panel - vertical layout and smaller */
    .user-info-panel {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-end;
        font-size: 10px;
        padding: 2px 6px;
        gap: 5px;
        max-width: 50%;
    }

    .user-info-panel .greetings {
        font-size: 9px;
        line-height: 1.2;
    }

    .user-info-panel strong {
        font-size: 10px;
    }

    .user-info-panel .logout {
        margin: 0px;
    }

    .user-info-panel .btn-logout {
        font-size: 12px;
        padding: 2px 6px;
    }

    .btn-logout {
        width: 100%;
        text-align: center;
    }

    /* Auth panel mobile */
    .auth-panel {
        padding: 1.5rem;
        width: 90%;
    }

    .auth-title {
        font-size: 1.8rem;
    }

    /* Elements like admin dashboard link */
    a[href="/admin/dashboard"] {
        display: block;
        margin-top: 1rem;
        font-size: 1.1rem;
    }

    /* Responsive steps on mobile */
    .steps-container {
        gap: 1rem;
    }

    .step-text {
        font-size: 1rem;
    }

    .filter-modal__content {
        margin-top: 160px;
        max-width: 95%;
    }
}

@media (min-width: 768px) {
    .user-info-panel {
        position: static;
        width: auto;
        max-width: none;
        height: auto;
        transform: none;
        box-shadow: none;
    }

    .user-overlay {
        display: none;
    }

    .user-toggle {
        display: none;
    }
}
