/* GENERATED by scripts/build_tokens.py from tokens/dgb.tokens.json. Do not edit by hand. */
/* DGB theme 2026.10.08.1 */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("../fonts/inter/inter-latin-ext-400-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("../fonts/inter/inter-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("../fonts/inter/inter-latin-ext-500-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("../fonts/inter/inter-latin-500-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("../fonts/inter/inter-latin-ext-600-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("../fonts/inter/inter-latin-600-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("../fonts/inter/inter-latin-ext-700-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-display: swap;
  font-weight: 700;
  src: url("../fonts/inter/inter-latin-700-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
:root {
  --dgb-primary: #0040A0;
  --dgb-primary-hover: #003D98;
  --dgb-on-primary: #FFFFFF;
  --dgb-earth: #7D5E3C;
  --dgb-gold: #C9A227;
  --dgb-gold-hover: #BF9A25;
  --dgb-on-gold: #0B0B0B;
  --dgb-bg: #fcfcfc;
  --dgb-surface: #FFFFFF;
  --dgb-surface-muted: #fafafa;
  --dgb-border: #E8EAED;
  --dgb-text: #1A1D21;
  --dgb-muted: #5F6368;
  --dgb-success: #1E7E34;
  --dgb-warning: #9A6700;
  --dgb-danger: #B42318;
  --dgb-font: Inter, "Inter Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --dgb-line-height: 1.6;
  --dgb-button-weight: 600;
  --dgb-heading-weight: 600;
  --dgb-radius: 0;
  --dgb-pill-radius: 999px;
  --dgb-space-1: 0.25rem;
  --dgb-space-2: 0.5rem;
  --dgb-space-3: 0.75rem;
  --dgb-space-4: 1rem;
  --dgb-space-5: 1.5rem;
  --dgb-space-6: 2rem;
  --dgb-space-7: 2.5rem;
  --dgb-space-8: 3rem;
  --dgb-motion: 150ms;
  --dgb-shadow-menu: 0 4px 16px rgba(15, 23, 42, 0.12);
}
/* ==========================================================================
   DGB Excellence Center: Open edX legacy pages (LMS + Studio)
   Hand-written component layer. Every colour/size comes from the --dgb-*
   tokens generated from tokens/dgb.tokens.json (website = authority).
   Loaded once, after the compiled Open edX CSS, so plain cascade order wins;
   !important is used only for shape (square corners) and where Open edX
   ships inline/ID-level styles.
   ========================================================================== */

/* ---------- 1. Base type and page ---------- */
html,
body {
  background-color: var(--dgb-bg);
}
body {
  font-family: var(--dgb-font);
  color: var(--dgb-text);
  line-height: var(--dgb-line-height);
  -webkit-font-smoothing: antialiased;
}
body,
button,
input,
select,
textarea,
.btn,
.course-about .details,
.course-about .details p,
.wrapper-course-details,
.course-info,
.dgb-about,
.dgb-unit {
  font-family: var(--dgb-font);
}
h1, h2, h3, h4, h5, h6,
.hd, .page-title, .course-title, .course-name {
  font-family: var(--dgb-font);
  color: var(--dgb-text);
  font-weight: var(--dgb-heading-weight);
  letter-spacing: -0.01em;
}
a,
.btn-link,
.text-primary {
  color: var(--dgb-primary);
}
a:hover,
a:focus,
.btn-link:hover {
  color: var(--dgb-primary-hover);
}
.border-primary {
  border-color: var(--dgb-primary) !important;
}
.bg-primary {
  background-color: var(--dgb-primary) !important;
  color: var(--dgb-on-primary) !important;
}
::selection {
  background: var(--dgb-primary);
  color: var(--dgb-on-primary);
}
:focus-visible {
  outline: 2px solid var(--dgb-primary);
  outline-offset: 2px;
}

/* Site rule: type stays upright everywhere (no italics), as on www.dgbcenter.com */
em, i:not(.fa):not([class*="icon"]), cite, address, dfn, var, .tagline, .dgb-about__note {
  font-style: normal;
}

/* ---------- 2. Shape: square corners (website: radius 0 everywhere) ---------- */
.btn, button, .button, a.button, input, select, textarea,
input[type="submit"], input[type="button"], input[type="reset"],
.action, .action-primary, .action-secondary,
.form-control, .custom-select, .input-group, .input-group-text,
.card, .card-header, .card-body, .card-footer, .card-img-top,
.panel, .modal, .modal-content, .modal-dialog, .dropdown-menu, .dropdown-item,
.alert, .message, .wrapper-msg, .msg, .feedback-message, .confirmation-message,
.tooltip-inner, .popover, .nav-tabs .nav-link, .nav-pills .nav-link,
.course, article.course, .courses-listing-item, .course-image, .cover-image,
.cover-image img, .course-about .main-cta, .course-sidebar, .course-summary,
.wrapper-course-intro, .discovery-card, .search-facets, .course-search,
.search-input, .search-button, .label, .badge:not(.badge-pill),
.dgb-about, .dgb-unit, .xblock, .wrapper-xblock, .wrapper-comp-setting,
.wrapper-mast, .content-supplementary, .bit, .ui-dialog, .ui-widget-content,
.learn-more, .course .learn-more, .course-about .register, a.register, .sharing-message,
.course-about .course-sidebar .share, .course-info .wrapper-msg, .find-courses .discovery-button,
.main-cta strong, .wrap-instructor-info .instructor-info-action,
[class*="rounded"]:not(.rounded-circle):not(.rounded-pill) {
  border-radius: 0 !important;
}
/* Intentional circles stay round */
.rounded-circle, .avatar, .user-image-frame, .profile-image img,
.image-frame, .badge-pill, input[type="radio"], .dgb-live-pill {
  border-radius: var(--dgb-pill-radius) !important;
}

/* ---------- 3. Buttons (site CTA: blue fill, white, 600, darken on hover) ---------- */
.btn-primary,
.btn-brand,
a.btn-primary,
button.btn-primary,
input[type="submit"],
.action-primary,
.button.action-primary,
a.register,
.btn-go-to-course,
.course-about .main-cta a,
.course-about .main-cta .register,
.login-register .form-field button,
.form-actions button.action-primary {
  background: var(--dgb-primary) !important;
  background-image: none !important;
  border: 1px solid var(--dgb-primary) !important;
  color: var(--dgb-on-primary) !important;
  font-family: var(--dgb-font);
  font-weight: var(--dgb-button-weight) !important;
  letter-spacing: 0;
  text-shadow: none !important;
  box-shadow: none !important;
  transition: background-color var(--dgb-motion) ease, border-color var(--dgb-motion) ease;
}
.btn-primary:hover, .btn-primary:focus,
.btn-brand:hover, .btn-brand:focus,
input[type="submit"]:hover, input[type="submit"]:focus,
.action-primary:hover, .action-primary:focus,
a.register:hover, a.register:focus,
.btn-go-to-course:hover,
.course-about .main-cta a:hover,
.course-about .main-cta .register:hover,
.login-register .form-field button:hover,
.form-actions button.action-primary:hover {
  background: var(--dgb-primary-hover) !important;
  border-color: var(--dgb-primary-hover) !important;
  color: var(--dgb-on-primary) !important;
}
/* Secondary / outline: white, 1px border, ink text */
.btn-secondary,
.btn-outline-primary,
.btn-default,
.btn-neutral,
.action-secondary,
.button.action-secondary {
  background: var(--dgb-surface) !important;
  border: 1px solid var(--dgb-border) !important;
  color: var(--dgb-text) !important;
  font-weight: var(--dgb-button-weight) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.btn-secondary:hover,
.btn-outline-primary:hover,
.btn-default:hover,
.btn-neutral:hover,
.action-secondary:hover {
  border-color: var(--dgb-primary) !important;
  color: var(--dgb-primary) !important;
}
/* Danger: red is for errors/destructive actions only */
.btn-danger,
.action-delete,
.button.action-delete {
  background: var(--dgb-danger) !important;
  border-color: var(--dgb-danger) !important;
  color: #FFFFFF !important;
}
.btn:disabled, .btn.disabled, button:disabled, input[type="submit"]:disabled,
.is-disabled, .action.is-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
/* Gold accents: always dark text on gold */
.label-accent, .cta-accent, .bg-accent, .bg-warning {
  background-color: var(--dgb-gold) !important;
  color: var(--dgb-on-gold) !important;
}

/* ---------- 4. Inputs (1px #E8EAED, square, blue focus) ---------- */
input[type="text"], input[type="email"], input[type="password"],
input[type="search"], input[type="number"], input[type="url"], input[type="tel"],
select, textarea, .form-control, .custom-select {
  border: 1px solid var(--dgb-border);
  background-color: var(--dgb-surface);
  color: var(--dgb-text);
  box-shadow: none;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="password"]:focus,
input[type="search"]:focus, input[type="number"]:focus, input[type="url"]:focus,
input[type="tel"]:focus, select:focus, textarea:focus, .form-control:focus {
  border-color: var(--dgb-primary);
  outline: 2px solid var(--dgb-primary);
  outline-offset: 0;
  box-shadow: none;
}

/* ---------- 5. Global header (LMS) ---------- */
.global-header,
header.global-header {
  background: var(--dgb-surface);
  border-bottom: 1px solid var(--dgb-border);
  box-shadow: none;
}
/* One hairline only: the inner bar (40px tall on mobile) must not draw a second line through the logo. */
.global-header .main-header {
  background: transparent;
  border-bottom: 0;
  box-shadow: none;
}
.global-header .header-logo .logo,
.global-header .header-logo img,
.header-logo img.logo {
  height: 56px;
  width: auto;
  max-height: 56px;
  object-fit: contain;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.global-header .nav-links .nav-item a,
.global-header .nav-global li a,
.global-header .mobile-nav-item a,
.nav-global li a {
  color: var(--dgb-text);
  font-weight: 500;
}
.global-header .nav-links .nav-item a:hover,
.global-header .nav-links .nav-item a.active,
.nav-global li a:hover {
  color: var(--dgb-primary);
  border-bottom-color: var(--dgb-primary);
}
.global-header .hamburger-menu .line {
  background: var(--dgb-text);
}
.global-header .course-header,
.global-header .course-header .provider,
.global-header .course-header .course-name {
  color: var(--dgb-text);
}
/* Header auth CTAs */
.global-header a.register-btn.btn,
a.register-btn.btn {
  background: var(--dgb-surface) !important;
  border: 1px solid var(--dgb-primary) !important;
  color: var(--dgb-primary) !important;
  font-weight: var(--dgb-button-weight) !important;
}
.global-header a.register-btn.btn:hover,
a.register-btn.btn:hover {
  background: var(--dgb-primary) !important;
  color: var(--dgb-on-primary) !important;
}
.global-header a.sign-in-btn.btn,
a.sign-in-btn.btn {
  background: var(--dgb-primary) !important;
  border: 1px solid var(--dgb-primary) !important;
  color: var(--dgb-on-primary) !important;
  font-weight: var(--dgb-button-weight) !important;
}
.global-header a.sign-in-btn.btn:hover,
a.sign-in-btn.btn:hover {
  background: var(--dgb-primary-hover) !important;
  border-color: var(--dgb-primary-hover) !important;
}
/* User menu (signed in) */
.global-header .user-dropdown,
.global-header .dropdown-user-menu {
  border-radius: 0 !important;
}
.global-header .dropdown-user-menu {
  border: 1px solid var(--dgb-border);
  box-shadow: var(--dgb-shadow-menu);
}

/* ---------- 6. Home hero: website banner bar + search ----------
   Website pattern (.dgb-banner__bar): full-width primary bar, white uppercase 700 title.
   Open edX's own layout (floated 8-column white box, gradient, shadows) is neutralised here;
   its colours/fonts are already removed at the source via _variables.scss. */
.marketing-hero {
  display: none;
}
.home > header {
  background: transparent;
  background-image: none;
  box-shadow: none;
  margin: 0;
  padding: 0;
  width: 100%;
  overflow: visible;
}
.home > header .outer-wrapper {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--dgb-space-6) var(--dgb-space-5) 0;
  animation: none;
}
.home > header .outer-wrapper .title {
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
  min-height: 0;
  background: transparent;
  box-shadow: none;
  border: 0;
}
.home > header .outer-wrapper .title > .heading-group {
  display: block;
  position: static;
  background: var(--dgb-primary);
  padding: var(--dgb-space-4) var(--dgb-space-5);
  margin: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.home > header .outer-wrapper .title > .heading-group h1 {
  color: var(--dgb-on-primary);
  font-family: var(--dgb-font);
  font-size: 1.5rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  line-height: 1.25;
  text-shadow: none;
  text-align: left;
  margin: 0;
  border: 0;
}
.home > header .outer-wrapper .title > .heading-group h1::before,
.home > header .outer-wrapper .title > .heading-group h1::after {
  display: none;
  content: none;
}
.home > header .outer-wrapper .title > .heading-group p,
.home > header .outer-wrapper .title > .heading-group .tagline {
  color: var(--dgb-on-primary);
  font-family: var(--dgb-font);
  font-size: 0.9375rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  text-align: left;
  margin: var(--dgb-space-1) 0 0;
  opacity: 0.92;
}
/* Search: website .dgb-input + a blue square button attached to it */
.home > header .outer-wrapper .title .course-search {
  position: relative;
  max-width: 720px;
  margin: 0;
  padding: var(--dgb-space-5) 0 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.home > header .outer-wrapper .title .course-search form {
  display: flex;
  align-items: stretch;
  width: 100%;
}
.home > header .outer-wrapper .title .course-search label {
  flex: 1 1 auto;
  margin: 0;
}
.home > header .outer-wrapper .title .course-search .search-input {
  float: none;
  width: 100%;
  height: 48px;
  padding: 0 var(--dgb-space-3);
  border: 1px solid var(--dgb-border);
  border-right: 0;
  background: var(--dgb-surface);
  color: var(--dgb-text);
  font-family: var(--dgb-font);
  font-size: 1rem;
  font-style: normal;
  box-shadow: none;
}
.home > header .outer-wrapper .title .course-search .search-input:focus {
  border-color: var(--dgb-primary);
  outline: none;
}
.home > header .outer-wrapper .title .course-search .search-input::placeholder {
  color: var(--dgb-muted);
}
.home > header .outer-wrapper .title .course-search .search-button {
  position: static;
  flex: 0 0 48px;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid var(--dgb-primary);
  background: var(--dgb-primary);
  color: var(--dgb-on-primary);
  font-size: 1.125rem;
  text-shadow: none;
  box-shadow: none;
}
.home > header .outer-wrapper .title .course-search .search-button:hover,
.home > header .outer-wrapper .title .course-search .search-button:focus {
  background: var(--dgb-primary-hover);
  border-color: var(--dgb-primary-hover);
  color: var(--dgb-on-primary);
}
/* Discovery page (/courses): Open edX paints a grey ($gray-l5) panel; the site uses the page bg */
.find-courses,
.university-profile {
  background: var(--dgb-bg);
}
/* Course search on /courses (discovery page) uses the same input/button language */
.course-search .search-input {
  border: 1px solid var(--dgb-border);
  background: var(--dgb-surface);
  color: var(--dgb-text);
  box-shadow: none;
}
.course-search .search-input::placeholder {
  color: var(--dgb-muted);
}
.course-search .search-button,
button.search-button {
  background: var(--dgb-primary);
  border: 1px solid var(--dgb-primary);
  color: var(--dgb-on-primary);
  box-shadow: none;
  text-shadow: none;
}
.course-search .search-button:hover,
button.search-button:hover {
  background: var(--dgb-primary-hover);
  border-color: var(--dgb-primary-hover);
  color: var(--dgb-on-primary);
}

/* ---------- 7. Course cards (site .surface: 1px blue border + 4px top bar) ---------- */
.courses-container,
.home .courses-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 var(--dgb-space-5) var(--dgb-space-8);
}
.courses-container .courses .courses-listing .courses-listing-item {
  border: 0;
  box-shadow: none;
}
article.course,
.courses-container .courses .course,
.find-courses .courses .course,
.discovery-card {
  background: var(--dgb-surface);
  border: 1px solid var(--dgb-primary);
  box-shadow: inset 0 4px 0 var(--dgb-primary);
  overflow: hidden;
  transition: border-color var(--dgb-motion) ease;
}
article.course:hover,
.courses-container .courses .course:hover {
  box-shadow: inset 0 4px 0 var(--dgb-primary);
}
article.course a,
article.course a:hover {
  color: var(--dgb-text);
  text-decoration: none;
}
article.course .course-image .cover-image,
header.course-image .cover-image {
  background: var(--dgb-primary);
}
article.course .course-image .cover-image img,
header.course-image .cover-image img {
  filter: none;
  opacity: 1;
}
article.course .learn-more,
.find-courses .courses .course .learn-more {
  background: var(--dgb-primary);
  color: var(--dgb-on-primary);
  font-weight: var(--dgb-button-weight);
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  border: 0;
}
article.course .course-info .course-organization,
article.course .course-info .course-code {
  color: var(--dgb-muted);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
article.course .course-info .course-title {
  color: var(--dgb-text);
  font-weight: 600;
  font-size: 1rem;
}
article.course .course-info .course-date {
  color: var(--dgb-muted);
  font-size: 0.75rem;
}
.find-courses .search-facets,
.find-courses .discovery-input {
  border: 1px solid var(--dgb-border);
  background: var(--dgb-surface);
  box-shadow: none;
}
.courses-container .discovery-submit,
.find-courses .discovery-submit {
  background: var(--dgb-primary);
  color: var(--dgb-on-primary);
  border: 0;
}

/* ---------- 8. Course about ---------- */
.course-about .course-info,
.course-info .wrapper-course-intro,
.course-about .intro-inner-wrapper {
  background: var(--dgb-surface);
  border: 1px solid var(--dgb-border);
  box-shadow: inset 0 4px 0 var(--dgb-primary);
}
.course-about .course-info .intro .heading-group h1,
.course-about .intro .heading-group h1 {
  color: var(--dgb-text);
  font-weight: 600;
  letter-spacing: -0.03em;
}
.course-about .intro .heading-group h1 a,
.course-about .intro .heading-group .course-org {
  color: var(--dgb-muted);
}
.course-about .main-cta a,
.course-about .main-cta .register {
  font-size: 0.875rem;
  text-transform: none;
  padding: 0.5rem 1.25rem;
}
.course-about .details,
.course-about .details p,
.course-about .details li {
  color: var(--dgb-text);
  line-height: var(--dgb-line-height);
}
.course-about .course-sidebar .social-sharing,
.course-sidebar .social-sharing {
  background: var(--dgb-primary);
  border: 0;
}
/* Open edX shows "Share with friends and family!" as a dark hover tooltip; the site shows it as
   the heading of the blue share box. */
.course-info .course-sidebar header .social-sharing .sharing-message,
.course-about .course-sidebar .social-sharing .sharing-message {
  position: static;
  display: block;
  opacity: 1;
  visibility: visible;
  width: auto;
  margin: 0;
  padding: var(--dgb-space-3) var(--dgb-space-4) 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  font-family: var(--dgb-font);
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 600;
  text-align: center;
}
.course-info .course-sidebar header .social-sharing .sharing-message::before,
.course-info .course-sidebar header .social-sharing .sharing-message::after {
  display: none;
}
.course-info .course-sidebar header .social-sharing {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--dgb-space-5);
  float: none;
  width: auto;
  height: auto;
  min-height: 44px;
  padding: 0 0 var(--dgb-space-3);
}
.course-info .course-sidebar header .social-sharing .sharing-message {
  flex: 0 0 100%;
}
.course-info .course-sidebar header .social-sharing a {
  float: none;
  margin: 0;
}
.course-sidebar .social-sharing .sharing-message,
.course-sidebar .social-sharing a,
.course-sidebar .social-sharing .fa {
  color: var(--dgb-on-primary) !important;
  opacity: 1 !important;
}
.course-about .course-sidebar .important-dates li .heading,
.course-about .course-sidebar .important-dates .icon {
  color: var(--dgb-muted);
}
.course-about .course-sidebar .important-dates li .important-dates-item-text {
  color: var(--dgb-text);
  font-weight: 600;
}
/* Course-about intro = website .surface: 1px primary border + 4px inset top bar, no shadow */
.course-info header.course-profile .intro-inner-wrapper,
.course-about .intro-inner-wrapper {
  background: var(--dgb-surface);
  border: 1px solid var(--dgb-primary);
  box-shadow: inset 0 4px 0 var(--dgb-primary);
}
/* DGB course-about content blocks (authored in course HTML) */
section.dgb-about,
#course-about .dgb-about,
div.dgb-unit {
  background: var(--dgb-surface);
  border: 1px solid var(--dgb-border);
  border-left: 4px solid var(--dgb-primary);
  box-shadow: none;
  color: var(--dgb-text);
  padding: var(--dgb-space-4) var(--dgb-space-5);
}
.dgb-about h3,
.dgb-unit h3 {
  color: var(--dgb-text);
}
.dgb-about strong,
.dgb-about a {
  color: var(--dgb-primary);
}
.dgb-about .dgb-about__note {
  color: var(--dgb-muted);
}

/* ---------- 9. Cards, dashboard widgets, alerts ---------- */
.card {
  border: 1px solid var(--dgb-border);
  box-shadow: none;
}
.wrapper-preview-menu .preview-menu {
  background: var(--dgb-surface-muted);
  border-bottom: 1px solid var(--dgb-border);
}
.feedback-message, .confirmation-message, .message.info, .wrapper-msg {
  border: 1px solid var(--dgb-border);
  border-left: 4px solid var(--dgb-primary);
  background: var(--dgb-surface);
  color: var(--dgb-text);
}
.message.warning, .wrapper-msg.warning {
  border-left-color: var(--dgb-gold);
}
.submission-error, .message.error, .status.error, .field-message.has-error,
.errorlist, .form-error {
  color: var(--dgb-danger);
  border-color: var(--dgb-danger);
}
.message.success, .status.success {
  border-left-color: var(--dgb-success);
}
.status-date {
  color: var(--dgb-earth);
}

/* Instructor dashboard tabs */
.instructor-nav a.btn-link,
.instructor-nav .btn-link {
  color: var(--dgb-text) !important;
  background: transparent !important;
  border-bottom: 2px solid transparent;
}
.instructor-nav .btn-link.active,
.instructor-dashboard-wrapper-v2 .instructor-nav .btn-link.active {
  color: var(--dgb-primary) !important;
  border-bottom-color: var(--dgb-primary);
  font-weight: 600;
}

/* ---------- 10. Footer (portal voice: muted copyright left, uppercase links right) ---------- */
.wrapper-footer,
footer#footer,
.wrapper-footer footer {
  background: var(--dgb-surface);
  border-top: 1px solid var(--dgb-border);
  color: var(--dgb-muted);
  box-shadow: none;
}
footer#footer .footer-top {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--dgb-space-4);
  padding: var(--dgb-space-3) var(--dgb-space-5);
  flex-wrap: wrap;
}
footer#footer .dgb-footer__copy {
  margin: 0;
  color: var(--dgb-muted);
  font-size: 0.75rem;
}
footer#footer nav ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
footer#footer li + li::before {
  content: "|";
  color: var(--dgb-border);
  padding: 0 var(--dgb-space-3);
}
footer#footer a,
.wrapper-footer a {
  color: var(--dgb-text);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-decoration: none;
}
footer#footer a:hover,
.wrapper-footer a:hover {
  color: var(--dgb-primary);
}
/* De-brand: hide "Powered by Open edX / Tutor" chrome (trademark images only) */
img[src*="open-edx-logo-tag"],
img[alt*="Runs on Tutor"],
footer .footer-about-openedx,
footer .logo-list {
  display: none !important;
}
