/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* ---------------------------------------------------------------------------
 * Brand theme
 * Ruby-red accent applied via CSS variables so the site can be rethemed in one
 * place. Bootstrap is vendored/compiled, so we theme with its --bs-* component
 * variables rather than recompiling SCSS.
 * ------------------------------------------------------------------------- */
:root {
  --brand: #e21c2c;
  --brand-rgb: 226, 28, 44;
  --brand-dark: #b91724;
}

/* Brand-colored button variant (built on Bootstrap's button CSS variables). */
.btn-brand {
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--brand);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--brand-dark);
  --bs-btn-hover-border-color: var(--brand-dark);
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: var(--brand-dark);
  --bs-btn-active-border-color: var(--brand-dark);
  --bs-btn-focus-shadow-rgb: var(--brand-rgb);
  box-shadow: 0 0.35rem 0.85rem rgba(var(--brand-rgb), 0.35);
}
.btn-brand:hover {
  box-shadow: 0 0.5rem 1.1rem rgba(var(--brand-rgb), 0.5);
}

/* Danger buttons use the brand red (matching the Enroll CTA) rather than
 * Bootstrap's default red. Applies on both the public site and the admin. */
.btn-danger {
  --bs-btn-bg: var(--brand);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-bg: var(--brand-dark);
  --bs-btn-hover-border-color: var(--brand-dark);
  --bs-btn-active-bg: var(--brand-dark);
  --bs-btn-active-border-color: var(--brand-dark);
  --bs-btn-disabled-bg: var(--brand);
  --bs-btn-disabled-border-color: var(--brand);
  --bs-btn-focus-shadow-rgb: var(--brand-rgb);
}
.btn-outline-danger {
  --bs-btn-color: var(--brand);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-bg: var(--brand);
  --bs-btn-hover-border-color: var(--brand);
  --bs-btn-active-bg: var(--brand);
  --bs-btn-active-border-color: var(--brand);
  --bs-btn-focus-shadow-rgb: var(--brand-rgb);
}

/* Navbar */
.site-navbar {
  background-color: #1a1a1a;
}
.site-navbar .navbar-brand {
  color: #fff;
}
.site-navbar__mark {
  color: var(--brand);
}

/* Footer */
.site-footer {
  background-color: #1a1a1a;
  color: #adb5bd;
}
.site-footer__brand {
  color: #fff;
}
.site-footer a {
  color: #dee2e6;
  text-decoration: none;
}
.site-footer a:hover {
  color: #fff;
}

/* Hero */
.site-hero {
  background: linear-gradient(135deg, #1a1a1a 0%, #2a1215 55%, #3a0f12 100%);
}
.hero-rating {
  color: #ffc107;
}

/* Rich-text editor (Tiptap) — admin content forms (#2947) */
.rich-text-editor .ProseMirror {
  min-height: 8rem;
  outline: none;
}
.rich-text-editor .ProseMirror > :last-child {
  margin-bottom: 0;
}
/* Public rendering of saved rich-text content */
.rich-text-content :last-child {
  margin-bottom: 0;
}
