.hamro-course-section { padding: 48px 24px; max-width: 1120px; margin: 0 auto; }
.hamro-course-section .hamro-course-heading { font-size: 28px; font-weight: 700; margin: 0 0 24px; text-align: center; }

.hamro-course-cards.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.hamro-course-cards.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.hamro-course-cards.scroll { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
.hamro-course-cards.scroll .hamro-course-card { flex: 0 0 260px; scroll-snap-align: start; }

@media (max-width: 720px) {
  .hamro-course-cards.grid-3, .hamro-course-cards.grid-2 { grid-template-columns: 1fr; }
}

.hamro-course-card { border: 1px solid #e5e5e5; border-radius: 10px; overflow: hidden; background: #fff; display: flex; flex-direction: column; }
.hamro-course-card .thumb { width: 100%; aspect-ratio: 16/9; background: #f0f1f5 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24"><rect width="24" height="24" fill="%23e5e5e5"/></svg>') center/cover; }
.hamro-course-card .body { padding: 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.hamro-course-card .title { font-size: 16px; font-weight: 600; margin: 0; }
.hamro-course-card .price { margin-top: auto; font-weight: 700; }
.hamro-course-card .cta { display: inline-block; margin-top: 8px; padding: 8px 14px; border-radius: 6px; background: #5755d9; color: #fff; text-decoration: none; font-size: 14px; text-align: center; }
.hamro-course-section.loading .hamro-course-cards { opacity: 0.5; }
