.ek-learning__header,
.ek-learning__eyebrow,
.ek-learning__card-meta,
.ek-learning__actions,
.ek-learning__lesson-row,
.ek-learning__laws article > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
}

.ek-learning__header {
    align-items: flex-start;
}

.ek-learning__header h1,
.ek-learning__course-head h2,
.ek-learning__reader-head h2 {
    margin: .25rem 0 .45rem;
}

.ek-learning__header p,
.ek-learning__course-head p,
.ek-learning__reader-head p {
    margin: 0;
    line-height: 1.9;
    opacity: .76;
}

.ek-learning__refresh,
.ek-learning__back,
.ek-learning__card button,
.ek-learning__lesson-row button,
.ek-learning__actions button {
    padding: .72rem 1rem;
    border: 1px solid rgba(127, 127, 127, .2);
    border-radius: 14px;
    background: rgba(255, 255, 255, .06);
    color: inherit;
    font-weight: 850;
    cursor: pointer;
}

.ek-learning__refresh:disabled,
.ek-learning__card button:disabled,
.ek-learning__lesson-row button:disabled,
.ek-learning__actions button:disabled {
    cursor: default;
    opacity: .58;
}

.ek-learning__notice {
    margin-top: 1rem;
    padding: .9rem 1rem;
    border-radius: 16px;
    background: rgba(40, 167, 110, .1);
}

.ek-learning__notice.is-error {
    background: rgba(201, 74, 74, .13);
}

.ek-learning__summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .8rem;
    margin-top: 1.25rem;
}

.ek-learning__summary article,
.ek-learning__card,
.ek-learning__course,
.ek-learning__reader,
.ek-learning__empty,
.ek-learning__section-card,
.ek-learning__exams article {
    border: 1px solid rgba(127, 127, 127, .16);
    border-radius: 20px;
    background: rgba(255, 255, 255, .035);
}

.ek-learning__summary article {
    display: grid;
    gap: .4rem;
    padding: 1rem;
}

.ek-learning__summary strong {
    font-size: 1.5rem;
}

.ek-learning__catalog {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .9rem;
    margin-top: 1.25rem;
}

.ek-learning__card {
    display: grid;
    gap: .85rem;
    padding: 1.1rem;
}

.ek-learning__card.is-locked {
    opacity: .65;
}

.ek-learning__eyebrow,
.ek-learning__card-meta,
.ek-learning__lesson-row span,
.ek-learning__section-card header > span {
    font-size: .79rem;
    opacity: .73;
}

.ek-learning__card h2,
.ek-learning__lesson-row h4 {
    margin: 0;
}

.ek-learning__card p,
.ek-learning__lesson-row p {
    margin: 0;
    line-height: 1.9;
    opacity: .8;
}

.ek-learning__course,
.ek-learning__reader {
    margin-top: 1.25rem;
    padding: 1.1rem;
}

.ek-learning__course-head,
.ek-learning__reader-head {
    margin: 1rem 0;
}

.ek-learning__course-progress {
    display: inline-flex;
    margin-top: .8rem;
    padding: .45rem .75rem;
    border-radius: 999px;
    background: rgba(40, 167, 110, .11);
    font-weight: 800;
}

.ek-learning__sections {
    display: grid;
    gap: .9rem;
}

.ek-learning__section-card {
    padding: 1rem;
}

.ek-learning__section-card header h3 {
    margin: .25rem 0;
}

.ek-learning__section-card header p {
    margin: 0 0 .8rem;
    line-height: 1.8;
    opacity: .74;
}

.ek-learning__lesson-row {
    padding: .85rem 0;
    border-top: 1px solid rgba(127, 127, 127, .14);
}

.ek-learning__lesson-row > div {
    display: grid;
    gap: .35rem;
}

.ek-learning__exams {
    margin-top: 1.25rem;
}

.ek-learning__exams article {
    margin-top: .65rem;
    padding: .85rem 1rem;
}

.ek-learning__exams p {
    margin: .3rem 0 0;
    opacity: .74;
}

