* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --navy: #10243e;
    --navy-dark: #08182b;
    --gold: #c9a35b;
    --gold-light: #e4c985;
    --cream: #f7f4ed;
    --white: #ffffff;
    --text: #172233;
    --muted: #6c7480;
    --border: #e7e2d7;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: Tahoma, Arial, sans-serif;
    background: #fff;
    color: var(--text);
    line-height: 1.9;
}

a {
    text-decoration: none;
    color: inherit;
}

.container {
    width: min(1180px, calc(100% - 40px));
    margin: auto;
}


/* HEADER */

.site-header {
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 50;
}

.nav {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.brand-mark {
    width: 46px;
    height: 46px;
    border-radius: 13px;
    background: var(--navy);
    color: var(--gold-light);
    display: grid;
    place-items: center;
    font-size: 22px;
    font-weight: bold;
}

.brand strong,
.brand small {
    display: block;
}

.brand strong {
    color: var(--navy);
}

.brand small {
    color: var(--muted);
    font-size: 11px;
}

nav {
    display: flex;
    align-items: center;
    gap: 28px;
    font-size: 14px;
}

nav a {
    color: #4e5866;
    transition: .2s;
}

nav a:hover {
    color: var(--navy);
}

.admin-link {
    background: var(--navy);
    color: white !important;
    padding: 9px 18px;
    border-radius: 8px;
}


/* HERO */

.hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 85% 20%, rgba(205,165,90,.13), transparent 28%),
        linear-gradient(135deg, #f8f5ee 0%, #ffffff 55%, #f4f0e8 100%);
    padding: 72px 0 76px;
}

.hero-grid {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 48px;
    align-items: center;
}

.hero-content {
    position: relative;
    z-index: 2;
    min-width: 0;
}

.hero-badge {
    display: inline-flex;
    border: 1px solid rgba(205,165,90,.5);
    background: rgba(205,165,90,.08);
    color: #927033;
    padding: 8px 14px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 18px;
}

.hero h1 {
    color: var(--navy);
    font-family: 'Vazir', Tahoma, sans-serif;
    font-size: clamp(34px, 4.2vw, 56px);
    line-height: 1.55;
    margin: 0 0 18px;
    letter-spacing: 0;
    max-width: 620px;
}

.hero h1 span {
    display: block;
    color: var(--gold);
}

.hero-content > p {
    max-width: 570px;
    color: #667085;
    line-height: 2.1;
    font-size: 14px;
    margin: 0;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 26px;
}

.hero-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    margin-top: 32px;
}

.hero-visual {
    min-height: 0;
    position: relative;
    display: grid;
    place-items: center;
}

.visual-main-card {
    width: min(420px, 100%);
    min-height: 400px;
}

@media (max-width: 850px) {
    .hero {
        padding: 55px 0 60px;
    }

    .hero-grid {
        grid-template-columns: 1fr;
        gap: 38px;
    }

    .hero-content {
        text-align: center;
    }

    .hero-content > p {
        margin-inline: auto;
    }

    .hero-actions,
    .hero-stats {
        justify-content: center;
    }

    .hero-visual {
        min-height: 0;
    }
}

@media (max-width: 600px) {
    .hero {
        padding: 40px 0 48px;
    }

    .hero h1 {
        font-size: clamp(29px, 8vw, 38px);
        line-height: 1.65;
    }

    .hero-content > p {
        font-size: 12px;
        line-height: 2;
    }

    .hero-actions {
        flex-direction: column;
    }

    .hero-actions > * {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }

    .hero-stats {
        gap: 15px;
    }

    .visual-main-card {
        width: 100%;
        min-height: 360px;
        padding: 24px;
    }

    .floating-card-one {
        right: 0;
    }

    .floating-card-two {
        left: 0;
    }
}

/* SECTIONS */

.about,
.courses {
    padding: 100px 0;
}

.about {
    background: var(--cream);
}

.section-heading {
    margin-bottom: 50px;
}

.section-heading > span {
    color: var(--gold);
    font-size: 13px;
    font-weight: bold;
}

.section-heading h2 {
    font-size: clamp(27px, 3vw, 40px);
    line-height: 1.5;
    margin-top: 8px;
    max-width: 850px;
}

.about-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr;
    gap: 20px;
}

.about-main {
    background: white;
    border-radius: 18px;
    padding: 35px;
}

.about-main h3 {
    font-size: 23px;
    margin-bottom: 18px;
}

.about-main p {
    color: var(--muted);
    margin-bottom: 10px;
}

.about-stat {
    background: var(--navy);
    color: white;
    border-radius: 18px;
    padding: 30px 25px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 190px;
}

.about-stat strong {
    color: var(--gold-light);
    font-size: 40px;
}

.about-stat span {
    color: #d6dce4;
}


/* COURSES */

.courses-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
}

.courses-heading p {
    color: var(--muted);
}

.course-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
}

.course-card {
    background: white;
    border: 1px solid var(--border);
    border-radius: 18px;
    overflow: hidden;
    transition: .25s;
}

.course-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 18px 50px rgba(16,36,62,.10);
}

.course-image {
    height: 225px;
    position: relative;
    background: var(--navy);
    overflow: hidden;
}

.course-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.image-placeholder,
.detail-placeholder {
    height: 100%;
    display: grid;
    place-items: center;
    color: var(--gold-light);
    font-size: 20px;
    background:
        radial-gradient(circle at 30% 30%, rgba(201,163,91,.25), transparent 35%),
        var(--navy);
}

.course-code {
    position: absolute;
    top: 15px;
    right: 15px;
    background: rgba(8,24,43,.85);
    color: var(--gold-light);
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 11px;
}

.course-body {
    padding: 24px;
}

.instructor {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--muted);
    font-size: 11px;
    margin-bottom: 15px;
}

.instructor img,
.instructor-placeholder {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
    background: var(--cream);
    display: grid;
    place-items: center;
    color: var(--navy);
    font-size: 8px;
}

.instructor strong {
    display: block;
    color: var(--text);
    font-size: 12px;
}

.course-body h3 {
    font-size: 20px;
    margin-bottom: 8px;
}

.course-body > p {
    color: var(--muted);
    font-size: 13px;
    min-height: 52px;
}

