/* Custom styles layered on top of nhsuk-frontend. */

.spoa-body {
  margin: 0;
}

/* Make the footer sit at the bottom on short pages. */
html, body { height: 100%; }
.spoa-body { display: flex; flex-direction: column; min-height: 100vh; }
.spoa-body > footer { margin-top: auto; }

/* Distance badge on provider cards. */
.spoa-distance {
  display: inline-block;
  background: #005eb8;
  color: #fff;
  font-weight: 600;
  padding: 2px 10px;
  border-radius: 4px;
  font-size: 1rem;
  margin-bottom: 8px;
}
.spoa-rank {
  color: #4c6272;
  font-size: 1rem;
  font-weight: 400;
}

.spoa-provider-meta { margin: 0; }
.spoa-provider-meta dt { font-weight: 600; }

/* ----------------------------------------------------------------------- */
/* Admin chrome                                                            */
/* ----------------------------------------------------------------------- */
.spoa-admin-bar {
  background: #212b32;
  color: #fff;
}
.spoa-admin-bar .nhsuk-width-container {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  padding-top: 10px;
  padding-bottom: 10px;
}
.spoa-admin-bar a { color: #fff; text-decoration: none; font-weight: 600; }
.spoa-admin-bar a:hover { text-decoration: underline; }
.spoa-admin-bar__brand { font-weight: 700; margin-right: auto; }
.spoa-admin-bar__user { font-weight: 400; color: #aeb7bd; font-size: 0.9rem; }

.spoa-status-tag {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 0.875rem;
  font-weight: 600;
  white-space: nowrap;
}
.spoa-status-PENDING_AUTH { background:#fff3cd; color:#594d00; }
.spoa-status-AUTHENTICATED { background:#cde3f5; color:#003366; }
.spoa-status-CHOSEN { background:#cce3cd; color:#13501a; }
.spoa-status-AUTO_ASSIGNED { background:#e8dcf0; color:#3d1d56; }
.spoa-status-PRIVATE { background:#212b32; color:#fff; }
.spoa-status-CANCELLED { background:#f0dddd; color:#7a1c1c; }

.spoa-table-wrap { overflow-x: auto; }

/* ----------------------------------------------------------------------- */
/* Private (non-NHS) theme — deliberately not NHS branding                 */
/* ----------------------------------------------------------------------- */
.spoa-body--private {
  background: #0b0b0b;
  color: #f2f2f2;
}
.spoa-body--private .nhsuk-main-wrapper { color: #f2f2f2; }
.spoa-body--private h1,
.spoa-body--private h2,
.spoa-body--private h3,
.spoa-body--private p,
.spoa-body--private li,
.spoa-body--private label,
.spoa-body--private .nhsuk-body { color: #f2f2f2; }
.spoa-body--private a { color: #d8b970; }
.spoa-body--private a:hover { color: #f0d79a; }

.spoa-private-header {
  background: #000;
  color: #fff;
  border-bottom: 4px solid #d8b970;
  padding: 16px 0;
}
.spoa-private-header .nhsuk-width-container {
  display: flex;
  align-items: baseline;
  gap: 16px;
  flex-wrap: wrap;
}
.spoa-private-header__name {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.spoa-private-header__tag {
  background: #d8b970;
  color: #000;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.8rem;
  padding: 3px 10px;
  border-radius: 3px;
}

.spoa-body--private .nhsuk-button {
  background: #d8b970;
  color: #000;
  box-shadow: 0 4px 0 #9c8244;
}
.spoa-body--private .nhsuk-button:hover { background: #e6c885; }
.spoa-body--private .nhsuk-button--secondary {
  background: #2b2b2b;
  color: #fff;
  box-shadow: 0 4px 0 #000;
}

.spoa-body--private .nhsuk-warning-callout {
  background: #161616;
  border: 1px solid #d8b970;
}
/* Gold label band with black text (readable), light body text. */
.spoa-body--private .nhsuk-warning-callout__label { background: #d8b970; }
.spoa-body--private .nhsuk-warning-callout__label,
.spoa-body--private .nhsuk-warning-callout__label * { color: #000; }
.spoa-body--private .nhsuk-warning-callout > div,
.spoa-body--private .nhsuk-warning-callout p,
.spoa-body--private .nhsuk-warning-callout li,
.spoa-body--private .nhsuk-warning-callout strong { color: #f2f2f2; }
/* Inset text + details readable on black. */
.spoa-body--private .nhsuk-inset-text { border-left-color: #d8b970; }
.spoa-body--private .nhsuk-inset-text,
.spoa-body--private .nhsuk-inset-text * { color: #f2f2f2; }
.spoa-body--private .nhsuk-card {
  background: #161616;
  border-color: #333;
}
.spoa-body--private .nhsuk-card__content { color: #f2f2f2; }
