.left{
    float:left;
    margin-right: 10px;
}
.clear{
    clear: both;
}

#matn {
  display: none;
}
/* ==========================================
   Molecular Genetics Internship - Page Style
   بدون تغییر ساختار HTML و عملکرد PHP
========================================== */

/* تنظیمات کلی صفحه */
.container.py-2 {
    --gen-primary: #1769aa;
    --gen-secondary: #13a8a8;
    --gen-dark: #18344d;
    --gen-text: #405268;
    --gen-muted: #718096;
    --gen-light: #f3f8fc;
    --gen-border: #e2ebf3;
    --gen-radius: 16px;

    font-family: iransans, sans-serif;
    color: var(--gen-text);
    line-height: 2;
    direction: rtl;
    padding-top: 28px !important;
    padding-bottom: 40px !important;
}

/* محدوده محتوای اصلی */
.container.py-2 > .row > .col {
    min-width: 0;
    background: #fff;
    border: 1px solid var(--gen-border);
    border-radius: 22px;
    padding: clamp(18px, 3.5vw, 42px);
    box-shadow: 0 10px 40px rgba(24, 67, 105, 0.07);
    overflow-wrap: anywhere;
}

/* عنوان اصلی دوره */
.container.py-2 h2.font-weight-normal {
    font-family: yekan, sans-serif !important;
    color: var(--gen-dark);
    font-size: clamp(23px, 3vw, 34px) !important;
    font-weight: 700 !important;
    line-height: 1.8;
    margin-bottom: 24px !important;
    padding: 0 18px 18px 0;
    border-bottom: 2px solid var(--gen-border);
    position: relative;
}

.container.py-2 h2.font-weight-normal::after {
    content: "";
    position: absolute;
    bottom: -2px;
    right: 0;
    width: 100px;
    height: 3px;
    border-radius: 10px;
    background: linear-gradient(90deg, var(--gen-secondary), var(--gen-primary));
}

/* تیترهای بخش‌ها */
.container.py-2 h3 {
    font-family: kahroba, yekan, sans-serif !important;
    color: var(--gen-dark);
    font-size: clamp(18px, 2.2vw, 23px);
    font-weight: 700;
    line-height: 1.9;
    margin-top: 30px !important;
    margin-bottom: 16px;
    padding: 10px 15px 10px 12px;
    background: linear-gradient(90deg, #f0f8fc 0%, #f8fbfd 100%);
    border-right: 4px solid var(--gen-secondary);
    border-radius: 0 10px 10px 0;
}

/* متن‌های توضیحی */
.container.py-2 .col > div[style*="text-align:justify"] {
    font-family: iransans, sans-serif !important;
    font-size: 15px;
    line-height: 2.2;
    color: var(--gen-text);
}

.container.py-2 p {
    line-height: 2;
}

/* لینک‌ها */
.container.py-2 a {
    color: var(--gen-primary);
    text-decoration: none;
    transition: color .2s ease, background .2s ease;
}

.container.py-2 a:hover {
    color: var(--gen-secondary);
}

/* تصاویر معرفی و پوستر */
.container.py-2 img {
    max-width: 100%;
    height: auto;
}

.container.py-2 .left {
    float: left;
    width: 23% !important;
    max-width: 260px;
    margin: 0 24px 22px 0;
    padding: 14px;
    background: #fff;
    border: 1px solid var(--gen-border);
    border-radius: var(--gen-radius);
    box-shadow: 0 5px 20px rgba(25, 66, 100, .07);
    text-align: center;
}

.container.py-2 .left img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto 12px;
    border-radius: 9px;
}

.container.py-2 .left p {
    margin: 12px 0 !important;
    padding: 10px !important;
    font-family: iransans, sans-serif !important;
    background: linear-gradient(135deg, #1769aa, #13a8a8) !important;
    color: #fff !important;
    font-size: 14px;
    font-weight: 600;
    border-radius: 9px;
}

.container.py-2 .left a img {
    border: 1px solid var(--gen-border);
    transition: transform .25s ease, box-shadow .25s ease;
}

.container.py-2 .left a:hover img {
    transform: translateY(-3px);
    box-shadow: 0 7px 18px rgba(23, 105, 170, .15);
}

/* جلوگیری از تداخل شناوری تصویر با بخش‌های بعدی */
.container.py-2 .left + div {
    min-width: 0;
}

/* فهرست‌های آموزشی و ضوابط */
.container.py-2 ul {
    padding: 8px 30px 8px 12px;
    margin: 12px 0 24px;
    list-style: none;
}

.container.py-2 ul li {
    position: relative;
    padding: 9px 27px 9px 12px;
    margin-bottom: 7px;
    line-height: 2;
    border-bottom: 1px solid #edf2f7;
    border-radius: 7px;
    transition: background .2s ease;
}

.container.py-2 ul li::before {
    content: "";
    position: absolute;
    top: 20px;
    right: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--gen-secondary);
    box-shadow: 0 0 0 4px rgba(19, 168, 168, .10);
}

