h2 { text-align:center; color:#333; margin-bottom:10px;}
.main-text {margin-left: 50px;}
.main-text h3 { font-size: 2.4375rem; margin: 0; font-weight: 600;}
.highlight { color: #8657a8; }
.main-text p {font-size: 1.5rem; margin-top: 10px;}

/* Кнопки залов */
.hall-buttons { text-align:center; margin-bottom:20px; margin-top: 20px;}
.hall-buttons button { margin:0 5px; padding:8px 16px; border:none; border-radius:6px; cursor:pointer; background:#a675c8; color:white; font-weight:bold; }
.hall-buttons button.active { background:#854db3; }

/* Расписание */
.schedule { display: block; text-align: center; grid-template-columns:80px repeat(7,1fr); gap:10px; padding: 50px;}
.header-time { background:#a675c8; color:white; text-align:center; font-weight:bold; padding:10px; border-radius:8px;}
.time-slot { background:#a675c8; color: white; padding:10px; text-align:center; font-weight:bold; border-radius:8px;}
.cell { background:#f9f9f9; border-radius:8px; padding:5px; display:flex; flex-direction:column; gap:6px; min-height:80px; width:100%; box-sizing:border-box;}
.card { background:#fff; border-radius:10px; padding:10px 10px 15px 10px; border-left:4px solid; box-shadow:0 2px 5px rgba(0,0,0,0.08); display:flex; flex-direction:column; gap:4px; font-size:0.9em; width:100%; box-sizing:border-box; }
.card .header-row { display:flex; justify-content: space-between; align-items:center; }
.card .time { color:#888; font-size:0.8em; }
.card .level { font-weight:bold; text-align:center; flex:1; }
.card .info { display:flex; gap:6px; flex-wrap:wrap; }
.card .info span { display:flex; align-items:center; gap:3px; background:#f0f0f0; padding:2px 6px; border-radius:4px; font-size:0.85em; }
.card .comment { background:#f5f5f5; color:#555; font-size:0.85em; padding:4px 6px; border-radius:4px; margin-top:2px; min-height:20px; }
.no-data { text-align:center; font-size:1.2em; color:#555; margin-top:30px; font-weight:bold; }

/* Об уровнях */
.container-level {display: flex; justify-content: center; gap: 40px; max-width: 900px; margin: 40px auto; font-family: Arial, sans-serif;}
/* Левое меню */
.sidebar {display: flex; flex-direction: column; gap: 10px;}
.sidebar p {margin: 10px 0 5px; font-weight: bold; color: #333; text-align: center;}
.sidebar button {padding: 10px 16px; text-align: left; border: none; background: #f9f9f9; cursor: pointer; font-size: 15px; font-weight: bold; border-left: 6px solid #ccc; border-radius: 6px; transition: 0.3s; color: #333;}
.sidebar button:hover { background: #eee; transform: translateX(3px); }

/* Правая вертикальная карусель */
.carousel {flex: 1; height: 500px; overflow: hidden; position: relative;}
.cards-wrapper {display: flex; flex-direction: column; align-items: center; transition: transform 0.5s ease;}
.card-level {
    display: flex;
    width: 90%;
    justify-content: space-between;
    background: #fff;
    border-radius: 16px;
    padding: 15px 20px;
    margin: 10px 0;
    box-shadow: 0 6px 20px rgba(0,0,0,0.1);
    transition: all 0.4s ease;
    opacity: 0.5;
    transform: scale(0.85);
    border-left: 6px solid #ccc; /* линия */
}
.card-level img { width: 120px; height: 120px; border-radius: 12px; object-fit: cover; }
.card-level-text { display: flex; flex-direction: column; justify-content: center; max-width: 60%; }
.card-level h2 { margin: 0 0 10px; font-size: 18px; }
.card-level p { margin:0; color:#555; font-size: 14px; }
.card-level.active { opacity: 1; transform: scale(1); }