/* ----------------------------------------------------
   Сторінка "Виховання доброчесності" (BI Defence Community).
   Усі правила обмежені контейнером .bi-edu, щоб стилі
   макета не зачіпали шапку, підвал і решту сайту.
---------------------------------------------------- */
@font-face {
            font-family: 'e-Ukraine-Light';
            src: url('../assets/fonts/e-Ukraine/e-Ukraine-Light.woff2') format('woff2');
            font-weight: 300;
            font-style: normal;
            font-display: swap;
        }
@font-face {
            font-family: 'e-Ukraine-Regular';
            src: url('../assets/fonts/e-Ukraine/e-Ukraine-Regular.woff2') format('woff2');
            font-weight: 400;
            font-style: normal;
            font-display: swap;
        }
@font-face {
            font-family: 'e-Ukraine-Medium';
            src: url('../assets/fonts/e-Ukraine/e-Ukraine-Medium.woff2') format('woff2');
            font-weight: 500;
            font-style: normal;
            font-display: swap;
        }
:root {
            /* Контрастний бренд-колір НАЗК */
            --primary-blue: #005AAD;
            --primary-blue-hover: #004585;

            /* Жовтий акцентний колір */
            --accent-yellow: #FFD72F;

            /* 3 нейтральні кольори */
            --bg-white: #FFFFFF;
            --bg-neutral-light: #F2F9FD;
            --bg-neutral-medium: #D9E7F4;

            --text-main: #122C34;
            --text-muted: #475569;

            /* Кольори статусів НАТО 0204 */
            --status-green: #2E7D32;
            --status-yellow: #F59E0B;
            --status-red: #DC2626;
            --status-gray: #64748B;

            --radius-sm: 8px;
            --radius-main: 12px;
            --radius-large: 16px;

            --font-light: 'e-Ukraine-Light', 'Inter', sans-serif;
            --font-regular: 'e-Ukraine-Regular', 'Inter', sans-serif;
            --font-medium: 'e-Ukraine-Medium', 'Inter', sans-serif;
}
.bi-edu *, .bi-edu *::before, .bi-edu *::after {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
}
html {
            scroll-behavior: smooth;
            overflow-x: hidden;
}
.bi-edu {
            font-family: var(--font-light);
            background-color: var(--bg-white);
            color: var(--text-main);
            line-height: 1.5;
            -webkit-font-smoothing: antialiased;
            padding: 0;
            margin: 0;
            overflow-x: hidden;
}
.bi-edu h1, .bi-edu h2, .bi-edu h3, .bi-edu h4, .bi-edu h5, .bi-edu h6, .bi-edu .font-heading {
            font-family: var(--font-medium);
}
.bi-edu button, .bi-edu .btn, .bi-edu .btn-card-action, .bi-edu .tag-btn, .bi-edu .tab-btn, .bi-edu .badge-format, .bi-edu .badge-dev, .bi-edu .btn-banner, .bi-edu .btn-feedback, .bi-edu .btn-scroll-map {
            font-family: var(--font-regular);
}
.bi-edu p, .bi-edu span, .bi-edu input, .bi-edu select, .bi-edu textarea, .bi-edu label, .bi-edu .card-desc {
            font-family: var(--font-light);
}
.bi-edu .main-wrapper {
            max-width: 1280px;
            margin: 0 auto;
            padding: 0 20px;
}
/* ----------------------------------------------------
           СТИЛІ НОВОГО HERO-БЛОКУ ТА 3 КАРТОК
        ---------------------------------------------------- */
