/* ==========================================================================
   افزونه مدیریت آموزشگاه - استایل فرانت‌اند (ریسپانسیو، راست‌به‌چپ، فونت شبنم)
   ========================================================================== */

.cam-wrap {
    max-width: 1140px;
    margin: 0 auto;
    padding: 24px 16px 60px;
    direction: rtl;
    font-family: 'Shabnam', Tahoma, sans-serif;
    color: #222;
}

.cam-wrap *,
.cam-modal { box-sizing: border-box; font-family: 'Shabnam', Tahoma, sans-serif; }

/* ---------- گرید کارت‌ها ---------- */
.cam-courses-grid,
.cam-instructors-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 20px 0;
}

@media (max-width: 900px) {
    .cam-courses-grid,
    .cam-instructors-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .cam-courses-grid,
    .cam-instructors-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* ---------- کارت دوره ---------- */
.cam-course-card {
    display: block;
    background: #fff;
    border: 1px solid #eaeaea;
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: box-shadow .2s ease, transform .2s ease;
}
.cam-course-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); transform: translateY(-2px); }
.cam-course-card__img,
.cam-course-card__placeholder,
.cam-instructor-card__placeholder { aspect-ratio: 16/10; background: #f2f3f5; overflow: hidden; }
.cam-course-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cam-course-card__body { padding: 14px 16px; }
.cam-course-card__title { margin: 0 0 8px; font-size: 17px; font-weight: 700; }
.cam-course-card__meta { margin: 0 0 6px; font-size: 13px; color: #666; }
.cam-course-card__price { margin: 0; font-size: 15px; font-weight: 700; color: #0a7b3e; }

/* ---------- کارت استاد ---------- */
.cam-instructor-card {
    display: block;
    background: #fff;
    border: 1px solid #eaeaea;
    border-radius: 14px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    text-align: center;
    transition: box-shadow .2s ease, transform .2s ease;
}
.cam-instructor-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); transform: translateY(-2px); }
.cam-instructor-card__img { aspect-ratio: 1/1; background: #f2f3f5; }
.cam-instructor-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cam-instructor-card__body { padding: 14px; }
.cam-instructor-card__title { margin: 0 0 4px; font-size: 16px; font-weight: 700; }
.cam-instructor-card__specialty { margin: 0; font-size: 13px; color: #666; }

/* ---------- صفحه تک دوره: هدر و ناوبری ---------- */
.cam-breadcrumb { padding-top: 18px; font-size: 13px; color: #888; }
.cam-breadcrumb a { color: #888; text-decoration: none; }
.cam-breadcrumb a:hover { color: #0a7b3e; }
.cam-breadcrumb span { color: #333; }

.cam-course-layout {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 34px;
    align-items: start;
    padding-top: 18px;
}
@media (max-width: 900px) {
    .cam-course-layout { grid-template-columns: 1fr; }
}

.cam-course-title { font-size: 27px; margin: 0 0 12px; line-height: 1.5; }
.cam-course-lead { color: #555; font-size: 15.5px; line-height: 1.9; margin: 0 0 16px; }

.cam-course-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }
.cam-badge {
    background: #f2f3f5;
    border-radius: 999px;
    padding: 7px 14px;
    font-size: 13px;
    color: #333;
}
.cam-badge--full { background: #fdecea; color: #c62828; font-weight: 700; }

/* ---------- ناوبری سریع (اسکرول‌رو) ---------- */
.cam-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 26px;
    position: sticky;
    top: 0;
    background: #fff;
    padding: 10px 0;
    z-index: 5;
}
.cam-tab {
    background: #f2f3f5;
    border: none;
    border-radius: 999px;
    padding: 9px 16px;
    font-size: 13.5px;
    font-weight: 600;
    color: #444;
    cursor: pointer;
    transition: background .15s ease, color .15s ease;
}
.cam-tab:hover { background: #0a7b3e; color: #fff; }

/* ---------- بخش‌های محتوایی (زیر هم، بدون مخفی‌سازی) ---------- */
.cam-section { margin-bottom: 36px; line-height: 2; scroll-margin-top: 70px; }
.cam-section h2 {
    font-size: 19px;
    margin: 0 0 14px;
    border-inline-start: 4px solid #0a7b3e;
    padding-inline-start: 10px;
}
.cam-section-hint { color: #777; font-size: 13.5px; margin: -6px 0 16px; }
.cam-section-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; }
.cam-section-header h2 { margin: 0; }

/* ---------- زمان‌بندی کلاس‌ها (اسلات‌ها) ---------- */
.cam-slots { display: flex; flex-direction: column; gap: 10px; }
.cam-slot {
    display: grid;
    grid-template-columns: 110px 140px 1fr auto;
    align-items: center;
    gap: 14px;
    background: #fff;
    border: 1px solid #eaeaea;
    border-radius: 12px;
    padding: 14px 18px;
}
.cam-slot--full { background: #fafafa; opacity: .75; }
.cam-slot__day { font-weight: 700; }
.cam-slot__time { color: #444; font-size: 14px; direction: ltr; text-align: right; }
.cam-slot__instructor { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #333; }
.cam-slot__avatar { width: 30px; height: 30px; border-radius: 50%; overflow: hidden; display: inline-block; flex-shrink: 0; }
.cam-slot__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cam-slot__action { text-align: left; }

@media (max-width: 700px) {
    .cam-slot { grid-template-columns: 1fr 1fr; grid-template-areas: "day time" "inst inst" "action action"; }
    .cam-slot__day { grid-area: day; }
    .cam-slot__time { grid-area: time; text-align: left; }
    .cam-slot__instructor { grid-area: inst; }
    .cam-slot__action { grid-area: action; text-align: center; }
}

/* ---------- گالری دوره ---------- */
.cam-gallery-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}
@media (max-width: 600px) { .cam-gallery-grid { grid-template-columns: repeat(2, 1fr); } }
.cam-gallery-grid__item {
    border-radius: 12px;
    overflow: hidden;
    background: #f2f3f5;
    aspect-ratio: 4/3;
}
.cam-gallery-grid__item img,
.cam-gallery-grid__item video { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- نظرات هنرجوها ---------- */
.cam-reviews-list { display: flex; flex-direction: column; gap: 12px; }
.cam-review-card { background: #f7f9f8; border-radius: 12px; padding: 16px 18px; }
.cam-review-card__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.cam-review-card__stars { color: #f5a623; letter-spacing: 2px; }
.cam-review-card__text { margin: 0; color: #444; font-size: 14.5px; line-height: 1.9; }

.cam-star-picker { display: flex; gap: 4px; font-size: 24px; }
.cam-star-picker button { background: none; border: none; cursor: pointer; color: #ddd; padding: 0; line-height: 1; }
.cam-star-picker button.is-active { color: #f5a623; }

/* ---------- سایدبار ثابت خرید/ثبت‌نام ---------- */
.cam-course-sidebar { position: sticky; top: 20px; }
.cam-course-sidebar__card {
    border: 1px solid #eaeaea;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 6px 24px rgba(0,0,0,.05);
}
.cam-course-sidebar__img { aspect-ratio: 16/10; background: #f2f3f5; }
.cam-course-sidebar__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cam-course-sidebar__body { padding: 18px; }
.cam-course-sidebar__price { font-size: 22px; font-weight: 800; color: #0a7b3e; margin-bottom: 14px; }
.cam-course-sidebar__price span { font-size: 14px; font-weight: 500; }
.cam-course-sidebar__price--free { font-size: 16px; }
.cam-course-sidebar__list { list-style: none; margin: 16px 0 0; padding: 0; border-top: 1px solid #f0f0f0; }
.cam-course-sidebar__list li {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    border-bottom: 1px dashed #eee;
    font-size: 13.5px;
    color: #555;
}
.cam-course-sidebar__list li b { color: #222; font-weight: 700; }

@media (max-width: 900px) {
    .cam-course-sidebar { position: static; margin-top: 24px; }
}

/* ---------- دکمه‌ها ---------- */
.cam-btn {
    display: inline-block;
    background: #0a7b3e;
    color: #fff;
    border: none;
    border-radius: 10px;
    padding: 12px 28px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s ease;
}
.cam-btn:hover { background: #08652f; color: #fff; }
.cam-btn--block { width: 100%; }
.cam-btn--small { padding: 8px 16px; font-size: 13.5px; border-radius: 8px; }
.cam-btn--outline { background: transparent; color: #0a7b3e; border: 2px solid #0a7b3e; padding: 8px 18px; }
.cam-btn--outline:hover { background: #0a7b3e; color: #fff; }

/* ---------- مودال‌ها ---------- */
.cam-modal { position: fixed; inset: 0; z-index: 99999; display: none; align-items: center; justify-content: center; }
.cam-modal.is-open { display: flex; }
.cam-modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.55); }
.cam-modal__box {
    position: relative;
    background: #fff;
    border-radius: 16px;
    padding: 28px;
    width: 92%;
    max-width: 440px;
    max-height: 90vh;
    overflow-y: auto;
    direction: rtl;
    z-index: 1;
}
.cam-modal__close {
    position: absolute;
    top: 10px;
    inset-inline-end: 14px;
    background: none;
    border: none;
    font-size: 26px;
    cursor: pointer;
    line-height: 1;
    color: #666;
}
.cam-modal__slot-info { background: #f2f3f5; border-radius: 8px; padding: 10px 14px; font-size: 13.5px; margin: -6px 0 16px; }
.cam-modal__slot-info:empty { display: none; }

.cam-field { margin-bottom: 16px; }
.cam-field label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.cam-field input,
.cam-field textarea {
    width: 100%;
    padding: 11px 14px;
    border: 1px solid #dcdcde;
    border-radius: 8px;
    font-size: 15px;
    font-family: inherit;
}
.cam-form-message { margin-bottom: 14px; font-size: 14px; min-height: 18px; }
.cam-form-message.is-error { color: #c62828; }
.cam-form-message.is-success { color: #0a7b3e; }
.cam-honeypot { position: absolute; left: -9999px; opacity: 0; height: 0; overflow: hidden; }

/* ---------- صفحه تک استاد: چیدمان دوستونه با عکس ثابت ---------- */
.cam-instructor-split {
    display: grid;
    grid-template-columns: 340px 1fr;
    gap: 36px;
    align-items: start;
    padding-top: 24px;
}
@media (max-width: 900px) {
    .cam-instructor-split { grid-template-columns: 1fr; }
}

.cam-instructor-photo-col__sticky { position: sticky; top: 20px; text-align: center; }
@media (max-width: 900px) {
    .cam-instructor-photo-col__sticky { position: static; }
}

.cam-instructor-photo {
    aspect-ratio: 1/1;
    border-radius: 18px;
    overflow: hidden;
    background: #f2f3f5;
    margin-bottom: 16px;
    box-shadow: 0 8px 26px rgba(0,0,0,.08);
}
.cam-instructor-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cam-instructor-photo__name { font-size: 21px; margin: 0 0 6px; }
.cam-instructor-photo__specialty { color: #666; font-size: 14px; margin: 0 0 14px; }

.cam-instructor-hero__stats { list-style: none; display: flex; justify-content: center; gap: 26px; margin: 0; padding: 0; }
.cam-instructor-hero__stats li { display: flex; flex-direction: column; align-items: center; font-size: 12px; color: #888; }
.cam-instructor-hero__stats b { font-size: 19px; color: #0a7b3e; }

.cam-instructor-card-box {
    background: #fff;
    border: 1px solid #eaeaea;
    border-radius: 14px;
    padding: 22px;
    margin-bottom: 20px;
}
.cam-instructor-section { line-height: 2; }
.cam-instructor-section h2 {
    font-size: 18px;
    margin: 0 0 14px;
    border-inline-start: 4px solid #0a7b3e;
    padding-inline-start: 10px;
}
.cam-instructor-works { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.cam-instructor-works li {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #f7f9f8;
    border-radius: 8px;
    padding: 10px 12px;
    font-size: 14px;
}
.cam-instructor-works__icon { color: #0a7b3e; }

/* ---------- فیلتر دسته‌بندی (آرشیو دوره‌ها) ---------- */
.cam-category-filter { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.cam-category-filter__item {
    padding: 8px 16px;
    border-radius: 999px;
    background: #f2f3f5;
    text-decoration: none;
    color: #333;
    font-size: 14px;
}
.cam-category-filter__item.is-active,
.cam-category-filter__item:hover { background: #0a7b3e; color: #fff; }

.cam-archive-title { font-size: 24px; margin-bottom: 6px; }

/* ---------- ادمین: جدول متاباکس ---------- */
.cam-metabox-table th { width: 200px; text-align: right; }
