/* Mobile app shell shared by edu templates. */
.edu-mobile-tabbar {
    display: none;
}

@media (max-width: 760px) {
    html {
        scroll-padding-top: 58px;
    }

    .edu-body {
        overflow-x: hidden;
        padding-bottom: calc(64px + env(safe-area-inset-bottom));
        background: #f3f6fb;
        color: #071b33;
        -webkit-text-size-adjust: 100%;
    }

    .edu-body.single-mpcs-lesson {
        padding-bottom: 0;
    }

    .edu-body .site {
        overflow-x: hidden;
    }

    .edu-header {
        border-bottom: 1px solid #dbe6f3;
        box-shadow: none;
    }

    .edu-header-container {
        height: 56px;
        padding: 0 12px;
        gap: 8px;
    }

    .edu-logo-link {
        gap: 8px;
        min-width: 0;
    }

    .edu-logo-img {
        max-height: 31px;
    }

    .edu-logo-text strong {
        max-width: 140px;
        overflow: hidden;
        font-size: 16px;
        line-height: 1.1;
        text-overflow: ellipsis;
    }

    .edu-mobile-actions {
        gap: 10px;
    }

    .edu-action-icon,
    .edu-menu-toggle {
        width: 36px;
        height: 36px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 0;
        background: transparent;
        color: #0b63f6;
        font-size: 20px;
        line-height: 1;
    }

    .edu-mobile-menu {
        max-height: calc(100vh - 56px);
        overflow-y: auto;
        border-top: 1px solid #e5edf7;
        box-shadow: none;
    }

    .edu-mobile-search {
        grid-template-columns: minmax(0, 1fr) 42px;
        gap: 8px;
        padding: 10px 12px;
    }

    .edu-mobile-search input,
    .edu-mobile-search button {
        height: 40px;
        border-radius: 4px;
    }

    .edu-mobile-nav-list a {
        min-height: 44px;
        padding: 12px 16px;
        color: #0f2745;
        font-size: 15px;
        font-weight: 800;
    }

    .edu-mobile-nav-list li {
        border-bottom-color: #edf2f8;
    }

    .edu-mobile-nav-list li.current-menu-item a,
    .edu-mobile-nav-list a:hover {
        background: #f2f7ff;
        color: #0b63f6;
    }

    .edu-body main,
    .edu-body .site-main,
    .edu-body .entry-content {
        min-width: 0;
    }

    .edu-body .edu-course-container,
    .edu-body .edu-site-container,
    .edu-body .edu-footer-container,
    .edu-body .home-container,
    .edu-body .archive-container,
    .edu-body .dktic-dashboard-layout {
        width: 100%;
        max-width: none;
        padding-right: 12px;
        padding-left: 12px;
    }

    .edu-body .home-section,
    .edu-body .edu-csr-section,
    .edu-body .edu-learning-section,
    .edu-body .edu-site-section,
    .edu-body .archive-section,
    .edu-body .dktic-dashboard-main {
        padding-top: 18px;
        padding-bottom: 22px;
    }

    .edu-body .home-section + .home-section,
    .edu-body .edu-csr-section + .edu-csr-section,
    .edu-body .edu-learning-section + .edu-learning-section,
    .edu-body .edu-site-section + .edu-site-section {
        margin-top: 0;
    }

    .edu-body h1,
    .edu-body .home-hero-title,
    .edu-body .edu-csr-hero-copy h1,
    .edu-body .edu-learning-hero h1,
    .edu-body .edu-site-hero h1 {
        font-size: 24px;
        line-height: 1.28;
        letter-spacing: 0;
    }

    .edu-body h2,
    .edu-body .home-section-head h2,
    .edu-body .edu-csr-section-head h2,
    .edu-body .edu-learning-section-head h2,
    .edu-body .edu-site-section-head h2 {
        margin-bottom: 10px;
        font-size: 20px;
        line-height: 1.32;
        letter-spacing: 0;
    }

    .edu-body h3 {
        font-size: 17px;
        line-height: 1.35;
        letter-spacing: 0;
    }

    .edu-body p {
        line-height: 1.65;
    }

    .edu-body .home-section-head,
    .edu-body .edu-csr-section-head,
    .edu-body .edu-learning-section-head,
    .edu-body .edu-site-section-head,
    .edu-body .section-head {
        margin-bottom: 12px;
        gap: 8px;
    }

    .edu-body .home-card,
    .edu-body .home-course-card,
    .edu-body .home-feature-card,
    .edu-body .dashboard-card,
    .edu-body .materials-card,
    .edu-body .dktic-empty,
    .edu-body .dktic-list-panel,
    .edu-body .dktic-list-panel a,
    .edu-body .dktic-settings-card,
    .edu-body .dktic-settings-action,
    .edu-body .dktic-security-item,
    .edu-body .dktic-category-block,
    .edu-body .dktic-course-card,
    .edu-body .edu-learning-panel,
    .edu-body .edu-learning-curriculum,
    .edu-body .edu-learning-material-panel,
    .edu-body .edu-learning-resource,
    .edu-body .edu-csr-feature-card,
    .edu-body .edu-csr-audience-card,
    .edu-body .edu-csr-course-card,
    .edu-body .edu-csr-module-card,
    .edu-body .edu-csr-download-card,
    .edu-body .edu-csr-price-card,
    .edu-body .edu-csr-benefit-card,
    .edu-body .edu-csr-case-card,
    .edu-body .edu-csr-teacher-card,
    .edu-body .edu-csr-faq-panel,
    .edu-body .edu-csr-form-panel,
    .edu-body .edu-site-card,
    .edu-body .edu-site-panel {
        border-radius: 6px;
        box-shadow: none;
    }

    .edu-body .dashboard-card,
    .edu-body .materials-card,
    .edu-body .dktic-settings-card,
    .edu-body .dktic-category-block,
    .edu-body .edu-learning-panel,
    .edu-body .edu-learning-curriculum,
    .edu-body .edu-learning-material-panel,
    .edu-body .edu-site-card,
    .edu-body .edu-site-panel {
        border-color: #e0e9f5;
    }

    .edu-body .home-card,
    .edu-body .home-feature-card,
    .edu-body .dashboard-card,
    .edu-body .materials-card,
    .edu-body .dktic-settings-card,
    .edu-body .dktic-category-block,
    .edu-body .edu-csr-feature-card,
    .edu-body .edu-csr-audience-card,
    .edu-body .edu-csr-module-card,
    .edu-body .edu-csr-download-card,
    .edu-body .edu-csr-benefit-card,
    .edu-body .edu-site-card,
    .edu-body .edu-site-panel {
        padding: 14px;
    }

    .edu-body .edu-csr-course-card,
    .edu-body .edu-csr-price-card,
    .edu-body .edu-csr-case-card,
    .edu-body .edu-csr-teacher-card,
    .edu-body .home-course-card {
        overflow: hidden;
    }

    .edu-body .edu-csr-stats,
    .edu-body .edu-learning-summary-metrics,
    .edu-body .home-stats,
    .edu-body .dktic-stats-grid {
        gap: 8px;
    }

    .edu-body .edu-csr-stat-item,
    .edu-body .home-stat-item,
    .edu-body .dktic-stat-card {
        padding: 10px;
        border-radius: 6px;
        box-shadow: none;
    }

    .edu-body .edu-csr-btn,
    .edu-body .edu-learning-btn,
    .edu-body .home-btn,
    .edu-body .course-action,
    .edu-body .dktic-action-button,
    .edu-body .dktic-security-link,
    .edu-body .dktic-security-form button,
    .edu-body .dktic-auth-form button,
    .edu-body .dktic-profile-form button,
    .edu-body .cnasedu-consult-submit {
        min-height: 42px;
        border-radius: 5px;
        box-shadow: none;
    }

    .edu-body input,
    .edu-body textarea,
    .edu-body select {
        border-radius: 5px;
    }

    .edu-body .edu-csr-visual-ring,
    .edu-body .home-visual,
    .edu-body .edu-learning-visual {
        border-radius: 8px;
    }

    .edu-body .edu-learning-page.edu-learning-lesson-page .edu-learning-summary-metrics,
    .edu-body .edu-learning-page.edu-learning-lesson-page .edu-learning-summary-progress,
    .edu-body .edu-learning-page.edu-learning-lesson-page .edu-learning-lesson-row {
        border-radius: 6px;
        box-shadow: none;
    }

    .edu-body .edu-learning-page.edu-learning-lesson-page .edu-mobile-bottom-link {
        border-radius: 6px;
        background: #eef4ff;
    }

    .edu-body .edu-learning-page.edu-learning-lesson-page .edu-mobile-bottom-buy {
        border-radius: 6px;
        box-shadow: none;
    }

    .edu-mobile-tabbar {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1300;
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        align-items: stretch;
        height: calc(58px + env(safe-area-inset-bottom));
        padding: 4px 6px calc(4px + env(safe-area-inset-bottom));
        border-top: 1px solid rgba(211, 224, 241, .96);
        background: rgba(255, 255, 255, .98);
        box-shadow: none;
        backdrop-filter: blur(12px);
    }

    .edu-mobile-tabbar-item {
        position: relative;
        min-width: 0;
        min-height: 50px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #52657f;
        font: inherit;
        font-size: 11px;
        font-weight: 850;
        line-height: 1.1;
        text-decoration: none;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    .edu-mobile-tabbar-item i {
        font-size: 18px;
        line-height: 1;
    }

    .edu-mobile-tabbar-item span {
        max-width: 100%;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .edu-mobile-tabbar-item.is-active {
        color: #0b63f6;
    }

    .edu-mobile-tabbar-item.is-active::before {
        content: "";
        position: absolute;
        top: 2px;
        left: 50%;
        width: 18px;
        height: 2px;
        border-radius: 2px;
        background: #0b63f6;
        transform: translateX(-50%);
    }

    .edu-mobile-tabbar-item:hover,
    .edu-mobile-tabbar-item:focus {
        color: #0b63f6;
        outline: none;
        text-decoration: none;
    }
}

@media (max-width: 380px) {
    .edu-mobile-tabbar {
        padding-right: 2px;
        padding-left: 2px;
    }

    .edu-mobile-tabbar-item {
        font-size: 10px;
    }

    .edu-mobile-tabbar-item i {
        font-size: 17px;
    }
}
