/* =========================================================
   FINAL FIX 7 — center old programs table layout
   ========================================================= */

.programs-table {
    width: 100% !important;
    max-width: 900px !important;

    margin: 28px auto 34px !important;

    overflow-x: auto !important;
}

.programs-table table {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: auto !important;
    margin-right: auto !important;

    border-collapse: collapse !important;
    table-layout: fixed !important;
}

.programs-table th {
    text-align: center !important;
    padding: 14px 18px !important;

    background: rgba(51, 65, 85, 0.98) !important;

    color: #f8fafc !important;
    font-size: 18px !important;
    font-weight: 900 !important;
}

.programs-table td {
    vertical-align: top !important;
    padding: 24px 28px !important;
}

.programs-table pre {
    margin: 0 !important;

    white-space: pre-wrap !important;
    overflow-x: auto !important;

    font-family: Consolas, Monaco, "Courier New", monospace !important;
    font-size: 13px !important;
    line-height: 1.55 !important;

    color: #f8fafc !important;
}

@media (max-width: 768px) {
    .programs-table {
        max-width: 100% !important;
    }

    .programs-table table {
        min-width: 760px !important;
    }
}

/* ---------- Exam program code cards ---------- */

.exam-programs-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;

    margin: 12px 0 28px;
}

.exam-code-card {
    overflow: hidden;

    border-radius: 22px;

    background: rgba(2, 6, 23, 0.72);
    border: 1px solid rgba(148, 163, 184, 0.16);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.03),
        0 14px 34px rgba(0,0,0,0.22);
}

.exam-code-card-wide {
    grid-column: 1 / -1;
}

.exam-code-title {
    padding: 14px 18px;

    background: rgba(56, 189, 248, 0.10);
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);

    color: #38bdf8;

    font-size: 15px;
    font-weight: 900;
}

.exam-code-card pre {
    margin: 0;

    min-height: 190px;
    max-height: 360px;

    padding: 20px;

    overflow: auto;

    background: transparent !important;
    border: none !important;

    color: #7dd3fc;

    font-family: Consolas, "Courier New", monospace;
    font-size: 15px;
    line-height: 1.55;

    white-space: pre;
}

.exam-code-card-wide pre {
    min-height: 240px;
}

@media (max-width: 900px) {
    .exam-programs-grid {
        grid-template-columns: 1fr;
    }

    .exam-code-card-wide {
        grid-column: auto;
    }
}

/* ---------- Fix spacing before code cards in exam ---------- */

.task-question > p {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

.task-question > p + .exam-programs-grid {
    margin-top: 8px !important;
}

.exam-programs-grid {
    margin-top: 8px !important;
    margin-bottom: 28px !important;
}

.task-question p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}


/* ---------- Reduce gap before exam code cards ---------- */

.task-question .exam-programs-grid {
    margin-top: -70px !important;
}

/* ---------- Exam task question compact spacing ---------- */

.exam-task-item .task-question {
    padding-top: 34px !important;
}

.exam-task-item .task-question > p:first-child {
    margin-bottom: 0 !important;
}

.exam-task-item .exam-programs-grid {
    margin-top: -95px !important;
}

/* ===== FINAL FIX: exam code spacing ===== */

.exam-task-item .task-question {
    padding: 34px 34px 28px !important;
}

.exam-task-item .task-question p {
    margin: 0 !important;
}

.exam-task-item .task-question p + .exam-programs-grid {
    margin-top: 18px !important;
}

.exam-task-item .exam-programs-grid {
    margin: 18px 0 28px !important;
}

/* ---------- Number 6 clean layout ---------- */

.task-text-before {
    margin: 0 0 14px !important;
    padding: 0 !important;
}

.task-text-before p {
    margin: 0 !important;
    padding: 0 !important;
}

.task-text-after {
    margin-top: 24px !important;
}

.task-text-after p {
    margin: 0 0 16px !important;
}

.exam-programs-grid {
    margin: 0 0 28px !important;
}


/* =========================================================
   FINAL FIX — Number 6 program cards centered layout
   ========================================================= */

.task-question .exam-programs-grid,
.exam-task-item .exam-programs-grid,
.exam-programs-grid {
    width: min(100%, 980px) !important;
    margin: 28px auto 34px !important;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;

    border: 1px solid rgba(255, 255, 255, 0.78) !important;
    background: rgba(15, 23, 42, 0.35) !important;
}

.exam-code-card {
    border-radius: 0 !important;
    border: none !important;
    border-right: 1px solid rgba(255, 255, 255, 0.78) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.78) !important;

    background: rgba(15, 23, 42, 0.72) !important;
    box-shadow: none !important;
}

