/* royalnavyhistory/static/css/bootstrap-theme.css */

:root {
  --rnh-navy: #071827;
  --rnh-navy-soft: #102a42;
  --rnh-blue: #315f85;
  --rnh-gold: #d9b46f;
  --rnh-gold-soft: #f4efe5;
  --rnh-ink: #17212b;
  --rnh-muted: #6c757d;
  --rnh-bg: #f8f6f1;
  --rnh-card: #ffffff;
  --rnh-border: rgba(7, 24, 39, 0.12);

  --bs-primary: #315f85;
  --bs-primary-rgb: 49, 95, 133;
  --bs-secondary: #6c757d;
  --bs-body-color: #17212b;
  --bs-body-bg: #f8f6f1;
  --bs-link-color: #315f85;
  --bs-link-hover-color: #071827;
  --bs-border-color: rgba(7, 24, 39, 0.12);
  --bs-border-radius: 0.75rem;
  --bs-border-radius-lg: 1rem;
}

body {
  background: var(--rnh-bg);
  color: var(--rnh-ink);
}

a {
  text-underline-offset: 0.18em;
}

.btn {
  border-radius: 999px;
  font-weight: 600;
  padding: 0.55rem 1.15rem;
}

.btn-primary {
  background-color: var(--rnh-blue);
  border-color: var(--rnh-blue);
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--rnh-navy);
  border-color: var(--rnh-navy);
}

.btn-outline-secondary {
  color: var(--rnh-navy);
  border-color: var(--rnh-navy);
}

.btn-outline-secondary:hover,
.btn-outline-secondary:focus {
  background-color: var(--rnh-navy);
  border-color: var(--rnh-navy);
  color: #ffffff;
}

.card,
.rnh-archive-card,
.rnh-sidebar-panel,
.rnh-detail-panel {
  background: var(--rnh-card);
  border: 1px solid var(--rnh-border);
  border-radius: 1rem;
  box-shadow: 0 14px 35px rgba(7, 24, 39, 0.08);
}

.breadcrumb {
  --bs-breadcrumb-divider-color: var(--rnh-muted);
  --bs-breadcrumb-item-active-color: var(--rnh-muted);
}

.dropdown-menu {
  border-radius: 0.85rem;
  border: 1px solid var(--rnh-border);
  box-shadow: 0 18px 45px rgba(7, 24, 39, 0.18);
}

.dropdown-item:hover,
.dropdown-item:focus {
  background: var(--rnh-gold-soft);
  color: var(--rnh-navy);
}

.badge {
  border-radius: 999px;
  font-weight: 600;
}

.table {
  --bs-table-bg: transparent;
}

blockquote {
  border-left: 4px solid var(--rnh-gold);
  padding-left: 1rem;
  color: var(--rnh-navy-soft);
  font-style: italic;
}


/* Bootstrap component refinements */

.navbar {
  --bs-navbar-padding-y: 0.65rem;
}

.navbar-toggler {
  border-radius: 0.75rem;
}

.form-control,
.form-select {
  border-radius: 0.75rem;
  border-color: var(--rnh-border);
}

.form-control:focus,
.form-select:focus {
  border-color: var(--rnh-blue);
  box-shadow: 0 0 0 0.2rem rgba(49, 95, 133, 0.18);
}

.alert {
  border-radius: 1rem;
}

.pagination {
  --bs-pagination-color: var(--rnh-blue);
  --bs-pagination-hover-color: var(--rnh-navy);
  --bs-pagination-active-bg: var(--rnh-blue);
  --bs-pagination-active-border-color: var(--rnh-blue);
  --bs-pagination-border-radius: 0.75rem;
}

.list-group {
  --bs-list-group-border-color: var(--rnh-border);
  --bs-list-group-active-bg: var(--rnh-blue);
  --bs-list-group-active-border-color: var(--rnh-blue);
}

.accordion {
  --bs-accordion-active-bg: var(--rnh-gold-soft);
  --bs-accordion-active-color: var(--rnh-navy);
  --bs-accordion-border-color: var(--rnh-border);
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.2rem rgba(49, 95, 133, 0.18);
}

.modal-content {
  border-radius: 1rem;
  border-color: var(--rnh-border);
}