.course-bottom {
    border-top: 1px solid var(--border);
    margin-top: 20px;
    padding-top: 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.price small {
    display: block;
    color: var(--muted);
    font-size: 10px;
}

.price strong {
    font-size: 17px;
    color: var(--navy);
}

.price strong span {
    font-size: 10px;
}

.course-btn {
    background: var(--navy);
    color: white;
    padding: 9px 15px;
    border-radius: 7px;
    font-size: 12px;
}

.empty-courses {
    grid-column: 1 / -1;
    text-align: center;
    padding: 70px 20px;
    background: var(--cream);
    border-radius: 20px;
}

.empty-courses > div {
    font-size: 50px;
    color: var(--gold);
}

.empty-courses h3 {
    margin-bottom: 5px;
}

.empty-courses p {
    color: var(--muted);
    margin-bottom: 20px;
}


/* DETAIL */

.course-detail {
    padding: 60px 0 100px;
    background: var(--cream);
}

.breadcrumb {
    display: flex;
    gap: 10px;
    color: var(--muted);
    font-size: 12px;
    margin-bottom: 30px;
}

.detail-grid {
    display: grid;
    grid-template-columns: 1fr 350px;
    gap: 35px;
    align-items: start;
}

.detail-main,
.enroll-card {
    background: white;
    border-radius: 20px;
    padding: 30px;
}

.detail-image {
    height: 390px;
    overflow: hidden;
    border-radius: 15px;
    margin-bottom: 30px;
}

.detail-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.detail-main h1 {
    font-size: 38px;
    line-height: 1.5;
    margin-bottom: 20px;
}

.detail-instructor {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    background: var(--cream);
    border-radius: 12px;
    margin-bottom: 35px;
}

.detail-instructor img {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    object-fit: cover;
}

.detail-instructor small,
.detail-instructor strong {
    display: block;
}

.detail-instructor small {
    color: var(--muted);
    font-size: 11px;
}

.detail-section {
    margin-top: 35px;
}

.detail-section h2 {
    font-size: 22px;
    margin-bottom: 15px;
}

.detail-section p,
.syllabus {
    color: var(--muted);
}

.enroll-card {
    position: sticky;
    top: 105px;
}

.enroll-card > span {
    color: var(--gold);
    font-size: 13px;
    font-weight: bold;
}

.enroll-card h3 {
    font-size: 22px;
    margin: 15px 0 30px;
}

.enroll-price {
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
    padding: 20px 0;
    margin-bottom: 25px;
}

.enroll-price small {
    display: block;
    color: var(--muted);
}

.enroll-price strong {
    font-size: 27px;
    color: var(--navy);
}

.enroll-price strong small {
    display: inline;
    font-size: 12px;
}

.full {
    width: 100%;
}

.payment-note {
    text-align: center;
    color: var(--muted);
    font-size: 11px;
    margin-top: 15px;
}


/* FOOTER */

.footer {
    background: var(--navy-dark);
    color: white;
    padding-top: 65px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 50px;
    padding-bottom: 50px;
}

.footer h3,
.footer h4 {
    margin-bottom: 15px;
}

.footer p,
.footer a {
    color: #aeb7c4;
    font-size: 13px;
}

.footer a {
    display: block;
    margin-bottom: 6px;
}

.copyright {
    border-top: 1px solid rgba(255,255,255,.08);
    text-align: center;
    color: #8490a0;
    font-size: 11px;
    padding: 20px;
}


/* MOBILE */

@media (max-width: 900px) {

    .hero-grid,
    .detail-grid {
        grid-template-columns: 1fr;
    }

    .about-grid {
        grid-template-columns: 1fr 1fr;
    }

    .about-main {
        grid-column: 1 / -1;
    }

    .course-grid {
        grid-template-columns: 1fr 1fr;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }

    .hero-card {
        display: none;
    }
}

@media (max-width: 650px) {

    .container {
        width: min(100% - 28px, 1180px);
    }

    .nav {
        min-height: 70px;
    }

    nav {
        display: none;
    }

    .hero {
        padding: 65px 0;
    }

    .hero h1 {
        font-size: 38px;
    }

    .hero-actions {
        flex-direction: column;
    }

    .about,
    .courses {
        padding: 65px 0;
    }

    .about-grid,
    .course-grid,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .courses-heading {
        display: block;
    }

    .courses-heading p {
        margin-top: 10px;
    }

    .detail-main h1 {
        font-size: 28px;
    }

    .detail-image {
        height: 250px;
    }

    .enroll-card {
        position: static;
    }
}


/* REGISTRATION */

.registration-page,
.success-page {
    background: var(--cream);
    padding: 70px 0 100px;
    min-height: 75vh;
}

.registration-header {
    text-align: center;
    margin-bottom: 40px;
}

.registration-header h1 {
    font-size: 36px;
    margin-bottom: 8px;
}

.registration-header p {
    color: var(--muted);
}

.registration-card {
    background: white;
    max-width: 900px;
    margin: auto;
    padding: 40px;
    border-radius: 20px;
    box-shadow: 0 15px 50px rgba(16,36,62,.08);
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}

.form-group label {
    display: block;
    font-weight: bold;
    font-size: 13px;
    margin-bottom: 7px;
}

.form-group input,
.form-group select {
    width: 100%;
    border: 1px solid var(--border);
    border-radius: 9px;
    padding: 12px;
    font-family: inherit;
    font-size: 14px;
    background: white;
}

.form-group input:focus,
.form-group select:focus {
    outline: none;
    border-color: var(--gold);
}

.form-group small {
    color: var(--muted);
    font-weight: normal;
}

.form-group ul.errorlist {
    color: #b42318;
    list-style: none;
    font-size: 11px;
}

.registration-summary {
    margin-top: 30px;
    padding: 20px;
    background: var(--cream);
    border-radius: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.registration-summary span {
    color: var(--muted);
}

.registration-summary strong {
    color: var(--navy);
    font-size: 22px;
}

.submit-btn {
    border: 0;
    font-family: inherit;
    cursor: pointer;
    width: 100%;
    margin-top: 20px;
    font-size: 15px;
}

.form-errors {
    background: #fff1f0;
    color: #b42318;
    padding: 15px;
    border-radius: 9px;
    margin-bottom: 20px;
}

.success-card {
    max-width: 650px;
    margin: auto;
    background: white;
    border-radius: 22px;
    padding: 60px 40px;
    text-align: center;
}

.success-icon {
    width: 70px;
    height: 70px;
    background: #e7f7ee;
    color: #16834a;
    border-radius: 50%;
    display: grid;
    place-items: center;
    margin: 0 auto 25px;
    font-size: 35px;
}

.success-card h1 {
    margin: 10px 0;
}

.success-card p {
    color: var(--muted);
    margin-bottom: 25px;
}

@media (max-width: 650px) {
    .form-grid {
        grid-template-columns: 1fr;
    }

    .registration-card {
        padding: 22px;
    }

    .registration-header h1 {
        font-size: 27px;
    }
}

/* Registration form fix */

.registration-page {
    direction: rtl;
}

.registration-page .container {
    max-width: 1100px;
    margin: 0 auto;
}

.registration-card {
    width: 100%;
    max-width: 1000px;
    box-sizing: border-box;
}

.registration-card form {
    width: 100%;
}

.registration-card .form-grid {
    width: 100%;
}

.registration-card .form-group input,
.registration-card .form-group select {
    box-sizing: border-box;
    min-height: 46px;
}

.registration-card .form-group input[type="file"] {
    padding: 9px;
    background: #fafafa;
}

.registration-header {
    text-align: center;
}

.registration-header .eyebrow {
    color: var(--gold);
    font-weight: 700;
}

.submit-btn {
    min-height: 52px;
    background: var(--gold);
    color: #10243e;
    font-weight: 800;
}

@media (max-width: 768px) {
    .registration-card {
        padding: 20px;
    }

    .form-grid {
        grid-template-columns: 1fr !important;
    }
}


/* =========================================================
   PREMIUM HOME PAGE
========================================================= */

:root {
    --navy: #0b1f38;
    --navy-2: #132e4d;
    --gold: #cda55a;
    --gold-light: #ead39d;
    --cream: #f7f4ed;
    --white: #ffffff;
    --text: #172337;
    --muted: #718096;
    --border: #e8e1d4;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--cream);
    color: var(--text);
    font-family: Tahoma, Arial, sans-serif;
}

a {
    text-decoration: none;
}

.container {
    width: min(1180px, calc(100% - 40px));
    margin: auto;
}


/* HEADER */

.site-header {
    background: rgba(255,255,255,.96);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 100;
    backdrop-filter: blur(15px);
}

.nav-wrapper {
    min-height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--navy);
}

.brand-mark {
    width: 46px;
    height: 46px;
    border-radius: 13px;
    display: grid;
    place-items: center;
    background: var(--navy);
    color: var(--gold-light);
    font-size: 25px;
    font-weight: 900;
}

.brand strong,
.brand small {
    display: block;
}

.brand strong {
    font-size: 16px;
}

.brand small {
    color: var(--muted);
    font-size: 10px;
    margin-top: 4px;
}

.main-nav {
    display: flex;
    align-items: center;
    gap: 32px;
}

.main-nav a {
    color: #526174;
    font-size: 14px;
    transition: .2s;
}

.main-nav a:hover {
    color: var(--navy);
}

.management-btn {
    background: var(--navy);
    color: white;
    padding: 13px 24px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: bold;
}


/* HERO */

.hero {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 80% 20%, rgba(205,165,90,.15), transparent 30%),
        linear-gradient(135deg, #f8f5ee 0%, #ffffff 50%, #f2eee5 100%);
    padding: 90px 0 100px;
}

.hero-grid {
    min-height: 600px;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    gap: 70px;
    align-items: center;
}

.hero-content {
    position: relative;
    z-index: 2;
}

.hero-badge {
    display: inline-flex;
    border: 1px solid rgba(205,165,90,.5);
    background: rgba(205,165,90,.08);
    color: #927033;
    padding: 9px 15px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: bold;
    margin-bottom: 22px;
}

.hero h1 {
    color: var(--navy);
    font-size: clamp(40px, 5vw, 68px);
    line-height: 1.25;
    margin: 0 0 25px;
    letter-spacing: -2px;
}

.hero h1 span {
    display: block;
    color: var(--gold);
}

.hero-content > p {
    max-width: 650px;
    color: #667085;
    line-height: 2.1;
    font-size: 15px;
}

.hero-actions {
    display: flex;
    gap: 12px;
    margin-top: 32px;
}

.primary-action,
.secondary-action {
    padding: 15px 24px;
    border-radius: 11px;
    font-weight: bold;
    font-size: 13px;
}

.primary-action {
    background: var(--navy);
    color: white;
    box-shadow: 0 12px 30px rgba(11,31,56,.2);
}

.primary-action span,
.secondary-action span {
    margin-right: 8px;
}

.secondary-action {
    border: 1px solid #d8d0c2;
    color: var(--navy);
    background: white;
}

.hero-stats {
    display: flex;
    gap: 40px;
    margin-top: 50px;
}

.hero-stats div {
    border-right: 1px solid #ddd5c7;
    padding-right: 22px;
}

.hero-stats div:first-child {
    border-right: 0;
}

.hero-stats strong,
.hero-stats span {
    display: block;
}

.hero-stats strong {
    color: var(--navy);
    font-size: 20px;
}

.hero-stats span {
    color: var(--muted);
    font-size: 10px;
    margin-top: 5px;
}


/* HERO VISUAL */

.hero-visual {
    min-height: 500px;
    position: relative;
    display: grid;
    place-items: center;
}

.visual-main-card {
    width: min(420px, 90%);
    min-height: 440px;
    border-radius: 30px;
    background: linear-gradient(145deg, #102945, #07172b);
    color: white;
    padding: 35px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 40px 80px rgba(11,31,56,.25);
    transform: rotate(2deg);
}

.visual-main-card:before {
    content: "";
    position: absolute;
    width: 250px;
    height: 250px;
    border: 1px solid rgba(234,211,157,.25);
    border-radius: 50%;
    left: -100px;
    bottom: -100px;
}

.visual-top {
    display: flex;
    justify-content: space-between;
    color: #c7d0dc;
    font-size: 11px;
}

.visual-dot {
    width: 9px;
    height: 9px;
    background: var(--gold);
    border-radius: 50%;
}

.visual-title {
    margin-top: 100px;
    font-size: 29px;
    line-height: 1.7;
}

.visual-title strong {
    display: block;
    color: var(--gold-light);
}

.visual-line {
    height: 1px;
    background: rgba(255,255,255,.15);
    margin: 35px 0;
}

.visual-cards {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 8px;
}

.visual-cards div {
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;
    padding: 15px 10px;
}

.visual-cards b,
.visual-cards span {
    display: block;
}

.visual-cards b {
    color: var(--gold);
    font-size: 11px;
}

.visual-cards span {
    margin-top: 10px;
    font-size: 10px;
    color: #c7d0dc;
}

.floating-card {
    position: absolute;
    background: white;
    color: var(--navy);
    border-radius: 14px;
    padding: 15px 18px;
    box-shadow: 0 20px 50px rgba(11,31,56,.15);
    font-size: 11px;
    font-weight: bold;
    z-index: 3;
}

.floating-card-one {
    top: 70px;
    right: 5px;
}

.floating-card-two {
    bottom: 60px;
    left: 0;
}

.floating-card-one span {
    color: #159447;
    margin-left: 8px;
}

.floating-card-two strong {
    color: var(--gold);
    margin-left: 8px;
    font-size: 18px;
}


/* SECTIONS */

.intro-section,
.courses-section {
    padding: 110px 0;
}

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 40px;
    margin-bottom: 45px;
}

.section-heading.centered {
    display: block;
    text-align: center;
    max-width: 750px;
    margin: auto auto 55px;
}

.section-heading > div span,
.section-heading.centered > span {
    color: var(--gold);
    font-size: 12px;
    font-weight: bold;
}

.section-heading h2 {
    color: var(--navy);
    font-size: 36px;
    margin: 10px 0 0;
}

.section-heading p {
    color: var(--muted);
    line-height: 2;
    max-width: 450px;
    font-size: 13px;
}

.section-heading.centered p {
    max-width: 650px;
    margin: 20px auto 0;
}


/* FEATURES */

.feature-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
}

.feature-card {
    background: white;
    border: 1px solid var(--border);
    border-radius: 20px;
    padding: 35px;
    min-height: 220px;
    transition: .3s;
}

.feature-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 50px rgba(11,31,56,.08);
}

.feature-card.featured {
    background: var(--navy);
    color: white;
}

.feature-number {
    color: var(--gold);
    font-size: 12px;
    font-weight: bold;
}

.feature-card h3 {
    margin: 25px 0 10px;
    font-size: 19px;
}

.feature-card p {
    color: var(--muted);
    line-height: 2;
    font-size: 12px;
}

.feature-card.featured p {
    color: #b9c3d0;
}


/* COURSES */

.courses-section {
    background: white;
}

.courses-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 22px;
}

.course-card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 22px;
    background: #fff;
    transition: .3s;
}

.course-card:hover {
    transform: translateY(-7px);
    box-shadow: 0 25px 60px rgba(11,31,56,.1);
}

.course-number {
    position: absolute;
    left: 20px;
    top: 20px;
    color: #e9e3d8;
    font-size: 45px;
    font-weight: 900;
}

.course-body {
    padding: 35px;
}

.course-category {
    color: var(--gold);
    font-size: 10px;
    font-weight: bold;
}

.course-body h3 {
    color: var(--navy);
    font-size: 22px;
    margin: 14px 0 22px;
    max-width: 75%;
}

.course-instructor {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 18px;
}

.instructor-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: var(--cream);
    color: var(--gold);
    font-weight: bold;
}

.course-instructor small,
.course-instructor strong {
    display: block;
}

.course-instructor small {
    color: var(--muted);
    font-size: 9px;
}

.course-instructor strong {
    color: var(--navy);
    font-size: 12px;
    margin-top: 3px;
}

.course-body > p {
    color: var(--muted);
    font-size: 12px;
    line-height: 2;
    min-height: 48px;
}

.course-bottom {
    border-top: 1px solid var(--border);
    padding-top: 20px;
    margin-top: 25px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.course-price small,
.course-price strong {
    display: block;
}

.course-price small {
    color: var(--muted);
    font-size: 9px;
}

.course-price strong {
    color: var(--navy);
    font-size: 18px;
    margin-top: 5px;
}

.course-price strong span {
    font-size: 9px;
    font-weight: normal;
}

.course-link {
    color: var(--navy);
    font-size: 11px;
    font-weight: bold;
}

.course-link span {
    color: var(--gold);
    margin-right: 6px;
}

.empty-courses {
    text-align: center;
    padding: 60px;
    color: var(--muted);
}


/* CTA */

.cta-section {
    padding: 90px 0;
    background: var(--cream);
}

.cta-box {
    background: var(--navy);
    color: white;
    border-radius: 28px;
    padding: 50px 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    overflow: hidden;
    position: relative;
}

.cta-box:after {
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    border: 1px solid rgba(205,165,90,.2);
    border-radius: 50%;
    left: -100px;
    bottom: -180px;
}

.cta-box span {
    color: var(--gold-light);
    font-size: 11px;
}

.cta-box h2 {
    font-size: 27px;
    margin: 12px 0 0;
}

.cta-box > a {
    position: relative;
    z-index: 2;
    background: var(--gold);
    color: var(--navy);
    padding: 16px 25px;
    border-radius: 10px;
    font-weight: bold;
    font-size: 12px;
    white-space: nowrap;
}


/* FOOTER */

.site-footer {
    background: #07172b;
    color: #aeb9c7;
    padding-top: 65px;
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 70px;
    padding-bottom: 55px;
}

.footer-brand {
    color: white;
    font-size: 19px;
    font-weight: bold;
}

.footer-grid p {
    line-height: 2;
    font-size: 11px;
}

.footer-grid strong {
    display: block;
    color: white;
    margin-bottom: 18px;
    font-size: 13px;
}

.footer-grid a {
    display: block;
    color: #aeb9c7;
    font-size: 11px;
    margin-bottom: 12px;
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,.08);
    text-align: center;
    padding: 22px;
    font-size: 10px;
}


/* MOBILE */

@media (max-width: 850px) {

    .main-nav {
        display: none;
    }

    .hero {
        padding: 60px 0;
    }

    .hero-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .hero-content {
        text-align: center;
    }

    .hero-content > p {
        margin-left: auto;
        margin-right: auto;
    }

    .hero-actions,
    .hero-stats {
        justify-content: center;
    }

    .hero-visual {
        min-height: 430px;
    }

    .feature-grid,
    .courses-grid {
        grid-template-columns: 1fr;
    }

    .section-heading {
        display: block;
    }

    .section-heading h2 {
        font-size: 29px;
    }

    .cta-box {
        display: block;
        padding: 35px;
    }

    .cta-box > a {
        display: inline-block;
        margin-top: 25px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
}

@media (max-width: 500px) {

    .container {
        width: min(100% - 25px, 1180px);
    }

    .brand small {
        display: none;
    }

    .management-btn {
        padding: 11px 15px;
    }

    .hero h1 {
        font-size: 39px;
    }

    .hero-stats {
        gap: 15px;
    }

    .hero-stats div {
        padding-right: 10px;
    }

    .visual-main-card {
        min-height: 380px;
        padding: 25px;
    }

    .visual-title {
        margin-top: 70px;
    }
}


/* ===== PREMIUM COURSE CARDS ===== */

.courses-section {
    background:
        radial-gradient(circle at 10% 20%, rgba(205,165,90,.08), transparent 28%),
        #f8f6f1;
    padding: 120px 0;
}

.courses-section .section-heading {
    margin-bottom: 55px;
}

.courses-section .section-heading h2 {
    font-size: 42px;
    font-weight: 900;
    letter-spacing: -1px;
}

.courses-grid {
    gap: 28px;
}

.course-card {
    border: 1px solid #e7dfd1;
    border-radius: 28px;
    background: rgba(255,255,255,.95);
    box-shadow: 0 12px 35px rgba(11,31,56,.045);
    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;
}

.course-card:hover {
    transform: translateY(-10px);
    border-color: rgba(205,165,90,.65);
    box-shadow: 0 28px 70px rgba(11,31,56,.12);
}

.course-card::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    background: linear-gradient(
        90deg,
        transparent,
        #cda55a,
        #ead39d,
        transparent
    );
    opacity: .8;
}

