/* Shared type scale for public and authenticated pages. */
:root {
  --site-font: "Expo Arabic", system-ui, sans-serif;
  --site-h1: 32px;
  --site-h2: 24px;
  --site-h3: 20px;
  --site-body: 16px;
  --site-secondary: 14px;
  --site-small: 12px;
}
html:root body[data-site-typography] {
  font-family: var(--site-font);
  font-size: var(--site-body);
  line-height: 1.75;
}
/* Specificity intentionally takes precedence over legacy page type scales. */
html:root body[data-site-typography] h1 { font-size: var(--site-h1) !important; line-height: 1.35 !important; }
html:root body[data-site-typography] h2 { font-size: var(--site-h2) !important; line-height: 1.4 !important; }
html:root body[data-site-typography] h3 { font-size: var(--site-h3) !important; line-height: 1.5 !important; }
html:root body[data-site-typography] h4 { font-size: 18px !important; line-height: 1.5 !important; }
html:root body[data-site-typography] h5,
html:root body[data-site-typography] h6 { font-size: var(--site-body) !important; line-height: 1.5 !important; }
html:root body[data-site-typography] :is(h1,h2,h3,h4,h5,h6,p,button,input,select,textarea,label) { font-family: var(--site-font); }
html:root body[data-site-typography] p { font-size: var(--site-body) !important; line-height: 1.8 !important; }
/* Inline emphasis keeps the surrounding size, including inside headings. */
html:root body[data-site-typography] :is(h1,h2,h3,h4,h5,h6,p) :where(span,a,strong,b,em,u,mark) {
  font-size: inherit !important;
  line-height: inherit;
  font-family: inherit;
}
html:root body[data-site-typography] small { font-size: var(--site-small) !important; line-height: 1.65 !important; }
html:root body[data-site-typography] :is(button,input,select,textarea,label),
html:root body[data-site-typography] :is(.btn,nav a,.nav-links a) {
  font-size: var(--site-secondary) !important;
  line-height: 1.5;
}
html:root body[data-site-typography] :is(input,textarea)::placeholder { font-size: inherit; }
/* Compact supporting text uses the same scale on every page. */
html:root body[data-site-typography] :is(.sales-address,.sales-area,.teacher-role,.teacher-meta,.teacher-tags,.program-tags,.program-code,.eyebrow,.pill,.field label,.footer-col a,.footer-bottom-inner,.mc-meta,.mc-teacher-line,.learning-details,.quote span) {
  font-size: var(--site-secondary) !important;
  line-height: 1.65;
}
html:root body[data-site-typography] :is(.card,.feature,.value-card,.program-content,.intl-program-body,.footer-brand,.mc-card-body,.mc-toast,.faheem-intro) p {
  font-size: var(--site-secondary) !important;
  line-height: 1.8 !important;
}
@media (max-width: 650px) {
  :root { --site-h1: 28px; --site-h2: 22px; --site-h3: 18px; }
}

body.member-site #courseError:not(:empty){position:relative;display:block;min-height:44px;margin-top:10px;padding:10px 38px 10px 12px;border:1px solid #efc9cd;border-radius:11px;color:#a8313d!important;background:#fff4f5;font-size:13px!important;font-weight:700;text-align:right}

body.member-site #courseError:not(:empty):before{content:"!";position:absolute;right:11px;top:50%;display:grid;width:20px;height:20px;place-items:center;border-radius:7px;color:#fff;background:#bd4450;font-size:12px;font-weight:900;transform:translateY(-50%)}
