/* AbilityWorks ATX - site styles layered on top of Bootstrap 5. */

:root {
  --brand: #12355b;      /* deep navy: high contrast with white text */
  --brand-light: #e8eef6;
  --accent: #ffc857;     /* warm yellow accent */
}

body {
  color: #1d2733;
}

.bg-brand { background-color: var(--brand) !important; }
.text-accent { color: var(--accent) !important; }
.bg-accent { background-color: var(--accent) !important; }

a { color: #0b5cad; }

/* Keyboard users can jump straight past the navbar. */
.skip-link {
  position: absolute;
  left: 1rem;
  top: 0.5rem;
  z-index: 2000;
  padding: 0.5rem 1rem;
  background: var(--accent);
  color: #000;
}

/* Visible focus ring everywhere, for accessibility. */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

/* ---------------- splash ---------------- */
.hero-img {
  height: 70vh;
  min-height: 320px;
  object-fit: cover;
  filter: brightness(0.55);
}

.hero-caption {
  bottom: 20%;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.6);
}

.model-tile {
  color: inherit;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.model-tile:hover, .model-tile:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 0.75rem 1.5rem rgba(18, 53, 91, 0.2) !important;
}

/* ---------------- model + card pages ---------------- */
.page-header {
  background: var(--brand-light);
  border-bottom: 4px solid var(--accent);
}

.filter-panel {
  background: #f8f9fb;
}

.instance-card {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.instance-card:hover, .instance-card:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 0.75rem 1.5rem rgba(18, 53, 91, 0.2) !important;
}

.instance-card .card-img-top {
  height: 190px;
  object-fit: cover;
  background: #fff;
}

.card-attrs li {
  padding: 2px 0;
  border-bottom: 1px dashed #e3e7ee;
}

.card-attrs li:last-child { border-bottom: 0; }

.attr-label {
  font-weight: 600;
  color: var(--brand);
}

/* ---------------- instance pages ---------------- */
.instance-hero {
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  background: #fff;
}

.attr-table th {
  width: 40%;
  color: var(--brand);
}

.help-card { border-top: 4px solid var(--brand); }
.help-time { border-top-color: #2a9d8f; }
.help-talent { border-top-color: #e76f51; }
.help-money { border-top-color: #e9c46a; }

/* ---------------- about ---------------- */
.member-photo {
  height: 220px;
  object-fit: cover;
}

.stat-card .display-6 { color: var(--brand); }