.ek-learning__objectives {
    margin: 1rem 0;
    padding: 1rem;
    border-radius: 18px;
    background: rgba(64, 126, 213, .09);
}

.ek-learning__objectives h3 {
    margin: 0 0 .6rem;
}

.ek-learning__objectives li,
.ek-learning__body li {
    margin: .35rem 0;
    line-height: 1.95;
}

.ek-learning__body > section {
    padding: 1rem 0;
    border-top: 1px solid rgba(127, 127, 127, .14);
}

.ek-learning__body h3 {
    margin: 0 0 .7rem;
    font-size: 1.12rem;
}

.ek-learning__body p {
    margin: .55rem 0;
    line-height: 2.15;
    text-align: justify;
}

.ek-learning__laws {
    margin-top: 1.5rem;
}

.ek-learning__laws article {
    margin-top: .7rem;
    padding: .9rem 1rem;
    border-radius: 16px;
    background: rgba(127, 127, 127, .08);
}

.ek-learning__laws article > header span {
    padding: .25rem .5rem;
    border-radius: 999px;
    font-size: .76rem;
    background: rgba(127, 127, 127, .13);
}

.ek-learning__laws article > p {
    margin: .4rem 0;
    line-height: 1.85;
    opacity: .78;
}

.ek-learning__laws summary {
    cursor: pointer;
    font-weight: 750;
}

.ek-learning__official-text {
    padding: .8rem;
    border-right: 3px solid rgba(64, 126, 213, .6);
    line-height: 2;
    white-space: pre-wrap;
}

.ek-learning__actions {
    margin-top: 1.25rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(127, 127, 127, .14);
}

.ek-learning__actions > div {
    display: grid;
    gap: .2rem;
}

.ek-learning__empty {
    grid-column: 1 / -1;
    padding: 1.25rem;
    text-align: center;
}

@media (max-width: 760px) {
    .ek-learning__catalog {
        grid-template-columns: 1fr;
    }
    .ek-learning__lesson-row {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 560px) {
    .ek-learning__header,
    .ek-learning__actions {
        align-items: stretch;
        flex-direction: column;
    }
    .ek-learning__summary {
        grid-template-columns: 1fr;
    }
}
.ekhtebar-exam-selector {
    display: grid;
    gap: 0.45rem;
    min-width: min(100%, 28rem);
    color: #2d2924;
    font-weight: 700;
}

.ekhtebar-exam-selector select {
    width: 100%;
    min-height: 2.8rem;
    border: 1px solid rgba(45, 41, 36, 0.18);
    border-radius: 0.8rem;
    background: #fff;
    padding: 0.55rem 0.75rem;
    color: #171512;
    font: inherit;
}

.ek-learning__exam-card {
    display: grid;
    gap: 0.55rem;
    margin-top: 0.8rem;
    padding: 1rem;
    border: 1px solid rgba(0, 74, 65, 0.16);
    border-radius: 1rem;
    background: rgba(219, 239, 234, 0.32);
}


/* EKHTEBAR_RICH_EDITOR_UX_PHASE_A */

.ek-rich-content,
.ek-academic-rich-editor,
.ek-admin-quick-search,
.ek-admin-quick-search *,
.ek-learning *,
.ek-academic-workspace * {
    box-sizing: border-box;
    min-width: 0;
}

.ek-rich-content {
    width: 100%;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
    line-height: 2;
}

.ek-rich-content > :first-child {
    margin-top: 0;
}

.ek-rich-content > :last-child {
    margin-bottom: 0;
}

.ek-rich-content p,
.ek-rich-content blockquote,
.ek-rich-content ul,
.ek-rich-content ol,
.ek-rich-content h2,
.ek-rich-content h3,
.ek-rich-content h4,
.ek-rich-content figure {
    max-width: 100%;
}

.ek-rich-content a {
    color: #2563eb;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    overflow-wrap: anywhere;
}

.ek-rich-content a:hover {
    text-decoration-thickness: 2px;
}

.ek-rich-content img,
.ek-rich-content video {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    margin: 1rem auto;
    border-radius: 12px;
}

.ek-rich-content video {
    width: 100%;
    background: #0f172a;
}

.ek-rich-content figure {
    margin: 1.2rem 0;
}

.ek-rich-content figcaption {
    margin-top: .5rem;
    color: #64748b;
    font-size: .88rem;
    text-align: center;
}

.ek-rich-content blockquote {
    margin: 1rem 0;
    padding: .85rem 1rem;
    border-right: 3px solid #94a3b8;
    background: #f8fafc;
    border-radius: 10px;
}

.ek-rich-content ul,
.ek-rich-content ol {
    padding-right: 1.5rem;
}

.ek-academic-rich-editor {
    width: 100%;
    max-width: 100%;
}

.ek-academic-rich-editor .dl-editor-container,
.ek-academic-rich-editor .dl-editor-toolbar,
.ek-academic-rich-editor .dl-editor-area {
    max-width: 100%;
}

.ek-academic-rich-editor .dl-editor-toolbar {
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
}

.ek-academic-rich-editor .dl-editor-area {
    width: 100%;
    overflow-wrap: anywhere;
}

.ek-admin-quick-search {
    position: sticky;
    top: .5rem;
    z-index: 30;
    width: 100%;
    max-width: 100%;
    margin: 0 0 1rem;
    padding: .75rem;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 8px 24px rgba(15,23,42,.06);
    backdrop-filter: blur(8px);
}

.ek-admin-quick-search__label {
    display: grid;
    gap: .45rem;
    font-size: .82rem;
    font-weight: 700;
    color: #475569;
}

.ek-admin-quick-search__input {
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 44px;
    padding: .7rem .85rem;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    color: #0f172a;
    font: inherit;
    outline: none;
}

.ek-admin-quick-search__input:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37,99,235,.12);
}