.bi-edu .hero-banner {
            position: relative;
            width: 100vw;
            left: 50%;
            transform: translateX(-50%);
            border-radius: 0;
            overflow: hidden;
            background-color: #005aad;
            background-image: linear-gradient(90deg, #FFFFFF 0%, rgba(255,255,255,0.95) 35%, rgba(255,255,255,0) 65%), url('https://lh3.googleusercontent.com/d/1VcnAWUu3DWqdY_byKBhXS0wEzmTmGbIX');
            background-size: contain;
            background-position: right center;
            background-repeat: no-repeat;
            padding: 48px 20px;
            margin-bottom: 24px;
            min-height: 420px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            width: 100%;
}
.bi-edu .hero-banner-inner {
            max-width: 1280px;
            margin: 0 auto;
            width: 100%;
            padding: 0 20px;
}
.bi-edu .hero-content {
            max-width: 500px;
            z-index: 2;
}
.bi-edu .hero-badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 12px;
            font-family: var(--font-medium);
            color: var(--primary-blue);
            background-color: rgba(242, 249, 253, 0.9);
            border: 1px solid var(--bg-neutral-medium);
            padding: 4px 12px;
            border-radius: 20px;
            margin-bottom: 16px;
}
.bi-edu .hero-badge-icon {
            width: 14px;
            height: 14px;
            fill: #FFD72F;
}
.bi-edu .hero-title {
            font-size: 36px;
            line-height: 1.15;
            margin-bottom: 12px;
            font-weight: 700;
}
.bi-edu .hero-title .title-black {
            color: var(--text-main);
            display: block;
}
.bi-edu .hero-title .title-blue {
            color: var(--primary-blue);
            display: block;
}
.bi-edu .hero-description {
            font-size: 15px;
            color: var(--text-muted);
            line-height: 1.5;
            margin-bottom: 24px;
            max-width: 450px;
}
.bi-edu .btn-hero-primary {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background-color: var(--primary-blue);
            color: var(--bg-white);
            padding: 12px 24px;
            border-radius: var(--radius-main);
            font-size: 14px;
            font-family: var(--font-medium);
            text-decoration: none;
            transition: background-color 0.2s ease;
}
.bi-edu .btn-hero-primary svg {
            flex-shrink: 0;
            display: block;
}
.bi-edu .btn-hero-primary:hover {
            background-color: var(--primary-blue-hover);
}
/* Грид для 3-х нових карток напрямків */
.bi-edu .features-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
            margin-bottom: 24px;
}
.bi-edu .feature-card {
            background: var(--bg-white);
            border: 1px solid var(--bg-neutral-medium);
            border-radius: var(--radius-large);
            padding: 24px 22px;
            display: flex;
            align-items: flex-start;
            gap: 20px;
            min-height: 120px;
}
.bi-edu .feature-icon-box {
            width: 60px;
            height: 60px;
            border-radius: var(--radius-main);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            margin-top: -2px;
}
.bi-edu .feature-icon-box svg {
            width: 36px !important;  /* Задає більшу ширину */
            height: 36px !important; /* Задає більшу висоту */
}
.bi-edu .feature-icon-box.blue { background-color: #E0F2FE; color: #0284C7;}
.bi-edu .feature-icon-box.green { background-color: #DCFCE7; color: #16A34A;}
.bi-edu .feature-icon-box.yellow { background-color: #FEF3C7; color: #D97706;}
.bi-edu .feature-info h4 {
            font-size: 15px;
            font-family: var(--font-medium);
            font-weight: 600;
            color: var(--text-main);
            margin-bottom: 6px;
            line-height: 1.25;
}
.bi-edu .feature-info p {
            font-size: 13px;
            color: var(--text-muted);
            line-height: 1.55;
}
/* Адаптивність */
@media (max-width: 900px) {
  .bi-edu .features-grid {
                grid-template-columns: 1fr;
}
  .bi-edu .hero-banner {
                background-image: linear-gradient(180deg, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.8) 50%, rgba(255,255,255,0.1) 100%), url('https://lh3.googleusercontent.com/d/1VcnAWUu3DWqdY_byKBhXS0wEzmTmGbIX');
                padding: 32px 20px;
}
}
/* ----------------------------------------------------
           СТИЛІ РОЗДІЛУ 2: БАНЕР (NATO IO 0204)
        ---------------------------------------------------- */
.bi-edu .top-banners-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 20px;
            margin-bottom: 24px;
}
.bi-edu .banner-box {
            background-color: var(--bg-neutral-light);
            border: 1px solid var(--bg-neutral-medium);
            padding: 24px 28px;
            border-radius: var(--radius-large);
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: space-between;
            gap: 24px;
            min-height: 110px;
}
.bi-edu .banner-box.banner-nato {
            border-left: 1px solid var(--bg-neutral-medium);
}
.bi-edu .banner-header {
            display: flex;
            align-items: center;
            gap: 20px;
            flex: 1;
}
.bi-edu .banner-icon-box {
            width: 68px;
            height: 68px;
            border-radius: 16px;
            background-color: var(--bg-white);
            border: 1px solid var(--bg-neutral-medium);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            overflow: hidden;
            padding: 0px;
            margin-top: -2px;
}
.bi-edu .banner-icon-box img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
            transform: scale(1.15);
            display: block;
            image-rendering: -webkit-optimize-contrast;
}
.bi-edu .banner-info {
            display: flex;
            flex-direction: column;
            text-align: left;
}
.bi-edu .banner-info h3 {
            font-size: 17px;
            color: #122C34;
            font-weight: 600;
            margin-bottom: 6px;
            line-height: 1.3;
}
.bi-edu .banner-info p {
            font-size: 13.5px;
            color: var(--text-muted);
            line-height: 1.45;
}
.bi-edu .banner-action-wrap {
            display: flex;
            justify-content: flex-end;
            margin-top: 0;
            flex-shrink: 0;
}
.bi-edu .btn-banner {
            font-size: 13px;
            padding: 9px 18px;
            background-color: var(--primary-blue);
            color: var(--bg-white);
            text-decoration: none;
            border-radius: var(--radius-main);
            transition: all 0.2s ease;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            white-space: nowrap;
}
.bi-edu .btn-banner:hover {
            background-color: var(--primary-blue-hover);
}
.bi-edu .btn-scroll-map {
            font-size: 13px;
            padding: 9px 18px;
            background-color: var(--bg-white);
            color: var(--primary-blue);
            text-decoration: none;
            border-radius: var(--radius-main);
            border: 1px solid var(--primary-blue);
            transition: all 0.2s ease;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            white-space: nowrap;
}
.bi-edu .btn-scroll-map:hover {
            background-color: var(--bg-neutral-light);
            border-color: var(--primary-blue-hover);
}
.bi-edu .yellow-divider {
            height: 1px;
            background-color: var(--accent-yellow);
            border: none;
            margin: 48px 0;
            width: 100%;
}
/* ----------------------------------------------------
           СТИЛІ РОЗДІЛУ 3: КУРСИ ТА МАТЕРІАЛИ
        ---------------------------------------------------- */