.course-number {
    left: 25px;
    top: 18px;
    font-size: 64px;
    line-height: 1;
    color: #eee9df;
    font-weight: 900;
}

.course-body {
    padding: 42px;
}

.course-category {
    display: inline-flex;
    padding: 7px 13px;
    border-radius: 30px;
    background: #fbf5e8;
    color: #a47d35;
    border: 1px solid #eee0c2;
    font-size: 10px;
}

.course-body h3 {
    font-size: 25px;
    line-height: 1.6;
    margin: 20px 0 25px;
    color: #0b1f38;
    font-weight: 900;
}

.course-instructor {
    padding: 13px;
    background: #faf9f6;
    border: 1px solid #eee9df;
    border-radius: 14px;
}

.instructor-icon {
    background: #0b1f38;
    color: #ead39d;
}

.course-body > p {
    color: #7b8492;
    line-height: 2.2;
}

.course-bottom {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 1px solid #eee8dd;
}

.course-price strong {
    font-size: 21px;
    color: #0b1f38;
}

.course-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #0b1f38;
    color: #fff;
    padding: 12px 18px;
    border-radius: 10px;
    transition: .25s;
}

.course-link:hover {
    background: #cda55a;
    color: #0b1f38;
}

.course-link span {
    color: #ead39d;
}

.course-link:hover span {
    color: #0b1f38;
}

/* ===== SECTION HEADER ===== */

.courses-section .section-heading > div span {
    display: inline-block;
    padding: 8px 14px;
    border-radius: 30px;
    background: #fbf5e8;
    border: 1px solid #eee0c2;
}

.courses-section .section-heading p {
    font-size: 13px;
    line-height: 2.2;
}


/* ===== MOBILE ===== */

@media (max-width: 850px) {

    .courses-section {
        padding: 80px 0;
    }

    .courses-section .section-heading h2 {
        font-size: 32px;
    }

    .course-body {
        padding: 30px;
    }

    .course-body h3 {
        font-size: 21px;
    }
}


/* ===== 4 COLUMN COURSE GRID ===== */

.courses-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100%;
}

.course-card {
    min-width: 0;
    height: 100%;
}

.course-body {
    padding: 28px !important;
}

.course-body h3 {
    font-size: 21px !important;
}

.course-number {
    font-size: 52px !important;
}

/* Tablet */
@media (max-width: 1200px) {
    .courses-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* Small tablet */
@media (max-width: 900px) {
    .courses-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .courses-grid {
        grid-template-columns: 1fr !important;
    }
}


/* ===== CLEAN 3 COLUMN COURSE GRID ===== */

.courses-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 26px !important;
    align-items: stretch;
}

.course-card {
    border-radius: 22px !important;
}

.course-body {
    padding: 25px !important;
}

.course-number {
    font-size: 46px !important;
    top: 16px !important;
    left: 20px !important;
}

.course-category {
    font-size: 9px !important;
    padding: 6px 11px !important;
}

.course-body h3 {
    font-size: 20px !important;
    line-height: 1.55 !important;
    margin: 16px 0 18px !important;
}

.course-instructor {
    padding: 10px 12px !important;
    border-radius: 12px !important;
}

.course-body > p {
    font-size: 12px !important;
    line-height: 2 !important;
    min-height: 70px;
}

.course-bottom {
    margin-top: 20px !important;
    padding-top: 18px !important;
}

.course-price strong {
    font-size: 19px !important;
}

.course-link {
    padding: 10px 15px !important;
    border-radius: 9px !important;
    font-size: 12px !important;
}

@media (max-width: 1000px) {
    .courses-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 650px) {
    .courses-grid {
        grid-template-columns: 1fr !important;
    }
}


/* =========================
   Responsive Modern Layout
========================= */

html {
    scroll-behavior: smooth;
}

body {
    overflow-x: hidden;
}

.container {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

/* Header */
.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

.nav-wrapper {
    min-height: 76px;
}

/* Hero */
.hero {
    overflow: hidden;
}

.hero h1 {
    max-width: 700px;
    line-height: 1.45;
    word-break: normal;
}

.hero p {
    max-width: 680px;
    line-height: 2.1;
}

/* Courses */
.courses-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
}

.course-card {
    min-width: 0;
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease;
}

.course-card:hover {
    transform: translateY(-5px);
}

/* Tablet */
@media (max-width: 900px) {

    .container {
        width: min(100% - 32px, 760px);
    }

    .nav-wrapper {
        min-height: 68px;
    }

    .main-nav {
        gap: 18px;
    }

    .hero {
        padding-top: 55px;
        padding-bottom: 55px;
    }

    .hero h1 {
        font-size: clamp(38px, 7vw, 60px);
    }

    .courses-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }
}

/* Mobile */
@media (max-width: 650px) {

    .container {
        width: calc(100% - 28px);
    }

    .site-header {
        position: relative;
    }

    .nav-wrapper {
        min-height: auto;
        padding: 14px 0;
        flex-wrap: wrap;
        gap: 14px;
    }

    .brand {
        margin-inline-end: auto;
    }

    .brand strong {
        font-size: 14px;
    }

    .brand small {
        font-size: 9px;
    }

    .main-nav {
        order: 3;
        width: 100%;
        justify-content: center;
        gap: 22px;
        padding-top: 8px;
        border-top: 1px solid rgba(0,0,0,.06);
    }

    .main-nav a {
        font-size: 12px;
    }

    .management-btn {
        padding: 10px 15px;
        font-size: 11px;
    }

    .hero {
        padding: 40px 0;
    }

    .hero h1 {
        font-size: clamp(32px, 10vw, 46px);
        line-height: 1.55;
    }

    .hero p {
        font-size: 13px;
        line-height: 2;
    }

    .hero-actions {
        flex-direction: column;
        width: 100%;
    }

    .hero-actions a {
        width: 100%;
        text-align: center;
    }

    .courses-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .course-body {
        padding: 20px !important;
    }

    .course-body h3 {
        font-size: 18px !important;
    }

    .course-body > p {
        font-size: 12px !important;
        min-height: auto !important;
    }

    .course-bottom {
        flex-wrap: wrap;
        gap: 12px;
    }

    .course-link {
        flex: 1;
        text-align: center;
    }
}

/* Small phones */
@media (max-width: 400px) {

    .container {
        width: calc(100% - 22px);
    }

    .hero h1 {
        font-size: 30px;
    }

    .brand-mark {
        width: 38px;
        height: 38px;
    }

    .main-nav {
        gap: 15px;
    }

    .main-nav a {
        font-size: 11px;
    }
}


/* Course Images */
.course-card {
    position: relative;
    overflow: hidden;
}

.course-image {
    width: 100%;
    height: 190px;
    overflow: hidden;
    background: #0d2744;
}

.course-image img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .45s ease;
}

.course-card:hover .course-image img {
    transform: scale(1.04);
}

.course-image::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
        to bottom,
        transparent 55%,
        rgba(8, 28, 52, .18)
    );
}

@media (max-width: 650px) {
    .course-image {
        height: 170px;
    }
}


/* =========================================
   PREMIUM COURSE DETAIL
========================================= */

.course-detail-page {
    background:
        radial-gradient(circle at 85% 10%, rgba(211,166,82,.10), transparent 28%),
        #f7f4ee;
}

.course-detail-hero {
    position: relative;
}

.course-detail-hero img {
    width: 100%;
    height: 460px;
    object-fit: cover;
    border-radius: 0 0 32px 32px;
    display: block;
}

.course-detail-content {
    position: relative;
    margin-top: -70px;
    z-index: 2;
}

.course-detail-main {
    background: rgba(255,255,255,.96);
    border: 1px solid rgba(15,42,70,.07);
    border-radius: 28px;
    box-shadow: 0 25px 70px rgba(15,42,70,.10);
    padding: 42px;
}

.course-detail-title {
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.5;
    color: #092746;
    font-weight: 900;
    margin: 15px 0 25px;
}

.course-detail-category {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(211,166,82,.12);
    color: #b78327;
    border: 1px solid rgba(211,166,82,.20);
    padding: 8px 15px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.course-detail-description {
    color: #536274;
    font-size: 15px;
    line-height: 2.2;
    max-width: 850px;
}

/* Course information */
.course-meta {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 30px 0;
}

.course-meta > div {
    background: #f8f6f1;
    border: 1px solid #ebe5d9;
    border-radius: 16px;
    padding: 18px;
}

.course-meta small {
    display: block;
    color: #8b96a3;
    font-size: 11px;
    margin-bottom: 7px;
}

.course-meta strong {
    color: #092746;
    font-size: 14px;
}

/* Instructor */
.course-instructor-box {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    background: linear-gradient(135deg,#092746,#12395d);
    color: #fff;
    border-radius: 20px;
    margin-top: 25px;
}

.course-instructor-box .instructor-avatar {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background: #d3a652;
    display: grid;
    place-items: center;
    color: #092746;
    font-weight: 900;
    font-size: 20px;
}

/* Price card */
.course-price-card {
    position: sticky;
    top: 105px;
    background: #fff;
    border: 1px solid rgba(15,42,70,.08);
    border-radius: 25px;
    padding: 28px;
    box-shadow: 0 20px 55px rgba(15,42,70,.10);
}

.course-price-card::before {
    content: "ثبت‌نام دوره";
    display: inline-block;
    color: #b78327;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 20px;
}

.course-price-card .price {
    color: #092746;
    font-size: 32px;
    font-weight: 900;
    margin: 8px 0 25px;
}

.course-price-card .price span {
    font-size: 12px;
    color: #7c8794;
    font-weight: 500;
}

.course-register-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 56px;
    background: linear-gradient(135deg,#d3a652,#bd8b35);
    color: #092746;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none;
    transition: .25s ease;
    box-shadow: 0 12px 25px rgba(189,139,53,.22);
}

.course-register-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 32px rgba(189,139,53,.30);
}

.course-payment-note {
    text-align: center;
    color: #929ba5;
    font-size: 10px;
    line-height: 1.8;
    margin-top: 14px;
}

/* Syllabus */
.course-syllabus {
    margin-top: 35px;
}

.course-syllabus h2 {
    color: #092746;
    font-size: 24px;
    margin-bottom: 20px;
}

.course-syllabus ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 12px;
}

.course-syllabus li {
    position: relative;
    background: #f8f6f1;
    border: 1px solid #ebe5d9;
    border-radius: 14px;
    padding: 15px 18px 15px 45px;
    color: #38495a;
    font-size: 13px;
    line-height: 1.8;
}

.course-syllabus li::before {
    content: "✓";
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #d3a652;
    color: #092746;
    display: grid;
    place-items: center;
    font-size: 11px;
    font-weight: 900;
}

/* Responsive */
@media (max-width: 900px) {
    .course-detail-hero img {
        height: 350px;
    }

    .course-detail-content {
        margin-top: -40px;
    }

    .course-detail-main {
        padding: 28px;
    }

    .course-meta {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 650px) {
    .course-detail-hero img {
        height: 240px;
        border-radius: 0 0 22px 22px;
    }

    .course-detail-content {
        margin-top: -25px;
    }

    .course-detail-main {
        padding: 20px;
        border-radius: 20px;
    }

    .course-detail-title {
        font-size: 29px;
        line-height: 1.6;
    }

    .course-detail-description {
        font-size: 13px;
    }

    .course-meta {
        grid-template-columns: 1fr;
    }

    .course-price-card {
        position: static;
        margin-top: 18px;
    }

    .course-syllabus ul {
        grid-template-columns: 1fr;
    }
}


/* Course Detail Layout */
.detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 28px;
    align-items: start;
    padding-bottom: 70px;
}

.course-detail-main h1 {
    margin-top: 20px;
}

.course-detail-main > .course-detail-description {
    margin-bottom: 28px;
}

.course-instructor-box img {
    width: 55px;
    height: 55px;
    border-radius: 50%;
    object-fit: cover;
}

.course-instructor-box small {
    display: block;
    color: #d3a652;
    font-size: 10px;
    margin-bottom: 4px;
}

.course-instructor-box strong {
    display: block;
    font-size: 15px;
}

.course-instructor-box p {
    margin: 5px 0 0;
    color: rgba(255,255,255,.68);
    font-size: 11px;
    line-height: 1.8;
}

.course-price-card h3 {
    color: #092746;
    font-size: 16px;
    line-height: 1.8;
    margin: 0 0 20px;
}

.syllabus p {
    position: relative;
    background: #f8f6f1;
    border: 1px solid #ebe5d9;
    border-radius: 14px;
    padding: 14px 20px 14px 48px;
    margin: 0 0 10px;
    color: #38495a;
    font-size: 13px;
    line-height: 1.9;
}

.syllabus p::before {
    content: "✓";
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: #d3a652;
    color: #092746;
    display: grid;
    place-items: center;
    font-weight: 900;
}

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

    .course-price-card {
        position: static;
    }
}