.container.py-2 ul li:last-child {
    border-bottom: none;
}

.container.py-2 ul li:hover {
    background: #f5fafc;
}

/* تأکید بر هشدارها */
.container.py-2 ul li span[style*="color:red"] {
    color: #c62828 !important;
    font-weight: 700;
    background: #fff2f2;
    padding: 3px 7px;
    border-radius: 5px;
}

/* بخش ظرفیت دوره */
.container.py-2 h3 + span[style*="font-family:yekan"] {
    display: block;
    margin: 12px 0 22px;
    padding: 17px 20px;
    font-family: yekan, sans-serif !important;
    font-size: 15px;
    font-weight: 600;
    line-height: 2.2;
    color: #145b82;
    background: linear-gradient(135deg, #eaf7ff, #effbfa);
    border: 1px solid #d3eaf5;
    border-radius: 12px;
    border-right: 5px solid var(--gen-primary);
}

/* محل برگزاری و نمایش آدرس */
.container.py-2 #hideshow {
    font-family: iransans, sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    background: var(--gen-primary);
    border: 0;
    border-radius: 8px;
    padding: 8px 16px;
    margin: 5px 8px;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}

.container.py-2 #hideshow:hover {
    background: #125187;
    transform: translateY(-1px);
}

.container.py-2 #matn {
    margin-top: 14px;
}

.container.py-2 #matn label {
    display: block;
    width: 100%;
    height: auto;
    white-space: normal;
    padding: 20px !important;
    font-family: iransans, sans-serif !important;
    font-size: 14px !important;
    line-height: 2.2;
    color: var(--gen-text) !important;
    background: #f7fafc;
    border: 1px solid var(--gen-border);
    border-radius: 12px;
}

.container.py-2 #matn a {
    display: inline-block;
    font-weight: 700;
    padding: 2px 9px;
    background: #e5f5ff;
    border-radius: 6px;
}

/* دکمه‌های ثبت‌نام */
.container.py-2 .btn.btn-modern {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    white-space: normal;
    text-align: center;
    font-family: yekan, sans-serif !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.9;
    padding: 12px 22px;
    margin: 7px 0 12px 8px;
    border: 1px solid transparent;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(23, 105, 170, .10);
    transition: transform .2s ease, box-shadow .2s ease;
}

.container.py-2 .btn.btn-modern:hover {
    transform: translateY(-2px);
    box-shadow: 0 7px 18px rgba(23, 105, 170, .17);
}

.container.py-2 .btn.btn-tertiary {
    background: linear-gradient(135deg, #1769aa, #248dc3);
    color: #fff;
}

.container.py-2 .btn.btn-secondary {
    background: #eaf7f7;
    border-color: #ccebea;
    color: #087f83;
}

/* دکمه‌های پرداخت */
.container.py-2 input.btn.btn-primary {
    float: none !important;
    display: inline-block;
    max-width: 100%;
    white-space: normal;
    font-family: yekan, sans-serif !important;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.9;
    padding: 12px 22px;
    margin: 5px 0 12px;
    color: #fff;
    background: linear-gradient(135deg, #1769aa, #13a8a8);
    border: none;
    border-radius: 10px;
    box-shadow: 0 5px 15px rgba(23, 105, 170, .16);
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease;
}

.container.py-2 input.btn.btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(23, 105, 170, .23);
}

/* عنوان‌های سبز ثبت‌نام */
.container.py-2 h3[style*="color:green"] {
    color: #178454 !important;
    background: #effaf4;
    border-right-color: #25a66a;
}

/* متن‌ها و عناصر فرم‌های داخلی */
.container.py-2 label,
.container.py-2 input,
.container.py-2 button {
    font-family: iransans, sans-serif;
}

/* نمایش بهتر در موبایل و تبلت */
@media (max-width: 767px) {
    .container.py-2 {
        padding: 14px 10px !important;
    }

    .container.py-2 > .row > .col {
        padding: 18px 14px;
        border-radius: 14px;
    }

    .container.py-2 .left {
        float: none;
        width: 100% !important;
        max-width: 320px;
        margin: 0 auto 24px;
    }

    .container.py-2 .left img {
        max-width: 100%;
    }

    .container.py-2 h2.font-weight-normal {
        padding-right: 10px;
        font-size: 23px !important;
    }

    .container.py-2 h3 {
        font-size: 18px;
        padding: 9px 12px;
        margin-top: 24px !important;
    }

    .container.py-2 ul {
        padding-right: 20px;
        padding-left: 0;
    }

    .container.py-2 ul li {
        padding-right: 23px;
        padding-left: 4px;
        font-size: 14px;
    }

    .container.py-2 .btn.btn-modern,
    .container.py-2 input.btn.btn-primary {
        display: block;
        width: 100%;
        margin: 10px 0;
        padding: 12px 10px;
        float: none !important;
    }

    .container.py-2 #matn label {
        padding: 14px !important;
        font-size: 13px !important;
    }
}

