/* Course detail only: readable text and reflow, including native product routes. */
body.course-experience-page .course-detail-page { font-family: var(--sans, sans-serif); font-size: 1.25rem; line-height: 1.8; color: #173247; }
body.course-experience-page .course-detail-page :is(p, li, dd, dt, small, label, input, select, textarea, button, a) { overflow-wrap: anywhere; }
body.course-experience-page .course-detail-page .breadcrumb { font-size: 1.125rem; line-height: 1.7; }
body.course-experience-page .course-detail-page .category-pill { font-size: 1.125rem; line-height: 1.5; padding: .4rem .85rem; }
body.course-experience-page .course-detail-page .course-detail-hero { min-height: 0; }
body.course-experience-page .course-detail-page .course-detail-copy { width: auto; min-width: 0; }
body.course-experience-page .course-detail-page .course-detail-copy h1 { font-size: clamp(1.875rem, 3vw, 2.5rem); line-height: 1.45; }
body.course-experience-page .course-detail-page .course-detail-copy .course-detail-summary { font-size: 1.25rem; line-height: 1.8; }
body.course-experience-page .course-detail-page .course-fact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
body.course-experience-page .course-detail-page .course-fact { min-width: 0; align-items: flex-start; gap: .75rem; padding: 1rem; }
body.course-experience-page .course-detail-page .course-fact > span:last-child { min-width: 0; }
body.course-experience-page .course-detail-page .course-fact strong { font-size: 1.125rem; line-height: 1.7; }
body.course-experience-page .course-detail-page .course-fact small { display: block; font-size: 1.25rem; line-height: 1.8; color: #173247; }
body.course-experience-page .course-detail-page .detail-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .5rem; overflow: visible; position: static; padding: .75rem 0; }
body.course-experience-page .course-detail-page .detail-nav a { display: flex; justify-content: center; align-items: center; min-height: 52px; padding: .6rem; white-space: normal; font-size: 1.25rem; line-height: 1.6; }
body.course-experience-page .course-detail-page .course-outline-layout { grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr); gap: 2rem; }
body.course-experience-page .course-detail-page :is(.course-main-content, .course-aside-content, .prose) { min-width: 0; }
body.course-experience-page .course-detail-page :is(.course-content-section, .course-callout) h2 { font-size: 1.625rem; line-height: 1.5; margin-bottom: 1rem; }
body.course-experience-page .course-detail-page :is(.course-content-section, .course-callout) h3 { display: block; font-size: 1.375rem; line-height: 1.6; }
body.course-experience-page .course-detail-page :is(.course-main-content .prose, .course-content-section p, .course-content-section li, .course-callout p, .course-callout li) { font-size: 1.25rem; line-height: 1.8; color: #173247; }
body.course-experience-page .course-detail-page :is(.course-content-section, .course-callout) p { margin-block: .75rem; }
body.course-experience-page .course-detail-page .prose li { margin-bottom: .5rem; }
body.course-experience-page .course-detail-page .course-content-section { padding-block: 1.5rem; }
body.course-experience-page .course-detail-page .course-callout { padding: 1.25rem; }
body.course-experience-page .course-detail-page .outline-list li { grid-template-columns: 40px minmax(0, 1fr); gap: .75rem; padding-block: 1rem; }
body.course-experience-page .course-detail-page .outline-number { width: 36px; height: 36px; font-size: 1.125rem; line-height: 1.5; }
body.course-experience-page .course-detail-page .outline-date { display: block; font-size: 1.125rem; line-height: 1.7; }
body.course-experience-page .course-detail-page :is(.session-announcement, .course-faq, .booking, .enrollment-notice) { font-size: 1.25rem; line-height: 1.8; }
body.course-experience-page .course-detail-page :is(.session-announcement dt, .session-announcement dd, .course-faq summary, .booking p, .booking label, .booking dt, .booking dd) { font-size: 1.25rem; line-height: 1.8; }
body.course-experience-page .course-detail-page :is(small, .small, .funding-note, .booking .small) { font-size: 1.125rem; line-height: 1.75; }
body.course-experience-page .course-detail-page :is(.button, button, input, select, textarea) { font-size: 1.25rem; line-height: 1.6; }
body.course-experience-page .course-detail-page :is(.button, button, input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select) { min-height: 52px; }
body.course-experience-page .course-detail-page .button { white-space: normal; text-align: center; }
body.course-experience-page .course-detail-page .course-detail-cta { flex-wrap: wrap; gap: 1rem; }
body.course-experience-page .course-detail-page .course-detail-cta > .button { min-width: 0; font-size: 1.25rem; padding: .8rem 1rem; }
body.course-experience-page .course-detail-page :is(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid #075c47; outline-offset: 3px; }
@media (max-width: 1100px) {
  body.course-experience-page .course-detail-page .course-fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.course-experience-page .course-detail-page .course-outline-layout { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 700px) {
  body.course-experience-page .course-detail-page .course-detail-hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  body.course-experience-page .course-detail-page .course-detail-copy { width: 100%; padding: 1rem; }
  body.course-experience-page .course-detail-page .detail-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.course-experience-page .course-detail-page .course-detail-cta { flex-direction: column; align-items: stretch; }
  body.course-experience-page .course-detail-page .course-detail-cta > * { width: 100%; }
  body.course-experience-page .course-detail-page .course-detail-cta button { width: 100%; }
}
@media (max-width: 520px) {
  body.course-experience-page .course-detail-page .course-fact-grid { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
  body.course-experience-page .course-detail-page .course-fact { padding: .75rem; }
  body.course-experience-page .course-detail-page .course-callout { padding: 1rem; }
}

/* Keep editor-provided wide content inside the reading column. */
body.course-experience-page .course-detail-page .prose :is(img, video, iframe) { max-width: 100%; }
body.course-experience-page .course-detail-page .prose pre { max-width: 100%; overflow-x: auto; }
body.course-experience-page .course-detail-page .prose table { display: block; max-width: 100%; overflow-x: auto; }

body.course-experience-page .course-detail-page .badge { font-size: 1.125rem; line-height: 1.75; }
body.course-experience-page .course-detail-page .text-link { font-size: 1.25rem; line-height: 1.8; }

/* Separate the action area from facts and content navigation. */
body.course-experience-page .course-detail-page .course-detail-cta {
  margin-block: 1.5rem 2rem;
  padding-block: 1.5rem;
  border-top: 1px solid #c8d2ca;
  border-bottom: 1px solid #c8d2ca;
  align-items: stretch;
  gap: 1rem;
}
body.course-experience-page .course-detail-page .course-detail-cta > button:disabled {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 56px;
  padding: .875rem 1.25rem;
  border: 2px solid #829489;
  border-radius: 12px;
  background: #edf2ee;
  color: #405246;
  font-weight: 600;
  opacity: 1;
  cursor: not-allowed;
}
