/* ==========================================================================
   Responsive breakpoints
   ========================================================================== */

/* Tablets and small desktops */
@media (max-width: 991.98px) {
    .masonry-grid {
        column-count: 2;
    }

    .navbar-collapse {
        background: var(--color-card);
        margin-top: 1rem;
        padding: 1rem;
        border-radius: var(--radius-md);
        border: 1px solid var(--color-border);
    }

    .navbar-nav .nav-link.active::after {
        display: none;
    }

    .navbar-nav .nav-link.active {
        background: #EFF6FF;
        border-radius: var(--radius-sm);
    }

    .hero {
        padding: 3.5rem 0 3rem;
        text-align: center;
    }

    .hero-interests {
        justify-content: center;
    }

    .hero-actions {
        justify-content: center;
    }

    .hero-tagline {
        margin-left: auto;
        margin-right: auto;
    }
}

/* Mobile phones */
@media (max-width: 767.98px) {
    .section-block {
        padding: 3rem 0;
    }

    .masonry-grid {
        column-count: 1;
    }

    .cv-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .publications-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .search-box {
        min-width: 100%;
    }

    .timeline {
        padding-left: 1.5rem;
    }

    .timeline-marker {
        left: -1.95rem;
    }

    #back-to-top {
        bottom: 1.1rem;
        right: 1.1rem;
        width: 42px;
        height: 42px;
    }

    .error-code {
        font-size: 4rem;
    }
}

/* Small phones */
@media (max-width: 575.98px) {
    .hero-photo {
        max-width: 220px;
    }

    .footer-socials {
        justify-content: center;
    }

    .contact-form-card,
    .contact-info-card {
        padding: 1.25rem;
    }
}