@media (max-width: 650px) {
    .detail-grid {
        gap: 18px;
    }

    .course-detail-main {
        padding: 20px;
    }

    .course-detail-title {
        font-size: 28px;
    }

    .course-detail-hero img {
        height: 230px;
    }

    .course-meta {
        grid-template-columns: 1fr;
    }

    .course-instructor-box {
        align-items: flex-start;
    }

    .course-price-card {
        padding: 22px;
    }
}


/* =========================================
   CLEAN PREMIUM COURSE PAGE
========================================= */

.course-page {
    background: #f7f4ee;
    padding: 35px 0 80px;
    min-height: 80vh;
}

.course-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 25px;
    color: #8a95a1;
    font-size: 11px;
}

.course-breadcrumb a {
    color: #0b2b4b;
    text-decoration: none;
    font-weight: 700;
}

.course-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 28px;
    align-items: start;
}

.course-content {
    background: #fff;
    border-radius: 26px;
    overflow: hidden;
    border: 1px solid rgba(9,39,70,.06);
    box-shadow: 0 15px 45px rgba(9,39,70,.07);
}

.course-cover {
    width: 100%;
    height: 390px;
    background: #092746;
    overflow: hidden;
}

.course-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.course-cover-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    color: #d3a652;
    font-size: 24px;
    font-weight: 800;
}

.course-content-inner {
    padding: 38px;
}

.course-tag {
    display: inline-flex;
    padding: 7px 14px;
    border-radius: 50px;
    background: rgba(211,166,82,.12);
    border: 1px solid rgba(211,166,82,.2);
    color: #b17d24;
    font-size: 11px;
    font-weight: 800;
}

.course-content-inner h1 {
    color: #092746;
    font-size: clamp(30px,4vw,48px);
    line-height: 1.55;
    margin: 18px 0 20px;
    font-weight: 900;
}

.course-description {
    color: #596777;
    font-size: 14px;
    line-height: 2.2;
    margin-bottom: 28px;
}

.course-info-grid {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 12px;
    margin-bottom: 25px;
}

.course-info-box {
    background: #f8f6f1;
    border: 1px solid #ece5d8;
    border-radius: 15px;
    padding: 17px;
}

.course-info-box span {
    display: block;
    color: #8b96a2;
    font-size: 10px;
    margin-bottom: 7px;
}

.course-info-box strong {
    color: #092746;
    font-size: 13px;
}

.course-instructor {
    display: flex;
    align-items: center;
    gap: 14px;
    background: linear-gradient(135deg,#092746,#123a60);
    border-radius: 18px;
    padding: 18px;
    color: white;
    margin-bottom: 35px;
}

.course-instructor img,
.instructor-letter {
    width: 58px;
    height: 58px;
    border-radius: 50%;
    flex: 0 0 58px;
}

.course-instructor img {
    object-fit: cover;
}

.instructor-letter {
    display: grid;
    place-items: center;
    background: #d3a652;
    color: #092746;
    font-size: 22px;
    font-weight: 900;
}

.course-instructor small {
    display: block;
    color: #d3a652;
    font-size: 10px;
    margin-bottom: 4px;
}

.course-instructor strong {
    font-size: 15px;
}

.course-instructor p {
    margin: 5px 0 0;
    color: rgba(255,255,255,.7);
    font-size: 11px;
    line-height: 1.8;
}

.course-syllabus-section h2 {
    color: #092746;
    font-size: 23px;
    margin-bottom: 18px;
}

.course-syllabus p {
    position: relative;
    margin: 0 0 10px;
    padding: 14px 18px 14px 45px;
    background: #f8f6f1;
    border: 1px solid #ece5d8;
    border-radius: 13px;
    color: #455465;
    font-size: 13px;
    line-height: 1.8;
}

.course-syllabus p::before {
    content: "✓";
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 23px;
    height: 23px;
    border-radius: 50%;
    background: #d3a652;
    color: #092746;
    display: grid;
    place-items: center;
    font-weight: 900;
}

.course-sidebar {
    position: sticky;
    top: 95px;
}

.course-enroll-card {
    background: white;
    border: 1px solid rgba(9,39,70,.07);
    border-radius: 24px;
    padding: 28px;
    box-shadow: 0 18px 50px rgba(9,39,70,.09);
}

.enroll-label {
    color: #b17d24;
    font-size: 11px;
    font-weight: 800;
}

.course-enroll-card h2 {
    color: #092746;
    font-size: 17px;
    line-height: 1.8;
    margin: 15px 0 25px;
}

.course-price {
    border-top: 1px solid #eee8dd;
    border-bottom: 1px solid #eee8dd;
    padding: 20px 0;
    margin-bottom: 20px;
}

.course-price small {
    display: block;
    color: #8b96a2;
    font-size: 10px;
    margin-bottom: 5px;
}

.course-price strong {
    color: #092746;
    font-size: 30px;
    font-weight: 900;
}

.course-price span {
    color: #7c8793;
    font-size: 11px;
    margin-right: 5px;
}

.course-register-button {
    min-height: 55px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    border-radius: 13px;
    background: linear-gradient(135deg,#d8ae5c,#c18e38);
    color: #092746;
    text-decoration: none;
    font-size: 13px;
    font-weight: 900;
    transition: .25s ease;
}

.course-register-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 25px rgba(193,142,56,.25);
}

.payment-info {
    text-align: center;
    color: #919aa4;
    font-size: 10px;
    line-height: 1.9;
    margin-top: 14px;
}

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

    .course-sidebar {
        position: static;
    }
}

@media (max-width: 650px) {
    .course-page {
        padding: 20px 0 50px;
    }

    .course-cover {
        height: 230px;
    }

    .course-content-inner {
        padding: 22px;
    }

    .course-content-inner h1 {
        font-size: 28px;
    }

    .course-info-grid {
        grid-template-columns: 1fr;
    }

    .course-instructor {
        align-items: flex-start;
    }

    .course-enroll-card {
        padding: 22px;
    }
}


/* Full Course Image - No Crop */
.course-cover {
    height: auto !important;
    background: #092746;
    line-height: 0;
}

.course-cover img {
    width: 100%;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    display: block;
}

@media (max-width: 650px) {
    .course-cover {
        height: auto !important;
    }

    .course-cover img {
        height: auto !important;
        object-fit: contain !important;
    }
}


/* ================================
   KPMPRO FINAL HERO
   ================================ */

.hero {
    direction: rtl;
    padding: 72px 0 80px !important;
    background:
        radial-gradient(circle at 12% 18%, rgba(205,165,90,.12), transparent 28%),
        linear-gradient(135deg, #f8f6f1 0%, #ffffff 55%, #f4f0e8 100%);
}

.hero-grid {
    min-height: 520px !important;
    grid-template-columns: 1fr 0.9fr !important;
    gap: 55px !important;
    align-items: center !important;
}

.hero-content {
    text-align: right;
    max-width: 650px;
}

.hero-badge {
    margin-bottom: 18px !important;
    font-family: 'Vazir', Tahoma, sans-serif !important;
}

.hero h1 {
    font-family: 'Vazir', Tahoma, sans-serif !important;
    font-size: clamp(36px, 4.2vw, 58px) !important;
    line-height: 1.55 !important;
    letter-spacing: 0 !important;
    margin-bottom: 18px !important;
    font-weight: 700 !important;
}

.hero h1 span {
    display: block;
    color: var(--gold);
    margin-top: 2px;
}

.hero-content > p {
    max-width: 570px !important;
    font-family: 'Vazir', Tahoma, sans-serif !important;
    font-size: 15px !important;
    line-height: 2.2 !important;
    margin-right: 0;
    margin-left: auto;
}

.hero-actions {
    justify-content: flex-start;
    margin-top: 27px !important;
}

.primary-action,
.secondary-action {
    font-family: 'Vazir', Tahoma, sans-serif !important;
}

.hero-stats {
    margin-top: 38px !important;
    justify-content: flex-start;
    gap: 30px !important;
}

.hero-stats div {
    padding-right: 18px !important;
}

.hero-visual {
    min-height: 470px !important;
}

.visual-main-card {
    width: min(400px, 88%) !important;
    min-height: 410px !important;
    padding: 30px !important;
    transform: rotate(0deg) !important;
    border-radius: 26px !important;
}

.visual-title {
    margin-top: 80px !important;
    font-family: 'Vazir', Tahoma, sans-serif !important;
    font-size: 27px !important;
    line-height: 1.8 !important;
}

.floating-card {
    font-family: 'Vazir', Tahoma, sans-serif !important;
}

.floating-card-one {
    top: 48px !important;
    right: 0 !important;
}

.floating-card-two {
    bottom: 38px !important;
    left: 5px !important;
}

@media (max-width: 900px) {
    .hero {
        padding: 55px 0 65px !important;
    }

    .hero-grid {
        grid-template-columns: 1fr !important;
        gap: 35px !important;
        min-height: auto !important;
    }

    .hero-content {
        max-width: 100%;
        text-align: center;
    }

    .hero-content > p {
        margin-right: auto;
    }

    .hero-actions,
    .hero-stats {
        justify-content: center;
    }

    .hero-visual {
        min-height: 430px !important;
    }
}

@media (max-width: 600px) {
    .hero h1 {
        font-size: 34px !important;
        line-height: 1.65 !important;
    }

    .hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .primary-action,
    .secondary-action {
        text-align: center;
    }

    .hero-stats {
        gap: 15px !important;
        flex-wrap: wrap;
    }

    .visual-main-card {
        width: 94% !important;
        min-height: 380px !important;
    }

    .floating-card-one {
        right: -5px !important;
    }

    .floating-card-two {
        left: -5px !important;
    }
}


/* =========================================
   KPM PRO — PREMIUM COURSE GRID
   ========================================= */

.courses-section {
    background: #f7f5f0 !important;
    padding: 80px 0 !important;
}

.course-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

.course-card {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    height: 100% !important;
    min-height: 520px !important;
    overflow: hidden !important;

    background: #ffffff !important;
    border: 1px solid #e8e2d8 !important;
    border-radius: 22px !important;

    box-shadow:
        0 8px 30px rgba(11,31,56,.06) !important;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease !important;
}

.course-card:hover {
    transform: translateY(-7px) !important;
    border-color: rgba(205,165,90,.45) !important;
    box-shadow:
        0 20px 45px rgba(11,31,56,.11) !important;
}

/* تصویر */

.course-image {
    position: relative !important;
    width: 100% !important;
    height: 215px !important;
    overflow: hidden !important;
    background: #eef1f4 !important;
}

.course-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform .5s ease !important;
}

.course-card:hover .course-image img {
    transform: scale(1.045) !important;
}

/* محتوای کارت */

.course-card > *:not(.course-image) {
    position: relative;
    z-index: 2;
}

.course-card h3 {
    padding: 24px 24px 8px !important;
    margin: 0 !important;

    color: #092746 !important;
    font-family: 'Vazir', Tahoma, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.8 !important;
    font-weight: 700 !important;
}

.course-card p {
    padding: 0 24px !important;
    margin: 8px 0 0 !important;

    color: #68778a !important;
    font-family: 'Vazir', Tahoma, sans-serif !important;
    font-size: 13px !important;
    line-height: 2 !important;
}

/* مدرس */

.course-card .course-instructor,
.course-card .instructor {
    margin: 18px 24px 0 !important;
    padding: 12px 15px !important;

    background: #f5f7f8 !important;
    border: 1px solid #edf0f2 !important;
    border-radius: 13px !important;

    color: #405064 !important;
    font-family: 'Vazir', Tahoma, sans-serif !important;
}

/* بخش پایینی */

.course-card .course-footer {
    margin-top: auto !important;
    padding: 20px 24px 24px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 15px !important;

    border-top: 1px solid #eee9e1 !important;
}

/* قیمت */

.course-price {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

.course-price small {
    color: #9aa3ad !important;
    font-family: 'Vazir', Tahoma, sans-serif !important;
    font-size: 10px !important;
}

.course-price strong {
    color: #092746 !important;
    font-family: 'Vazir', Tahoma, sans-serif !important;
    font-size: 20px !important;
    font-weight: 800 !important;
}

.course-price span {
    color: #927033 !important;
    font-size: 10px !important;
}

/* دکمه */

.course-card a,
.course-card .course-button {
    font-family: 'Vazir', Tahoma, sans-serif !important;
}

.course-card .course-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 125px !important;
    padding: 12px 18px !important;

    background: #092746 !important;
    color: #ffffff !important;

    border-radius: 11px !important;
    font-size: 12px !important;
    font-weight: 700 !important;

    transition: .25s ease !important;
}

.course-card .course-button:hover {
    background: #cda55a !important;
    color: #092746 !important;
}

/* بدون تصویر */

.course-card:not(:has(.course-image)) {
    padding-top: 10px !important;
}

/* Responsive */

@media (max-width: 1050px) {
    .course-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .course-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    .course-card {
        min-height: 0 !important;
    }

    .course-image {
        height: 205px !important;
    }

    .course-card h3 {
        font-size: 17px !important;
    }

    .course-card .course-footer {
        padding: 18px !important;
    }
}


/* =========================================
   KPM PRO — COMPACT COURSE GRID
   ========================================= */

.course-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: start !important;
}

