.glms-courses-wrapper{margin:var(--glms-gap-xl) 0}.glms-courses-grid{display:grid;gap:var(--glms-gap-sm);align-items:start;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.glms-courses-grid.glms-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.glms-courses-grid.glms-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.glms-courses-grid.glms-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.glms-courses-list{display:flex;flex-direction:column;gap:var(--glms-gap)}.glms-course-card{position:relative;background:var(--glms-card-bg);border:1px solid var(--glms-line);border-radius:var(--glms-radius);overflow:hidden;transition:box-shadow .3s ease,transform .3s ease;display:flex;flex-direction:column}.glms-course-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(var(--glms-hover-lift))}.glms-courses-list .glms-course-card{flex-direction:row}.glms-courses-list .glms-card-image{width:300px;flex-shrink:0}.glms-courses-list .glms-card-body{flex:1}.glms-card-badge{width:-moz-fit-content;width:fit-content;padding:4px var(--glms-gap-xs);border:1px solid transparent;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.glms-badge-completed,.glms-badge-free{background:var(--glms-success-tint);border-color:var(--glms-success);color:var(--glms-success-dark)}.glms-badge-premium{background:var(--glms-accent-tint);border-color:var(--glms-accent);color:var(--glms-accent-dark)}.glms-badge-enrolled{background:var(--glms-brand-tint);border-color:var(--glms-brand);color:var(--glms-brand-dark)}.glms-badge-popular{background:var(--glms-brand-tint);border-color:var(--glms-brand-tint);color:var(--glms-brand-dark)}.glms-card-chips{display:flex;flex-wrap:wrap;gap:6px}.glms-card-image{position:relative;overflow:hidden;background:var(--glms-surface);aspect-ratio:16/9}.glms-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.glms-course-card:hover .glms-card-image img{transform:scale(1.05)}.glms-card-image a{display:block;height:100%}.glms-card-body{padding:var(--glms-gap);display:flex;flex-direction:column;gap:var(--glms-gap-sm);flex:1}.glms-course-card .glms-card-title{margin:0;font-size:18px;line-height:1.3;overflow-wrap:anywhere}.glms-card-title a{color:var(--glms-ink);text-decoration:none;transition:color .2s ease}.glms-card-title a:hover{color:var(--glms-brand)}.glms-card-title a:focus-visible{outline:2px solid var(--glms-brand-dark);outline-offset:2px}.glms-card-excerpt{margin:0;color:var(--glms-muted);font-size:14px;line-height:1.6;flex:1}.glms-card-excerpt p:last-child{margin-bottom:0}.glms-card-meta{margin:var(--glms-gap-sm) 0;padding:var(--glms-gap-sm) 0;border-top:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0}.glms-meta-item{display:flex;align-items:baseline;gap:var(--glms-gap-xs);margin-bottom:var(--glms-gap-xs);font-size:14px}.glms-meta-item:last-child{margin-bottom:0}.glms-meta-label{font-weight:600;color:var(--glms-ink)}.glms-meta-value{color:var(--glms-muted)}.glms-meta-item.price .glms-meta-value{font-weight:600;color:var(--glms-brand);font-size:18px}.glms-meta-item.skill-level .glms-meta-value{display:inline-block;padding:3px var(--glms-gap-xs);background:var(--glms-brand-tint);color:var(--glms-brand);border-radius:3px;font-size:12px;font-weight:500}.glms-meta-item.duration .glms-meta-value,.glms-meta-item.lesson-count .glms-meta-value{color:var(--glms-ink)}.glms-card-button{display:block;width:100%;padding:var(--glms-gap-sm) var(--glms-gap);text-align:center;text-decoration:none;border-radius:4px;font-weight:600;font-size:14px;transition:background-color .2s ease,color .2s ease;margin-top:auto}.glms-card-button:focus-visible{outline:2px solid var(--glms-brand-dark);outline-offset:2px}.glms-button-enrolled{background:var(--glms-brand);color:var(--glms-cta-text)}.glms-button-enrolled:hover{background:var(--glms-brand-darker)}.glms-button-locked{background:var(--glms-surface);color:var(--glms-muted);border:1px solid var(--glms-line)}.glms-button-locked:hover{background:var(--glms-line);color:var(--glms-ink)}.glms-card-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:5}.glms-card-locked:hover .glms-card-overlay{opacity:1}.glms-overlay-content{color:var(--glms-cta-text);font-size:18px;font-weight:600;text-align:center;padding:var(--glms-gap)}@media (max-width:1024px){.glms-courses-grid.glms-grid-4{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:768px){.glms-courses-grid.glms-grid-3,.glms-courses-grid.glms-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.glms-courses-list .glms-course-card{flex-direction:column}.glms-courses-list .glms-card-image{width:100%}}@media (max-width:480px){.glms-courses-grid,.glms-courses-grid.glms-grid-2,.glms-courses-grid.glms-grid-3,.glms-courses-grid.glms-grid-4{grid-template-columns:minmax(0,1fr)}.glms-card-title{font-size:18px}}.glms-related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--glms-gap-lg)}.glms-related-card{position:relative;background:var(--glms-card-bg);border:1px solid var(--glms-line);border-radius:var(--glms-radius);overflow:hidden;transition:box-shadow .3s ease,transform .3s ease;display:flex;flex-direction:column}.glms-related-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(var(--glms-hover-lift))}.glms-related-image{position:relative;overflow:hidden;background:var(--glms-surface);aspect-ratio:16/9}.glms-related-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.glms-related-card:hover .glms-related-image img{transform:scale(1.05)}.glms-related-image a{display:block;height:100%}.glms-related-image .glms-free-badge{position:absolute;top:10px;right:10px;background:var(--glms-success);color:var(--glms-cta-text);border:0;padding:3px var(--glms-gap-xs);border-radius:3px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.glms-related-body{padding:var(--glms-gap);display:flex;flex-direction:column;flex:1}.glms-related-title{margin:0 0 var(--glms-gap-xs) 0;font-size:18px;line-height:1.3}.glms-related-title a{color:var(--glms-ink);text-decoration:none;transition:color .2s ease}.glms-related-title a:hover{color:var(--glms-brand)}.glms-related-title a:focus-visible{outline:2px solid var(--glms-brand-dark);outline-offset:2px}.glms-related-excerpt{margin:0 0 var(--glms-gap-sm) 0;color:var(--glms-muted);font-size:13px;line-height:1.5;flex:1}.glms-related-excerpt p{margin:0}.glms-related-link{color:var(--glms-brand);text-decoration:none;font-weight:500;font-size:14px;transition:color .2s ease;margin-top:auto}.glms-related-link:hover{color:var(--glms-brand-darker);text-decoration:underline}.glms-related-link:focus-visible{outline:2px solid var(--glms-brand-dark);outline-offset:2px}.glms-related-progress{position:absolute;bottom:0;left:0;right:0;padding:var(--glms-gap-xs);background:rgba(0,0,0,.7)}.glms-progress-bar-mini{width:100%;height:4px;background:hsla(0,0%,100%,.3);border-radius:2px;overflow:hidden}.glms-progress-fill-mini{height:100%;background:linear-gradient(90deg,var(--glms-success) 0,var(--glms-success-light) 100%);border-radius:2px;transition:width .3s ease}@media (max-width:768px){.glms-related-grid{grid-template-columns:repeat(2,1fr);gap:var(--glms-gap)}}@media (max-width:480px){.glms-related-grid{grid-template-columns:1fr}}