@media (max-width: 1080px) {
    .hero {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .content {
        padding-left: 1.25rem;
        padding-right: 1.25rem;
    }

    .search-toolbar {
        align-items: stretch;
    }

    .search-input,
    .layout-input {
        flex-basis: 100%;
    }
}

@media (max-width: 720px) {
    .hero {
        flex-direction: column;
        gap: 1rem;
        padding-top: 1.4rem;
    }

    #top-menu {
        justify-content: flex-start;
        width: 100%;
    }

    .menu-panel {
        position: static;
        margin-top: 0.35rem;
        min-width: 0;
        width: min(100%, 24rem);
    }

    .content {
        padding: 0.85rem 0.9rem 2rem;
    }

    .card {
        padding: 1rem;
        border-radius: 16px;
    }

    .admin-content {
        grid-template-columns: 1fr;
    }

    .person-content {
        grid-template-columns: 1fr;
    }

    .search-results-head {
        flex-direction: column;
    }

    .pagination-controls {
        width: 100%;
        justify-content: flex-start;
    }

    .data-table th,
    .data-table td {
        padding: 0.7rem 0.8rem;
    }
}

@media (max-width: 540px) {
    .hero h1,
    .auth-title {
        line-height: 1.02;
    }

    #top-menu a,
    #top-menu button,
    button {
        width: 100%;
        justify-content: center;
    }

    .menu-dropdown,
    .menu-dropdown-right {
        width: 100%;
    }

    .menu-trigger {
        width: 100%;
    }

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

    .toolbar > * {
        width: 100%;
    }

    .filter-grid,
    .split {
        grid-template-columns: 1fr;
    }

    .pagination-controls {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: end;
    }

    .pagination-buttons {
        width: 100%;
        justify-content: stretch;
    }

    .pagination-buttons button,
    .pagination-page-input,
    .pagination-controls > button {
        width: 100%;
    }

    .pagination-buttons button {
        flex: 1 1 0;
    }

    .pagination-total {
        grid-column: 1 / -1;
    }

    .auth-layout {
        padding: 1rem;
    }
}
