/* Course list, in the Serene palette. One wide card per course, stacked on phones. */
.tmcb-grid,
.tmcb-empty {
  --tmcb-ink: #24302a;
  --tmcb-muted: #5d6a62;
  --tmcb-line: #e3e7e1;
  --tmcb-soft: #f1f4ef;
  --tmcb-sage-dark: #3b5f45;
  --tmcb-serif: "Cormorant Garamond", Georgia, serif;
}
.tmcb-grid { display: grid; gap: 28px; max-width: 980px; margin: 0 auto; font-family: Inter, system-ui, sans-serif; font-size: 16px; line-height: 1.6; text-align: left; color: var(--tmcb-ink); }
.tmcb-card { display: grid; grid-template-columns: minmax(0, 1fr); background: #fff; border-radius: 22px; overflow: hidden; box-shadow: 0 1px 2px rgba(36, 48, 42, .05), 0 16px 40px rgba(36, 48, 42, .08); }
.tmcb-image { display: block; background: var(--tmcb-soft); }
.tmcb-image img { display: block; width: 100%; height: 100%; aspect-ratio: 2 / 3; object-fit: cover; }
.tmcb-body { display: flex; flex-direction: column; min-width: 0; padding: 26px 22px 24px; }
.tmcb-grid .tmcb-type { font-size: .74rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--tmcb-sage-dark); margin: 0 0 8px; }
.tmcb-grid .tmcb-title { font-family: var(--tmcb-serif); font-weight: 500; font-size: clamp(1.8rem, 3.2vw, 2.4rem); line-height: 1.1; letter-spacing: 0; color: var(--tmcb-ink); margin: 0 0 16px; }
.tmcb-grid .tmcb-title a { color: inherit !important; text-decoration: none !important; }
.tmcb-grid .tmcb-title a:hover { color: var(--tmcb-sage-dark) !important; }
.tmcb-grid .tmcb-meta { margin: 0 0 16px; }
.tmcb-grid .tmcb-meta > div { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 6px; font-size: .95rem; font-weight: 500; line-height: 1.45; color: var(--tmcb-ink); }
.tmcb-meta svg { flex: none; width: 18px; height: 18px; margin-top: 2px; color: var(--tmcb-sage-dark); }
.tmcb-grid .tmcb-card-summary { color: var(--tmcb-muted); font-size: 1rem; line-height: 1.65; margin: 0 0 22px; }
.tmcb-card-foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--tmcb-line); }
.tmcb-price { min-width: 0; }
.tmcb-price-amount { font-size: 1.3rem; font-weight: 600; line-height: 1.2; color: var(--tmcb-ink); }
.tmcb-price-amount .amount, .tmcb-price-amount bdi { color: inherit !important; font: inherit !important; }
.tmcb-price-unit { font-size: .86rem; color: var(--tmcb-muted); }
.tmcb-grid .tmcb-left { margin: 2px 0 0; font-size: .84rem; color: var(--tmcb-muted); }
.tmcb-grid a.tmcb-book-link { display: inline-block !important; flex: none; text-align: center !important; min-height: 50px !important; padding: 12px 34px !important; box-sizing: border-box !important; font-weight: 500 !important; line-height: 1.5 !important; color: #fff !important; background: #3b5f45 !important; border: 1px solid #3b5f45 !important; border-radius: 999px !important; text-decoration: none !important; cursor: pointer !important; transition: background .2s, border-color .2s; }
.tmcb-grid a.tmcb-book-link:hover { background: #24302a !important; border-color: #24302a !important; }
.tmcb-grid a:focus-visible { outline: 2px solid var(--tmcb-sage-dark); outline-offset: 2px; }
.tmcb-grid .tmcb-full { margin: 0; padding: 12px 24px; font-weight: 600; color: var(--tmcb-ink); background: var(--tmcb-soft); border-radius: 999px; }
.tmcb-empty { text-align: center; color: var(--tmcb-muted); }

@media (min-width: 720px) {
  .tmcb-card { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); }
  .tmcb-card.no-image { grid-template-columns: minmax(0, 1fr); }
  .tmcb-body { padding: 36px 40px; }
}
@media (max-width: 480px) {
  .tmcb-grid a.tmcb-book-link { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .tmcb-grid a.tmcb-book-link { transition: none; }
}