/* رعایت تنظیمات کاهش حرکت کاربر */
@media (prefers-reduced-motion: reduce) {
    .container.py-2 *,
    .container.py-2 *::before,
    .container.py-2 *::after {
        transition: none !important;
        animation: none !important;
    }
}

/* باکس شناور تصاویر */
.container.py-2 .left {
    float: none !important;
    position: fixed !important;

    /* فاصله از بالای صفحه */
    top: 200px;

    /* قرارگیری در فضای خالی سمت چپ محتوا */
    left: max(12px, calc((100vw - 990px) / 2 - 300px));

    width: 195px !important;
    max-width: 195px;
    box-sizing: border-box;

    margin: 0 !important;
    padding: 12px;

    background: #fff;
    border: 1px solid #e5edf4;
    border-radius: 16px;

    box-shadow: 0 10px 30px rgba(25, 60, 90, .12);

    text-align: center;
    z-index: 100;

    /* حذف اسکرول داخلی */
    overflow: visible !important;
    max-height: none !important;
}

/* تصاویر داخل باکس */
.container.py-2 .left img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto 10px;
    border-radius: 9px;
}

/* عنوان پوستر */
.container.py-2 .left p {
    margin: 10px 0 !important;
    padding: 8px !important;
    border-radius: 8px;
    background: linear-gradient(135deg, #1769aa, #13a8a8) !important;
    color: #fff !important;
    font-size: 12px;
}

/* فاصله مناسب در نمایشگرهای کوچک */
@media (min-width: 768px) and (max-width: 1250px) {
    .container.py-2 .left {
        width: 135px !important;
        max-width: 135px;
        left: 8px;
        padding: 8px;
    }
}

/* موبایل و تبلت کوچک */
@media (max-width: 767px) {
    .container.py-2 .left {
        position: static !important;
        width: 100% !important;
        max-width: 300px;
        margin: 0 auto 24px !important;
    }
}




/* اصلاح چیدمان تصاویر و متن در موبایل */
@media (max-width: 767px) {

    /* باکس تصاویر */
    .container.py-2 .left {
        position: static !important;
        float: left !important;

        width: 34% !important;
        max-width: 140px;

        margin: 0 0 20px 12px !important;
        padding: 8px;

        box-sizing: border-box;
        clear: none !important;
    }

    /* فضای متن کنار باکس تصاویر */
    .container.py-2 .left + div {
        display: block !important;
        min-width: 0;
        width: auto !important;
        margin-left: 0 !important;
        padding-left: 20 !important;
    }

    /* متن اصلی */
    .container.py-2 .col > div[style*="text-align:justify"] {
        text-align: justify;
        overflow-wrap: anywhere;
    }

    /* تیترها و فهرست‌ها نیز کنار تصویر قرار بگیرند */
    .container.py-2 h3,
    .container.py-2 ul {
        overflow-wrap: anywhere;
    }
}


/* باکس اطلاعیه هزینه صدور و ارسال گواهینامه */
.certificate-fee-notice {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    width: 100%;
    box-sizing: border-box;
    margin: 22px 0;
    padding: 18px 20px;

    direction: rtl;
    text-align: right;
    font-family: iransans, sans-serif;
    font-size: 14px;
    line-height: 2.1;
    color: #29465c;

    background: linear-gradient(135deg, #f0f9ff 0%, #f4fbfa 100%);
    border: 1px solid #d5e9f2;
    border-right: 4px solid #159da5;
    border-radius: 14px;

    box-shadow: 0 5px 18px rgba(35, 86, 115, 0.06);
}

.certificate-fee-notice__icon {
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;

    color: #fff;
    background: linear-gradient(135deg, #1769aa, #13a8a8);
    border-radius: 12px;
    font-size: 22px;
}

.certificate-fee-notice__content {
    flex: 1;
    min-width: 0;
}

.certificate-fee-notice__title {
    display: block;
    margin: 0 0 4px;
    font-family: yekan, sans-serif;
    font-size: 16px;
    font-weight: bold;
    color: #1769aa;
}

.certificate-fee-notice__content p {
    margin: 0;
    padding: 0;
    color: #40576a;
}

@media (max-width: 480px) {
    .certificate-fee-notice {
        gap: 10px;
        padding: 14px 12px;
        font-size: 13px;
    }

    .certificate-fee-notice__icon {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
        font-size: 19px;
    }

    .certificate-fee-notice__title {
        font-size: 14px;
    }
}