/* V3 shared brand and legibility refinements.
   Loaded AFTER dark-theme.css and hub.css to avoid specificity/order regressions.
   Academy lesson styling remains intact. */

/* Main website and Academy use the same original CareMedox logo asset.
   The destination is decided by Header.php and Footer.php, not CSS. */
.cm-site-header .cm-brand-logo { width:188px; max-width:188px; max-height:55px; height:auto; object-fit:contain; }
.cm-footer .cm-brand-logo { width:218px; max-width:218px; height:auto; }
.cm-site-header .cm-nav-inner { gap:12px; }
.cm-site-header .cm-nav-menu { gap:2px; }
.cm-site-header .cm-nav-menu > a,
.cm-site-header .cm-dropdown > button { padding:10px 7px; font-size:.84rem; font-weight:560; white-space:nowrap; }
.cm-site-header .cm-nav-cta { border-radius:999px; padding:11px 16px !important; color:#fff !important; white-space:nowrap; }
.cm-site-header .cm-nav-cta:hover, .cm-site-header .cm-nav-cta:focus-visible { color:#fff !important; }
.cm-nav-chevron { font-size:.95em; margin-left:2px; opacity:.65; }
.cm-dropdown-grouped .cm-dropdown-groups { min-width:270px; max-width:min(90vw,340px); padding:10px; gap:2px; }
.cm-dropdown-group { padding:5px 0; }
.cm-dropdown-group + .cm-dropdown-group { border-top:1px solid rgba(160,33,73,.12); padding-top:8px; margin-top:4px; }
.cm-dropdown-group .cm-dropdown-group-title { display:block; font-weight:690; font-size:.89rem; color:#69213e; padding:9px 12px 6px; }
.cm-dropdown-group .cm-dropdown-child { display:block; font-weight:480; font-size:.84rem; margin-left:12px; padding:8px 12px 8px 19px; border-left:2px solid #eed3df; border-radius:0 9px 9px 0; }
.cm-dropdown-group .cm-dropdown-group-title:hover,
.cm-dropdown-group .cm-dropdown-child:hover { color:#782044; background:#fff0f5; }
.cm-site-header a:focus-visible, .cm-site-header button:focus-visible,
.hub-page a:focus-visible { outline:3px solid #f1789b; outline-offset:3px; }

/* Modernize only the new org hub / tools surfaces, keeping Academy as the reference style. */
.hub-page .cm-hub-hero-text h1 { font-size:clamp(2.35rem,3.6vw,3.68rem); line-height:1.19; letter-spacing:-.034em; font-weight:680; max-width:720px; }
.hub-page .cm-hub-hero-text h1 em { font-weight:690; }
.hub-page .cm-hub-section-header h2,
.hub-page .cm-hub-spotlight h2,
.hub-page .cm-hub-last h2,
.hub-page .cm-hub-tool-promo h2,
.hub-page .cm-tools-hero h1 { letter-spacing:-.027em; font-weight:680; line-height:1.22; }
.hub-page .cm-hub-section-header h2 { font-size:clamp(1.7rem,2.7vw,2.4rem); }
.hub-page .cm-hub-last h2 { font-size:clamp(1.65rem,2.25vw,2.12rem); }
.hub-page .cm-hub-tool-promo h2 { font-size:clamp(1.8rem,2.7vw,2.5rem); }
.hub-page .cm-tools-hero h1 { font-size:clamp(2.25rem,3.45vw,3.5rem); }
.hub-page .cm-hub-tile h3,
.hub-page .cm-hub-division h3,
.hub-page .cm-tools-resource h3,
.hub-page .cm-tools-roadmap h3 { font-weight:680; letter-spacing:-.018em; }
.hub-page .cm-hub-steps strong { font-weight:670; }
.hub-page .cm-hub-art-main h2 { font-weight:720; letter-spacing:-.02em; }
.hub-page .cm-hub-art-icon { font-weight:750; }
.hub-page .cm-hub-actions .cm-btn { font-weight:610; }
.hub-page .cm-hub-eyebrow { font-weight:700; }

/* Accessible badges in white cards and on deep burgundy strips. */
.hub-page .cm-kicker { background:#fbe9f0; color:#902647; border:1px solid #f1c7d6; font-weight:680; }
.hub-page .cm-hub-chip { color:#13604c; background:#e6f7f0; font-weight:720; }
.hub-page .cm-hub-chip-muted { color:#55454e; background:#f1e9ee; }
.hub-page .cm-hub-tile-main .cm-hub-chip { color:#fff; background:rgba(255,255,255,.24); }
.hub-page .cm-hub-last .cm-kicker { color:#fff !important; background:rgba(255,255,255,.20) !important; border:1px solid rgba(255,255,255,.42) !important; box-shadow:none; }

/* Critical: base main.css sets burgundy primary buttons on hover with !important.
   On a burgundy strip a white CTA must STAY white on hover/focus/active. */
.hub-page .cm-hub-last .cm-btn.cm-btn-primary,
.hub-page .cm-hub-last .cm-btn.cm-btn-primary:hover,
.hub-page .cm-hub-last .cm-btn.cm-btn-primary:focus-visible,
.hub-page .cm-hub-last .cm-btn.cm-btn-primary:active {
  background:#ffffff !important;
  color:#831d3c !important;
  border:1px solid #ffffff !important;
  -webkit-text-fill-color:#831d3c !important;
  text-shadow:none !important;
  box-shadow:0 8px 22px rgba(48,3,21,.15) !important;
  opacity:1 !important;
}
.hub-page .cm-hub-last .cm-btn.cm-btn-primary:hover,
.hub-page .cm-hub-last .cm-btn.cm-btn-primary:focus-visible {
  background:#ffeff5 !important; border-color:#ffeff5 !important;
  box-shadow:0 12px 26px rgba(48,3,21,.26) !important;
}
.hub-page .cm-hub-last .cm-btn.cm-btn-primary::before { display:none; }
.hub-page .cm-hub-last .cm-btn.cm-btn-primary { flex-shrink:0; font-weight:640; }
.hub-page .cm-btn-primary:not(.cm-hub-last .cm-btn),
.hub-page .cm-btn-primary:not(.cm-hub-last .cm-btn):hover { color:#fff !important; }

/* Dark mode still uses the light navbar, but the dropdown and badges stay legible. */
html[data-cm-theme='dark'] .cm-site-header .cm-dropdown-group-title { color:#67233d !important; }
html[data-cm-theme='dark'] .cm-site-header .cm-dropdown-child { color:#50434c !important; }
html[data-cm-theme='dark'] .cm-site-header .cm-dropdown-group a:hover { background:#fbedf2 !important; color:#67183a !important; }
html[data-cm-theme='dark'] .hub-page .cm-hub-last .cm-kicker { color:#fff !important; background:rgba(255,255,255,.20) !important; border-color:rgba(255,255,255,.42) !important; }
html[data-cm-theme='dark'] .hub-page .cm-hub-last .cm-btn.cm-btn-primary,
html[data-cm-theme='dark'] .hub-page .cm-hub-last .cm-btn.cm-btn-primary:hover,
html[data-cm-theme='dark'] .hub-page .cm-hub-last .cm-btn.cm-btn-primary:focus-visible { color:#831d3c !important; -webkit-text-fill-color:#831d3c !important; background:#fff !important; }
html[data-cm-theme='dark'] .hub-page .cm-kicker:not(.cm-hub-last .cm-kicker) { color:#ffd8e5 !important; background:#52263c !important; border-color:#87506a !important; }

/* Responsive nav switches to hamburger BEFORE cramped multi-menu overlaps. */
@media (max-width:1180px) {
  .cm-site-header .cm-nav-toggle { display:inline-flex; order:4; }
  .cm-site-header .cm-nav-menu { display:none; position:absolute; left:0; right:0; top:calc(100% + 10px); flex-direction:column; align-items:stretch; background:#fff; border:1px solid rgba(160,33,73,.14); padding:12px; border-radius:17px; box-shadow:0 18px 46px rgba(61,13,34,.17); max-height:min(75vh,670px); overflow-y:auto; }
  .cm-site-header .cm-nav-menu.is-open { display:flex; }
  .cm-site-header .cm-nav-menu > a, .cm-site-header .cm-dropdown > button { text-align:left; width:100%; padding:11px 13px; }
  .cm-site-header .cm-dropdown::after { display:none; }
  .cm-site-header .cm-dropdown-menu { position:static; visibility:visible; opacity:1; transform:none; display:none; min-width:unset; width:100%; margin:3px 0 8px; box-shadow:none; border-radius:12px; }
  .cm-site-header .cm-dropdown.is-open .cm-dropdown-menu { display:grid; }
  .cm-site-header .cm-dropdown:hover:not(.is-open) .cm-dropdown-menu,
  .cm-site-header .cm-dropdown:focus-within:not(.is-open) .cm-dropdown-menu { display:none; }
  .cm-site-header .cm-lesson-toggle { display:inline-flex; margin-left:auto; }
}
@media (max-width:670px) {
  .cm-site-header .cm-brand-logo { width:165px; max-width:165px; }
  .hub-page .cm-hub-hero-text h1 { font-size:clamp(2.2rem,8vw,3.15rem); }
  .hub-page .cm-hub-last .cm-btn { width:100%; }
}
@media (prefers-reduced-motion: reduce) { .hub-page *, .cm-site-header * { transition:none !important; } }

@media (max-width:1180px) { .cm-site-header .cm-nav-menu > a, .cm-site-header .cm-dropdown > button { white-space:normal; } }
