/* Campus et administration uniquement. Le site vitrine conserve sa typographie. */
@media screen {
  :is(.campus, .admin-shell) {
    --font-ui: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
    --font-display: var(--font-ui);
    font-family: var(--font-ui); font-size: 15px; line-height: 1.6;
  }
  :is(.campus, .admin-shell) :is(h1, h2, h3, h4, button, input, select, textarea) { font-family: var(--font-ui) !important; }
  :is(.campus, .admin-shell) :is(h1, h2, h3, h4) { text-wrap: balance; overflow-wrap: break-word; }
  :is(.campus, .admin-shell) h1 { font-size: 32px !important; line-height: 1.22 !important; font-weight: 650 !important; letter-spacing: -.025em !important; }
  :is(.campus, .admin-shell) h2 { font-size: 24px !important; line-height: 1.3 !important; font-weight: 600 !important; letter-spacing: -.015em !important; }
  :is(.campus, .admin-shell) h3 { font-size: 19px !important; line-height: 1.4 !important; font-weight: 600 !important; letter-spacing: -.01em !important; }
  :is(.campus, .admin-shell) h4 { font-size: 16px !important; line-height: 1.45 !important; font-weight: 600 !important; letter-spacing: 0 !important; }
  :is(.campus, .admin-shell) main p { font-size: 15px; line-height: 1.7; }
  :is(.campus, .admin-shell) :is(.page-heading, .dashboard-title) { margin-bottom: 28px; gap: 16px; }
  :is(.campus, .admin-shell) :is(.page-heading, .dashboard-title) h1 { margin: 0; }
  :is(.campus, .admin-shell) :is(.page-heading, .dashboard-title) p { margin: 10px 0 0; max-width: 68ch; font-size: 15px !important; line-height: 1.65 !important; }
  :is(.campus, .admin-shell) :is(.panel-header h2, .dash-panel .section-title h2, .aside-card h2, .purchase-summary h2) { font-size: 18px !important; }
  :is(.campus, .admin-shell) :is(.panel-body, .dash-panel, .aside-card, .purchase-summary) { padding: 24px; }
  :is(.campus, .admin-shell) .panel-header { padding: 16px 24px; gap: 16px; }
  :is(.campus, .admin-shell) :is(.form-grid, .dash-grid) { gap: 24px; }
  :is(.campus, .admin-shell) .form-actions { gap: 12px; margin-top: 24px; padding-top: 20px; }
  :is(.campus, .admin-shell) :is(.button, .btn, .cd-button) { font-size: 14px !important; line-height: 1.4 !important; font-weight: 600; letter-spacing: 0; }
  :is(.campus, .admin-shell) :is(.field-hint, .overline, .purchase-reference, .dash-item-body small, .cd-caption) { font-size: 13px !important; line-height: 1.6 !important; letter-spacing: .015em !important; }
  :is(.campus, .admin-shell) :is(.nav-link, .campus-sidebar nav > a, .sidebar-bottom > a) { font-size: 14px; line-height: 1.5; }
  :is(.campus, .admin-shell) table { font-size: 14px; line-height: 1.55; }
  :is(.campus, .admin-shell) table th { font-size: 13px !important; line-height: 1.5; letter-spacing: 0 !important; text-transform: none !important; padding: 12px 16px; }
  :is(.campus, .admin-shell) table td { font-size: 14px !important; padding: 14px 16px; }
  :is(.campus, .admin-shell) table td p { font-size: 14px; }
  .campus .lesson-body { font-size: 17px; line-height: 1.8; }
  .campus .lesson-body :is(p, li) { font-size: 17px; line-height: 1.8; }
  .campus .lesson-body p { margin-block: 0 1.2em; }
  .campus .catalog-discovery h1 { font-size: clamp(32px, 3.4vw, 44px) !important; }
  .campus .catalog-discovery .cd-section { margin-top: 48px; }
  .campus .catalog-discovery .cd-section-head { margin-bottom: 24px; }
  .campus .catalog-discovery .cd-program-body { padding: 24px; }
  .campus .catalog-discovery :is(.cd-lead, .cd-program-description) { font-size: 16px; line-height: 1.7; }
  .campus .catalog-discovery :is(.cd-programs, .cd-offers) { gap: 24px; }
  /* Le formulaire d’inscription reste sans carte ni double marge intérieure. */
  .campus.campus-signup .panel-body { padding: 0; }
}
@media screen and (max-width: 700px) {
  :is(.campus, .admin-shell) h1 { font-size: 28px !important; line-height: 1.25 !important; }
  :is(.campus, .admin-shell) h2 { font-size: 22px !important; }
  :is(.campus, .admin-shell) h3 { font-size: 18px !important; }
  :is(.campus, .admin-shell) :is(.page-heading, .dashboard-title) { margin-bottom: 24px; gap: 12px; }
  :is(.campus, .admin-shell) :is(.panel-body, .dash-panel, .aside-card, .purchase-summary) { padding: 18px; }
  :is(.campus, .admin-shell) .panel-header { padding: 16px 18px; gap: 12px; }
  :is(.campus, .admin-shell) :is(.form-grid, .dash-grid) { gap: 20px; }
  :is(.campus, .admin-shell) :is(input, select, textarea) { font-size: 16px !important; }
  :is(.campus, .admin-shell) .button { min-height: 44px; }
  :is(.campus, .admin-shell) .form-actions { gap: 12px; margin-top: 24px; padding-top: 20px; }
  .campus .catalog-discovery h1 { font-size: 30px !important; }
  .campus .catalog-discovery .cd-section { margin-top: 32px; }
  .campus .catalog-discovery .cd-section-head { margin-bottom: 20px; }
  .campus .catalog-discovery .cd-program-body { padding: 20px; }
  .campus .catalog-discovery :is(.cd-programs, .cd-offers) { gap: 20px; }
  .campus.campus-signup .panel-body { padding: 0; }
}
