.courses-container{max-width:1200px;margin:0 auto;padding:2rem;position:relative;min-height:100vh}.courses-error,.courses-loading{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.courses-loading .spinner{width:50px;height:50px;border-radius:50%;border:5px solid rgba(255,193,7,.3);border-top-color:#ffc107;animation:spin 1s ease-in-out infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(1turn)}}.courses-error h2{color:#dc3545;margin-bottom:.5rem}.back-to-home{margin-top:1.5rem;display:inline-block;padding:.75rem 1.5rem;background-color:#ffc107;color:#212529;border-radius:50px;text-decoration:none;font-weight:600;transition:all .3s ease}.back-to-home:hover{background-color:#ffca2c;transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,193,7,.2)}.courses-header{text-align:center;margin-bottom:3rem;animation:fadeInDown .8s ease-out}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.courses-header h1{font-size:2.5rem;font-weight:700;color:#212529;margin-bottom:.5rem;position:relative;display:inline-block}.courses-header h1:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);width:80px;height:4px;background-color:#ffc107;border-radius:2px}.courses-header p{color:#6c757d;max-width:600px;margin:1.5rem auto 0;font-size:1.1rem}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));grid-gap:2rem;gap:2rem}.course-card{background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,.05);transition:all .3s ease;animation:fadeIn .8s ease-out;display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.course-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,.1)}.course-image-container{position:relative;overflow:hidden}.course-image{transition:transform .5s ease}.course-card:hover .course-image{transform:scale(1.05)}.course-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.course-card:hover .course-overlay{opacity:1}.view-course-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background-color:#ffc107;color:#212529;border-radius:50px;font-weight:600;text-decoration:none;transform:translateY(20px);transition:all .3s ease}.course-card:hover .view-course-btn{transform:translateY(0)}.view-course-btn:hover{background-color:#ffca2c;transform:scale(1.05)}.course-badge{position:absolute;top:1rem;right:1rem;padding:.35rem .75rem;background-color:rgba(13,110,253,.9);color:#fff;border-radius:50px;font-size:.8rem;font-weight:600;text-transform:capitalize}.course-badge.beginner{background-color:rgba(40,167,69,.9)}.course-badge.intermediate{background-color:rgba(255,193,7,.9);color:#212529}.course-badge.advanced{background-color:rgba(220,53,69,.9)}.course-content{padding:1.5rem;flex:1 1;display:flex;flex-direction:column}.course-content h3{font-size:1.35rem;font-weight:700;margin-bottom:.75rem;color:#212529}.course-description{color:#6c757d;margin-bottom:1rem;flex:1 1;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.course-meta{display:flex;gap:1rem;margin-bottom:1.25rem}.course-category,.course-duration{display:inline-block;padding:.35rem .75rem;border-radius:50px;font-size:.85rem;font-weight:600}.course-category{background-color:rgba(255,193,7,.15);color:#ffc107}.course-duration{background-color:rgba(108,117,125,.15);color:#6c757d}.course-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.course-price{display:flex;flex-direction:column;align-items:flex-start}.price-free{font-size:1.2rem;font-weight:700;color:#22c55e}.price-label{font-size:.8rem;color:#94a3b8}.price-amount{font-size:1.2rem;font-weight:700;color:#e2e8f0}.course-details-btn,.course-enroll-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:50px;font-weight:600;text-decoration:none;transition:all .3s ease}.course-details-btn{color:#6c757d}.course-details-btn:hover{color:#ffc107;transform:translateX(3px)}.course-enroll-btn{background:linear-gradient(135deg,#888a42,#b9b41d);color:white}.course-enroll-btn:hover{background:linear-gradient(135deg,#a39f30,#d9c728);box-shadow:0 8px 20px rgba(229,213,70,.25);background-color:#ffca2c;transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,193,7,.2)}.course-enroll-btn.locked{background:rgba(255,255,255,.1);color:#94a3b8;cursor:not-allowed}.course-enroll-btn.locked:hover{background-color:#5a6268}.scroll-to-top{position:fixed;bottom:2rem;right:2rem;width:50px;height:50px;border-radius:50%;background-color:#ffc107;color:#212529;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.1);transition:all .3s ease;animation:fadeInUp .5s ease-out;z-index:100}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scroll-to-top:hover{background-color:#ffca2c;transform:translateY(-3px);box-shadow:0 6px 15px rgba(0,0,0,.15)}@media (max-width:991.98px){.courses-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.courses-header h1{font-size:2.25rem}}@media (max-width:767.98px){.courses-container{padding:1.5rem}.courses-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.courses-header{margin-bottom:2rem}.courses-header h1{font-size:2rem}.courses-header p{font-size:1rem}}@media (max-width:575.98px){.courses-container{padding:1rem}.courses-grid{grid-template-columns:1fr}.courses-header h1{font-size:1.75rem}.course-content h3{font-size:1.25rem}.course-actions{flex-direction:column;gap:.75rem}.course-details-btn,.course-enroll-btn{width:100%;justify-content:center}.scroll-to-top{bottom:1.5rem;right:1.5rem;width:45px;height:45px}}