/* Course-only presentation. Loaded after site.css; no shared-page overrides. */
.courses-archive .archive-course-card {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  min-width: 0;
}

/* Compact course facts and explicit deposit CTA. */
.ma-course-detail .course-buy-meta-v17 {
  display: flex !important;
  flex-direction: column;
  gap: 0 !important;
  margin: 12px 0 14px !important;
  border-top: 1px solid rgba(37,38,36,.2);
}
.ma-course-detail .course-buy-meta-v17 .course-meta-row {
  display: grid !important;
  grid-template-columns: 27px minmax(0,1fr);
  align-items: center;
  justify-content: initial !important;
  gap: 9px !important;
  min-width: 0;
  padding: 7px 0 !important;
  border-bottom: 1px solid rgba(37,38,36,.2) !important;
}
.ma-course-detail .course-buy-meta-v17 .course-meta-icon {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  color: var(--course-accent);
}
.ma-course-detail .course-buy-meta-v17 .course-meta-icon svg {
  width: 22px;
  height: 22px;
}
.ma-course-detail .course-buy-meta-v17 .course-meta-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  min-width: 0;
}
.ma-course-detail .course-buy-meta-v17 .course-meta-copy small {
  color: #6b3c83;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .07em;
  line-height: 1.15;
  text-transform: uppercase;
}
.ma-course-detail .course-buy-meta-v17 .course-meta-copy b {
  display: block;
  max-width: none;
  color: var(--ink);
  font-size: 12px !important;
  font-weight: 750;
  line-height: 1.25 !important;
  text-align: left;
}
.ma-course-detail .course-deposit-cta {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 58px;
  padding: 10px 12px !important;
  white-space: normal !important;
  text-align: center;
}
.ma-course-detail .course-deposit-cta > span {
  font-size: 14px;
  font-weight: 900;
  line-height: 1.15;
}
.ma-course-detail .course-deposit-cta > small {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .025em;
  line-height: 1.25;
  text-transform: none;
}
@media (max-width: 900px) {
  .ma-course-detail .course-buy-meta-v17 .course-meta-row { padding: 8px 0 !important; }
  .ma-course-detail .course-buy-meta-v17 .course-meta-copy b { font-size: 13px !important; }
  .ma-course-detail .course-deposit-cta > span { font-size: 15px; }
  .ma-course-detail .course-deposit-cta > small { font-size: 10px; }
}
.courses-archive .archive-course-card .archive-course-image {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 16 / 9 !important;
  border: 0 !important;
  border-bottom: 3px solid var(--ink) !important;
}
.courses-archive .archive-course-card .archive-course-image img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
}
.courses-archive .archive-course-body {
  flex: 1 1 auto;
  height: auto !important;
  min-width: 0;
}
.courses-archive .archive-course-body h2 {
  max-height: none !important;
  display: block !important;
  overflow: visible !important;
  overflow-wrap: anywhere;
}
.courses-archive .archive-course-body .meta { min-width: 0; }
.courses-archive .archive-course-footer .price { overflow-wrap: anywhere; }
.courses-archive .archive-course-card[hidden] { display: none !important; }
/* Subgrid aligns every card row, even with longer titles or extra metadata. */
@supports (grid-template-rows: subgrid) {
  .courses-archive .archive-course-grid { row-gap: 0; column-gap: 22px; }
  .courses-archive .archive-course-card {
    display: grid !important;
    grid-template-rows: subgrid;
    grid-row: span 6;
    margin-bottom: 24px;
  }
  .courses-archive .archive-course-body { display: contents !important; }
  .courses-archive .archive-course-body > * { margin-left: 16px !important; margin-right: 16px !important; }
  .courses-archive .archive-course-body > .course-topline { margin-top: 16px; }
  .courses-archive .archive-course-footer { margin-bottom: 16px; padding-bottom: 0; }
}
.ma-course-detail .course-product-hero-grid {
  align-items: center;
  gap: clamp(24px, 4vw, 56px);
}
.ma-course-detail .course-product-hero-grid.has-course-media {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) !important;
}
.ma-course-detail .course-hero-text { min-width: 0; }
.ma-course-detail .has-course-media h1 { font-size: clamp(40px, 4.4vw, 64px) !important; overflow-wrap: anywhere; }
.ma-course-detail .course-hero-text .hero-lead { font-weight: 600; }
.ma-course-detail .course-hero-text .inner-tags {
  justify-content: flex-start !important;
  margin-inline: 0 !important;
}
.ma-course-detail .course-hero-text .inner-tags span {
  padding: 9px 13px;
  border: 3px solid var(--ink);
  background: rgba(255,255,255,.55);
  box-shadow: 3px 3px 0 var(--ink);
  font-size: 12px;
  letter-spacing: .025em;
}
.ma-course-detail .course-hero-text .btn-ghost-light {
  background: var(--purple);
  color: #fff;
  border-color: var(--ink);
  box-shadow: 6px 6px 0 var(--ink);
}
.ma-course-detail .course-hero-media {
  min-width: 0;
  width: 100%;
  aspect-ratio: 4 / 3;
  border: var(--border);
  box-shadow: 8px 8px 0 var(--ink);
  background: var(--cream);
  overflow: hidden;
}
.ma-course-detail .course-hero-media img,
.ma-course-detail .course-hero-media iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.ma-course-detail .course-hero-media img { object-fit: cover; }
.ma-course-detail .course-main-content,
.ma-course-detail .course-sidebar { min-width: 0; }
.ma-course-detail .course-support-cta { grid-column: 1 / -1; width: 100%; margin: 0; }
.ma-course-detail .teacher-card-v16 { grid-template-columns: minmax(180px, 34%) minmax(0, 1fr) !important; }
.ma-course-detail .teacher-card-v16 .teacher-photo {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 260px !important;
}
.ma-course-detail .teacher-card-v16 .teacher-photo img { min-height: 260px !important; }
.ma-course-detail .teacher-card-v16 .teacher-copy p { font-size: 15px !important; line-height: 1.65 !important; }
.ma-course-detail .course-buy-card-v16 .date-card-orange small { font-size: 11px !important; }
.ma-course-detail .course-buy-card-v16 .date-card-orange > span,
.ma-course-detail .course-buy-card-v16 .countdown-label { font-size: 11px !important; }
.ma-course-detail .course-buy-card-v16 .countdown-grid small { font-size: 9px !important; }
.ma-course-detail .course-buy-card-v16 > .eyebrow { font-size: 11px !important; }
.ma-course-detail .course-buy-card-v16 .pricing-notes { font-size: 14px !important; line-height: 1.55 !important; }
.ma-course-detail .course-buy-meta-v16 div { font-size: 13px !important; line-height: 1.4 !important; padding-block: 8px !important; }
.ma-course-detail .course-buy-meta-v16 b { font-size: 13px !important; }
.ma-course-detail .course-buy-primary { font-size: 14px !important; line-height: 1.25 !important; }
.ma-course-detail .course-talk-link { font-size: 12px; line-height: 1.45; }
.ma-course-detail .course-date-tbd small { font-size: 13px; line-height: 1.5; }
.ma-course-detail .course-waitlist-box h3 { font-size: 31px; }
.ma-course-detail .course-waitlist-form > label > span,
.ma-course-detail .course-waitlist-privacy span { font-size: 11px !important; line-height: 1.45 !important; }
.ma-course-detail .course-waitlist-submit { font-size: 14px; line-height: 1.25; }
.ma-course-detail .course-waitlist-success,
.ma-course-detail .course-waitlist-error { font-size: 12px; line-height: 1.45; }
@media (min-width: 901px) {
  .ma-course-detail .course-product-hero-grid.has-course-media .course-hero-text { grid-column: 1; grid-row: 1; }
  .ma-course-detail .course-product-hero-grid.has-course-media .course-hero-media { grid-column: 2; grid-row: 1; }
  .ma-course-detail .course-sidebar { position: sticky; top: 110px; }
  .ma-course-detail .course-buy-card { max-height: calc(100dvh - 128px) !important; overflow: auto !important; }
}
@media (max-width: 900px) {
  .ma-course-detail .course-product-hero-grid.has-course-media { grid-template-columns: minmax(0, 1fr) !important; }
  .ma-course-detail .course-product-hero-grid.has-course-media .course-hero-media { grid-column: 1; grid-row: 1; }
  .ma-course-detail .course-product-hero-grid.has-course-media .course-hero-text { grid-column: 1; grid-row: 2; width: 100%; }
  .ma-course-detail .course-hero-media { max-width: 680px; margin-inline: auto; }
  .ma-course-detail .course-product-grid { display: flex !important; flex-direction: column !important; }
  .ma-course-detail .course-main-content { order: 1 !important; width: 100% !important; }
  .ma-course-detail .course-sidebar { order: 2 !important; width: 100% !important; position: static; }
  .ma-course-detail .course-support-cta { order: 3; }
  .ma-course-detail .course-buy-card { position: static !important; width: 100% !important; max-height: none !important; overflow: visible !important; }
  .ma-course-detail .has-course-media h1 { font-size: clamp(40px, 7vw, 62px) !important; }
  .ma-course-detail .course-hero-text h1 { margin-bottom: 8px !important; }
  .ma-course-detail .course-hero-text h1::after { height: 5px; margin-top: 8px; }
}
@media (max-width: 540px) {
  .ma-course-detail .teacher-card-v16 { grid-template-columns: minmax(0, 1fr) !important; }
  .ma-course-detail .teacher-card-v16 .teacher-photo { aspect-ratio: 4 / 3 !important; min-height: 0 !important; border-right: 0 !important; border-bottom: 2px solid var(--ink) !important; }
  .ma-course-detail .teacher-card-v16 .teacher-photo img { min-height: 0 !important; }
  .ma-course-detail .teacher-card-v16 .teacher-copy { padding: 22px !important; }
  .ma-course-detail .teacher-card-v16 .teacher-copy h3 { font-size: 34px !important; }
}

