/* ========================================
   Reusable Components
   ========================================
   
   Shared UI components that appear across pages.
   Minimal, composable styles.
   */

/* Buttons (extends Bootstrap where needed) */
/* Bootstrap handles base button styles */

/* Cards */
/* Add card styles here if needed */

/* Lists */
/* Add list styles here if needed */

/* ========================================
   Footer
   ======================================== */

.footer {
  font-size: 0.9rem;
  line-height: var(--leading-loose);
}

.footer .row > div {
  margin-bottom: var(--spacing-lg);
}

.footer strong {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.02em;
  display: block;
  margin-bottom: var(--spacing-md);
  color: var(--color-text-primary);
}

.footer-nav,
.footer-list {
  font-family: var(--font-mono);
  font-size: 0.8rem;
  line-height: 1.8;
  color: var(--color-text-secondary);
}

.footer-nav a,
.footer-list a {
  display: block;
  margin-bottom: 0.4rem;
  color: var(--color-text-secondary);
  transition: opacity 0.2s ease;
}

.footer-nav a:hover,
.footer-list a:hover {
  opacity: 0.6;
}

.footer .border-top {
  border-color: var(--color-border) !important;
}

.footer .small {
  font-size: 0.75rem;
  font-family: var(--font-mono);
  color: var(--color-text-muted);
}

@media (min-width: 992px) {
  .footer .row > div {
    margin-bottom: 0;
    padding-right: var(--spacing-md);
  }
}

/* ========================================
   Prose (Justified Text)
   ======================================== */

.prose {
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
}

.prose p:last-child {
  margin-bottom: 0;
}