.course-card {
    height: auto !important;
    min-height: 0 !important;
    border-radius: 17px !important;
    box-shadow: 0 6px 22px rgba(11,31,56,.055) !important;
}

.course-image {
    height: 155px !important;
}

.course-card h3 {
    padding: 16px 18px 5px !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}

.course-card p {
    padding: 0 18px !important;
    margin-top: 5px !important;
    font-size: 12px !important;
    line-height: 1.8 !important;
}

.course-card .course-instructor,
.course-card .instructor {
    margin: 12px 18px 0 !important;
    padding: 9px 12px !important;
    border-radius: 11px !important;
}

.course-card .course-footer {
    margin-top: 16px !important;
    padding: 13px 18px 16px !important;
}

.course-price strong {
    font-size: 17px !important;
}

.course-card .course-button {
    min-width: 105px !important;
    padding: 9px 13px !important;
    font-size: 11px !important;
}

@media (max-width: 1050px) {
    .course-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 680px) {
    .course-grid {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }

    .course-image {
        height: 165px !important;
    }
}

/* AUTH */
.auth-page {
    min-height: 70vh;
    display: flex;
    align-items: center;
    padding: 70px 0;
    background: linear-gradient(135deg, #f8f5ee, #ffffff);
}

.auth-card {
    width: min(430px, 100%);
    margin: auto;
    background: #fff;
    padding: 42px;
    border-radius: 24px;
    box-shadow: 0 20px 60px rgba(15, 39, 71, .10);
    border: 1px solid #eee8dc;
}

.auth-header {
    text-align: center;
    margin-bottom: 30px;
}

.auth-icon {
    width: 58px;
    height: 58px;
    display: inline-grid;
    place-items: center;
    background: var(--navy);
    color: var(--gold);
    border-radius: 16px;
    font-size: 25px;
    font-weight: 700;
    margin-bottom: 15px;
}

.auth-header h1 {
    color: var(--navy);
    font-size: 23px;
    margin: 0 0 8px;
}

.auth-header p {
    color: #777;
    font-size: 13px;
    margin: 0;
}

.auth-card form {
    display: grid;
    gap: 10px;
}

.auth-card label {
    color: var(--navy);
    font-size: 13px;
    font-weight: 700;
    margin-top: 8px;
}

.auth-card input {
    width: 100%;
    box-sizing: border-box;
    padding: 14px 16px;
    border: 1px solid #ddd7ca;
    border-radius: 12px;
    outline: none;
    font-family: inherit;
    font-size: 14px;
    transition: .2s;
}

.auth-card input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 3px rgba(205,165,90,.12);
}

.auth-btn {
    border: 0;
    margin-top: 12px;
    padding: 14px;
    border-radius: 12px;
    background: var(--navy);
    color: #fff;
    font-family: inherit;
    font-weight: 700;
    cursor: pointer;
}

.auth-btn:hover {
    background: #132d4d;
}

.auth-error {
    background: #fff1f1;
    color: #b42318;
    border: 1px solid #ffd5d5;
    padding: 12px 14px;
    border-radius: 12px;
    margin-bottom: 18px;
    font-size: 13px;
}

.test-otp {
    background: #f8f5ee;
    border: 1px dashed var(--gold);
    color: #66512b;
    text-align: center;
    padding: 13px;
    border-radius: 12px;
    margin-bottom: 18px;
    font-size: 13px;
}

.test-otp strong {
    display: block;
    color: var(--navy);
    font-size: 24px;
    letter-spacing: 4px;
    margin-top: 5px;
}

@media (max-width: 600px) {
    .auth-page {
        padding: 45px 15px;
    }

    .auth-card {
        padding: 30px 22px;
    }
}


/* LOGIN MODAL */
.login-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.login-modal.active {
    display: flex;
}

.login-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(8, 25, 45, .62);
    backdrop-filter: blur(7px);
}

.login-modal-card {
    position: relative;
    z-index: 2;
    width: min(430px, 100%);
    background: #fff;
    border: 1px solid rgba(205,165,90,.25);
    border-radius: 28px;
    padding: 38px;
    box-shadow: 0 30px 90px rgba(0,0,0,.25);
    animation: loginModalIn .25s ease;
}

@keyframes loginModalIn {
    from {
        opacity: 0;
        transform: translateY(20px) scale(.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.login-modal-close {
    position: absolute;
    top: 15px;
    left: 15px;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 50%;
    background: #f5f2ec;
    color: #687386;
    font-size: 25px;
    cursor: pointer;
    line-height: 1;
}

.login-modal-icon {
    width: 62px;
    height: 62px;
    margin: 0 auto 18px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    background: var(--navy);
    color: var(--gold);
    font-size: 27px;
    font-weight: 700;
}

.login-modal-card h2 {
    margin: 0;
    text-align: center;
    color: var(--navy);
    font-size: 23px;
}

.login-modal-subtitle {
    text-align: center;
    color: #7a8492;
    font-size: 13px;
    line-height: 2;
    margin: 9px 0 25px;
}

.login-modal-card form {
    display: grid;
    gap: 10px;
}

.login-modal-card label {
    color: var(--navy);
    font-size: 13px;
    font-weight: 700;
}

.login-modal-card input {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #ddd9d0;
    border-radius: 13px;
    padding: 14px 16px;
    font-family: inherit;
    font-size: 14px;
    outline: none;
    direction: ltr;
    text-align: right;
    transition: .2s;
}

.login-modal-card input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 4px rgba(205,165,90,.10);
}

.login-modal-btn {
    border: 0;
    margin-top: 10px;
    padding: 14px;
    border-radius: 13px;
    background: var(--navy);
    color: #fff;
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: .2s;
}

.login-modal-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 22px rgba(8, 35, 65, .18);
}

.login-modal-btn:disabled {
    opacity: .6;
    cursor: wait;
}

.login-message {
    padding: 11px 13px;
    border-radius: 11px;
    margin-bottom: 15px;
    font-size: 12px;
    text-align: center;
}

.login-message.error {
    color: #b42318;
    background: #fff1f1;
    border: 1px solid #ffd4d4;
}

.login-message.success {
    color: #146c43;
    background: #eefbf4;
    border: 1px solid #c8efd9;
}

.otp-phone-text {
    text-align: center;
    color: #777;
    font-size: 12px;
    margin-bottom: 5px;
}

.otp-phone-text strong {
    color: var(--navy);
    direction: ltr;
    display: inline-block;
}

.test-otp-box {
    text-align: center;
    padding: 11px;
    margin-top: 5px;
    border-radius: 12px;
    background: #f8f5ee;
    border: 1px dashed var(--gold);
    color: #80652e;
    font-size: 12px;
}

.test-otp-box strong {
    color: var(--navy);
    font-size: 20px;
    letter-spacing: 4px;
    margin-right: 6px;
}

.change-phone {
    border: 0;
    background: transparent;
    color: #7b6a48;
    font-family: inherit;
    font-size: 12px;
    cursor: pointer;
    margin-top: 5px;
}

body.modal-open {
    overflow: hidden;
}

@media (max-width: 600px) {
    .login-modal {
        padding: 14px;
    }

    .login-modal-card {
        padding: 32px 22px;
        border-radius: 22px;
    }
}


/* =========================================================
   PROFILE DASHBOARD
========================================================= */

.profile-dashboard {
    min-height: 75vh;
    padding: 48px 0 80px;
    background:
        radial-gradient(circle at 90% 0%, rgba(205,165,90,.10), transparent 25%),
        linear-gradient(135deg, #f8f5ee 0%, #ffffff 55%, #f5f1e9 100%);
}

.profile-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    padding: 30px 34px;
    margin-bottom: 22px;
    border-radius: 24px;
    background: linear-gradient(135deg, #0b2746, #12385e);
    color: #fff;
    box-shadow: 0 20px 55px rgba(11,39,70,.14);
}

.profile-user {
    display: flex;
    align-items: center;
    gap: 18px;
}

.profile-avatar {
    width: 68px;
    height: 68px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    background: rgba(205,165,90,.14);
    border: 1px solid rgba(205,165,90,.45);
    color: var(--gold);
    font-size: 29px;
    font-weight: 700;
}

.profile-welcome {
    display: block;
    color: #d8c39a;
    font-size: 12px;
    margin-bottom: 4px;
}

.profile-hero h1 {
    margin: 0;
    font-size: 25px;
}

.profile-hero p {
    margin: 6px 0 0;
    color: rgba(255,255,255,.65);
    direction: ltr;
    text-align: right;
}

.profile-logout {
    display: inline-flex;
    align-items: center;
    padding: 11px 18px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 12px;
    color: #fff;
    text-decoration: none;
    font-size: 12px;
    transition: .2s;
}

.profile-logout:hover {
    background: rgba(255,255,255,.08);
}

.profile-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 28px;
}

.profile-stat-card {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 22px;
    background: #fff;
    border: 1px solid #ebe6dc;
    border-radius: 18px;
    box-shadow: 0 10px 35px rgba(15,39,71,.05);
}

.stat-icon {
    width: 45px;
    height: 45px;
    display: grid;
    place-items: center;
    flex: 0 0 45px;
    border-radius: 14px;
    background: #f8f3e8;
    color: var(--gold);
    font-size: 20px;
}

.profile-stat-card small {
    display: block;
    color: #8a8f99;
    font-size: 11px;
    margin-bottom: 5px;
}

.profile-stat-card strong {
    color: var(--navy);
    font-size: 23px;
}

.profile-stat-card em {
    color: #8a8f99;
    font-size: 10px;
    font-style: normal;
    margin-right: 4px;
}

.profile-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 22px;
    align-items: start;
}

.profile-main,
.profile-side-card,
.profile-help-card {
    background: #fff;
    border: 1px solid #ebe6dc;
    border-radius: 20px;
    box-shadow: 0 10px 35px rgba(15,39,71,.045);
}

.profile-main {
    padding: 26px;
}

.profile-section-title {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px;
    margin-bottom: 20px;
}

.profile-section-title span {
    color: var(--gold);
    font-size: 11px;
    font-weight: 700;
}

.profile-section-title h2 {
    margin: 4px 0 0;
    color: var(--navy);
    font-size: 23px;
}

.profile-section-title a {
    color: #80652e;
    font-size: 11px;
    text-decoration: none;
}

.profile-course-list {
    display: grid;
    gap: 13px;
}

.profile-course-card {
    display: grid;
    grid-template-columns: 155px minmax(0,1fr);
    gap: 18px;
    padding: 13px;
    border: 1px solid #eee9df;
    border-radius: 16px;
    transition: .2s;
}

.profile-course-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(15,39,71,.07);
}

.profile-course-image {
    height: 145px;
    overflow: hidden;
    border-radius: 12px;
    background: #0b2746;
}

.profile-course-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.profile-course-placeholder {
    height: 100%;
    display: grid;
    place-items: center;
    color: var(--gold);
    font-size: 35px;
    font-weight: 700;
}

.profile-course-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.profile-course-top {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
}

.profile-course-top > span {
    color: #8b7650;
    font-size: 10px;
}

.profile-course-top b {
    padding: 5px 9px;
    border-radius: 30px;
    font-size: 9px;
}

.status-paid {
    background: #eaf8f0;
    color: #188653;
}

.status-pending {
    background: #fff6df;
    color: #98701d;
}

.profile-course-info h3 {
    margin: 13px 0 5px;
    color: var(--navy);
    font-size: 16px;
}

.profile-course-info p {
    margin: 0;
    color: #8a8f99;
    font-size: 11px;
}

.profile-course-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: auto;
    padding-top: 15px;
}

.profile-course-bottom strong {
    color: var(--navy);
    font-size: 14px;
}

.profile-course-bottom small {
    color: #999;
    font-size: 9px;
    font-weight: 400;
}

.profile-course-bottom a {
    color: #80652e;
    text-decoration: none;
    font-size: 11px;
    font-weight: 700;
}

.profile-sidebar {
    display: grid;
    gap: 16px;
}

.profile-side-card {
    padding: 22px;
}

.side-card-heading {
    padding-bottom: 15px;
    margin-bottom: 5px;
    border-bottom: 1px solid #eeeae2;
}

.side-card-heading span {
    display: block;
    color: var(--gold);
    font-size: 10px;
    margin-bottom: 3px;
}

.side-card-heading strong {
    color: var(--navy);
    font-size: 17px;
}

.profile-info-row {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    padding: 14px 0;
    border-bottom: 1px solid #f1eee8;
    font-size: 11px;
}

.profile-info-row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.profile-info-row span {
    color: #8a8f99;
}

.profile-info-row strong {
    color: var(--navy);
}

.account-active {
    color: #188653 !important;
}

.payment-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 0;
    border-bottom: 1px solid #f1eee8;
}

.payment-row:last-child {
    border-bottom: 0;
}

.payment-row strong {
    display: block;
    max-width: 185px;
    color: var(--navy);
    font-size: 10px;
    line-height: 1.8;
}

.payment-row small {
    display: block;
    color: #999;
    font-size: 9px;
    margin-top: 3px;
}

.payment-success,
.payment-waiting {
    align-self: center;
    white-space: nowrap;
    font-size: 9px;
    padding: 5px 8px;
    border-radius: 20px;
}

.payment-success {
    color: #188653;
    background: #eaf8f0;
}

