/* ==========================================================================
   CU Denver Official Light Theme — ISMG 2050 Teaching Section Only
   Matches the typography, color palette, and visual hierarchy of cudenver.edu
   ========================================================================== */

:root {
  --cu-gold: #CFB87C;
  --cu-gold-dark: #8D7334;
  --cu-black: #000000;
  --cu-charcoal: #222222;
  --cu-light-gray: #F8F9FA;
  --cu-border-gray: #E0E0E0;
  --cu-white: #FFFFFF;
  --font-heading: "Helvetica Neue Condensed", "Roboto Condensed", "Helvetica Neue", Arial, sans-serif;
  --font-body: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Force light background canvas regardless of w3-black utility class */
html, body, body.w3-black {
  background-color: var(--cu-white) !important;
  color: var(--cu-charcoal) !important;
  font-family: var(--font-body) !important;
}

/* Container & layout constraints */
main, .research-content {
  background-color: var(--cu-white) !important;
  color: var(--cu-charcoal) !important;
}

/* Links */
a {
  color: var(--cu-gold-dark) !important;
  text-decoration: underline;
  font-weight: 500;
}

a:hover, a:focus {
  color: var(--cu-black) !important;
  text-decoration: underline;
}

/* Header & Title Typography */
.page-header h1, .page-title, h1, h2 {
  color: var(--cu-black) !important;
  font-family: var(--font-heading) !important;
  border-bottom: 3px solid var(--cu-gold) !important;
  padding-bottom: 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.page-header .tagline, .header-meta {
  color: var(--cu-gold-dark) !important;
  font-size: 0.95rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

/* Info Blocks & Cards (White Fill + Gold Accent Border) */
.info-block, .minimal-card {
  background-color: var(--cu-light-gray) !important;
  border: 1px solid var(--cu-border-gray) !important;
  border-left: 5px solid var(--cu-gold) !important;
  border-radius: 4px;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.5rem;
  color: var(--cu-charcoal) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}

.info-block h3, .info-block h4, h3, h4 {
  color: var(--cu-black) !important;
  font-family: var(--font-heading) !important;
  margin-top: 0;
}

.info-block p, .info-block li {
  color: var(--cu-charcoal) !important;
}

/* Form Inputs & Upload Widgets */
input[type="text"], input[type="file"], select, .w3-input, .w3-select {
  background-color: var(--cu-white) !important;
  color: var(--cu-black) !important;
  border: 1px solid var(--cu-border-gray) !important;
  border-radius: 4px;
}

/* Primary Action Buttons */
.w3-button.w3-dark-grey, .w3-button.w3-black {
  background-color: var(--cu-black) !important;
  color: var(--cu-white) !important;
  border-radius: 4px;
  font-weight: 600;
}

.w3-button.w3-dark-grey:hover, .w3-button.w3-black:hover {
  background-color: var(--cu-gold) !important;
  color: var(--cu-black) !important;
}

/* Tables */
table, table.w3-table, table.cu-table {
  width: 100%;
  border-collapse: collapse;
  background-color: var(--cu-white) !important;
  color: var(--cu-charcoal) !important;
  border: 1px solid var(--cu-border-gray) !important;
}

table th {
  background-color: var(--cu-light-gray) !important;
  color: var(--cu-black) !important;
  border-bottom: 2px solid var(--cu-gold) !important;
  padding: 0.75rem 1rem;
}

table td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--cu-border-gray) !important;
  color: var(--cu-charcoal) !important;
}

/* Footers */
footer, .page-footer {
  border-top: 1px solid var(--cu-border-gray) !important;
  color: #666666 !important;
  background-color: transparent !important;
}

/* Utility classes for inline-style migration */
.cu-meta-text {
  font-size: 0.85rem;
  color: #666666;
  font-style: italic;
}

.cu-link-accent,
.cu-info-link,
.cu-green-link,
.cu-info-links a {
  color: #1b365d !important;
  text-decoration: underline;
  font-weight: 500;
}

.cu-link-accent:hover,
.cu-info-link:hover,
.cu-green-link:hover,
.cu-info-links a:hover {
  color: #0066cc !important;
  text-decoration: underline;
}

.cu-section-accent {
  border-left: 5px solid var(--cu-gold) !important;
}

/* hr with gold bottom border */
hr.cu-divider {
  border: none;
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  margin: 1rem 0;
}

/* Blue-link accent (for email, grader links) */
.cu-blue-link {
  color: #64b5f6 !important;
  text-decoration: none;
}

/* Note/stub boxes */
.cu-note-box {
  background-color: var(--cu-light-gray) !important;
  border-left: 3px solid var(--cu-gold) !important;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
}

/* Weekly section heading accent */
.cu-section-heading {
  color: var(--cu-black) !important;
  font-family: var(--font-heading) !important;
  margin-top: 0;
}

.cu-green-link,
.cu-info-links a {
  color: #1b365d !important;
  text-decoration: underline;
  font-weight: 500;
}

.cu-margin-bottom {
  margin-bottom: 1.5rem;
}

.cu-th {
  background-color: var(--cu-light-gray) !important;
  color: var(--cu-black) !important;
  border-bottom: 2px solid var(--cu-gold) !important;
  padding: 0.75rem 1rem;
}

.cu-td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--cu-border-gray) !important;
  color: var(--cu-charcoal) !important;
}

/* Table column width utilities */
.cu-col-tight { width: 12%; }
.cu-col-due { width: 15%; }
.cu-col-wk { width: 8%; }
.cu-col-deliverable { width: 35%; }
.cu-col-type { width: 20%; }
.cu-col-portal { width: 23%; }

/* Margin utilities for inline-style migration */
.cu-margin-top-lg {
  margin-top: 2rem;
}

.cu-h-pad-top {
  padding-top: 0.5rem;
}


/* ==========================================================================
   ANTI-PURPLE ANCHOR & BUTTON OVERRIDE (CU Denver Palette)
   ========================================================================== */
a:link, a:visited {
    color: #1b365d !important;
    text-decoration: none !important;
}
a:hover, a:focus {
    color: #cfb87c !important;
    text-decoration: underline !important;
}
.w3-button, button.w3-button, a.w3-button {
    background-color: #f1f1f1 !important;
    color: #333333 !important;
    border: 1px solid #cccccc !important;
    text-decoration: none !important;
}
.w3-button:hover, button.w3-button:hover, a.w3-button:hover {
    background-color: #e5e5e5 !important;
    color: #111111 !important;
    border-color: #bbbbbb !important;
}


/* ==========================================================================
   PERMANENT ANTI-PURPLE RESET (CU Denver Institutional Palette)
   ========================================================================== */
a, a:link, a:visited, a:active {
    color: #1b365d !important;
    text-decoration: none !important;
}

a:hover, a:focus {
    color: #cfb87c !important;
    text-decoration: underline !important;
}

/* Neutralize buttons & tags */
.w3-button, button.w3-button, a.w3-button, .w3-tag, a.w3-tag {
    color: #333333 !important;
}

.w3-button:hover, button.w3-button:hover, a.w3-button:hover {
    color: #111111 !important;
}