.bi-edu .filter-section {
            background: var(--bg-white);
            margin-bottom: 28px;
            padding: 18px 20px;
            border-radius: var(--radius-large);
            border: 1px solid var(--bg-neutral-medium);
            display: flex;
            flex-direction: column;
            gap: 14px;
}
.bi-edu .search-row {
            display: flex;
            gap: 16px;
            align-items: center;
            flex-wrap: wrap;
}
.bi-edu .search-box {
            position: relative;
            flex: 1 1 320px;
}
.bi-edu .search-input {
            width: 100%;
            padding: 10px 16px 10px 40px;
            border: 1px solid var(--bg-neutral-medium);
            border-radius: var(--radius-main);
            font-size: 14px;
            outline: none;
            transition: border-color 0.2s;
            background-color: var(--bg-white);
}
.bi-edu .search-input:focus {
            border-color: var(--primary-blue);
            box-shadow: 0 0 0 3px rgba(0, 90, 173, 0.15);
}
.bi-edu .search-icon {
            position: absolute;
            left: 14px;
            top: 50%;
            transform: translateY(-50%);
            fill: var(--primary-blue);
            width: 16px;
            height: 16px;
}
.bi-edu .tags-container {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
}
.bi-edu .tag-btn {
            font-size: 12px;
            padding: 6px 14px;
            border: 1px solid var(--bg-neutral-medium);
            border-radius: 20px;
            background: var(--bg-white);
            color: var(--text-muted);
            cursor: pointer;
            transition: all 0.2s ease;
}
.bi-edu .tag-btn.active, .bi-edu .tag-btn:hover {
            background: var(--primary-blue);
            color: var(--bg-white);
            border-color: var(--primary-blue);
}
.bi-edu .section-tabs {
            display: flex;
            gap: 10px;
            margin-bottom: 24px;
            border-bottom: 2px solid var(--bg-neutral-medium);
            overflow-x: auto;
            scrollbar-width: none;
}
.bi-edu .section-tabs::-webkit-scrollbar { display: none;}
.bi-edu .tab-btn {
            font-size: 14px;
            padding: 10px 18px;
            border: none;
            background: none;
            cursor: pointer;
            color: var(--text-muted);
            border-bottom: 3px solid transparent;
            margin-bottom: -2px;
            white-space: nowrap;
            transition: all 0.2s;
}
.bi-edu .tab-btn.active {
            color: var(--primary-blue);
            border-bottom-color: var(--primary-blue);
            font-family: var(--font-medium);
}
.bi-edu .courses-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
            gap: 20px;
            margin-bottom: 40px;
            align-items: stretch;
}
.bi-edu .course-card {
            background: var(--bg-white);
            border-radius: var(--radius-large);
            border: 1px solid var(--bg-neutral-medium);
            display: flex;
            flex-direction: column;
            overflow: hidden;
            transition: border-color 0.2s ease, transform 0.2s ease;
            position: relative;
}
.bi-edu .course-card.is-hidden {
            display: none !important;
}
.bi-edu .course-card:hover {
            border-color: var(--primary-blue);
            transform: translateY(-2px);
}
.bi-edu .card-top-bar {
            padding: 16px 18px 10px 18px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 8px;
}
.bi-edu .badge-dev {
            font-size: 11px;
            font-weight: 600;
            padding: 4px 8px;
            border-radius: 6px;
            text-transform: uppercase;
            letter-spacing: 0.4px;
            background-color: var(--bg-white);
            border: 1px solid var(--bg-neutral-medium);
            color: var(--primary-blue);
}
.bi-edu .badge-format {
            font-size: 11px;
            color: var(--primary-blue);
            background: var(--accent-yellow);
            padding: 3px 8px;
            border-radius: 4px;
            font-weight: 600;
}
.bi-edu .badge-lang {
            font-size: 11px;
            color: #1E40AF;
            background: #DBEAFE;
            padding: 3px 8px;
            border-radius: 4px;
            font-weight: 600;
            display: inline-flex;
            align-items: center;
            gap: 4px;
            border: 1px solid #BFDBFE;
}
.bi-edu .card-body {
            padding: 0 18px 14px 18px;
            flex-grow: 1;
            display: flex;
            gap: 16px;
}
.bi-edu .cover-frame {
            width: 96px;
            height: 128px;
            background-color: transparent;
            border: 1px solid var(--bg-neutral-medium);
            border-radius: var(--radius-sm);
            flex-shrink: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 6px;
            overflow: hidden;
            text-align: center;
            position: relative;
}
.bi-edu .cover-placeholder-icon {
            color: var(--primary-blue);
            margin-bottom: 6px;
}
.bi-edu .cover-placeholder-text {
            font-size: 9px;
            color: var(--text-muted);
            line-height: 1.15;
}
.bi-edu .card-content-wrap {
            flex: 1;
            display: flex;
            flex-direction: column;
}
.bi-edu .card-title {
            font-size: 15px;
            color: var(--text-main);
            margin-bottom: 6px;
            line-height: 1.35;
            font-family: var(--font-medium);
}
.bi-edu .card-desc {
            font-size: 13px;
            color: var(--text-muted);
            margin-bottom: 12px;
            flex-grow: 1;
            line-height: 1.45;
}
.bi-edu .card-meta-tags {
            display: flex;
            gap: 6px;
            flex-wrap: wrap;
            margin-top: auto;
}
.bi-edu .meta-tag {
            font-size: 10px;
            color: var(--primary-blue);
            background: var(--bg-white);
            border: 1px solid var(--bg-neutral-medium);
            padding: 2px 6px;
            border-radius: 4px;
}
.bi-edu .card-footer {
            padding: 12px 18px 16px 18px;
            margin-top: auto;
            background-color: var(--bg-white);
            border-top: 1px solid var(--bg-neutral-medium);
}
.bi-edu .btn-card-action {
            display: block;
            width: 100%;
            text-align: center;
            font-size: 13px;
            padding: 10px 0;
            background-color: var(--primary-blue);
            color: var(--bg-white);
            text-decoration: none;
            border-radius: var(--radius-main);
            transition: background-color 0.2s ease;
}
.bi-edu .btn-card-action:hover {
            background-color: var(--primary-blue-hover);
}
/* ----------------------------------------------------
           СТИЛІ РОЗДІЛУ 4: NATO INTEROPERABILITY 0204
        ---------------------------------------------------- */