.payment-waiting {
    color: #98701d;
    background: #fff6df;
}

.no-payment {
    color: #999;
    font-size: 11px;
    line-height: 2;
}

.profile-help-card {
    padding: 23px;
    background: linear-gradient(135deg, #fffdf8, #f8f3e8);
}

.help-icon {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: var(--navy);
    color: var(--gold);
    font-weight: 700;
}

.profile-help-card h3 {
    color: var(--navy);
    font-size: 15px;
    margin: 13px 0 6px;
}

.profile-help-card p {
    color: #7e8490;
    font-size: 10px;
    line-height: 2;
    margin: 0 0 14px;
}

.profile-help-card a {
    color: #80652e;
    font-size: 11px;
    text-decoration: none;
    font-weight: 700;
}

.profile-empty {
    text-align: center;
    padding: 70px 20px;
}

.empty-icon {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    margin: auto;
    border-radius: 18px;
    background: #f8f3e8;
    color: var(--gold);
    font-size: 28px;
}

.profile-empty h3 {
    color: var(--navy);
    margin: 17px 0 7px;
    font-size: 17px;
}

.profile-empty p {
    color: #8a8f99;
    font-size: 11px;
    margin-bottom: 18px;
}

.profile-empty a {
    display: inline-flex;
    padding: 11px 18px;
    border-radius: 11px;
    background: var(--navy);
    color: #fff;
    text-decoration: none;
    font-size: 11px;
}

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

    .profile-sidebar {
        grid-template-columns: repeat(2, 1fr);
    }

    .profile-help-card {
        grid-column: 1 / -1;
    }
}

@media (max-width: 650px) {
    .profile-dashboard {
        padding: 28px 0 55px;
    }

    .profile-hero {
        align-items: flex-start;
        flex-direction: column;
        padding: 23px;
    }

    .profile-stats {
        grid-template-columns: 1fr;
    }

    .profile-main {
        padding: 18px;
    }

    .profile-section-title {
        align-items: flex-start;
        flex-direction: column;
    }

    .profile-course-card {
        grid-template-columns: 1fr;
    }

    .profile-course-image {
        height: 180px;
    }

    .profile-sidebar {
        grid-template-columns: 1fr;
    }

    .profile-help-card {
        grid-column: auto;
    }
}


/* Course Lock State */
.profile-course-card.course-locked {
    position: relative;
    overflow: hidden;
}

.profile-course-card.course-locked .profile-course-image img {
    filter: grayscale(35%) brightness(0.72);
}

.course-lock-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: rgba(15, 23, 42, 0.68);
    color: #fff;
    text-align: center;
    backdrop-filter: blur(2px);
}

.course-lock-icon {
    font-size: 28px;
    margin-bottom: 4px;
}

.course-lock-overlay strong {
    font-size: 14px;
}

.course-lock-overlay small {
    font-size: 11px;
    opacity: 0.85;
}

.status-approved {
    color: #16845b;
    background: #e9f8f1;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 12px;
}

.course-locked-label {
    color: #8a6a16;
    background: #fff8df;
    padding: 9px 14px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   PROFESSIONAL PAYMENT OPTIONS
   ========================================================= */

.payment-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 26px;
    direction: rtl;
}

.payment-options::before {
    content: "انتخاب روش پرداخت";
    grid-column: 1 / -1;
    display: block;
    font-size: 18px;
    font-weight: 800;
    color: #10243d;
    margin-bottom: -4px;
}

.payment-option {
    position: relative;
    width: 100%;
    min-height: 112px;
    border: 1px solid #e5e9ef;
    border-radius: 18px;
    padding: 20px 22px;
    display: flex;
    align-items: center;
    gap: 15px;
    text-align: right;
    direction: rtl;
    font-family: inherit;
    cursor: pointer;
    transition: all .25s ease;
    box-sizing: border-box;
    background: #fff;
}

.payment-option:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(16, 36, 61, .10);
}

.payment-option-in-person {
    border: 2px solid #102f50;
    background: linear-gradient(135deg, #ffffff 0%, #f5f8fb 100%);
}

.payment-option-in-person:hover {
    border-color: #0b426f;
    box-shadow: 0 14px 32px rgba(16, 47, 80, .15);
}

.payment-option-online {
    background: #f7f8fa;
    border-color: #e4e7eb;
    cursor: not-allowed;
    opacity: .82;
}

.payment-option-online:hover {
    transform: none;
    box-shadow: none;
}

.payment-option-icon {
    width: 52px;
    height: 52px;
    min-width: 52px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    background: #eef4f9;
}

.payment-option-in-person .payment-option-icon {
    background: #102f50;
}

.payment-option-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.payment-option-content strong {
    display: block;
    color: #10243d;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.7;
}

.payment-option-content small {
    display: block;
    color: #7a8491;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.8;
}

.payment-option-arrow {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #102f50;
    color: #fff;
    font-size: 16px;
    flex-shrink: 0;
}

.payment-option-badge {
    flex-shrink: 0;
    padding: 7px 11px;
    border-radius: 999px;
    background: #fff1cf;
    color: #946c12;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

/* قیمت دوره */
.registration-summary {
    margin-top: 24px;
    padding: 20px 24px;
    border: 1px solid #eee7dc;
    border-radius: 18px;
    background: linear-gradient(135deg, #faf7f1, #f5f1e9);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.registration-summary span {
    color: #737b84;
    font-size: 13px;
    font-weight: 600;
}

.registration-summary strong {
    color: #102f50;
    font-size: 23px;
    font-weight: 900;
    white-space: nowrap;
}

/* جلوگیری از ظاهر پیش‌فرض دکمه مرورگر */
.payment-option,
.payment-option:focus,
.payment-option:active {
    appearance: none;
    -webkit-appearance: none;
    outline: none;
}

/* موبایل */
@media (max-width: 700px) {
    .payment-options {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .payment-options::before {
        font-size: 16px;
    }

    .payment-option {
        min-height: 100px;
        padding: 17px;
    }

    .payment-option-icon {
        width: 46px;
        height: 46px;
        min-width: 46px;
        font-size: 21px;
    }

    .payment-option-content strong {
        font-size: 14px;
    }

    .registration-summary {
        padding: 17px;
    }

    .registration-summary strong {
        font-size: 19px;
    }
}


/* =========================================================
   PROFESSIONAL COURSE REGISTRATION
   ========================================================= */

.registration-page {
    padding: 55px 0 80px;
    background: #f7f5f0;
}

.registration-header {
    text-align: center;
    margin-bottom: 28px;
}

.registration-header .eyebrow {
    display: inline-block;
    color: #b68a3c;
    font-size: 13px;
    font-weight: 800;
    margin-bottom: 10px;
}

.registration-header h1 {
    max-width: 850px;
    margin: 0 auto 12px;
    color: #09213a;
    font-size: clamp(26px, 3vw, 40px);
    font-weight: 900;
    line-height: 1.6;
}

.registration-header p {
    margin: 0;
    color: #718096;
    font-size: 14px;
}

/* Login notice */
.login-required-box {
    max-width: 1100px;
    margin: 0 auto 20px;
    padding: 17px 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    direction: rtl;
    background: #fff;
    border: 1px solid #e8dfcf;
    border-radius: 16px;
    box-shadow: 0 5px 20px rgba(20, 35, 50, .05);
}

.login-required-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #fff5df;
    font-size: 21px;
}

.login-required-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.login-required-content strong {
    color: #172b40;
    font-size: 14px;
    font-weight: 800;
}

.login-required-content span {
    color: #7b8794;
    font-size: 12px;
}

.login-required-btn {
    border: 0;
    border-radius: 11px;
    padding: 11px 20px;
    background: #092b4c;
    color: #fff;
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: .2s ease;
    white-space: nowrap;
}

.login-required-btn:hover {
    background: #123e67;
    transform: translateY(-1px);
}

/* Main card */
.registration-card {
    max-width: 1100px;
    margin: 0 auto;
    padding: 30px;
    background: #fff;
    border: 1px solid #eee9e0;
    border-radius: 24px;
    box-shadow: 0 18px 55px rgba(23, 38, 54, .08);
}

/* Two columns */
.registration-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .75fr);
    gap: 32px;
    align-items: start;
    direction: rtl;
}

.registration-form-column {
    min-width: 0;
}

.registration-column-heading {
    margin-bottom: 24px;
    padding-bottom: 17px;
    border-bottom: 1px solid #eeeae3;
}

.registration-column-heading span {
    display: block;
    margin-bottom: 5px;
    color: #b68a3c;
    font-size: 11px;
    font-weight: 800;
}

.registration-column-heading h2 {
    margin: 0;
    color: #102942;
    font-size: 21px;
    font-weight: 900;
}

/* Form */
.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 19px;
}

.form-group {
    min-width: 0;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    color: #26384b;
    font-size: 12px;
    font-weight: 800;
}

.form-group label small {
    color: #9aa3ad;
    font-weight: 500;
}

.form-group input,
.form-group select,
.form-group textarea {
    width: 100%;
    min-height: 50px;
    box-sizing: border-box;
    padding: 0 14px;
    border: 1px solid #e3ddd3;
    border-radius: 11px;
    background: #fff;
    color: #24364a;
    font-family: inherit;
    font-size: 13px;
    outline: none;
    transition: .2s ease;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
    border-color: #183e60;
    box-shadow: 0 0 0 3px rgba(24, 62, 96, .07);
}

.form-group input[type="file"] {
    padding: 8px 10px;
    color: #7b8490;
    cursor: pointer;
}

/* Right order column */
.registration-order-column {
    display: flex;
    flex-direction: column;
    gap: 18px;
    position: sticky;
    top: 20px;
}

.registration-order-card,
.registration-payment-card {
    border: 1px solid #e8e3db;
    border-radius: 18px;
    background: #fff;
    overflow: hidden;
}

.registration-order-card {
    padding: 22px;
    background: linear-gradient(145deg, #fdfcf9, #f7f3eb);
}

.order-card-label {
    color: #b68a3c;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 10px;
}

.registration-order-card h2 {
    margin: 0 0 20px;
    color: #102942;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.8;
}

.order-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    padding: 11px 0;
    border-top: 1px solid #e8e2d8;
    font-size: 11px;
}

.order-meta span {
    color: #87919c;
}

.order-meta strong {
    color: #304256;
    font-weight: 700;
}

.order-price {
    margin-top: 13px;
    padding-top: 17px;
    border-top: 1px solid #ddd5c8;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

.order-price span {
    color: #6e7882;
    font-size: 12px;
}

.order-price strong {
    color: #092b4c;
    font-size: 22px;
    font-weight: 900;
    white-space: nowrap;
}

.order-price small {
    font-size: 11px;
    font-weight: 600;
}

/* Payment */
.registration-payment-card {
    padding: 20px;
}

.payment-title {
    margin-bottom: 15px;
}

.payment-title span {
    display: block;
    color: #9a6e27;
    font-size: 10px;
    font-weight: 800;
    margin-bottom: 4px;
}

.payment-title strong {
    color: #132b43;
    font-size: 16px;
    font-weight: 900;
}

.payment-options {
    display: flex;
    flex-direction: column;
    gap: 11px;
    margin: 0;
}

.payment-options::before {
    display: none;
}

.payment-option {
    position: relative;
    width: 100%;
    min-height: 86px;
    padding: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-sizing: border-box;
    border-radius: 14px;
    font-family: inherit;
    text-align: right;
    direction: rtl;
    cursor: pointer;
    transition: .22s ease;
}

.payment-option-in-person {
    border: 2px solid #123b5e;
    background: #f7fafc;
}

.payment-option-in-person:hover {
    background: #eef5fa;
    transform: translateY(-2px);
    box-shadow: 0 8px 22px rgba(18, 59, 94, .12);
}

.payment-option-online {
    border: 1px solid #e4e7eb;
    background: #f7f7f7;
    cursor: not-allowed;
}

.payment-option-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: #123b5e;
    font-size: 20px;
}

.payment-option-online .payment-option-icon {
    background: #e9edf1;
}

.payment-option-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.payment-option-content strong {
    color: #17324b;
    font-size: 13px;
    font-weight: 900;
}

.payment-option-content small {
    color: #89939e;
    font-size: 10px;
    line-height: 1.7;
}

.payment-option-arrow {
    width: 29px;
    height: 29px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #123b5e;
    color: #fff;
    font-size: 14px;
}

.payment-option-badge {
    padding: 5px 8px;
    border-radius: 999px;
    background: #fff2d5;
    color: #9a711d;
    font-size: 9px;
    font-weight: 800;
}

.payment-security {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 15px;
    padding-top: 14px;
    border-top: 1px solid #eeeae4;
}

.payment-security span {
    color: #26815d;
    font-size: 14px;
    font-weight: 900;
}

.payment-security p {
    margin: 0;
    color: #8a929a;
    font-size: 10px;
    line-height: 1.8;
}

/* Errors */
.form-errors,
.form-group .errorlist {
    color: #c33d3d;
    font-size: 11px;
}

.form-group .errorlist {
    margin: 6px 0 0;
    padding: 0;
    list-style: none;
}