.ek-admin-quick-search__results {
    display: grid;
    gap: .35rem;
    max-height: 320px;
    margin-top: .55rem;
    padding-top: .55rem;
    overflow-y: auto;
    border-top: 1px solid #e2e8f0;
}

.ek-admin-quick-search__result {
    width: 100%;
    padding: .65rem .75rem;
    border: 0;
    border-radius: 9px;
    background: #f8fafc;
    color: #0f172a;
    text-align: right;
    font: inherit;
    cursor: pointer;
    overflow-wrap: anywhere;
}

.ek-admin-quick-search__result:hover,
.ek-admin-quick-search__result:focus-visible {
    background: #eff6ff;
}

.ek-admin-quick-search__empty {
    padding: .75rem;
    color: #64748b;
    text-align: center;
}

.ek-admin-search-highlight {
    outline: 3px solid rgba(245,158,11,.45) !important;
    outline-offset: 4px;
    border-radius: 10px;
    transition: outline-color .3s ease;
}

@media (max-width: 768px) {
    .ek-admin-quick-search {
        top: .25rem;
        padding: .6rem;
        border-radius: 12px;
    }

    .ek-academic-rich-editor .dl-editor-toolbar {
        flex-wrap: nowrap;
    }

    .ek-rich-content {
        font-size: .96rem;
        line-height: 1.95;
    }

    .ek-rich-content img,
    .ek-rich-content video {
        border-radius: 9px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ek-admin-search-highlight,
    .ek-rich-content *,
    .ek-admin-quick-search * {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}


/* EKHTEBAR_PHASE_B_STATUS_UX */

.ek-state-complete,
.ek-state-started,
.ek-state-not-started {
    position: relative;
    transition:
        border-color .18s ease,
        background-color .18s ease,
        box-shadow .18s ease;
}

.ek-state-complete {
    border-color: #86efac !important;
    background: #f0fdf4 !important;
}

.ek-state-started {
    border-color: #fcd34d !important;
    background: #fffbeb !important;
}

.ek-state-not-started {
    border-color: #fecaca !important;
    background: #fef2f2 !important;
}

.ek-learning-state,
.ek-exam-state {
    width: 100%;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
    border-radius: 10px;
    font-size: .82rem;
    line-height: 1.7;
}

.ek-learning-state {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem .65rem;
    margin-top: .7rem;
    padding: .55rem .7rem;
}

.ek-exam-state {
    margin-top: .45rem;
    padding: .5rem .65rem;
}

.ek-learning-state.is-complete,
.ek-exam-state.is-complete {
    color: #166534;
    background: #dcfce7;
}

.ek-learning-state.is-started {
    color: #854d0e;
    background: #fef3c7;
}

.ek-learning-state.is-not-started,
.ek-exam-state.is-not-started {
    color: #991b1b;
    background: #fee2e2;
}

.ek-learning-state__dot {
    display: inline-block;
    width: .55rem;
    height: .55rem;
    flex: 0 0 auto;
    border-radius: 999px;
    background: currentColor;
}

.ek-learning-state strong,
.ek-learning-state span,
.ek-exam-state {
    min-width: 0;
    max-width: 100%;
}

@media (max-width: 768px) {
    .ek-learning-state {
        gap: .25rem .45rem;
        padding: .5rem .6rem;
        font-size: .77rem;
    }

    .ek-exam-state {
        font-size: .77rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ek-state-complete,
    .ek-state-started,
    .ek-state-not-started {
        transition: none !important;
    }
}


/* EKHTEBAR_PHASE_C_SMART_LINKS */

.ek-smart-link-picker {
    display: grid;
    gap: .55rem;
    width: 100%;
    max-width: 100%;
    margin-top: .6rem;
    padding-top: .6rem;
    border-top: 1px solid #e2e8f0;
}

.ek-smart-link-picker__modes {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);
    gap: .4rem;
}

.dl-link-dialog
.ek-smart-link-picker__modes button {
    width: 100%;
    min-width: 0;
    padding: .55rem .6rem;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #f8fafc;
    color: #334155;
    font: inherit;
    font-size: .78rem;
    overflow-wrap: anywhere;
}

.dl-link-dialog
.ek-smart-link-picker__modes button.is-active {
    border-color: #2563eb;
    background: #eff6ff;
    color: #1d4ed8;
}

.ek-smart-link-picker__panel {
    display: grid;
    gap: .5rem;
    min-width: 0;
}

.ek-smart-link-picker__panel[hidden] {
    display: none !important;
}

.ek-smart-link-picker__panel label {
    display: grid;
    gap: .35rem;
    min-width: 0;
    color: #475569;
    font-size: .76rem;
    font-weight: 700;
}

.dl-link-dialog
.ek-smart-link-picker__search {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    direction: rtl;
    text-align: right;
}

.ek-smart-link-picker__results {
    display: grid;
    gap: .35rem;
    min-width: 0;
    max-height: 250px;
    overflow-y: auto;
}

.dl-link-dialog
.ek-smart-link-picker__result {
    display: grid;
    gap: .2rem;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: .55rem .65rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fff;
    color: #0f172a;
    text-align: right;
    font: inherit;
    font-size: .76rem;
    line-height: 1.55;
}

.dl-link-dialog
.ek-smart-link-picker__result:hover,
.dl-link-dialog
.ek-smart-link-picker__result:focus-visible {
    border-color: #93c5fd;
    background: #eff6ff;
}

.ek-smart-link-picker__result strong,
.ek-smart-link-picker__result span {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.ek-smart-link-picker__result span {
    color: #64748b;
    font-size: .72rem;
}

.ek-smart-link-picker__empty {
    padding: .65rem;
    border-radius: 8px;
    background: #f8fafc;
    color: #64748b;
    font-size: .75rem;
    text-align: center;
}

.ek-smart-link-picker__hint {
    margin: 0;
    color: #64748b;
    font-size: .7rem;
    line-height: 1.65;
}

@media (max-width: 520px) {
    .ek-smart-link-picker__modes {
        grid-template-columns: 1fr;
    }

    .ek-smart-link-picker__results {
        max-height: 210px;
    }
}

/* EKHTEBAR_LEARNING_FOCUS_NAV_V1 */

/*
 * The learning experience has three exclusive states:
 * catalog -> course -> lesson.
 * Author CSS must never override the HTML hidden state.
 */
#ekhtebarLearningCatalog[hidden],
#ekhtebarLearningCourse[hidden],
#ekhtebarLearningReader[hidden],
#ekhtebarLearningSummary[hidden],
#ekhtebarLearning > .ek-learning__header[hidden] {
    display: none !important;
}

#ekhtebarLearning[data-learning-view="course"]
    #ekhtebarLearningCatalog,
#ekhtebarLearning[data-learning-view="lesson"]
    #ekhtebarLearningCatalog {
    display: none !important;
}

.ek-learning__reader-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
    margin: 0 0 .85rem;
}