.bi-edu .nato-section-wrap {
            border-top: 2px solid var(--bg-neutral-medium);
            padding-top: 40px;
            margin-top: 20px;
}
.bi-edu .nato-header-container {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 24px;
            margin-bottom: 28px;
            flex-wrap: wrap;
}
.bi-edu .nato-header-text {
            flex: 1 1 500px;
}
.bi-edu .nato-badge {
            display: inline-block;
            font-size: 11px;
            font-family: var(--font-medium);
            color: var(--primary-blue);
            background-color: var(--bg-neutral-light);
            border: 1px solid var(--bg-neutral-medium);
            padding: 4px 12px;
            border-radius: 20px;
            margin-bottom: 12px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
}
.bi-edu .nato-title {
            font-size: 24px;
            color: var(--primary-blue);
            margin-bottom: 8px;
            line-height: 1.25;
}
.bi-edu .nato-subtitle {
            font-size: 14px;
            color: var(--text-muted);
            max-width: 900px;
}
.bi-edu .nato-info-summary {
            border: 1px solid #D9E7F4;
            border-radius: var(--radius-large);
            padding: 16px 20px;
            background-color: var(--bg-white);
            display: flex;
            flex-direction: column;
            gap: 12px;
            min-width: 290px;
            flex: 0 0 auto;
            margin-top: 18px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
}
.bi-edu .nato-info-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 20px;
}
.bi-edu .nato-info-label {
            font-size: 12px;
            color: var(--text-muted);
            font-family: var(--font-light);
}
.bi-edu .nato-info-value {
            font-size: 15px;
            font-weight: 700;
            font-family: var(--font-medium);
            color: var(--text-main);
}
.bi-edu .nato-toolbar {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            margin-bottom: 24px;
            padding: 14px 18px;
            border: 1px solid var(--bg-neutral-medium);
            border-radius: var(--radius-large);
            background: var(--bg-white);
}
.bi-edu .executors-toggle {
            font-size: 13px;
            font-family: var(--font-medium);
            background-color: var(--bg-white);
            border: 1px solid var(--bg-neutral-medium);
            color: var(--primary-blue);
            padding: 8px 16px;
            border-radius: var(--radius-main);
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            transition: all 0.2s;
}
.bi-edu .executors-toggle:hover {
            background-color: var(--bg-neutral-light);
}
.bi-edu .executors-list-box {
            background: var(--bg-white);
            border: 1px solid var(--bg-neutral-medium);
            border-radius: var(--radius-large);
            padding: 18px 20px;
            margin-bottom: 24px;
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}
.bi-edu .executors-list-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
            gap: 8px 16px;
            list-style: none;
}
.bi-edu .executors-list-grid li {
            font-size: 13px;
            color: var(--text-muted);
            position: relative;
            padding-left: 16px;
}
.bi-edu .executors-list-grid li::before {
            content: "";
            position: absolute;
            left: 0;
            top: 7px;
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background-color: var(--accent-yellow);
}
.bi-edu .nato-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
            gap: 20px;
            margin-bottom: 40px;
            align-items: stretch;
}
.bi-edu .nato-card-wrap {
            min-height: 240px;
            perspective: 1000px;
            display: block;
}
.bi-edu .nato-task-card {
            position: relative;
            width: 100%;
            height: 100%;
            min-height: 240px;
            border: none;
            background: transparent;
            cursor: pointer;
            padding: 0;
            text-align: left;
            transform-style: preserve-3d;
            transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.bi-edu .nato-card-wrap.flipped .nato-task-card {
            transform: rotateY(180deg);
}
.bi-edu .nato-face {
            position: absolute;
            inset: 0;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            padding: 18px 20px;
            border: 1px solid var(--bg-neutral-medium);
            border-radius: var(--radius-large);
            background-color: var(--bg-white);
            backface-visibility: hidden;
            -webkit-backface-visibility: hidden;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
            transition: border-color 0.2s, box-shadow 0.2s;
}
.bi-edu .nato-task-card:hover .nato-face {
            border-color: var(--primary-blue);
            box-shadow: 0 6px 18px rgba(0, 90, 173, 0.08);
}
.bi-edu .nato-back {
            transform: rotateY(180deg);
            background-color: var(--bg-white);
}
.bi-edu .nato-card-top {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 12px;
}
.bi-edu .nato-task-num {
            font-family: var(--font-medium);
            font-size: 14px;
            color: var(--primary-blue);
            background-color: var(--bg-neutral-light);
            border: 1px solid var(--bg-neutral-medium);
            padding: 2px 10px;
            border-radius: 12px;
}
.bi-edu .status-dot-wrap {
            display: flex;
            align-items: center;
            gap: 6px;
}
.bi-edu .status-dot {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            display: inline-block;
            flex-shrink: 0;
            border: 2px solid var(--bg-white);
            box-shadow: 0 0 0 1px rgba(0,0,0,0.1);
}
.bi-edu .status-dot.green { background-color: var(--status-green);}
.bi-edu .status-dot.yellow { background-color: var(--status-yellow);}
.bi-edu .status-dot.red { background-color: var(--status-red);}
.bi-edu .status-dot.gray { background-color: var(--status-gray);}
.bi-edu .nato-card-title {
            font-size: 14px;
            font-family: var(--font-medium);
            color: var(--text-main);
            line-height: 1.35;
            margin-bottom: 12px;
            flex-grow: 1;
}
.bi-edu .nato-card-comment {
            font-size: 13px;
            color: var(--text-muted);
            line-height: 1.45;
            overflow-y: auto;
            max-height: 130px;
            padding-right: 4px;
}
.bi-edu .nato-hint {
            font-size: 11px;
            font-family: var(--font-regular);
            color: var(--primary-blue);
            margin-top: auto;
            padding-top: 8px;
            border-top: 1px dashed var(--bg-neutral-medium);
            display: flex;
            align-items: center;
            gap: 4px;
}
.bi-edu .admin-panel-box {
            background-color: var(--bg-white);
            border: 1px solid var(--bg-neutral-medium);
            border-radius: var(--radius-large);
            padding: 20px;
            margin-top: 30px;
            display: none;
}
.bi-edu .admin-panel-box.open {
            display: block;
}
.bi-edu .admin-head {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            margin-bottom: 16px;
            flex-wrap: wrap;
}
.bi-edu .table-responsive {
            overflow-x: auto;
            border: 1px solid var(--bg-neutral-medium);
            border-radius: var(--radius-main);
}
.bi-edu .admin-table {
            width: 100%;
            border-collapse: collapse;
            font-size: 12px;
            background-color: var(--bg-white);
}
.bi-edu .admin-table th, .bi-edu .admin-table td {
            padding: 8px 10px;
            border-bottom: 1px solid var(--bg-neutral-medium);
            vertical-align: top;
}
.bi-edu .admin-table th {
            background-color: var(--bg-neutral-light);
            color: var(--primary-blue);
            font-family: var(--font-medium);
            text-align: left;
}
.bi-edu .admin-table textarea, .bi-edu .admin-table input, .bi-edu .admin-table select {
            width: 100%;
            padding: 6px;
            font-size: 12px;
            border: 1px solid var(--bg-neutral-medium);
            border-radius: 4px;
            outline: none;
            background-color: var(--bg-white);
}
/* ----------------------------------------------------
           СТИЛІ СИСТЕМИ ОЦІНЮВАННЯ (3 КОЛОНКИ)
        ---------------------------------------------------- */
.bi-edu .rating-system-box {
            background: var(--bg-white);
            border: 1px solid var(--bg-neutral-medium);
            border-radius: var(--radius-large);
            padding: 18px 20px;
            margin-bottom: 24px;
            box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}
.bi-edu .rating-system-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 16px;
}
.bi-edu .rating-col {
            background-color: var(--bg-neutral-light);
            padding: 14px 16px;
            border-radius: var(--radius-main);
            border: 1px solid var(--bg-neutral-medium);
}
.bi-edu .rating-col-header {
            display: flex;
            align-items: center;
            gap: 8px;
            margin-bottom: 8px;
            font-size: 13px;
            font-family: var(--font-medium);
            color: var(--text-main);
}
.bi-edu .rating-col-header strong {
            font-weight: 500;
}
.bi-edu .rating-col p, .bi-edu .rating-col li {
            font-size: 12px;
            color: var(--text-muted);
            line-height: 1.45;
}
.bi-edu .rating-col ul {
            list-style-type: disc;
            padding-left: 20px;
            margin-top: 8px;
}
.bi-edu .rating-col li {
            margin-bottom: 6px;
}
/* ----------------------------------------------------
           СТИЛІ ПІДПИСУ АВТОРІВ РОЗРОБКИ (В КІНЦІ КАРТИ 0204)
        ---------------------------------------------------- */
