/*
|--------------------------------------------------------------------------
| DataNet Responsive Polish
|--------------------------------------------------------------------------
| Global tablet/mobile improvements for public-facing pages.
*/

@media (max-width: 1180px) {
    .dn-container {
        width: min(100% - 28px, 1180px);
    }

    .dn-nav a {
        padding-inline: 10px;
        font-size: .88rem;
    }
}

@media (max-width: 980px) {
    .dn-topbar.is-open .dn-nav,
    .dn-topbar.is-open .dn-nav-actions {
        width: 100%;
    }

    .dn-topbar.is-open .dn-nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .dn-topbar.is-open .dn-nav a {
        border-radius: 16px;
        background: #f8fafc;
        border: 1px solid #e0f2fe;
        padding: 12px;
    }

    .dn-topbar.is-open .dn-nav-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .dn-topbar.is-open .dn-nav-actions a,
    .dn-toolbar .dn-btn,
    .dn-toolbar .dn-btn-soft,
    .dn-toolbar .dn-btn-outline {
        width: 100%;
    }

    .dn-section-head,
    .dn-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

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

    .dn-profile-hero,
    .dn-content-split,
    .dn-info-grid {
        grid-template-columns: 1fr !important;
    }

    .dn-profile-photo-card {
        max-width: 420px;
    }

    .dn-document-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 720px) {
    .dn-container {
        width: min(100% - 22px, 1180px);
    }

    .dn-brand-mark {
        width: 40px;
        height: 40px;
        border-radius: 14px;
    }

    .dn-brand-subtitle {
        display: none;
    }

    .dn-topbar.is-open .dn-nav,
    .dn-topbar.is-open .dn-nav-actions,
    .dn-document-grid,
    .dn-gallery {
        grid-template-columns: 1fr !important;
    }

    .dn-btn,
    .dn-btn-soft,
    .dn-btn-outline,
    .dn-btn-danger {
        white-space: normal;
        text-align: center;
    }

    .dn-page-hero {
        border-radius: 22px;
    }

    .dn-page-hero h1 {
        overflow-wrap: anywhere;
    }

    .dn-form-card,
    .dn-card-body,
    .dn-feature-card,
    .dn-content-panel,
    .dn-panel-body {
        border-radius: 20px;
    }

    .dn-list-card {
        gap: 12px;
    }

    .dn-list-card .dn-icon {
        width: 48px;
        height: 48px;
        flex: 0 0 auto;
    }

    .dn-search-box {
        flex-direction: column;
    }

    .dn-search-box .dn-btn {
        width: 100%;
    }

    .dn-table {
        min-width: 680px;
    }

    .dn-footer-links {
        gap: 10px;
    }

    .dn-footer-links a {
        display: inline-flex;
        border: 1px solid #dbeafe;
        background: #fff;
        border-radius: 999px;
        padding: 7px 10px;
    }
}

@media (max-width: 420px) {
    .dn-container {
        width: min(100% - 18px, 1180px);
    }

    .dn-nav-wrap {
        min-height: 68px;
        gap: 10px;
    }

    .dn-mobile-toggle {
        width: 40px;
        height: 40px;
    }

    .dn-brand-title {
        font-size: .96rem;
    }
}
