/* Patient-facing refinements layered on top of the base ObesityHub design. */
.brand img { display:block; height:48px; width:auto; max-width:min(58vw,220px); }

/* Higher contrast and slightly larger home-page cards. */
.section-heading p { color:#2f4548; font-size:16px; }
.pillar-card h3 { color:#142b2f; font-size:19px; line-height:1.3; }
.pillar-card p { color:#263e41; font-size:15.5px; line-height:1.6; }
.course-card h3 { color:#142b2f; font-size:17px; line-height:1.35; }
.course-card p { color:#31494c; font-size:13.5px; line-height:1.55; }
.course-card .num { font-size:19px; line-height:1; font-weight:900; }
.callout p { color:#493f35; font-size:15px; }

/* Make the course identity more prominent. */
.lesson-kicker { font-size:14px; letter-spacing:.04em; color:#176b70; }
.lesson-header h1 { font-size:clamp(38px,4.3vw,54px); }
.lesson-header p { color:#30484b; font-size:18px; line-height:1.55; }
.nav-group-title { font-size:12.5px; letter-spacing:.025em; }
.nav-number { font-size:12px; min-width:29px; height:29px; }
.nav-label { font-size:13.5px; }
.nav-caret { color:#547073; font-weight:800; font-size:15px; }

/* Nested modules in the sidebar. */
.subnav { margin:3px 0 10px 37px; padding-left:10px; border-left:2px solid #cddedb; display:grid; gap:3px; }
.subnav-item { width:100%; border:0; background:transparent; text-align:left; display:grid; grid-template-columns:22px 1fr; gap:8px; align-items:start; padding:8px; border-radius:9px; color:#40575a; cursor:pointer; }
.subnav-item:hover { background:rgba(255,255,255,.72); }
.subnav-item.active { background:#fff; color:#0d4f54; box-shadow:0 3px 12px rgba(30,80,84,.07); }
.subnav-index { width:21px; height:21px; display:grid; place-items:center; border-radius:6px; background:#dceae8; font-size:10px; font-weight:800; }
.subnav-item.active .subnav-index { background:#176b70; color:#fff; }
.subnav-item strong { display:block; font-size:11.5px; line-height:1.3; font-weight:700; }
.subnav-item small { display:block; margin-top:2px; color:#6a7d7f; font-size:10px; }

/* Clean in-course module selector. */
.sublesson-panel { background:#fff; border:1px solid #dbe5e3; border-radius:20px; overflow:hidden; }
.sublesson-panel-heading { display:flex; justify-content:space-between; align-items:center; padding:17px 20px; border-bottom:1px solid #dbe5e3; color:#173438; font-weight:800; font-size:16px; }
.sublesson-panel-heading strong { min-width:29px; height:29px; display:grid; place-items:center; border-radius:9px; background:#e8f4f2; color:#0d4f54; font-size:12px; }
.sublesson-list { display:grid; }
.sublesson-row { width:100%; display:grid; grid-template-columns:35px minmax(0,1fr) 24px; gap:12px; align-items:center; padding:15px 18px; border:0; border-bottom:1px solid #edf2f1; background:#fff; text-align:left; color:#193437; }
.sublesson-row:last-child { border-bottom:0; }
.sublesson-row:hover { background:#f7faf9; }
.sublesson-row.active { background:#eef7f5; box-shadow:inset 4px 0 0 #176b70; }
.sublesson-number { width:32px; height:32px; display:grid; place-items:center; border-radius:10px; background:#edf3f2; color:#3c5659; font-size:12px; font-weight:850; }
.sublesson-row.active .sublesson-number { background:#176b70; color:#fff; }
.sublesson-copy strong { display:block; font-size:15px; line-height:1.35; }
.sublesson-copy small { display:block; margin-top:4px; color:#607174; font-size:12px; }
.sublesson-arrow { font-size:24px; color:#789092; text-align:right; }

.selected-video-card { width:100%; }
.selected-video-card .video-card-copy, .external-selected-card .video-card-copy { padding:20px 24px 23px; }
.selected-video-card .video-card-copy h2, .external-selected-card .video-card-copy h2 { margin:8px 0 3px; color:#142b2f; font-size:24px; line-height:1.25; }
.video-date { color:#526a6d !important; font-size:13.5px !important; margin:6px 0 0 !important; }
.external-selected-card { background:#fff; border:1px solid #dbe5e3; border-radius:22px; overflow:hidden; box-shadow:0 8px 28px rgba(23,67,70,.06); }

.lesson-copy-card .copy p { color:#263f42; font-size:16px; }
.takeaways li { color:#263f42; font-size:15px; }
.medical-disclaimer { display:flex; gap:13px; align-items:flex-start; padding:18px 20px; border:1px solid #d7e4e2; border-radius:15px; background:#f8fbfa; color:#40575a; font-size:13.5px; }
.medical-disclaimer strong { flex:0 0 auto; color:#173f43; }
.video-disclaimer { margin-top:-10px; border-color:#cfdedb; background:#f7fbfa; }
.video-disclaimer strong { font-size:14.5px; }

.module-contact-footer { margin-top:20px; padding:18px 4px 2px; border-top:1px solid #dbe5e3; display:flex; justify-content:center; align-items:center; gap:7px; flex-wrap:wrap; color:#526a6d; font-size:13.5px; text-align:center; }
.module-contact-footer a { color:#176b70; font-weight:750; text-decoration:none; }
.module-contact-footer a:hover { text-decoration:underline; }

.resource-card h2 { color:#142b2f; font-size:19px; }
.resource-card p { color:#30484b; font-size:14.5px; }
.resource-collection-card { align-self:start; }
.resource-details { margin-top:14px; border:1px solid #d7e4e2; border-radius:13px; overflow:hidden; background:#f8fbfa; }
.resource-details summary { cursor:pointer; list-style:none; padding:13px 15px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:#174f54; font-weight:800; font-size:13.5px; }
.resource-details summary::-webkit-details-marker { display:none; }
.resource-details summary::after { content:"+"; width:24px; height:24px; border-radius:8px; display:grid; place-items:center; background:#e4f1ef; color:#176b70; font-size:18px; line-height:1; }
.resource-details[open] summary::after { content:"−"; }
.resource-details[open] summary { border-bottom:1px solid #d7e4e2; }
.resource-file-list { display:grid; }
.resource-file-link { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:12px 15px; border-bottom:1px solid #e5eeec; color:#223f43; text-decoration:none; font-size:13.5px; line-height:1.35; }
.resource-file-link:last-child { border-bottom:0; }
.resource-file-link:hover { background:#fff; color:#0d5e64; }
.resource-file-link small { flex:0 0 auto; color:#176b70; font-size:11px; font-weight:800; }
.resource-folder-link { display:inline-block; margin-top:12px; color:#516b6e; font-size:12.5px; font-weight:700; text-decoration:none; }
.resource-folder-link:hover { color:#176b70; text-decoration:underline; }

@media (max-width:820px) {
  .brand img { height:42px; max-width:190px; }
  .lesson-header h1 { font-size:38px; }
  .lesson-header p { font-size:17px; }
  .subnav { margin-left:34px; }
}
@media (max-width:520px) {
  .sublesson-row { grid-template-columns:32px minmax(0,1fr) 18px; gap:9px; padding:13px 12px; }
  .sublesson-copy strong { font-size:14px; }
  .selected-video-card .video-card-copy h2, .external-selected-card .video-card-copy h2 { font-size:21px; }
  .video-disclaimer { display:grid; gap:6px; }
  .module-contact-footer { padding-left:10px; padding-right:10px; }
  .resource-file-link { align-items:flex-start; }
}