.bi-edu .blue-divider {
            height: 1px;
            background-color: var(--bg-neutral-medium);
            border: none;
            margin: 36px 0 20px 0;
            width: 100%;
}
.bi-edu .nato-credits-text {
            text-align: center;
            font-size: 12px;
            color: var(--text-muted);
            font-family: var(--font-light);
            line-height: 1.5;
            margin-bottom: 28px;
            max-width: 900px;
            margin-left: auto;
            margin-right: auto;
}
@media (max-width: 860px) {
  .bi-edu .top-banners-grid { grid-template-columns: 1fr;}
  .bi-edu .nato-header-container { flex-direction: column;}
  .bi-edu .nato-info-summary { margin-top: 0; width: 100%;}
}
@media (max-width: 768px) {
  .bi-edu .rating-system-grid { grid-template-columns: 1fr;}
}
@media (max-width: 640px) {
  .bi-edu .courses-grid, .bi-edu .nato-grid { grid-template-columns: 1fr;}
  .bi-edu .card-body { flex-direction: column;}
  .bi-edu .cover-frame { width: 100%; height: 140px;}
  .bi-edu .btn-banner, .bi-edu .btn-scroll-map { width: 100%; text-align: center; justify-content: center;}
  .bi-edu .banner-action-wrap { width: 100%;}
  .bi-edu .banner-box { flex-direction: column; align-items: flex-start;}
  .bi-edu .yellow-divider { margin: 28px 0;}
}

