.page-hero{background-color:var(--color-dark);padding:3.5rem 0;color:#fff}.page-hero__inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}.page-hero__text h1{font-size:2rem;font-weight:800;margin-bottom:.35rem;color:#fff}.page-hero__text p{font-size:.95rem;color:#94a3b8}.page-hero__search{flex:1;max-width:480px}.search-wrap{display:flex;align-items:center;background-color:#fff;border-radius:10px;overflow:hidden;position:relative;box-shadow:0 4px 16px #00000026}.search-wrap i{position:absolute;left:1rem;color:#94a3b8;pointer-events:none;font-size:.9rem}.search-wrap input{flex:1;padding:.85rem 1rem .85rem 2.8rem;border:none;outline:none;font-size:.9rem;color:var(--color-dark);background:transparent}.search-wrap .btn{border-radius:0 10px 10px 0;padding:.85rem 1.4rem;flex-shrink:0;font-weight:600}.courses-page{padding:3rem 0 5rem;background-color:#f8fafc;min-height:60vh}.courses-page__layout{display:grid;grid-template-columns:260px 1fr;gap:2rem;align-items:start}.courses-sidebar{background-color:#fff;border:1px solid var(--color-border);border-radius:14px;position:sticky;top:calc(var(--navbar-height, 65px) + 1rem);overflow:hidden}.courses-sidebar__inner{padding:1.5rem}.courses-sidebar__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.courses-sidebar__head h3{font-size:.95rem;font-weight:700;color:var(--color-dark);display:flex;align-items:center;gap:.5rem}.sidebar-close{display:none;color:var(--color-muted);font-size:1rem;padding:.3rem;cursor:pointer;background:none;border:none}.filter-group{margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--color-border)}.filter-group:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.filter-group__title{font-size:.72rem;font-weight:700;color:var(--color-dark);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.8px}.filter-list{display:flex;flex-direction:column;gap:2px}.filter-item{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border-radius:8px;cursor:pointer;font-size:.875rem;color:#374151;transition:background .15s;justify-content:space-between}.filter-item:hover{background-color:#f1f5f9}.filter-item.active{background-color:#d1fae5;color:var(--color-primary);font-weight:600}.filter-item input[type=radio]{display:none}.filter-item span:first-of-type{display:flex;align-items:center;gap:.5rem;flex:1}.filter-count{font-size:.72rem;color:var(--color-muted);background-color:#f1f5f9;padding:.1rem .5rem;border-radius:999px;flex-shrink:0}.filter-item.active .filter-count{background-color:#a7f3d0;color:var(--color-primary)}.courses-main{min-width:0}.courses-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.courses-toolbar__left{display:flex;align-items:center;gap:1rem}.filter-toggle{display:none}.courses-count{font-size:.875rem;color:var(--color-muted)}.courses-count strong{color:var(--color-dark);font-weight:700}.courses-toolbar__right{display:flex;align-items:center;gap:.5rem}.sort-label{font-size:.875rem;color:var(--color-muted);white-space:nowrap}.sort-select{padding:.5rem .8rem;border:1.5px solid var(--color-border);border-radius:8px;font-size:.875rem;color:var(--color-dark);background-color:#fff;cursor:pointer;outline:none}.sort-select:focus{border-color:var(--color-primary)}.active-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.active-filter-tag{display:inline-flex;align-items:center;gap:.4rem;background-color:#d1fae5;color:var(--color-primary);font-size:.75rem;font-weight:600;padding:.3rem .8rem;border-radius:999px}.active-filter-tag a{color:var(--color-primary);opacity:.7}.active-filter-tag a:hover{opacity:1}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.5rem}.course-card{background:#fff;border:1px solid var(--color-border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.course-card:hover{transform:translateY(-5px);box-shadow:0 12px 32px #0000001a}.course-card__thumb-link{display:block;position:relative;overflow:hidden}.course-card__thumb{width:100%;height:175px;object-fit:cover;display:block;transition:transform .4s ease}.course-card:hover .course-card__thumb{transform:scale(1.05)}.course-card__level{position:absolute;top:.75rem;left:.75rem;font-size:.7rem;font-weight:700;padding:.25rem .7rem;border-radius:999px;text-transform:capitalize;letter-spacing:.3px;background:#d1fae5;color:#065f46}.course-card__body{padding:1.1rem 1.25rem 1.25rem;display:flex;flex-direction:column;flex:1;gap:.4rem}.course-card__category{font-size:.72rem;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.6px;display:flex;align-items:center;gap:.35rem}.course-card__title{font-size:.975rem;font-weight:700;color:var(--color-dark);line-height:1.4;flex:1;margin:0}.course-card__title a{color:inherit;transition:color .15s}.course-card__title a:hover{color:var(--color-primary)}.course-card__desc{font-size:.825rem;color:var(--color-muted);line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-card__instructor{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--color-muted);margin-top:.25rem}.course-card__avatar{width:26px;height:26px;border-radius:50%;background-color:var(--color-primary);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.course-card__footer{display:flex;align-items:center;justify-content:space-between;padding-top:.85rem;margin-top:auto;border-top:1px solid var(--color-border)}.course-card__meta{display:flex;align-items:center;gap:.85rem;font-size:.78rem;color:var(--color-muted)}.course-card__meta span{display:flex;align-items:center;gap:.3rem}.course-card__meta i{color:var(--color-primary);font-size:.7rem}.course-card__rating{display:flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:700;color:var(--color-dark)}.course-card__rating i{color:#f59e0b;font-size:.75rem}.courses-empty{text-align:center;padding:4rem 2rem;background:#fff;border:1px solid var(--color-border);border-radius:14px}.courses-empty i{font-size:3rem;color:var(--color-border);margin-bottom:1rem;display:block}.courses-empty h3{font-size:1.1rem;font-weight:700;color:var(--color-dark);margin-bottom:.5rem}.courses-empty p{color:var(--color-muted);margin-bottom:1.5rem;font-size:.9rem}.pagination-wrap{margin-top:2.5rem;display:flex;justify-content:center}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:998}.sidebar-overlay.active{display:block}.course-hero{background-color:var(--color-dark);padding:3.5rem 0;color:#fff}.course-hero__inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 360px;gap:3rem;align-items:start}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;font-size:.75rem;color:#94a3b8;margin-bottom:1.25rem}.breadcrumb a{color:#94a3b8;transition:color .2s}.breadcrumb a:hover{color:#fff}.breadcrumb i{font-size:.55rem;opacity:.6}.breadcrumb span{color:#cbd5e1}.course-hero__category{display:inline-flex;align-items:center;gap:.4rem;background-color:#0ea37133;color:#6ee7b7;font-size:.72rem;font-weight:700;padding:.3rem .8rem;border-radius:999px;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}.course-hero__title{font-size:2rem;font-weight:800;line-height:1.3;margin-bottom:1rem;color:#fff}.course-hero__desc{font-size:1rem;color:#94a3b8;line-height:1.7;margin-bottom:1.5rem;max-width:600px}.course-hero__meta{display:flex;flex-wrap:wrap;gap:1.25rem;margin-bottom:1.5rem}.course-meta-item{display:flex;align-items:center;gap:.4rem;font-size:.875rem;color:#cbd5e1}.course-meta-item i{color:#94a3b8}.course-hero__instructor{display:flex;align-items:center;gap:1rem}.instructor-avatar{width:46px;height:46px;border-radius:50%;background-color:var(--color-primary);color:#fff;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.instructor-label{display:block;font-size:.7rem;color:#64748b;text-transform:uppercase;letter-spacing:.5px}.instructor-name{display:block;font-size:.875rem;font-weight:600;color:#fff}.instructor-title{display:block;font-size:.75rem;color:#94a3b8}.enroll-card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 32px #0003}.enroll-card__thumb{width:100%;height:200px;object-fit:cover;display:block}.enroll-card__body{padding:1.5rem}.enroll-card__stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--color-border)}.enroll-stat{display:flex;align-items:center;gap:.5rem}.enroll-stat i{color:var(--color-primary);font-size:1rem;width:20px;flex-shrink:0}.enroll-stat div{display:flex;flex-direction:column}.enroll-stat strong{font-size:.875rem;font-weight:700;color:var(--color-dark);line-height:1.2}.enroll-stat span{font-size:.72rem;color:var(--color-muted)}.enroll-card__login{text-align:center;font-size:.75rem;color:var(--color-muted);margin-top:.75rem}.enroll-card__login a{color:var(--color-primary);font-weight:600}.course-body{padding:3rem 0 5rem;background:#f8fafc}.course-body__layout{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 320px;gap:2.5rem;align-items:start}.course-section{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:1.75rem;margin-bottom:1.5rem}.course-section__title{font-size:1.1rem;font-weight:700;color:var(--color-dark);margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.course-description{font-size:.9rem;color:var(--color-muted);line-height:1.8}.curriculum-summary{display:flex;gap:1.5rem;margin-bottom:1.25rem;font-size:.875rem;color:var(--color-muted)}.curriculum-summary span{display:flex;align-items:center;gap:.4rem}.curriculum-list{border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.curriculum-section{border-bottom:1px solid var(--color-border)}.curriculum-section:last-child{border-bottom:none}.curriculum-section__header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#f1f5f9;text-align:left;transition:background .15s;gap:1rem;border:none;cursor:pointer}.curriculum-section__header:hover{background:#e8edf2}.curriculum-section__left{display:flex;align-items:center;gap:.5rem;flex:1}.curriculum-chevron{color:var(--color-muted);font-size:.75rem;transition:transform .2s;flex-shrink:0}.curriculum-chevron.rotated{transform:rotate(-90deg)}.curriculum-section__title{font-size:.875rem;font-weight:600;color:var(--color-dark);border:none;padding:0;margin:0}.curriculum-section__meta{font-size:.75rem;color:var(--color-muted);flex-shrink:0}.curriculum-section__topics{display:none}.curriculum-section__topics.open{display:block}.curriculum-topic{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem .75rem 2.5rem;border-top:1px solid var(--color-border);gap:1rem;transition:background .15s}.curriculum-topic--preview{cursor:pointer}.curriculum-topic--preview:hover{background:#f0fdf8}.curriculum-topic__left{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-dark);flex:1}.curriculum-topic__left i{color:var(--color-primary);width:16px;flex-shrink:0}.preview-tag{font-size:.7rem;font-weight:700;color:#065f46;background:#d1fae5;padding:.15rem .5rem;border-radius:999px}.curriculum-topic__duration{font-size:.75rem;color:var(--color-muted);flex-shrink:0}.curriculum-empty{text-align:center;padding:2rem;color:var(--color-muted);font-size:.875rem}.instructor-profile{display:flex;gap:1.25rem;align-items:flex-start}.instructor-profile__avatar{width:70px;height:70px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:1.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.instructor-profile__info h3{font-size:1.1rem;font-weight:700;margin-bottom:.25rem}.instructor-profile__title{font-size:.875rem;color:var(--color-primary);font-weight:500;margin-bottom:.5rem}.instructor-profile__bio{font-size:.875rem;color:var(--color-muted);line-height:1.7;margin-bottom:.75rem}.instructor-profile__stats{display:flex;gap:1.25rem;font-size:.875rem;color:var(--color-muted)}.instructor-profile__stats span{display:flex;align-items:center;gap:.35rem}.reviews-summary{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1.25rem;background:#f1f5f9;border-radius:10px}.reviews-summary__score{display:flex;flex-direction:column;align-items:center;gap:.25rem}.big-score{font-size:2.5rem;font-weight:800;color:var(--color-dark);line-height:1}.stars-row{display:flex;gap:2px;color:#f59e0b;font-size:.875rem}.review-count{font-size:.75rem;color:var(--color-muted)}.reviews-list{display:flex;flex-direction:column;gap:1.25rem}.review-item{padding-bottom:1.25rem;border-bottom:1px solid var(--color-border)}.review-item:last-child{border-bottom:none;padding-bottom:0}.review-item__head{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.review-avatar{width:38px;height:38px;border-radius:50%;background:var(--color-primary);color:#fff;font-size:.875rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.review-item__head strong{font-size:.875rem;color:var(--color-dark);display:block}.review-stars{color:#f59e0b;font-size:.75rem;display:flex;gap:2px}.review-date{margin-left:auto;font-size:.75rem;color:var(--color-muted)}.review-comment{font-size:.875rem;color:var(--color-muted);line-height:1.7;padding-left:calc(38px + .75rem)}.enroll-card--sticky{position:sticky;top:calc(var(--navbar-height, 65px) + 1rem)}.preview-modal-backdrop{display:none;position:fixed;inset:0;background:#000000bf;z-index:2000;align-items:center;justify-content:center;padding:2rem}.preview-modal-backdrop.open{display:flex}.preview-modal{background:#1e293b;border-radius:16px;width:100%;max-width:760px;overflow:hidden;box-shadow:0 24px 64px #00000080}.preview-modal__head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}.preview-modal__head h3{color:#fff;font-size:.95rem;font-weight:600}.preview-modal__close{color:#94a3b8;font-size:1.1rem;padding:.3rem;background:none;border:none;cursor:pointer}.preview-modal__close:hover{color:#fff}.preview-modal__body{padding:1.25rem}.preview-video-wrap{position:relative;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden}.preview-video-wrap iframe,.preview-video-wrap video{position:absolute;inset:0;width:100%;height:100%;border:none}.preview-text-content{color:#cbd5e1;font-size:.9rem;line-height:1.8;padding:.5rem 0}@media(max-width:1024px){.course-hero__inner{grid-template-columns:1fr}.course-hero__card{display:none}.course-body__layout{grid-template-columns:1fr}.course-body__sidebar{display:none}.courses-page__layout{grid-template-columns:220px 1fr}}@media(max-width:768px){.page-hero__inner{flex-direction:column;align-items:flex-start}.page-hero__search{width:100%;max-width:100%}.courses-page__layout{grid-template-columns:1fr}.courses-sidebar{position:fixed;top:0;left:-100%;height:100vh;width:290px;z-index:999;border-radius:0;overflow-y:auto;transition:left .3s ease}.courses-sidebar.open{left:0}.sidebar-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#f1f5f9}.filter-toggle{display:flex}.course-hero__card{display:block}.course-hero__title{font-size:1.5rem}.review-comment{padding-left:0;margin-top:.5rem}.courses-toolbar{flex-direction:column;align-items:flex-start}.courses-grid{grid-template-columns:1fr 1fr}}@media(max-width:480px){.courses-grid{grid-template-columns:1fr}.course-hero__meta{gap:.75rem}}.reviews-summary{display:flex;align-items:flex-start;gap:2.5rem;padding:1.5rem;background:var(--color-light);border-radius:var(--border-radius-lg);margin-bottom:1.5rem;flex-wrap:wrap}.reviews-summary__score{display:flex;flex-direction:column;align-items:center;gap:.4rem;min-width:80px}.reviews-summary__bars{flex:1;display:flex;flex-direction:column;gap:.4rem}.rating-bar{display:flex;align-items:center;gap:.75rem;font-size:.78rem}.rating-bar__label{min-width:32px;color:var(--color-muted);font-weight:600}.rating-bar__label i{color:#f59e0b;font-size:.7rem}.rating-bar__track{flex:1;height:8px;background:var(--color-border);border-radius:999px;overflow:hidden}.rating-bar__fill{height:100%;background:#f59e0b;border-radius:999px;transition:width .3s}.rating-bar__pct{min-width:36px;text-align:right;color:var(--color-muted);font-size:.75rem}.review-item__meta{flex:1}.review-actions{display:flex;align-items:center;gap:.4rem;margin-left:auto}.btn-icon{width:30px;height:30px;border-radius:6px;background:var(--color-light);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--color-muted);cursor:pointer;transition:background .15s,color .15s}.btn-icon:hover{background:var(--color-primary-light);color:var(--color-primary)}.btn-icon--danger:hover{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.reviews-empty{text-align:center;padding:2.5rem;color:var(--color-muted)}.reviews-empty i{font-size:2rem;display:block;margin-bottom:.5rem;opacity:.3}.review-alert{padding:.75rem 1rem;border-radius:8px;font-size:.875rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.review-alert--success{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.review-alert--error{background:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.review-form-wrap{margin-top:2rem;padding:1.5rem;border:2px dashed var(--color-border);border-radius:var(--border-radius-lg);background:var(--color-light)}.review-form-wrap h3{font-size:1rem;font-weight:700;margin-bottom:1.25rem;color:var(--color-dark)}.review-form .form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.review-form label{font-size:.8rem;font-weight:600;color:var(--color-dark)}.review-form textarea{padding:.7rem .9rem;border:1.5px solid var(--color-border);border-radius:8px;font-size:.875rem;font-family:var(--font-family);color:var(--color-dark);resize:vertical;background:#fff;width:100%}.review-form textarea:focus{outline:none;border-color:var(--color-primary)}.star-picker{display:flex;gap:.25rem}.star-btn{background:none;border:none;cursor:pointer;font-size:1.4rem;color:#f59e0b;padding:.1rem;transition:transform .1s}.star-btn:hover{transform:scale(1.2)}.star-btn i{pointer-events:none}.about-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}.about-stat__number{display:block;font-size:2.5rem;font-weight:900;color:var(--color-primary);line-height:1}.about-stat__label{display:block;font-size:.875rem;color:var(--color-muted);margin-top:.4rem;font-weight:500}.about-mission{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.about-mission__text h2{font-size:2rem;font-weight:800;margin-bottom:1rem;color:var(--color-dark)}.about-mission__text p{color:var(--color-muted);line-height:1.8;margin-bottom:1rem}.about-icon-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.about-icon-box{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem;transition:box-shadow .2s,transform .2s}.about-icon-box:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.about-icon-box i{font-size:1.6rem;color:var(--c, var(--color-primary))}.about-icon-box span{font-size:.8rem;font-weight:600;color:var(--color-dark)}.about-values{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.about-value{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:1.5rem}.about-value__icon{width:48px;height:48px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:1rem}.about-value h3{font-size:1rem;font-weight:700;color:var(--color-dark);margin-bottom:.5rem}.about-value p{font-size:.85rem;color:var(--color-muted);line-height:1.6}@media(max-width:1024px){.about-stats,.about-values{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.about-mission{grid-template-columns:1fr;gap:2rem}.about-icon-grid{grid-template-columns:repeat(4,1fr)}.about-stats{grid-template-columns:repeat(2,1fr)}.about-values{grid-template-columns:1fr}}@media(max-width:480px){.about-icon-grid{grid-template-columns:repeat(2,1fr)}.about-stat__number{font-size:2rem}}
