	  
	  h1, h2, h3, h4, h5, h6 {
    font-family: Nunito;
}

.h2, h2
 {
    font-size: 28px;
}
    /* Верхняя панель под десктопный макет */
    .topbar{background:#2e2a29;border-bottom:6px solid #6e8e73;}
    .navbar{padding:.5rem 0;}
    .navbar-brand{color:#e6f0f8;font-weight:700}
    .navbar-brand:hover{color:#fff}
    .navbar-nav .nav-link{color:#cfe6f7}
    .btn-login{background:#a6c4db;color:#2e526a;border:0}
    .btn-signup{background:#829bb2;color:#e8f3fb;border:0}

    /* Оффканвас */
    .offcanvas {
      position: fixed; top:0; left:0; bottom:0; width:360px; max-width:85%;
      background:#2f2f2f; color:#fff; transform:translateX(-100%);
      transition: transform .3s ease-in-out; z-index:1050; overflow-y:auto;
      box-shadow: 2px 0 12px rgba(0,0,0,.35);
    }
    .offcanvas.show{ transform:translateX(0); }
    .offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem}
    .offcanvas-body{padding:0 1rem 1rem}
    .offcanvas a{color:#fff;text-decoration:none}
    .menu-item{
      display:block; padding:14px 10px; text-align:center; border-bottom:1px solid rgba(255,255,255,.06);
      font-size:18px;
    }
    .menu-item:hover{background:rgba(255,255,255,.06)}
    .menu-actions{padding:1rem}
    .menu-actions .btn{display:block;width:100%;margin-bottom:.75rem;border-radius:.4rem}
    .btn-menu-login{background:#f1f1f1;color:#1d1d1d}
    .btn-menu-sign{background:#e35b44;color:#fff}
    .menu-search{display:flex;align-items:center;justify-content:center;color:#ddd;font-size:18px;padding:12px 0}
    .menu-label{opacity:.85;font-size:14px;margin-top:6px;text-align:center}

    /* Показываем бургер и скрываем центр/кнопки на мобиле */
    @media (max-width: 991.98px){
      .desktop-only{display:none !important;}
    }
    
      /* БАЗА */
.site-footer{
  background:#2e2a29; color:#cfc7c5; padding:48px 0 36px; position:relative;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
}
.site-footer a{ color:#cfc7c5; text-decoration:none }
.site-footer a:hover{ color:#fff }

/* КНОПКА ВВЕРХ */
.to-top{
  position:absolute; left:24px; top:-18px;
  width:48px;height:48px;border-radius:50%; border:0; cursor:pointer;
  background:#fff; color:#e65d48; font-size:22px; box-shadow:0 0 18px rgba(255,255,255,.35);
}

/* СЕТКА */
.footer-grid{
  display:grid; grid-template-columns: 1.1fr 1fr 1.1fr; grid-gap:40px; align-items:start;
}

/* ЛОГО */
.brand-row{ display:flex; align-items:center; gap:12px; margin-bottom:10px }
.brand-mark{
  width:42px;height:42px;border-radius:4px;background:#7da6c2;
  position:relative;
}


.brand-text{ font-weight:800; font-size:40px; color:#fff; letter-spacing:.5px }
.brand-sub{ opacity:.9; line-height:1.3 }


/* КОЛОНКИ ССЫЛОК */
.footer-links{
  display:grid; grid-template-columns: 1fr 1fr; gap:28px;
}
.links-col{ display:flex; flex-direction:column; gap:12px }
.col-title{ color:#fff; font-weight:700; margin-bottom:6px }

/* ПОДПИСКА */
.footer-subscribe .sub-text{ max-width:460px; margin:0 0 16px }
.sub-form{ display:flex; gap:12px; margin-bottom:12px }
.sub-input{
  flex:1 1 auto; height:44px; padding:0 14px; border-radius:8px; border:1px solid #45403f; background:#3a3534; color:#fff;
}
.sub-input::placeholder{ color:#b9b1af }
.sub-btn{
  background:#e65d48; color:#fff; border:0; height:44px; padding:0 18px; border-radius:8px; font-weight:600; cursor:pointer;
}
.contact{ margin:10px 0 0 }
.contact a{ color:#e0d9d7 }

/* АДАПТИВ */
@media (max-width: 991.98px){
  .footer-grid{ grid-template-columns: 1fr; grid-gap:28px }
  .brand-text{ font-size:34px }
  .footer-links{ grid-template-columns: 1fr 1fr }
  .sub-form{ flex-direction:column }
  .sub-btn{ width:100% }
  .to-top{ left:50%; transform:translateX(-50%); }
}

@media (max-width: 575.98px){
  .footer-links{ grid-template-columns: 1fr }
}

/* Контейнер двух колонок */
.content-grid{
  display:flex;
  flex-wrap:nowrap;        /* колонки в одну линию */
  width:100%;
}

/* Промежуток = 3% от общей ширины контейнера */
:root{
  --gap: 3%;
}

/* Левая колонка: 35% */
.left-widget{
  flex:0 0 calc(35%);      /* базовая ширина */
  max-width:35%;
  margin-right: var(--gap);/* тот самый 3% отступ */
  min-width:0;             /* предотвращает переполнение */
}

/* Правая колонка: 62% (учитывайте, что gap уже учли в margin у левой) */
.main-content{
  flex:0 0 calc(62%); 
  max-width:62%;
  min-width:0;
}

/* Адаптив — на планшетах и ниже складываем в колонку,
   убираем горизонтальный отступ и даём вертикальный */
@media (max-width: 991.98px){
  .content-grid{ flex-wrap:wrap; }
  .left-widget,
  .main-content{
    flex:0 0 100%;
    max-width:100%;
    margin-right:0;
  }
  .left-widget{ margin-bottom: 1rem; }
}
	  
	  .pt-5x2 {
  padding-top: 6rem; /* 3rem * 2 */
}

   .category-item {
    display: flex
;
    padding: 20px;
    border-radius: 7px;
    margin-bottom: 0px;
    box-shadow: 0 0 10px 3px #dadada;
    transition: all .5s ease-in-out;
}
  .category-color-8 {
    background-color: #ff980061;
}  
    .h3size {
    font-size: 18px;
    font-family: 'Open Sans';
    color: #00102e;
}
    
    
   /* CSS переменные */
:root {
    --primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    --secondary-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
    --accent-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
    --glass-bg: rgba(255, 255, 255, 0.08);
    --glass-border: rgba(255, 255, 255, 0.18);
    --dark-bg: #0f0f23;
    --light-bg: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
    --card-shadow: 0 8px 32px rgba(31, 38, 135, 0.37);
}

/* Основные стили секции Hero */
.hero-section {
    background: var(--light-bg);
    padding: 120px 0 80px;
    position: relative;
    overflow: hidden;
    /*min-height: 100vh;*/
    display: flex;
    align-items: center;
}

/* Анимированный фон */
.hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        radial-gradient(circle at 20% 80%, rgba(102, 126, 234, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 20%, rgba(245, 101, 101, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 40% 40%, rgba(79, 172, 254, 0.15) 0%, transparent 50%);
    animation: float 20s ease-in-out infinite;
}

/* Анимация фона */
@keyframes float {
    0%, 100% { 
        transform: scale(1) rotate(0deg); 
    }
    50% { 
        transform: scale(1.1) rotate(180deg); 
    }
}

/* Контент Hero секции */
.hero-content {
    position: relative;
    z-index: 2;
}

/* Заголовок */
.hero-title {
    font-size: 2.8rem;
    font-weight: 600;
    line-height: 1.1;
    margin-bottom: 2rem;
    color: #1e293b;
}

/* Градиентный текст */
.hero-gradient-text {
    background: var(--primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Подзаголовок */
.hero-subtitle {
    font-size: 1.3rem;
    color: #64748b;
    margin-bottom: 3rem;
    line-height: 1.6;
}

/* Основная кнопка CTA */
.cta-button {
    background: var(--primary-gradient);
    border: none;
    padding: 18px 40px;
    border-radius: 50px;
    color: white;
    font-weight: 600;
    font-size: 1.1rem;
    transition: all 0.3s ease;
    margin-right: 20px;
    text-decoration: none;
    display: inline-block;
}

/* Эффект при наведении на основную кнопку */
.cta-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px rgba(102, 126, 234, 0.4);
    color: white;
}

/* Вторичная кнопка CTA */
.cta-secondary {
    background: rgba(255, 255, 255, 0.9);
    border: 2px solid rgba(102, 126, 234, 0.2);
    color: #667eea;
    backdrop-filter: blur(10px);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

/* Эффект при наведении на вторичную кнопку */
.cta-secondary:hover {
    background: rgba(255, 255, 255, 1);
    color: #667eea;
    border-color: #667eea;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* Адаптивные стили для мобильных устройств */
@media (max-width: 768px) {
    .hero-section {
        padding: 100px 0 60px;
    }
    
    .hero-title {
        font-size: 2.5rem;
    }
    
    .hero-subtitle {
        font-size: 1.1rem;
        margin-bottom: 2rem;
    }
    
    .cta-button {
        padding: 15px 30px;
        font-size: 1rem;
        margin-right: 10px;
        margin-bottom: 10px;
    }
}

/* Адаптивные стили для планшетов */
@media (max-width: 992px) {
    .hero-title {
        font-size: 3rem;
    }
    
    .hero-subtitle {
        font-size: 1.2rem;
    }
}

/* Дополнительные стили для очень маленьких экранов */
@media (max-width: 576px) {
    .hero-section {
        padding: 80px 0 40px;
    }
    
    .hero-title {
        font-size: 2rem;
    }
    
    .hero-subtitle {
        font-size: 1rem;
    }
    
    .cta-button {
        width: 100%;
        margin-right: 0;
        margin-bottom: 15px;
    }
}

/*new*/

 body {
            background: linear-gradient(180deg, #e4edf6 0%, #ffffff 42%);
            min-height: 100vh;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }

        .main-container {
            margin-top: 20px;
            margin-bottom: 20px;
        }

        .sidebar {
            background: rgba(255, 255, 255, 0.95);
            border-radius: 15px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.2);
            padding: 0;
            max-height: 80vh;
            overflow-y: auto;
        }

        .content-area {
            background: rgba(255, 255, 255, 0.95);
            border-radius: 15px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.2);
            padding: 30px;
            min-height: 80vh;
        }

        .sidebar-header {
            background: linear-gradient(180deg, #45a9b5 0%, #2892a0 42%);
            color: white;
            padding: 20px;
            border-radius: 15px 15px 0 0;
            text-align: center;
        }

        .test-item {
            padding: 15px 20px;
            border-bottom: 1px solid rgba(0, 0, 0, 0.1);
            cursor: pointer;
            transition: all 0.3s ease;
            position: relative;
        }

        .test-item:hover {
            background: rgba(102, 126, 234, 0.1);
            transform: translateX(5px);
        }

        .test-item.active {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
        }

        .test-item:last-child {
            border-bottom: none;
            border-radius: 0 0 15px 15px;
        }

        .test-title {
            font-weight: 600;
            margin-bottom: 5px;
        }

        .test-info {
            font-size: 0.85em;
            opacity: 0.7;
        }

        .test-status {
            position: absolute;
            right: 20px;
            top: 50%;
            transform: translateY(-50%);
        }

        .status-badge {
            padding: 4px 8px;
            border-radius: 20px;
            font-size: 0.75em;
            font-weight: 600;
        }

        .status-new {
            background: #e3f2fd;
            color: #1976d2;
        }

        .status-completed {
            background: #e8f5e8;
            color: #2e7d32;
        }

        .status-in-progress {
            background: #fff3e0;
            color: #f57c00;
        }

        .welcome-message {
            text-align: center;
            color: #666;
            margin-top: 50px;
        }

        .question-card {
            background: #f8f9fa;
            /*border-radius: 10px;*/
            padding: 20px;
            margin-bottom: 20px;
            border-left: 4px solid #667eea;
        }

        .option-item {
            padding: 10px 15px;
            margin: 10px 0;
            border: 2px solid #e9ecef;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .option-item:hover {
            border-color: #667eea;
            background: rgba(102, 126, 234, 0.05);
        }

        .option-item.selected {
            border-color: #667eea;
            background: rgba(102, 126, 234, 0.1);
        }

        .test-header {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            padding: 20px;
            border-radius: 10px;
            margin-bottom: 30px;
        }

        .progress-info {
            display: flex;
            justify-content: space-between;
            margin-bottom: 20px;
        }

        .btn-primary {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            border: none;
            border-radius: 25px;
            padding: 10px 30px;
            font-weight: 600;
            transition: all 0.3s ease;
        }

        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
        }

        .question-result {
            background: #f8f9fa;
            transition: all 0.3s ease;
        }

        .question-result:hover {
            background: #e9ecef;
            transform: translateX(5px);
        }

        .results-container {
            border: 1px solid #e9ecef;
            border-radius: 10px;
            padding: 15px;
            background: white;
        }

        .results-container::-webkit-scrollbar {
            width: 8px;
        }

        .results-container::-webkit-scrollbar-track {
            background: #f1f1f1;
            border-radius: 4px;
        }

        .results-container::-webkit-scrollbar-thumb {
            background: #888;
            border-radius: 4px;
        }

        .results-container::-webkit-scrollbar-thumb:hover {
            background: #555;
        }

        @media (max-width: 768px) {
            .sidebar {
                margin-bottom: 20px;
                max-height: 300px;
            }
        }

.category-color-1 { background-color: #cff0d2;}
.category-color-2 { background-color: #ffe5bb;}
.category-color-3 { background-color: #eee1b8;}
.category-color-4 { background-color: #b7eac3;}
.category-color-5 { background-color: #d5d7da;}
.category-color-6 { background-color: #f3d6d6;}
.category-color-7 { background-color: #d3d3f3;}
.category-color-8 { background-color: #96dcd9;}