/* Responsive */
@media (max-width: 850px) {
    .registration-card {
        padding: 20px;
    }

    .registration-layout {
        grid-template-columns: 1fr;
    }

    .registration-order-column {
        position: static;
    }
}

@media (max-width: 600px) {
    .registration-page {
        padding: 30px 0 50px;
    }

    .registration-card {
        padding: 16px;
        border-radius: 18px;
    }

    .form-grid {
        grid-template-columns: 1fr;
    }

    .login-required-box {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .login-required-btn {
        width: 100%;
    }

    .registration-header h1 {
        font-size: 25px;
    }

    .order-price strong {
        font-size: 19px;
    }
}


/* =========================================================
   REGISTRATION SUCCESS MODAL
   ========================================================= */

.registration-modal-open {
    overflow: hidden;
}

.registration-success-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    direction: rtl;
}

.registration-success-overlay {
    position: absolute;
    inset: 0;
    background: rgba(7, 22, 37, .68);
    backdrop-filter: blur(7px);
}

.registration-success-card {
    position: relative;
    z-index: 2;
    width: min(470px, 100%);
    padding: 38px 34px 32px;
    background: #fff;
    border-radius: 26px;
    text-align: center;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .25);
    animation: registrationSuccessIn .3s ease;
}

@keyframes registrationSuccessIn {
    from {
        opacity: 0;
        transform: translateY(18px) scale(.97);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.registration-success-close {
    position: absolute;
    top: 14px;
    left: 16px;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 50%;
    background: #f3f5f7;
    color: #687482;
    font-size: 23px;
    line-height: 1;
    cursor: pointer;
}

.registration-success-icon {
    width: 76px;
    height: 76px;
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e8f7ef;
    color: #17915d;
    font-size: 39px;
    font-weight: 900;
    box-shadow: 0 0 0 9px #f4fbf7;
}

.registration-success-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: #b3873c;
    font-size: 11px;
    font-weight: 800;
}

.registration-success-card h2 {
    margin: 0 0 13px;
    color: #0c2944;
    font-size: 25px;
    font-weight: 900;
}

.registration-success-card p {
    margin: 0 auto;
    max-width: 390px;
    color: #707c89;
    font-size: 13px;
    line-height: 2.1;
}

.registration-success-status {
    margin: 22px 0;
    padding: 13px 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid #eee2c8;
    border-radius: 13px;
    background: #fffaf0;
    color: #8a671f;
    font-size: 12px;
}

.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #d49b2c;
    box-shadow: 0 0 0 4px rgba(212, 155, 44, .12);
}

.registration-success-actions {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.success-profile-btn,
.success-close-btn {
    width: 100%;
    min-height: 48px;
    box-sizing: border-box;
    border-radius: 12px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    text-decoration: none;
}

.success-profile-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #0b2d4c;
    color: #fff;
}

.success-profile-btn:hover {
    background: #123e64;
}

.success-close-btn {
    border: 1px solid #e1e5e9;
    background: #fff;
    color: #526171;
}

.success-close-btn:hover {
    background: #f7f8f9;
}

@media (max-width: 520px) {
    .registration-success-card {
        padding: 34px 22px 24px;
        border-radius: 22px;
    }

    .registration-success-card h2 {
        font-size: 22px;
    }
}


/* =========================
   PROFESSIONAL LEARNING PAGE
========================= */

.learning-page {
    background: #f5f7fa;
    min-height: calc(100vh - 80px);
    padding: 32px 20px 60px;
    direction: rtl;
}

.learning-container {
    max-width: 1450px;
    margin: 0 auto;
}

.learning-topbar {
    background: #ffffff;
    border: 1px solid #e8edf3;
    border-radius: 22px;
    padding: 24px 28px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    box-shadow: 0 8px 30px rgba(15, 23, 42, .05);
}

.learning-brand {
    display: flex;
    align-items: center;
    gap: 22px;
}

.learning-brand > div {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.learning-brand span,
.learning-lessons-header span,
.learning-content-heading span {
    color: #7b8794;
    font-size: 13px;
}

.learning-brand h1 {
    margin: 0;
    font-size: 23px;
    color: #172033;
}

.learning-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 125px;
    padding: 11px 16px;
    border-radius: 12px;
    background: #f1f5f9;
    color: #334155;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    transition: .2s;
}

.learning-back:hover {
    background: #e2e8f0;
}

.learning-progress-box {
    width: 280px;
}

.learning-progress-text {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 9px;
}

.learning-progress-text span {
    color: #64748b;
    font-size: 13px;
}

.learning-progress-text strong {
    color: #166534;
    font-size: 16px;
}

.learning-progress {
    height: 9px;
    background: #e2e8f0;
    border-radius: 20px;
    overflow: hidden;
}

.learning-progress span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #16a34a, #22c55e);
    border-radius: inherit;
}

.learning-progress-box small {
    display: block;
    margin-top: 8px;
    color: #94a3b8;
    font-size: 11px;
}

.learning-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 390px;
    gap: 24px;
    align-items: start;
}

.learning-main {
    min-width: 0;
}

.learning-video-card {
    background: #0f172a;
    border-radius: 22px;
    overflow: hidden;
    box-shadow: 0 15px 45px rgba(15, 23, 42, .12);
}

.video-placeholder {
    min-height: 480px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #ffffff;
    padding: 40px;
}

.video-placeholder-icon {
    width: 82px;
    height: 82px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.18);
    font-size: 28px;
    margin-bottom: 20px;
}

.video-placeholder strong {
    font-size: 22px;
    margin-bottom: 8px;
}

.video-placeholder span {
    color: #cbd5e1;
    font-size: 13px;
}

.learning-content-card {
    background: #ffffff;
    border: 1px solid #e8edf3;
    border-radius: 22px;
    padding: 28px;
    margin-top: 22px;
}

.learning-content-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.learning-content-heading h2 {
    margin: 7px 0 0;
    color: #172033;
    font-size: 21px;
}

.learning-active-badge {
    background: #ecfdf3;
    color: #15803d !important;
    border: 1px solid #bbf7d0;
    border-radius: 30px;
    padding: 8px 14px;
    font-size: 12px !important;
    font-weight: 700;
}

.learning-description {
    color: #64748b;
    line-height: 2;
    font-size: 14px;
    margin: 20px 0;
}

.learning-placeholder {
    display: flex;
    align-items: center;
    gap: 18px;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 16px;
    padding: 20px;
}

.placeholder-icon {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    border-radius: 14px;
    background: #eef2ff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
}

.learning-placeholder strong {
    color: #334155;
    font-size: 14px;
}

.learning-placeholder p {
    margin: 6px 0 0;
    color: #64748b;
    line-height: 1.9;
    font-size: 12px;
}

.learning-sidebar {
    position: sticky;
    top: 20px;
}

.learning-course-card,
.learning-lessons-card {
    background: #ffffff;
    border: 1px solid #e8edf3;
    border-radius: 20px;
    box-shadow: 0 8px 30px rgba(15, 23, 42, .05);
}

.learning-course-card {
    padding: 14px;
    display: flex;
    gap: 14px;
    align-items: center;
    margin-bottom: 18px;
}

.learning-course-card img {
    width: 86px;
    height: 70px;
    object-fit: cover;
    border-radius: 13px;
}