.exam-code-card:nth-child(2n) {
    border-right: none !important;
}

.exam-code-card-wide {
    grid-column: 1 / -1 !important;
    border-right: none !important;
    border-bottom: none !important;
}

.exam-code-title {
    padding: 13px 18px !important;

    text-align: center !important;

    background: rgba(51, 65, 85, 0.98) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.78) !important;

    color: #f8fafc !important;

    font-size: 18px !important;
    font-weight: 900 !important;
}

.exam-code-card pre {
    margin: 0 !important;
    padding: 24px 28px !important;

    min-height: 170px !important;
    max-height: none !important;

    overflow-x: auto !important;

    background: transparent !important;
    border: none !important;

    color: #f8fafc !important;

    text-align: left !important;
    white-space: pre !important;

    font-family: Consolas, Monaco, "Courier New", monospace !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
}

.exam-code-card-wide pre {
    min-height: 230px !important;
}

/* Текст до кодов */
.task-text-before {
    width: min(100%, 980px) !important;
    margin: 0 auto 24px !important;
}

/* Текст после кодов */
.task-text-after {
    width: min(100%, 980px) !important;
    margin: 28px auto 0 !important;
}

.task-text-before p,
.task-text-after p {
    color: #cbd5e1 !important;
    font-size: 18px !important;
    line-height: 1.65 !important;
}

/* Мобильная версия */
@media (max-width: 768px) {
    .task-question .exam-programs-grid,
    .exam-task-item .exam-programs-grid,
    .exam-programs-grid {
        width: 100% !important;
        grid-template-columns: 1fr !important;
    }

    .exam-code-card {
        border-right: none !important;
    }

    .exam-code-card-wide {
        grid-column: auto !important;
    }

    .exam-code-card pre {
        padding: 20px 18px !important;
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    .exam-code-title {
        font-size: 16px !important;
    }
}

/* =========================================================
   FINAL FIX 2 — center task 6 code table visually
   ========================================================= */

.task-question .exam-programs-grid,
.exam-task-item .exam-programs-grid,
.exam-programs-grid {
    width: 92% !important;
    max-width: 980px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.task-question .task-text-before,
.task-question .task-text-after,
.task-text-before,
.task-text-after {
    width: 92% !important;
    max-width: 980px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* =========================================================
   FINAL FIX 4 — make task 6 code table wider
   ========================================================= */

.task-question .exam-programs-grid,
.exam-task-item .exam-programs-grid,
.exam-programs-grid {
    width: 100% !important;
    max-width: 900px !important;
    margin: 28px auto 34px !important;
}

.exam-code-card pre {
    font-size: 13px !important;
    line-height: 1.55 !important;
    padding: 22px 24px !important;
}

.task-text-before,
.task-text-after {
    max-width: 900px !important;
}

.answer-form {
    max-width: 900px !important;
}

/* =========================================================
   FINAL FIX 5 — visually center task 6 code table
   ========================================================= */

.task-question .exam-programs-grid,
.exam-task-item .exam-programs-grid,
.exam-programs-grid {
    width: 82% !important;
    max-width: 900px !important;

    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 28px !important;
    margin-bottom: 34px !important;
}

.task-text-before,
.task-text-after {
    width: 82% !important;
    max-width: 900px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}

.answer-form {
    width: 82% !important;
    max-width: 900px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 768px) {
    .task-question .exam-programs-grid,
    .exam-task-item .exam-programs-grid,
    .exam-programs-grid,
    .task-text-before,
    .task-text-after,
    .answer-form {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* =========================================================
   FINAL FIX 6 — task 6 program block real center
   ========================================================= */

.task-6-programs-center {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;

    margin: 28px 0 34px !important;
}

.task-6-programs-center .task-6-programs-grid {
    width: 82% !important;
    max-width: 900px !important;

    margin: 0 !important;
}

@media (max-width: 768px) {
    .task-6-programs-center .task-6-programs-grid {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* ---------- Code blocks responsive ---------- */

@media (max-width: 768px) {
    .programs-table{
        width: 100%;
        max-width: 100%;
        overflow-x: auto;
        margin: 24px 0;
        border-radius: 18px;
    }

    .programs-table table{
        min-width: 760px;
    }

    .programs-table th{
        font-size: 15px;
        padding: 10px;
        white-space: nowrap;
    }

    .programs-table td{
        padding: 18px;
    }

    .programs-table pre{
        font-size: 13px;
        line-height: 1.45;
    }
}