/* Start date and countdown: compact, balanced stacked blocks. */
.ma-course-detail .course-buy-card-v16 .course-buy-top-grid {
  grid-template-columns: minmax(0,1fr) !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
}
.ma-course-detail .course-buy-card-v16 .date-card-orange {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto;
  grid-template-areas: "label location" "date location";
  align-items: center;
  min-height: 62px !important;
  padding: 10px 12px !important;
  box-shadow: 4px 4px 0 var(--ink) !important;
}
.ma-course-detail .course-buy-card-v16 .date-card-orange > span {
  grid-area: label;
  font-size: 9px !important;
  line-height: 1 !important;
  letter-spacing: .08em;
}
.ma-course-detail .course-buy-card-v16 .date-card-orange > strong {
  grid-area: date;
  margin: 5px 0 0 !important;
  font-size: 20px !important;
  line-height: 1 !important;
}
.ma-course-detail .course-buy-card-v16 .date-card-orange > small {
  grid-area: location;
  max-width: 100px;
  padding-left: 10px;
  border-left: 1px solid rgba(37,38,36,.35);
  text-align: right;
  font-size: 9px !important;
  font-weight: 700;
  line-height: 1.25 !important;
}
.ma-course-detail .course-buy-card-v16 .course-start-countdown {
  display: grid !important;
  grid-template-columns: 72px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  min-height: 58px !important;
  padding: 7px 9px !important;
}
.ma-course-detail .course-buy-card-v16 .course-start-countdown .countdown-label {
  margin: 0 !important;
  max-width: none;
  font-size: 8.5px !important;
  letter-spacing: .07em;
  line-height: 1.08 !important;
}
.ma-course-detail .course-buy-card-v16 .course-start-countdown .countdown-grid { gap: 5px !important; }
.ma-course-detail .course-buy-card-v16 .course-start-countdown .countdown-grid > div {
  min-width: 0;
  padding: 5px 2px !important;
}
.ma-course-detail .course-buy-card-v16 .course-start-countdown .countdown-grid strong { font-size: 18px !important; }
.ma-course-detail .course-buy-card-v16 .course-start-countdown .countdown-grid small { font-size: 6.5px !important; }
.ma-course-detail .course-deposit-cta .course-deposit-tax {
  display: inline-block;
  margin-left: 1px;
  font-size: 7px !important;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .04em;
  transform: translateY(-.35em);
  white-space: nowrap;
}
.ma-course-detail .course-deposit-cta > span {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 3px;
  width: 100%;
  font-size: 13px !important;
  white-space: nowrap;
}

/* Course hero hierarchy: category always above the course title. */
.ma-course-detail .course-hero-text > .eyebrow {
  display: flex !important;
  width: max-content;
  max-width: 100%;
  margin-bottom: 18px !important;
}
.ma-course-detail .course-hero-text > h1 {
  display: block !important;
  width: 100%;
  clear: both;
}
@media (max-width: 420px) {
  .ma-course-detail .course-buy-card-v16 .date-card-orange > strong { font-size: 19px !important; }
  .ma-course-detail .course-buy-card-v16 .date-card-orange > small { max-width: 92px; }
  .ma-course-detail .course-buy-card-v16 .course-start-countdown { grid-template-columns: 64px minmax(0,1fr); gap: 6px; }
  .ma-course-detail .course-buy-card-v16 .course-start-countdown .countdown-grid strong { font-size: 17px !important; }
}