.learning-course-card > div {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.learning-course-card span {
    color: #94a3b8;
    font-size: 11px;
}

.learning-course-card strong {
    color: #1e293b;
    font-size: 14px;
    line-height: 1.6;
}

.learning-course-card small {
    color: #64748b;
    font-size: 11px;
}

.learning-lessons-card {
    overflow: hidden;
}

.learning-lessons-header {
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #eef2f7;
}

.learning-lessons-header div {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.learning-lessons-header strong {
    color: #172033;
    font-size: 16px;
}

.learning-lessons-header b {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #f1f5f9;
    color: #475569;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

.learning-section {
    border-bottom: 1px solid #eef2f7;
}

.learning-section:last-child {
    border-bottom: 0;
}

.learning-section-title {
    padding: 16px 18px 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: #fafbfc;
}

.learning-section-title span {
    color: #94a3b8;
    font-size: 10px;
}

.learning-section-title strong {
    color: #334155;
    font-size: 13px;
}

.learning-lesson {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 17px;
    border-top: 1px solid #f1f5f9;
    transition: .2s;
}

.learning-lesson:hover {
    background: #f8fafc;
}

.lesson-number {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: 9px;
    background: #f1f5f9;
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
}

.lesson-info {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.lesson-info strong {
    color: #334155;
    font-size: 12px;
    line-height: 1.7;
}

.lesson-info small {
    color: #94a3b8;
    font-size: 10px;
}

.lesson-play,
.lesson-completed {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
}

.lesson-play {
    background: #f1f5f9;
    color: #64748b;
}

.lesson-completed {
    background: #dcfce7;
    color: #15803d;
    font-size: 13px;
}

.lesson-empty {
    padding: 25px 18px;
    text-align: center;
    color: #94a3b8;
    font-size: 12px;
}

@media (max-width: 1050px) {
    .learning-layout {
        grid-template-columns: 1fr;
    }

    .learning-sidebar {
        position: static;
    }

    .learning-topbar {
        align-items: stretch;
        flex-direction: column;
    }

    .learning-progress-box {
        width: 100%;
    }
}

@media (max-width: 650px) {
    .learning-page {
        padding: 15px 10px 40px;
    }

    .learning-topbar {
        padding: 18px;
        border-radius: 16px;
    }

    .learning-brand {
        align-items: flex-start;
        flex-direction: column;
    }

    .learning-brand h1 {
        font-size: 18px;
    }

    .learning-layout {
        gap: 15px;
    }

    .learning-video-card,
    .learning-content-card,
    .learning-course-card,
    .learning-lessons-card {
        border-radius: 16px;
    }

    .video-placeholder {
        min-height: 300px;
    }

    .learning-content-card {
        padding: 20px;
    }

    .learning-content-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .learning-placeholder {
        align-items: flex-start;
    }
}


/* حذف برچسب وضعیت پرداخت آنلاین */
.payment-option-online .payment-option-badge {
    display: none !important;
}

/* فعال‌سازی کامل پرداخت آنلاین */
.payment-option-online {
    background: linear-gradient(135deg, #ffffff 0%, #f5f8fb 100%) !important;
    border-color: #d9e2ea !important;
    cursor: pointer !important;
    opacity: 1 !important;
    transition: .2s ease;
}

.payment-option-online:hover {
    transform: translateY(-2px) !important;
    border-color: #0b426f !important;
    box-shadow: 0 14px 32px rgba(16, 47, 80, .15) !important;
    background: #ffffff !important;
}

.payment-option-online.selected {
    border-color: #0b426f !important;
    background: #eef5fa !important;
    box-shadow: 0 8px 22px rgba(18, 59, 94, .12) !important;
    transform: translateY(-2px);
}

.payment-option-in-person.selected {
    border-color: #0b426f !important;
    background: #eef5fa !important;
    box-shadow: 0 8px 22px rgba(18, 59, 94, .12) !important;
}

.payment-notification {
    position: fixed;
    top: 90px;
    right: 24px;
    z-index: 99999;
    width: min(390px, calc(100vw - 32px));
    padding: 18px 20px;
    border-radius: 16px;
    background: #ffffff;
    border: 1px solid #dbe5ec;
    box-shadow: 0 18px 50px rgba(15, 23, 42, .18);
    display: flex;
    align-items: flex-start;
    gap: 13px;
    direction: rtl;
    animation: paymentNotificationIn .35s ease;
}

.payment-notification-icon {
    width: 38px;
    height: 38px;
    min-width: 38px;
    border-radius: 11px;
    background: #eaf4fb;
    color: #0b426f;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 900;
}

.payment-notification-content {
    flex: 1;
}

.payment-notification-content strong {
    display: block;
    color: #172033;
    font-size: 14px;
    margin-bottom: 5px;
}

.payment-notification-content span {
    display: block;
    color: #64748b;
    font-size: 12px;
    line-height: 1.8;
}

.payment-notification-close {
    border: 0;
    background: transparent;
    color: #94a3b8;
    font-size: 20px;
    cursor: pointer;
    line-height: 1;
}

@keyframes paymentNotificationIn {
    from {
        opacity: 0;
        transform: translateY(-15px) translateX(15px);
    }
    to {
        opacity: 1;
        transform: translateY(0) translateX(0);
    }
}

.payment-notification.hide {
    animation: paymentNotificationOut .3s ease forwards;
}

@keyframes paymentNotificationOut {
    to {
        opacity: 0;
        transform: translateY(-10px) translateX(15px);
    }
}

@media (max-width: 600px) {
    .payment-notification {
        top: 75px;
        right: 16px;
    }
}

/* =========================================
   PAYMENT NOTIFICATION
========================================= */

.payment-notification {
    position: fixed;
    top: 90px;
    right: 24px;
    z-index: 999999;
    width: min(430px, calc(100vw - 32px));
    min-height: 82px;
    padding: 17px 18px;
    display: none;
    align-items: center;
    gap: 13px;
    direction: rtl;
    background: #ffffff;
    border: 1px solid #dce6ee;
    border-radius: 18px;
    box-shadow:
        0 20px 60px rgba(15, 23, 42, .18),
        0 4px 15px rgba(15, 23, 42, .06);
    animation: paymentNotificationShow .35s ease;
}

.payment-notification-icon {
    width: 44px;
    height: 44px;
    min-width: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #eaf4fb;
    color: #0b426f;
    font-size: 20px;
}

.payment-notification-content {
    flex: 1;
    min-width: 0;
}

.payment-notification-content strong {
    display: block;
    margin-bottom: 5px;
    color: #172033;
    font-size: 14px;
    font-weight: 900;
}

.payment-notification-content span {
    display: block;
    color: #64748b;
    font-size: 12px;
    line-height: 1.9;
}

.payment-notification-close {
    width: 30px;
    height: 30px;
    min-width: 30px;
    padding: 0;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #94a3b8;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    transition: .2s ease;
}

.payment-notification-close:hover {
    background: #f1f5f9;
    color: #334155;
}

.payment-notification.hide {
    animation: paymentNotificationHide .3s ease forwards;
}


/* =========================================
   PAYMENT BUTTONS
========================================= */

.payment-option-online {
    cursor: pointer !important;
    opacity: 1 !important;
    transition: .2s ease;
}

.payment-option-online:hover {
    transform: translateY(-2px) !important;
    border-color: #0b426f !important;
    box-shadow: 0 14px 32px rgba(16, 47, 80, .15) !important;
}

.payment-option-online.selected,
.payment-option-in-person.selected {
    border-color: #0b426f !important;
    background: #eef5fa !important;
    box-shadow: 0 8px 22px rgba(18, 59, 94, .12) !important;
    transform: translateY(-2px);
}


/* =========================================
   ANIMATION
========================================= */

@keyframes paymentNotificationShow {
    from {
        opacity: 0;
        transform: translateY(-18px) translateX(18px);
    }

    to {
        opacity: 1;
        transform: translateY(0) translateX(0);
    }
}

@keyframes paymentNotificationHide {
    to {
        opacity: 0;
        transform: translateY(-12px) translateX(15px);
    }
}


@media (max-width: 600px) {

    .payment-notification {
        top: 75px;
        right: 16px;
        width: calc(100vw - 32px);
    }

}

/* =========================================
   KPM PRO — FINAL CATEGORY COURSE GRID
   ========================================= */

.course-category-section .courses-grid {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 16px !important;
    width: 100% !important;
    align-items: stretch !important;
}

.course-category-section .course-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
}

/* کارت کوچک و حرفه‌ای */

.course-category-section .course-image {
    height: 145px !important;
}

.course-category-section .course-body {
    padding: 12px !important;
}

.course-category-section .course-card h3 {
    padding: 0 !important;
    margin: 7px 0 9px !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

.course-category-section .course-card p {
    padding: 0 !important;
    margin: 6px 0 !important;
    font-size: 10px !important;
    line-height: 1.8 !important;
}

.course-category-section .course-instructor {
    margin: 8px 0 !important;
    padding: 8px 9px !important;
    border-radius: 9px !important;
}

.course-category-section .course-price strong {
    font-size: 12px !important;
}

.course-category-section .course-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 8px !important;
    border-radius: 9px !important;
    font-size: 10px !important;
}

/* تبلت */

@media (max-width: 1000px) {
    .course-category-section .courses-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* موبایل */

@media (max-width: 650px) {
    .course-category-section .courses-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .course-category-section .course-image {
        height: 125px !important;
    }
}

/* =========================================
   KPM PRO — COMPACT SQUARE COURSE CARDS
   ========================================= */

.course-category-section .courses-grid {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 14px !important;
    width: 100% !important;
}

/* کارت کاملاً فشرده و نزدیک به مربع */
.course-category-section .course-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 !important;

    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;

    background: #fff !important;
    border: 1px solid #e9e5de !important;
    border-radius: 16px !important;
    box-shadow: 0 3px 14px rgba(20,35,55,.055) !important;

    transition: transform .2s ease, box-shadow .2s ease !important;
}

.course-category-section .course-card:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 10px 24px rgba(20,35,55,.10) !important;
}

/* تصویر کوچک و تمیز */
.course-category-section .course-image {
    height: 82px !important;
    min-height: 82px !important;
    flex-shrink: 0 !important;
    overflow: hidden !important;
    background: #f6f5f2 !important;
}

.course-category-section .course-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* بدنه */
.course-category-section .course-body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    padding: 9px !important;
    min-height: 0 !important;
}

/* دسته */
.course-category-section .course-category {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    padding: 3px 7px !important;
    margin: 0 0 5px !important;

    background: #faf5e9 !important;
    border: 1px solid #eee1c5 !important;
    border-radius: 20px !important;

    color: #9b7128 !important;
    font-size: 8px !important;
    line-height: 1.5 !important;
}

/* عنوان */
.course-category-section .course-card h3 {
    padding: 0 !important;
    margin: 0 0 6px !important;

    font-size: 12px !important;
    line-height: 1.7 !important;
    font-weight: 800 !important;

    color: #10243d !important;

    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

/* مدرس */
.course-category-section .course-instructor {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;

    margin: 0 0 6px !important;
    padding: 5px 6px !important;

    background: #f7f8f9 !important;
    border: 1px solid #edf0f2 !important;
    border-radius: 8px !important;
}

.course-category-section .course-instructor .instructor-icon {
    width: 22px !important;
    height: 22px !important;
    flex: 0 0 22px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #10243d !important;
    color: #fff !important;
    border-radius: 50% !important;

    font-size: 9px !important;
}

.course-category-section .course-instructor small {
    display: block !important;
    font-size: 7px !important;
    color: #a08b6b !important;
    margin-bottom: 1px !important;
}

.course-category-section .course-instructor strong {
    display: block !important;
    font-size: 9px !important;
    line-height: 1.5 !important;
    color: #172b43 !important;
}

/* توضیحات حذف شود تا کارت تمیز بماند */
.course-category-section .course-card p {
    display: none !important;
}

/* بخش قیمت و دکمه */
.course-category-section .course-bottom {
    margin-top: auto !important;
    padding-top: 6px !important;
    border-top: 1px solid #eee9e1 !important;

    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
}

/* قیمت */
.course-category-section .course-price small {
    display: block !important;
    font-size: 7px !important;
    color: #9a9a9a !important;
    margin-bottom: 1px !important;
}

.course-category-section .course-price strong {
    font-size: 11px !important;
    line-height: 1.5 !important;
    color: #10243d !important;
    white-space: nowrap !important;
}

.course-category-section .course-price strong span {
    font-size: 7px !important;
    color: #888 !important;
    font-weight: 500 !important;
}

/* دکمه */
.course-category-section .course-link {
    width: 100% !important;
    min-height: 27px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 5px 6px !important;
    border-radius: 7px !important;

    background: #10243d !important;
    color: #fff !important;

    font-size: 8px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
}

.course-category-section .course-link span {
    margin-right: 4px !important;
}

/* دسکتاپ متوسط */
@media (max-width: 1200px) {
    .course-category-section .courses-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

/* تبلت */
@media (max-width: 900px) {
    .course-category-section .courses-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* موبایل */
@media (max-width: 600px) {
    .course-category-section .courses-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    .course-category-section .course-card {
        border-radius: 13px !important;
    }

    .course-category-section .course-image {
        height: 72px !important;
        min-height: 72px !important;
    }
}


/* KPM PRO — 5 COLUMN COURSE GRID */
.course-category-section .courses-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

@media (max-width: 1200px) {
    .course-category-section .courses-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 900px) {
    .course-category-section .courses-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    .course-category-section .courses-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* KPM PRO — 4 COLUMN COURSE GRID */
.course-category-section .courses-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 900px) {
    .course-category-section .courses-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    .course-category-section .courses-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* =========================================
   KPM PRO — CATEGORY HEADINGS
   ========================================= */

.course-category-section {
    position: relative !important;
    margin-bottom: 42px !important;
}

/* هدر هر دسته */
.course-category-section .category-heading {
    position: relative !important;

    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;

    margin-bottom: 18px !important;
    padding: 0 4px 12px !important;

    border-bottom: 1px solid #e8e1d5 !important;
}

/* خط طلایی بالای عنوان */
.course-category-section .category-heading::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    bottom: -1px !important;

    width: 75px !important;
    height: 3px !important;

    background: #c99a45 !important;
    border-radius: 10px !important;
}

/* برچسب مسیر آموزشی */
.course-category-section .category-label {
    display: block !important;

    margin-bottom: 4px !important;

    color: #b08336 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: .2px !important;
}

/* عنوان اصلی دسته */
.course-category-section .category-heading h3 {
    margin: 0 !important;
    padding: 0 !important;

    color: #10243d !important;
    font-size: 21px !important;
    line-height: 1.5 !important;
    font-weight: 900 !important;
}

/* توضیحات دسته */
.course-category-section .category-heading p {
    margin: 4px 0 0 !important;
    padding: 0 !important;

    color: #7b8087 !important;
    font-size: 10px !important;
    line-height: 1.8 !important;
}

/* تعداد دوره */
.course-category-section .category-count {
    flex-shrink: 0 !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-width: 62px !important;
    height: 27px !important;
    padding: 0 10px !important;

    background: #f8f3e8 !important;
    border: 1px solid #ead9b8 !important;
    border-radius: 20px !important;

    color: #9a702c !important;
    font-size: 9px !important;
    font-weight: 700 !important;
}

/* فاصله بین هدر و کارت‌ها */
.course-category-section .courses-grid {
    margin-top: 0 !important;
}

/* موبایل */
@media (max-width: 600px) {

    .course-category-section {
        margin-bottom: 30px !important;
    }

    .course-category-section .category-heading {
        align-items: flex-start !important;
        margin-bottom: 13px !important;
        padding-bottom: 9px !important;
    }

    .course-category-section .category-heading h3 {
        font-size: 17px !important;
    }

    .course-category-section .category-label {
        font-size: 8px !important;
    }

    .course-category-section .category-count {
        min-width: 50px !important;
        height: 24px !important;
        padding: 0 7px !important;
        font-size: 8px !important;
    }
}


/* =========================================
   KPM PRO — HERO LEARNING PANEL
   ========================================= */

.hero-panel {
    position: relative !important;
    overflow: hidden !important;
    background: #ffffff !important;
    border: 1px solid #e8e2d8 !important;
    border-radius: 24px !important;
    box-shadow: 0 12px 35px rgba(16,36,61,.07) !important;
}

.hero-panel-main {
    padding: 28px !important;
}

.hero-panel-kicker {
    display: inline-flex !important;
    align-items: center !important;

    padding: 6px 11px !important;
    margin-bottom: 12px !important;

    background: #faf4e7 !important;
    border: 1px solid #ead9b8 !important;
    border-radius: 30px !important;

    color: #a27632 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
}

.hero-panel-main h3 {
    margin: 0 !important;
    color: #10243d !important;
    font-size: 30px !important;
    line-height: 1.6 !important;
    font-weight: 900 !important;
}

.hero-panel-main h3 span {
    display: block !important;
    color: #b1843b !important;
}

.hero-panel-main p {
    margin: 10px 0 0 !important;
    color: #737a82 !important;
    font-size: 12px !important;
    line-height: 2 !important;
}

.hero-panel-status {
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;

    padding: 10px 18px !important;

    color: #59636d !important;
    font-size: 10px !important;
}

.hero-panel-status span {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #39a96b !important;
    box-shadow: 0 0 0 4px rgba(57,169,107,.12) !important;
}

.hero-learning-path {
    margin: 0 28px 28px !important;
    padding: 16px !important;

    background: #f8f7f4 !important;
    border: 1px solid #ece8df !important;
    border-radius: 16px !important;
}

.hero-path-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;

    padding: 9px !important;
    border-radius: 11px !important;
}

.hero-path-item.active {
    background: #ffffff !important;
    box-shadow: 0 4px 15px rgba(16,36,61,.06) !important;
}

.hero-path-number {
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border-radius: 10px !important;
    background: #10243d !important;
    color: #fff !important;

    font-size: 10px !important;
    font-weight: 800 !important;
}

.hero-path-item strong {
    display: block !important;
    color: #172b43 !important;
    font-size: 11px !important;
}

.hero-path-item span {
    display: block !important;
    margin-top: 2px !important;
    color: #858b91 !important;
    font-size: 9px !important;
}

.hero-path-line {
    width: 1px !important;
    height: 15px !important;
    margin-right: 24px !important;
    background: #dfd8cc !important;
}

.floating-card {
    position: absolute !important;
    z-index: 3 !important;

    display: flex !important;
    align-items: center !important;
    gap: 7px !important;

    padding: 9px 13px !important;

    background: rgba(255,255,255,.96) !important;
    border: 1px solid #e9e0d1 !important;
    border-radius: 12px !important;

    color: #26384b !important;
    font-size: 9px !important;
    font-weight: 700 !important;

    box-shadow: 0 8px 24px rgba(16,36,61,.09) !important;
}

.floating-card span,
.floating-card strong {
    color: #b1843b !important;
}

/* موبایل */
@media (max-width: 700px) {
    .hero-panel-main {
        padding: 20px !important;
    }

    .hero-panel-main h3 {
        font-size: 23px !important;
    }

    .hero-learning-path {
        margin: 0 20px 20px !important;
    }

    .floating-card {
        display: none !important;
    }
}