.ek-learning__reader-nav .ek-learning__back {
    margin: 0;
}

.ek-learning__back--catalog {
    border-style: dashed;
    opacity: .88;
}

.ek-learning__back--catalog:hover,
.ek-learning__back--catalog:focus-visible {
    opacity: 1;
}

@media (max-width: 560px) {
    .ek-learning__reader-nav {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ek-learning__reader-nav .ek-learning__back {
        width: 100%;
    }
}
/* EKHTEBAR_LEARNING_CONTINUITY_V1 */

.ek-learning__resume-card {
    grid-column: 1 / -1;
    display: grid;
    gap: .55rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(180, 132, 48, .28);
    border-radius: 20px;
    background:
        linear-gradient(
            135deg,
            rgba(255, 250, 239, .98),
            rgba(249, 243, 229, .95)
        );
    box-shadow: 0 10px 28px rgba(53, 42, 23, .055);
}

.ek-learning__resume-eyebrow {
    color: #8a651e;
    font-size: .76rem;
    font-weight: 850;
}

.ek-learning__resume-card h2 {
    margin: 0;
    color: #243a4e;
    font-size: 1.05rem;
}

.ek-learning__resume-path {
    margin: 0;
    color: #736a5e;
    font-size: .83rem;
}

.ek-learning__resume-meta {
    color: #596a78;
    font-size: .79rem;
}

.ek-learning__resume-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin-top: .25rem;
}