/* ----------------------------------------------------
   Утиліти, які в оригінальному макеті давав Tailwind CDN.
   CDN не підключаємо: його блокує CSP сайту (layouts/main.php).
---------------------------------------------------- */
.bi-edu .mb-6 { margin-bottom: 1.5rem; }
.bi-edu .flex { display: flex; }
.bi-edu .flex-wrap { flex-wrap: wrap; }
.bi-edu .items-center { align-items: center; }
.bi-edu .gap-1\.5 { gap: 0.375rem; }
.bi-edu .gap-2 { gap: 0.5rem; }
.bi-edu .gap-3 { gap: 0.75rem; }
.bi-edu .fixed { position: fixed; }
.bi-edu .bottom-6 { bottom: 1.5rem; }
.bi-edu .right-6 { right: 1.5rem; }
.bi-edu .z-50 { z-index: 50; }
.bi-edu .px-5 { padding-left: 1.25rem; padding-right: 1.25rem; }
.bi-edu .py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.bi-edu .w-5 { width: 1.25rem; }
.bi-edu .h-5 { height: 1.25rem; }
.bi-edu .rounded-xl { border-radius: 0.75rem; }
.bi-edu .border { border-width: 1px; border-style: solid; }
.bi-edu .border-slate-700 { border-color: #334155; }
.bi-edu .bg-slate-900 { background-color: #0f172a; }
.bi-edu .text-white { color: #fff; }
.bi-edu .text-green-400 { color: #4ade80; }
.bi-edu .shadow-2xl { box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); }
.bi-edu .pointer-events-none { pointer-events: none; }
.bi-edu .opacity-0 { opacity: 0; }
.bi-edu .opacity-100 { opacity: 1; }
.bi-edu .transition-all { transition-property: all; transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-duration: 150ms; }
.bi-edu .duration-300 { transition-duration: 300ms; }
