
/*
|--------------------------------------------------------------------------
| Student Portal Slider Visibility
|--------------------------------------------------------------------------
*/

[data-home3-slide][hidden] {
    display: none !important;
}

/*
|--------------------------------------------------------------------------
| Mobile Navigation Visibility
|--------------------------------------------------------------------------
*/

#portalMobileMenu.d-none {
    display: none !important;
}

/* Native browser equivalents for the template's React carousel components. */
.courses-area-three .container { position: relative; }
.courses-slider-active { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.courses-slider-active::-webkit-scrollbar { display: none; }
.courses-slider-active > div { flex: 0 0 25%; max-width: 25%; scroll-snap-align: start; }
.courses-slider-active .courses__item-two { height: calc(100% - 30px); }
.courses__item-two-thumb img { width: 100%; aspect-ratio: 1.5; object-fit: cover; }
.brand-active { flex-wrap: nowrap; overflow-x: auto; }
.brand-active > .col { flex: 0 0 16.666%; }
.testimonial__item[hidden] { display: none !important; }
.portal-testimonial-controls { display: flex; justify-content: center; gap: 10px; padding-top: 20px; }
.portal-testimonial-controls button { width: 10px; height: 10px; border: 0; border-radius: 50%; background: #d4dce8; padding: 0; }
.portal-testimonial-controls button[aria-pressed="true"] { background: var(--tg-theme-primary); }
.mobile-nav-toggler, .close-btn { border: 0; background: transparent; }
.mobile-menu-visible .scroll__top { visibility: hidden; }
.student-auth-card { border: 1px solid #e4e9f0; border-radius: 16px; padding: 40px; background: #fff; box-shadow: 0 10px 40px rgb(15 23 42 / .05); }
.student-auth-card .form-grp { margin-bottom: 22px; }
.student-auth-card label { display: block; margin-bottom: 8px; color: var(--tg-heading-color); font-weight: 600; }
.student-auth-card .form-grp input { width: 100%; border: 1px solid #dce3ed; border-radius: 8px; padding: 14px 16px; }
.student-auth-card .form-grp input:focus { outline: 2px solid var(--tg-theme-primary); outline-offset: 2px; }
.student-stat, .student-empty { border: 1px solid #e4e9f0; border-radius: 12px; padding: 30px; background: #f8faff; }
.student-stat h2 { margin: 12px 0 0; color: var(--tg-theme-primary); }
.student-empty > i { font-size: 48px; color: var(--tg-theme-primary); }
.student-logout { border: 0; background: transparent; color: var(--tg-theme-primary); font-weight: 600; white-space: nowrap; }
@media (max-width: 575px) { .student-auth-card { padding: 24px; } }
button:focus-visible, a:focus-visible { outline: 3px solid var(--tg-theme-primary); outline-offset: 4px; }
#templatePreview { width: min(680px, 92vw); border: 0; border-radius: 12px; padding: 30px; }
#templatePreview::backdrop { background: rgb(0 0 0 / .65); }
#templatePreview img { width: 100%; max-height: 300px; object-fit: cover; margin: 25px 0; }
#templatePreview button { float: right; }
@media (max-width: 1199px) { .courses-slider-active > div { flex-basis: 33.333%; max-width: 33.333%; } }
@media (max-width: 991px) { .courses-slider-active > div { flex-basis: 50%; max-width: 50%; } .brand-active > .col { flex-basis: 25%; } }
@media (max-width: 575px) { .courses-slider-active > div { flex-basis: 100%; max-width: 100%; } .brand-active > .col { flex-basis: 50%; } }
@media (prefers-reduced-motion: reduce) { .alltuchtopdown, .rotateme { animation: none !important; } }

/* Shared catalog and home cards, matching the compact course storefront layout. */
.qaaf-course-column { display: flex; }
.qaaf-course-card { display: flex; flex-direction: column; width: 100%; margin-bottom: 24px; background: #fff; border: 1px solid #e8edf3; border-radius: 7px; overflow: hidden; box-shadow: 0 5px 15px rgba(0,48,114,.08); transition: transform .2s, box-shadow .2s; }
.qaaf-course-card:hover { transform: translateY(-3px); box-shadow: 0 9px 24px rgba(0,48,114,.13); }
.qaaf-course-cover { display: block; overflow: hidden; background: #eef3fa; }
.qaaf-course-cover img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.qaaf-course-body { padding: 17px 16px 15px; display: flex; flex-direction: column; flex: 1; }
.qaaf-course-rating { display: flex; align-items: center; gap: 7px; margin-bottom: 10px; }
.qaaf-course-rating > span { font-size: 21px; color: #f59b00; letter-spacing: 1px; line-height: 1; }
.qaaf-course-rating small { font-size: 10px; color: #7b879a; }
.qaaf-course-title { font-size: 15px; font-weight: 600; line-height: 1.6; margin: 0 0 11px; min-height: 72px; }
.qaaf-course-title a { color: #273344; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.qaaf-course-title a:hover { color: var(--qaaf-blue); }
.qaaf-course-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 11px; color: #4b5565; margin-bottom: 20px; }
.qaaf-course-meta i { color: #8490a5; margin-right: 4px; }
.qaaf-course-teacher { display: flex; gap: 9px; align-items: center; font-size: 11px; color: #303b4a; margin-top: auto; min-height: 32px; }
.qaaf-course-teacher img, .qaaf-course-initial { width: 30px; height: 30px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.qaaf-course-initial { display: grid; place-items: center; background: #eaf2ff; color: var(--qaaf-navy); font-weight: 700; }
.qaaf-course-teacher small { color: #8894a8; margin-right: 3px; }
.qaaf-course-footer { padding: 13px 14px; border-top: 1px solid #e3e9f2; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 9px; }
.qaaf-course-price { font-size: 13px; font-weight: 700; color: #253247; }
.qaaf-course-enroll { border: 1px solid var(--qaaf-navy); color: var(--qaaf-navy); padding: 6px 9px; border-radius: 4px; font-size: 11px; white-space: nowrap; line-height: 1.5; }
.qaaf-course-enroll i { margin-right: 4px; }
.qaaf-course-enroll:hover { background: var(--qaaf-navy); color: white; }
.qaaf-course-card a:focus-visible { outline: 3px solid var(--qaaf-blue); outline-offset: -3px; }
@media (prefers-reduced-motion: reduce) { .qaaf-course-card { transition: none; } .qaaf-course-card:hover { transform: none; } }

.qaaf-rating-stars { position: relative; display: inline-block; color: #d5dce7; font: 20px/1.2 Arial,sans-serif; letter-spacing: 1px; white-space: nowrap; }
.qaaf-rating-stars .qaaf-rating-fill { position: absolute; inset: 0 auto auto 0; overflow: hidden; color: #f59b00; }
.qaaf-course-rating > .qaaf-rating-stars { color: #d5dce7; }
.qaaf-course-rating:hover small { color: var(--qaaf-navy); }
.qaaf-rating-panel { margin-top: 32px; padding: 24px; border: 1px solid #e3e9f2; border-radius: 12px; background: #fff; scroll-margin-top: 130px; }
.qaaf-rating-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 16px 0 24px; }
.qaaf-rating-summary > span:last-child { color: #657187; font-size: 14px; }
.qaaf-rating-fieldset { border: 0; padding: 0; margin: 0 0 20px; }
.qaaf-rating-fieldset legend { float: none; font-size: 16px; font-weight: 600; margin-bottom: 14px; }
.qaaf-rating-options { display: flex; flex-wrap: wrap; gap: 10px; }
.qaaf-rating-options label { display: flex; align-items: center; gap: 6px; padding: 9px 12px; border: 1px solid #dbe4f0; border-radius: 7px; cursor: pointer; }
.qaaf-rating-options label:has(input:checked) { border-color: var(--qaaf-blue); background: #eef5ff; }
.qaaf-rating-options label:focus-within { outline: 2px solid var(--qaaf-blue); outline-offset: 2px; }
.qaaf-rating-options input { accent-color: var(--qaaf-blue); }
.qaaf-rating-options label > span { color: #f59b00; }
.qaaf-rating-options small { font-size: 11px; color: #66758b; }
.qaaf-rating-hint { margin: 14px 0 0; font-size: 12px; color: #77849a; }
.qaaf-rating-options label { position: relative; padding: 9px 12px; }
.qaaf-rating-options label > span { font-size: 30px; color: #d5dce7; line-height: 1; }
.qaaf-rating-options:not(:has(label:hover)) label:has(input:checked) > span,
.qaaf-rating-options:not(:has(label:hover)) label:has(~ label input:checked) > span,
.qaaf-rating-options label:hover > span,
.qaaf-rating-options label:has(~ label:hover) > span { color: #f59b00; }

/* Client / partner logo carousel: no visible horizontal scrollbar. */
.brand-active { scrollbar-width: none; -ms-overflow-style: none; }
.brand-active::-webkit-scrollbar { display: none; }
.qaaf-partner-carousel { position: relative; padding: 0 36px; }
.brand-active.qaaf-partner-track { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; margin: 0; scroll-snap-type: x mandatory; }
.brand-active.qaaf-partner-track > .col { flex: 0 0 calc(100% / var(--partners-visible,6)); max-width: calc(100% / var(--partners-visible,6)); scroll-snap-align: start; }
.brand-active .brand__item { height: 75px; display: flex; align-items: center; justify-content: center; padding: 8px 12px; }
.brand-active .brand__item img { max-height: 54px; max-width: 100%; object-fit: contain; }
.qaaf-partner-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; width: 30px; height: 36px; border: 1px solid #dce5f1; border-radius: 7px; color: var(--qaaf-navy); background: rgba(255,255,255,.8); padding: 0; font-size: 26px; line-height: 1; }
.qaaf-partner-prev { left: 0; }
.qaaf-partner-next { right: 0; }
.qaaf-partner-arrow:hover { background: var(--qaaf-navy); color: white; }
.qaaf-partner-pause { display: block; margin: 12px auto 0; border: 0; background: transparent; color: #78859a; font-size: 11px; padding: 5px 10px; }
.qaaf-partner-pause:hover { color: var(--qaaf-navy); }
.qaaf-partner-arrow:focus-visible, .qaaf-partner-pause:focus-visible, .qaaf-partner-track:focus-visible { outline: 2px solid var(--qaaf-blue); outline-offset: 2px; }

/* Available lessons are full-row navigation links; locked rows keep their template style. */
.courses__details-curriculum .course-item:has(a.qaaf-lesson-link) { padding: 0; }
.courses__details-curriculum .course-item a.qaaf-lesson-link { width: 100%; padding: 17px 26px; cursor: pointer; text-decoration: none; }
.courses__details-curriculum .course-item a.qaaf-lesson-link:hover { background: #eef5ff; }
.courses__details-curriculum .course-item a.qaaf-lesson-link:hover .item-name { text-decoration: underline; }
.courses__details-curriculum .course-item a.qaaf-lesson-link:focus-visible { outline: 2px solid var(--qaaf-blue); outline-offset: -2px; }
.qaaf-lesson-open { font-size: 11px; margin-right: 7px; color: var(--qaaf-blue); }
@media (max-width: 767px) { .courses__details-curriculum .course-item a.qaaf-lesson-link { padding: 17px 20px; } .qaaf-lesson-open { display: none; } }