.ek-learning__resume-actions button {
    padding: .68rem .9rem;
    border: 1px solid rgba(127, 127, 127, .2);
    border-radius: 12px;
    background: rgba(255, 255, 255, .7);
    color: #294256;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.ek-learning__resume-actions button.is-primary {
    border-color: #17334d;
    background: #17334d;
    color: #fff;
}

.ek-learning__sequence-nav {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr);
    gap: .7rem;
    margin-top: 1rem;
}

.ek-learning__sequence-button {
    display: grid;
    gap: .25rem;
    min-height: 68px;
    padding: .75rem .9rem;
    border: 1px solid rgba(127, 127, 127, .18);
    border-radius: 14px;
    background: rgba(255,255,255,.055);
    color: inherit;
    text-align: right;
    font: inherit;
    cursor: pointer;
}

.ek-learning__sequence-button span {
    opacity: .68;
    font-size: .72rem;
}

.ek-learning__sequence-button strong {
    line-height: 1.65;
    font-size: .87rem;
}

.ek-learning__sequence-button.is-next {
    border-color: rgba(28, 79, 113, .3);
    background: rgba(28, 79, 113, .08);
}

.ek-learning__sequence-button[hidden] {
    display: none !important;
}

.ek-learning__sequence-end {
    grid-column: 1 / -1;
    padding: .65rem .8rem;
    border-radius: 12px;
    background: rgba(40, 167, 110, .08);
    color: #436857;
    text-align: center;
    font-size: .8rem;
}

@media (max-width: 620px) {
    .ek-learning__resume-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ek-learning__resume-actions button {
        width: 100%;
    }

    .ek-learning__sequence-nav {
        grid-template-columns: 1fr;
    }

    .ek-learning__sequence-end {
        grid-column: auto;
    }
}