/* Escuela de cursos — the site's course blocks. Low specificity on purpose:
   the page's own styles and the editor's controls win over these. */
.crsw { --crsw-ink: #2b2723; --crsw-muted: #6b645c; --crsw-line: #e9e3db; }
.crsw-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }
.crsw-grid.is-one { grid-template-columns: minmax(0, 420px); }
.crsw-card { display: flex; flex-direction: column; background: #fff; border-radius: 16px; overflow: hidden; text-decoration: none;
  color: var(--crsw-ink); box-shadow: 0 1px 2px rgba(30, 20, 10, .04), 0 8px 24px rgba(30, 20, 10, .07); transition: transform .2s ease, box-shadow .2s ease; height: 100%; }
.crsw-card:hover { transform: translateY(-2px); box-shadow: 0 2px 4px rgba(30, 20, 10, .05), 0 14px 32px rgba(30, 20, 10, .11); color: var(--crsw-ink); }
.crsw-img { aspect-ratio: 16 / 9; display: grid; place-items: center; background: #f3eee8; color: #8a7f74; font-size: 2.5rem; overflow: hidden; }
.crsw-img img { width: 100%; height: 100%; object-fit: cover; }
.crsw-body { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 18px; flex: 1; }
.crsw-title { font-weight: 700; font-size: 1.0625rem; line-height: 1.3; }
.crsw-sub { color: var(--crsw-muted); font-size: .9375rem; }
.crsw-meta { color: var(--crsw-muted); font-size: .875rem; }
.crsw-rating { display: inline-flex; gap: 4px; align-items: center; font-size: .875rem; color: #8a5a00; }
.crsw-rating .bi { color: #d99a1e; }
.crsw-rating small { color: var(--crsw-muted); }
.crsw-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; padding-top: 10px; }
.crsw-price { font-weight: 700; font-size: 1.125rem; }
.crsw-go { display: inline-flex; gap: 6px; align-items: center; font-weight: 600; font-size: .9375rem; }
.crsw-empty { color: var(--crsw-muted); }
@media (prefers-reduced-motion: reduce) { .crsw-card { transition: none; } }
