/* V4.5-008 front-end visual polish: course cards, list titles, dark hero contrast */

/* 1) Course directory: stop squeezing two long fields into narrow columns. */
.csv3-course-card .csv3-course-body{display:flex;flex-direction:column;height:100%}
.csv3-course-card .csv3-course-desc{margin:.72rem 0 1rem;line-height:1.72}
.csv3-course-facts-compact{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin:0!important}
.csv3-course-facts-compact>div{display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:12px!important;align-items:start!important;padding:12px 14px!important;border-radius:12px!important}
.csv3-course-facts-compact dt{margin:0!important;padding-top:1px;font-size:.88rem!important;line-height:1.55!important;white-space:nowrap;color:#6a5d73!important}
.csv3-course-facts-compact dd{margin:0!important;min-width:0;line-height:1.68!important;word-break:normal!important;overflow-wrap:break-word!important;color:#2c2930!important}
.csv3-course-card .csv3-course-footer{margin-top:auto!important;padding-top:20px!important}
.csv3-course-card h3{font-size:clamp(1.42rem,1.55vw,1.86rem)!important;line-height:1.25!important}
.csv3-course-card .csv3-rank{opacity:.42!important}

/* 2) Classroom / student cards: titles should support scanning, not dominate the image. */
.cc44-grid article h2,
.case-sample-grid article h2{font-size:clamp(1.45rem,1.85vw,2.05rem)!important;line-height:1.2!important;letter-spacing:-.025em!important;margin:16px 0 14px!important}
.cc44-grid article h2 a,
.case-sample-grid article h2 a{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;color:inherit!important}
.cc44-grid article>div>p,
.case-sample-grid article>div>p{font-size:1rem!important;line-height:1.78!important;color:#6c6870!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}

/* 3) Dark surfaces: force real readable contrast instead of low-opacity dark headings. */
#real-practice,
.about-v2-path-section#real-practice{background:#1b1b1d!important}
#real-practice .about-v2-heading-light h2,
#real-practice h2{color:#f7f5f2!important;opacity:1!important;text-shadow:none!important}
#real-practice .about-v2-heading-light p,
#real-practice .about-practice-note,
#real-practice p{color:#c9c5cb!important;opacity:1!important}
#real-practice .about-v2-heading-light>span{color:#d9ae74!important;opacity:1!important}

/* School facts / dark hero pages: match by the existing facts/hero class naming variants. */
.school-facts-hero h1,
.facts-hero h1,
[class*="school-fact"][class*="hero"] h1,
section[class*="facts"][class*="hero"] h1{color:#f7f5f2!important;opacity:1!important;text-shadow:none!important}
.school-facts-hero p,
.facts-hero p,
[class*="school-fact"][class*="hero"] p,
section[class*="facts"][class*="hero"] p{color:#c9c5cb!important;opacity:1!important}
.school-facts-hero .breadcrumb,
.facts-hero .breadcrumb,
[class*="school-fact"][class*="hero"] .breadcrumb,
section[class*="facts"][class*="hero"] .breadcrumb,
.school-facts-hero .breadcrumb a,
.facts-hero .breadcrumb a{color:#bbb6bf!important;opacity:1!important}
.school-facts-hero .section-kicker,
.facts-hero .section-kicker,
[class*="school-fact"][class*="hero"] .section-kicker,
section[class*="facts"][class*="hero"] .section-kicker{color:#b996c9!important;opacity:1!important}

@media(max-width:900px){
  .csv3-course-facts-compact>div{grid-template-columns:82px minmax(0,1fr)!important}
  .cc44-grid article h2,.case-sample-grid article h2{font-size:1.55rem!important}
}
@media(max-width:560px){
  .csv3-course-facts-compact>div{grid-template-columns:1fr!important;gap:4px!important}
  .csv3-course-facts-compact dt{white-space:normal!important}
  .csv3-course-card h3{font-size:1.42rem!important}
  .cc44-grid article h2,.case-sample-grid article h2{font-size:1.42rem!important;-webkit-line-clamp:3!important}
}
