/*
 * bs-community-impact-page.css — BlackSpace /community-impact/ page
 * Community Investment & Member Voice
 * Enqueued via bs-page-nav-assets.php scoped to the /community-impact/ page.
 * Every property uses !important — Elementor Pro post CSS specificity.
 *
 * Colors: #b0743e bronze | #1e1919 deep-brown | #252020 deep-brown-2
 *   #c8925e bronze-300 | #efd9c0 bronze-100 | #f7eee5 bronze-050
 *   #8c5d31 bronze-700 | #474747 graphite | #e6e6e6 silver-mist
 *   #1a1a1a neutral-900 | #2e2e2e neutral-700 | #fafafa neutral-025
 *
 * CSS prefix: bs-ci-
 * Page scoped via conditional enqueue on this page ID
 * Breakpoints: 1100px | 960px | 768px | 640px | 480px
 */

/* ══════════════════════════════════════════════════════════
   SECTION 1 — HERO
   Contained dark card. Established site hero pattern.
   ══════════════════════════════════════════════════════════ */

.bs-ci-hero {
  border-radius: 10px !important;
  overflow: hidden !important;
  position: relative !important;
  background-color: #1e1919 !important;
  background-image:
    radial-gradient(ellipse 65% 55% at 55% 45%, rgba(176,116,62,0.18) 0%, transparent 65%),
    repeating-linear-gradient(-45deg, transparent, transparent 44px,
      rgba(255,255,255,0.018) 44px, rgba(255,255,255,0.018) 45px) !important;
}

.bs-ci-hero::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important; left: 0 !important; right: 0 !important;
  height: 1px !important;
  background: linear-gradient(90deg, transparent, #b0743e, transparent) !important;
  opacity: 0.45 !important; z-index: 2 !important; pointer-events: none !important;
}

.bs-ci-hero-eyebrow {
  font-size: 0.6875rem !important; font-weight: 700 !important;
  letter-spacing: 0.22em !important; text-transform: uppercase !important;
  color: #c8925e !important; margin-bottom: 26px !important; width: auto !important;
}
.bs-ci-hero-eyebrow .elementor-widget-container { padding: 0 !important; margin: 0 !important; }
.bs-ci-hero-eyebrow .elementor-widget-container p,
.bs-ci-hero-eyebrow .elementor-widget-container div { margin: 0 !important; padding: 0 !important; }

.bs-ci-hero-title .elementor-heading-title {
  font-size: 3.25rem !important; font-weight: 700 !important;
  line-height: 1.08 !important; color: #ffffff !important;
  letter-spacing: -0.01em !important; margin-bottom: 22px !important;
}
.bs-ci-hero-title-em { font-style: normal !important; color: #c8925e !important; }

.bs-ci-hero-sub .elementor-widget-container p,
.bs-ci-hero-sub .elementor-widget-container div {
  font-size: 0.9375rem !important; line-height: 1.8 !important;
  color: rgba(255,255,255,0.68) !important; text-align: center !important;
  max-width: 620px !important; margin: 0 auto 40px !important; padding: 0 !important;
}

.bs-ci-hero-actions {
  display: flex !important; gap: 14px !important;
  justify-content: center !important; flex-wrap: wrap !important;
}


/* ══════════════════════════════════════════════════════════
   SECTION 2 — VOTE STATUS BANNER
   INAUGURAL STATE: neutral dark (#1a1a1a) background.
   When the first vote opens, update .bs-ci-vote-status
   background to #b0743e and add countdown/dashboard widgets.
   ══════════════════════════════════════════════════════════ */

.bs-ci-vote-status {
  background: #1a1a1a !important;
  position: relative !important;
  overflow: hidden !important;
}
.bs-ci-vote-status::before {
  content: '' !important; position: absolute !important; inset: 0 !important;
  background: repeating-linear-gradient(-45deg, transparent, transparent 36px,
    rgba(255,255,255,0.02) 36px, rgba(255,255,255,0.02) 37px) !important;
  pointer-events: none !important;
}

/* ── Forthcoming banner inner layout ────────────────────────
   Three elements: icon | message block | when box
   ──────────────────────────────────────────────────────────── */

.bs-ci-forthcoming-icon {
  width: 40px !important; height: 40px !important; min-width: 40px !important;
  background: rgba(176,116,62,0.15) !important;
  border: 1px solid rgba(176,116,62,0.35) !important;
  border-radius: 8px !important;
  display: flex !important; align-items: center !important;
  justify-content: center !important; flex-shrink: 0 !important;
}
.bs-ci-forthcoming-icon .elementor-widget-container {
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 0 !important; margin: 0 !important; width: 40px !important; height: 40px !important;
}
.bs-ci-forthcoming-icon .elementor-icon-wrapper,
.bs-ci-forthcoming-icon .elementor-icon {
  display: flex !important; align-items: center !important; justify-content: center !important;
}
.bs-ci-forthcoming-icon i, .bs-ci-forthcoming-icon svg { color: #b0743e !important; }

.bs-ci-forthcoming-title .elementor-heading-title {
  font-size: 0.9375rem !important; font-weight: 700 !important;
  color: #ffffff !important; margin-bottom: 4px !important; line-height: 1.3 !important;
}
.bs-ci-forthcoming-title .elementor-widget-container p,
.bs-ci-forthcoming-title .elementor-widget-container div {
  font-size: 0.9375rem !important; font-weight: 700 !important; color: #ffffff !important;
  margin: 0 0 4px !important; padding: 0 !important; line-height: 1.3 !important;
}

.bs-ci-forthcoming-sub .elementor-widget-container p,
.bs-ci-forthcoming-sub .elementor-widget-container div {
  font-size: 0.8125rem !important; color: rgba(255,255,255,0.55) !important;
  line-height: 1.65 !important; margin: 0 !important; padding: 0 !important;
}

/* When box — bronze-tinted bg, right-aligned */
.bs-ci-forthcoming-when {
  background: rgba(176,116,62,0.15) !important;
  border: 1px solid rgba(176,116,62,0.3) !important;
  border-radius: 8px !important;
  padding: 12px 20px !important;
  text-align: center !important;
  flex-shrink: 0 !important;
}

.bs-ci-forthcoming-when-label {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.12em !important; text-transform: uppercase !important;
  color: rgba(255,255,255,0.44) !important; margin-bottom: 4px !important; display: block !important;
}
.bs-ci-forthcoming-when-label .elementor-widget-container p,
.bs-ci-forthcoming-when-label .elementor-widget-container div {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.12em !important; text-transform: uppercase !important;
  color: rgba(255,255,255,0.44) !important; margin: 0 !important; padding: 0 !important;
}

.bs-ci-forthcoming-when-value .elementor-widget-container p,
.bs-ci-forthcoming-when-value .elementor-widget-container div {
  font-size: 0.875rem !important; font-weight: 700 !important;
  color: #c8925e !important; margin: 0 !important; padding: 0 !important; line-height: 1.2 !important;
}

/* ── Status card (Section 4 — pre-inaugural vote state) ─────
   White card with content left + timeline right.
   ──────────────────────────────────────────────────────────── */

.bs-ci-status-card {
  background: #ffffff !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 10px !important;
  padding: 40px !important;
}


.bs-ci-status-badge {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  background: #fafafa !important; border: 1px solid #e6e6e6 !important;
  border-radius: 50px !important; padding: 5px 14px !important;
  margin-bottom: 16px !important;
}
/* Dot — generated via ::before so no extra Elementor widget is needed */
.bs-ci-status-badge::before {
  content: '' !important;
  display: block !important;
  width: 6px !important; height: 6px !important; min-width: 6px !important;
  background: #474747 !important;
  border-radius: 50% !important;
  flex-shrink: 0 !important;
  align-self: center !important;
}
.bs-ci-status-badge .elementor-widget-container p,
.bs-ci-status-badge .elementor-widget-container div {
  font-size: 0.6875rem !important; font-weight: 700 !important;
  letter-spacing: 0.08em !important; text-transform: uppercase !important;
  color: #474747 !important; margin: 0 !important; padding: 0 !important;
}

.bs-ci-status-title .elementor-heading-title {
  font-size: 1.25rem !important; font-weight: 700 !important;
  color: #1a1a1a !important; margin-bottom: 10px !important; line-height: 1.3 !important;
}

.bs-ci-status-body .elementor-widget-container p,
.bs-ci-status-body .elementor-widget-container div {
  font-size: 0.875rem !important; color: #474747 !important;
  line-height: 1.8 !important; margin-bottom: 10px !important; padding: 0 !important;
}
.bs-ci-status-body .elementor-widget-container p:last-child { margin-bottom: 0 !important; }
.bs-ci-status-body a { color: #b0743e !important; }
.bs-ci-status-body a:hover { color: #1a1a1a !important; }

.bs-ci-status-milestone {
  background: #fafafa !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
}

.bs-ci-status-milestone-label {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.12em !important; text-transform: uppercase !important;
  color: #b0743e !important; margin-bottom: 4px !important; display: block !important;
}
.bs-ci-status-milestone-label .elementor-widget-container p,
.bs-ci-status-milestone-label .elementor-widget-container div {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.12em !important; text-transform: uppercase !important;
  color: #b0743e !important; margin: 0 !important; padding: 0 !important;
}

.bs-ci-status-milestone-value .elementor-widget-container p,
.bs-ci-status-milestone-value .elementor-widget-container div {
  font-size: 0.8125rem !important; font-weight: 700 !important; color: #1a1a1a !important;
  margin: 0 !important; padding: 0 !important;
}

/* Inner layout: badge | message | countdown | CTA */
.bs-ci-vote-inner {
  position: relative !important; z-index: 1 !important;
  display: flex !important; align-items: center !important;
  gap: 28px !important; flex-wrap: wrap !important;
}

/* Status badge */
.bs-ci-vote-badge {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  background: rgba(26,26,26,0.25) !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
  border-radius: 50px !important; padding: 6px 16px !important;
  font-size: 0.6875rem !important; font-weight: 700 !important;
  letter-spacing: 0.1em !important; text-transform: uppercase !important;
  color: #ffffff !important; white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.bs-ci-vote-badge .elementor-widget-container p,
.bs-ci-vote-badge .elementor-widget-container div {
  color: #ffffff !important; font-size: 0.6875rem !important;
  font-weight: 700 !important; letter-spacing: 0.1em !important;
  text-transform: uppercase !important; margin: 0 !important; padding: 0 !important;
}

/* Vote message */
.bs-ci-vote-message { flex: 1 !important; min-width: 0 !important; }
.bs-ci-vote-message-title .elementor-heading-title {
  font-size: 1.125rem !important; font-weight: 700 !important;
  color: #ffffff !important; margin-bottom: 4px !important;
}
.bs-ci-vote-message-sub .elementor-widget-container p,
.bs-ci-vote-message-sub .elementor-widget-container div {
  font-size: 0.8125rem !important; color: rgba(255,255,255,0.78) !important;
  margin: 0 !important; padding: 0 !important;
}

/* Dashboard CTA button — dark pill */
.bs-ci-dashboard-btn { flex-shrink: 0 !important; }
.bs-ci-dashboard-btn .elementor-button {
  background: #1a1a1a !important; color: #ffffff !important;
  border: none !important; border-radius: 50px !important;
  padding: 12px 28px !important; font-size: 0.75rem !important;
  font-weight: 700 !important; letter-spacing: 0.1em !important;
  text-transform: uppercase !important; transition: background 0.18s ease !important;
}
.bs-ci-dashboard-btn .elementor-button:hover { background: #2e2e2e !important; }


/* ══════════════════════════════════════════════════════════
   SECTION 3 — HOW THE VOTE WORKS
   White background. Process cards + details table.
   ══════════════════════════════════════════════════════════ */

.bs-ci-process { background: #ffffff !important; }

.bs-ci-process-heading .elementor-heading-title {
  font-size: 1.75rem !important; font-weight: 700 !important;
  color: #1a1a1a !important; margin-top: 14px !important;
}

.bs-ci-process-sub .elementor-widget-container p,
.bs-ci-process-sub .elementor-widget-container div {
  font-size: 0.875rem !important; color: #474747 !important;
  line-height: 1.75 !important; max-width: 580px !important;
  margin: 12px auto 0 !important; padding: 0 !important;
}

/* Process card — numbered step */
.bs-ci-process-card {
  background: #fafafa !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 10px !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease !important;
}
.bs-ci-process-card:hover {
  box-shadow: 0 6px 24px rgba(0,0,0,0.07) !important;
  transform: translateY(-2px) !important;
}

/* Step number circle */
.bs-ci-step-num {
  width: 36px !important; height: 36px !important; min-width: 36px !important;
  background: rgba(176,116,62,0.13) !important;
  border: 1px solid rgba(176,116,62,0.3) !important;
  border-radius: 50% !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  margin-bottom: 16px !important; overflow: hidden !important;
}
.bs-ci-step-num .elementor-widget-container {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 36px !important; height: 36px !important; padding: 0 !important; margin: 0 !important;
  line-height: 1 !important;
}
/* Icon/text inside the container — targeted at 25px visual size */
.bs-ci-step-num .elementor-widget-container p,
.bs-ci-step-num .elementor-widget-container div {
  display: flex !important; align-items: center !important; justify-content: center !important;
  font-size: 0.75rem !important; font-weight: 700 !important;
  color: #b0743e !important; margin: 0 !important; padding: 0 !important; line-height: 1 !important;
  width: 25px !important; height: 25px !important;
}
.bs-ci-step-num .elementor-icon-wrapper,
.bs-ci-step-num .elementor-icon {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 25px !important; height: 25px !important; line-height: 1 !important;
}
.bs-ci-step-num i, .bs-ci-step-num svg {
  width: 25px !important; height: 25px !important; font-size: 25px !important;
  color: #b0743e !important;
}

.bs-ci-process-card-title .elementor-widget-container p,
.bs-ci-process-card-title .elementor-widget-container div {
  font-size: 0.875rem !important; font-weight: 700 !important; color: #1a1a1a !important;
  margin: 0 0 8px !important; padding: 0 !important;
}

.bs-ci-process-card-body .elementor-widget-container p,
.bs-ci-process-card-body .elementor-widget-container div {
  font-size: 0.8125rem !important; color: #474747 !important;
  line-height: 1.75 !important; margin: 0 !important; padding: 0 !important;
}

/* Mechanics details table */
.bs-ci-details-table {
  background: #fafafa !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 10px !important; overflow: hidden !important;
}
.bs-ci-details-header {
  background: #1a1a1a !important; padding: 16px 24px !important;
}
.bs-ci-details-header .elementor-widget-container p,
.bs-ci-details-header .elementor-widget-container div {
  font-size: 0.6875rem !important; font-weight: 700 !important;
  letter-spacing: 0.1em !important; text-transform: uppercase !important;
  color: #c8925e !important; margin: 0 !important; padding: 0 !important;
}

.bs-ci-details-row { border-bottom: 1px solid #e6e6e6 !important; }
.bs-ci-details-row:last-child { border-bottom: none !important; }

.bs-ci-details-key {
  background: #f7eee5 !important;
  border-right: 1px solid #e6e6e6 !important;
}
.bs-ci-details-key .elementor-widget-container p,
.bs-ci-details-key .elementor-widget-container div {
  font-size: 0.75rem !important; font-weight: 700 !important; color: #474747 !important;
  margin: 0 !important; padding: 0 !important;
}

.bs-ci-details-val .elementor-widget-container p,
.bs-ci-details-val .elementor-widget-container div {
  font-size: 0.8125rem !important; color: #1a1a1a !important;
  line-height: 1.65 !important; margin: 0 !important; padding: 0 !important;
}
.bs-ci-details-val strong { color: #1a1a1a !important; }


/* ══════════════════════════════════════════════════════════
   SECTION 4 — CURRENT YEAR CANDIDATES
   Neutral-025 background. Candidate cards.
   ══════════════════════════════════════════════════════════ */

.bs-ci-candidates { background: #fafafa !important; border-top: 1px solid #e6e6e6 !important; }

.bs-ci-candidates-heading .elementor-heading-title {
  font-size: 1.75rem !important; font-weight: 700 !important;
  color: #1a1a1a !important; margin-top: 14px !important;
}

.bs-ci-candidates-sub .elementor-widget-container p,
.bs-ci-candidates-sub .elementor-widget-container div {
  font-size: 0.875rem !important; color: #474747 !important;
  line-height: 1.75 !important; margin: 10px 0 0 !important; padding: 0 !important;
  max-width: 680px !important;
}

/* Candidate card */
.bs-ci-candidate-card {
  background: #ffffff !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 10px !important;
  display: flex !important; flex-direction: column !important; gap: 12px !important;
  transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
}
.bs-ci-candidate-card:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,0.08) !important;
  border-color: #efd9c0 !important;
}

/* Category pill */
.bs-ci-candidate-cat {
  display: inline-block !important;
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.14em !important; text-transform: uppercase !important;
  color: #b0743e !important; background: #f7eee5 !important;
  border-radius: 50px !important; padding: 3px 10px !important;
  width: fit-content !important;
}
.bs-ci-candidate-cat .elementor-widget-container p,
.bs-ci-candidate-cat .elementor-widget-container div {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.14em !important; text-transform: uppercase !important;
  color: #b0743e !important; margin: 0 !important; padding: 0 !important;
}

.bs-ci-candidate-name .elementor-heading-title {
  font-size: 1rem !important; font-weight: 700 !important;
  color: #1a1a1a !important; line-height: 1.3 !important;
}

.bs-ci-candidate-desc .elementor-widget-container p,
.bs-ci-candidate-desc .elementor-widget-container div {
  font-size: 0.8125rem !important; color: #474747 !important;
  line-height: 1.75 !important; margin: 0 !important; padding: 0 !important;
}

.bs-ci-candidate-meta .elementor-widget-container p,
.bs-ci-candidate-meta .elementor-widget-container div {
  font-size: 0.6875rem !important; color: #474747 !important;
  margin: 0 !important; padding: 0 !important;
}

/* CTA note bar below candidates */
.bs-ci-cta-note {
  background: #f7eee5 !important;
  border: 1px solid #efd9c0 !important;
  border-radius: 10px !important;
  padding: 20px 24px !important;
  display: flex !important; align-items: center !important; gap: 16px !important; flex-wrap: wrap !important;
}
.bs-ci-cta-note-icon {
  width: 36px !important; height: 36px !important; min-width: 36px !important;
  background: rgba(176,116,62,0.15) !important;
  border: 1px solid rgba(176,116,62,0.3) !important;
  border-radius: 8px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important;
}
.bs-ci-cta-note-icon i, .bs-ci-cta-note-icon svg { color: #b0743e !important; }

.bs-ci-cta-note-text .elementor-widget-container p,
.bs-ci-cta-note-text .elementor-widget-container div {
  font-size: 0.8125rem !important; color: #8c5d31 !important;
  line-height: 1.65 !important; margin: 0 !important; padding: 0 !important;
}
.bs-ci-cta-note-text strong { color: #1a1a1a !important; }


/* ══════════════════════════════════════════════════════════
   SECTION 5 — CURRENT YEAR RESULTS
   White background. Winner block (dark) + runner-up cards
   + participation summary bar.
   ══════════════════════════════════════════════════════════ */

.bs-ci-results { background: #ffffff !important; border-top: 1px solid #e6e6e6 !important; }

.bs-ci-results-heading .elementor-heading-title {
  font-size: 1.75rem !important; font-weight: 700 !important;
  color: #1a1a1a !important; margin-top: 14px !important;
}

/* Winner block */
.bs-ci-winner {
  background: #1e1919 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  position: relative !important;
}
.bs-ci-winner::before {
  content: '' !important; position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(176,116,62,0.5), transparent) !important;
}

/* Winner recipient badge */
.bs-ci-winner-badge {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important;
  color: #c8925e !important; margin-bottom: 10px !important; display: block !important;
}
.bs-ci-winner-badge .elementor-widget-container p,
.bs-ci-winner-badge .elementor-widget-container div {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important;
  color: #c8925e !important; margin: 0 !important; padding: 0 !important;
}

.bs-ci-winner-name .elementor-heading-title {
  font-size: 1.375rem !important; font-weight: 700 !important;
  color: #ffffff !important; margin-bottom: 6px !important;
}

.bs-ci-winner-desc .elementor-widget-container p,
.bs-ci-winner-desc .elementor-widget-container div {
  font-size: 0.875rem !important; color: rgba(255,255,255,0.65) !important;
  line-height: 1.75 !important; margin: 0 !important; padding: 0 !important; max-width: 500px !important;
}

.bs-ci-winner-stat {
  text-align: center !important; min-width: 100px !important; flex-shrink: 0 !important;
}
.bs-ci-winner-stat-value {
  font-size: 1.75rem !important; font-weight: 700 !important;
  color: #c8925e !important; line-height: 1 !important; margin: 0 !important; padding: 0 !important; width: auto !important;
}
.bs-ci-winner-stat-value .elementor-widget-container p,
.bs-ci-winner-stat-value .elementor-widget-container div {
  font-size: 1.75rem !important; font-weight: 700 !important; color: #c8925e !important;
  margin: 0 !important; padding: 0 !important; line-height: 1 !important;
}
.bs-ci-winner-stat-label {
  font-size: 0.625rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.1em !important;
  color: rgba(255,255,255,0.44) !important; margin-top: 4px !important;
}
.bs-ci-winner-stat-label .elementor-widget-container p,
.bs-ci-winner-stat-label .elementor-widget-container div {
  font-size: 0.625rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.1em !important;
  color: rgba(255,255,255,0.44) !important; margin: 0 !important; padding: 0 !important;
}

/* Runner-up card */
.bs-ci-runner-card {
  background: #fafafa !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 10px !important;
  padding: 20px !important;
}
.bs-ci-runner-label {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.14em !important; text-transform: uppercase !important;
  color: #474747 !important; margin-bottom: 8px !important; display: block !important;
}
.bs-ci-runner-label .elementor-widget-container p,
.bs-ci-runner-label .elementor-widget-container div {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.14em !important; text-transform: uppercase !important;
  color: #474747 !important; margin: 0 !important; padding: 0 !important;
}
.bs-ci-runner-name .elementor-widget-container p,
.bs-ci-runner-name .elementor-widget-container div {
  font-size: 0.875rem !important; font-weight: 700 !important; color: #1a1a1a !important;
  margin: 0 0 4px !important; padding: 0 !important;
}
.bs-ci-runner-vote {
  font-size: 1.25rem !important; font-weight: 700 !important;
  color: #b0743e !important; line-height: 1 !important; margin: 0 !important; padding: 0 !important; width: auto !important;
}
.bs-ci-runner-vote .elementor-widget-container p,
.bs-ci-runner-vote .elementor-widget-container div {
  font-size: 1.25rem !important; font-weight: 700 !important; color: #b0743e !important;
  margin: 0 !important; padding: 0 !important; line-height: 1 !important;
}
.bs-ci-runner-vote-label {
  font-size: 0.6875rem !important; color: #474747 !important;
}
.bs-ci-runner-vote-label .elementor-widget-container p,
.bs-ci-runner-vote-label .elementor-widget-container div {
  font-size: 0.6875rem !important; color: #474747 !important;
  margin: 0 !important; padding: 0 !important;
}

/* Participation bar */
.bs-ci-participation {
  background: #f7eee5 !important;
  border: 1px solid #efd9c0 !important;
  border-radius: 10px !important;
  padding: 20px 24px !important;
  display: flex !important; gap: 32px !important;
  align-items: center !important; flex-wrap: wrap !important;
}
.bs-ci-participation-stat { display: flex !important; flex-direction: column !important; }
.bs-ci-participation-value {
  font-size: 1.375rem !important; font-weight: 700 !important;
  color: #b0743e !important; line-height: 1 !important; margin: 0 !important; padding: 0 !important; width: auto !important;
}
.bs-ci-participation-value .elementor-widget-container p,
.bs-ci-participation-value .elementor-widget-container div {
  font-size: 1.375rem !important; font-weight: 700 !important; color: #b0743e !important;
  margin: 0 !important; padding: 0 !important; line-height: 1 !important;
}
.bs-ci-participation-label {
  font-size: 0.6875rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.08em !important;
  color: #474747 !important; margin-top: 4px !important;
}
.bs-ci-participation-label .elementor-widget-container p,
.bs-ci-participation-label .elementor-widget-container div {
  font-size: 0.6875rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.08em !important;
  color: #474747 !important; margin: 0 !important; padding: 0 !important;
}
.bs-ci-participation-statement .elementor-widget-container p,
.bs-ci-participation-statement .elementor-widget-container div {
  font-size: 0.8125rem !important; color: #474747 !important;
  line-height: 1.7 !important; margin: 0 !important; padding: 0 !important;
}


/* ══════════════════════════════════════════════════════════
   SECTION 6 — ARCHIVE
   Neutral-025 background. Year-by-year results table.
   ══════════════════════════════════════════════════════════ */

.bs-ci-archive { background: #fafafa !important; border-top: 1px solid #e6e6e6 !important; }

.bs-ci-archive-heading .elementor-heading-title {
  font-size: 1.75rem !important; font-weight: 700 !important;
  color: #1a1a1a !important; margin-top: 14px !important;
}
.bs-ci-archive-sub .elementor-widget-container p,
.bs-ci-archive-sub .elementor-widget-container div {
  font-size: 0.875rem !important; color: #474747 !important;
  line-height: 1.75 !important; max-width: 560px !important;
  margin: 12px auto 0 !important; padding: 0 !important;
}

/* Archive table header */
.bs-ci-archive-table { background: #ffffff !important; border: 1px solid #e6e6e6 !important; border-radius: 10px !important; overflow: hidden !important; }

.bs-ci-archive-table-header { background: #1a1a1a !important; padding: 14px 24px !important; }
.bs-ci-archive-table-header .elementor-widget-container p,
.bs-ci-archive-table-header .elementor-widget-container div {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.1em !important; text-transform: uppercase !important;
  color: rgba(255,255,255,0.44) !important; margin: 0 !important; padding: 0 !important;
}

.bs-ci-archive-row { border-bottom: 1px solid #e6e6e6 !important; }
.bs-ci-archive-row:last-child { border-bottom: none !important; }
.bs-ci-archive-row:hover { background: #fafafa !important; }

.bs-ci-archive-year {
  font-size: 1rem !important; font-weight: 700 !important; color: #b0743e !important;
}
.bs-ci-archive-year .elementor-widget-container p,
.bs-ci-archive-year .elementor-widget-container div {
  font-size: 1rem !important; font-weight: 700 !important; color: #b0743e !important;
  margin: 0 !important; padding: 0 !important;
}
.bs-ci-archive-org .elementor-widget-container p,
.bs-ci-archive-org .elementor-widget-container div {
  font-size: 0.8125rem !important; font-weight: 700 !important; color: #1a1a1a !important;
  margin: 0 !important; padding: 0 !important;
}
.bs-ci-archive-stat .elementor-widget-container p,
.bs-ci-archive-stat .elementor-widget-container div {
  font-size: 0.875rem !important; font-weight: 700 !important; color: #1a1a1a !important;
  margin: 0 !important; padding: 0 !important;
}
.bs-ci-archive-link a {
  font-size: 0.6875rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.08em !important; color: #b0743e !important;
}
.bs-ci-archive-link a:hover { color: #1a1a1a !important; }

/* ── Archive pending card (inaugural state) ──────────────────
   Replaces the table layout before any votes have occurred.
   Three widgets: bs-ci-archive-card-year / bs-ci-archive-card-body / bs-ci-archive-card-date
   ──────────────────────────────────────────────────────────── */

.bs-ci-archive-card {
  background: #ffffff !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 10px !important;
  padding: 40px !important;
  text-align: center !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease !important;
}
.bs-ci-archive-card:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,0.08) !important;
  transform: translateY(-2px) !important;
}

/* Large muted year number */
.bs-ci-archive-card-year .elementor-heading-title {
  font-size: 2.25rem !important; font-weight: 700 !important;
  color: rgba(176,116,62,0.25) !important; line-height: 1 !important;
  margin-bottom: 12px !important;
}

/* Body text */
.bs-ci-archive-card-body .elementor-widget-container p,
.bs-ci-archive-card-body .elementor-widget-container div {
  font-size: 0.875rem !important; color: #474747 !important;
  line-height: 1.75 !important; max-width: 480px !important;
  margin: 0 auto !important; padding: 0 !important;
}

/* Date note */
.bs-ci-archive-card-date .elementor-widget-container p,
.bs-ci-archive-card-date .elementor-widget-container div {
  font-size: 0.75rem !important; font-weight: 700 !important;
  color: #b0743e !important; text-transform: uppercase !important;
  letter-spacing: 0.1em !important; margin: 12px 0 0 !important; padding: 0 !important;
}


/* ══════════════════════════════════════════════════════════
   SECTION 7 — CANDIDATE EVALUATION CRITERIA
   Deep-brown-2 background. Amber top line.
   Published rubric — addresses pretextual criteria vulnerability.
   ══════════════════════════════════════════════════════════ */

.bs-ci-criteria {
  background: #252020 !important;
  position: relative !important;
}
.bs-ci-criteria::before {
  content: '' !important; position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(176,116,62,0.4), transparent) !important;
  pointer-events: none !important;
}

.bs-ci-criteria-heading .elementor-heading-title {
  font-size: 1.75rem !important; font-weight: 700 !important;
  color: #ffffff !important; margin-top: 14px !important; margin-bottom: 14px !important;
}

.bs-ci-criteria-intro .elementor-widget-container p {
  font-size: 0.875rem !important; color: rgba(255,255,255,0.55) !important;
  line-height: 1.85 !important; margin: 0 0 40px !important; padding: 0 0 36px !important;
  border-bottom: 1px solid rgba(255,255,255,0.07) !important;
}
.bs-ci-criteria-intro .elementor-widget-container div {
  font-size: 0.875rem !important; color: rgba(255,255,255,0.55) !important;
  line-height: 1.85 !important; margin: 0 !important; padding: 0 !important;
  border-bottom: none !important;
}

/* Criteria item */
.bs-ci-criteria-item {
  display: flex !important; align-items: flex-start !important; gap: 16px !important;
}

.bs-ci-criteria-icon {
  width: 48px !important; height: 48px !important; min-width: 48px !important;
  background: rgba(176,116,62,0.13) !important;
  border: 1px solid rgba(176,116,62,0.3) !important;
  border-radius: 10px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important;
}
.bs-ci-criteria-icon .elementor-widget-container {
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 0 !important; margin: 0 !important; width: 48px !important; height: 48px !important;
}
.bs-ci-criteria-icon .elementor-icon-wrapper, .bs-ci-criteria-icon .elementor-icon {
  display: flex !important; align-items: center !important; justify-content: center !important;
}
.bs-ci-criteria-icon i, .bs-ci-criteria-icon svg { color: #b0743e !important; }

.bs-ci-criteria-title .elementor-widget-container p,
.bs-ci-criteria-title .elementor-widget-container div {
  font-size: 0.875rem !important; font-weight: 700 !important; color: #ffffff !important;
  margin: 0 0 4px !important; padding: 0 !important;
}

.bs-ci-criteria-desc .elementor-widget-container p,
.bs-ci-criteria-desc .elementor-widget-container div {
  font-size: 0.8125rem !important; color: rgba(255,255,255,0.55) !important;
  line-height: 1.75 !important; margin: 0 !important; padding: 0 !important;
}
.bs-ci-criteria-desc strong { color: rgba(255,255,255,0.86) !important; }

/* Discretion callout */
.bs-ci-criteria-discretion {
  background: rgba(176,116,62,0.08) !important;
  border: 1px solid rgba(176,116,62,0.25) !important;
  border-radius: 10px !important;
  padding: 20px 24px !important;
}
.bs-ci-criteria-discretion .elementor-widget-container p,
.bs-ci-criteria-discretion .elementor-widget-container div {
  font-size: 0.8125rem !important; color: rgba(255,255,255,0.55) !important;
  line-height: 1.75 !important; margin: 0 !important; padding: 0 !important;
}
.bs-ci-criteria-discretion strong { color: rgba(255,255,255,0.86) !important; }


/* ══════════════════════════════════════════════════════════
   SECTION 8 — ADDITIONAL GOVERNANCE FEATURES
   White background. Two cards: Policy Input + Advisory Council.
   ══════════════════════════════════════════════════════════ */

.bs-ci-governance { background: #ffffff !important; }

.bs-ci-governance-heading .elementor-heading-title {
  font-size: 1.75rem !important; font-weight: 700 !important;
  color: #1a1a1a !important; margin-top: 14px !important;
}
.bs-ci-governance-sub .elementor-widget-container p,
.bs-ci-governance-sub .elementor-widget-container div {
  font-size: 0.875rem !important; color: #474747 !important;
  line-height: 1.75 !important; max-width: 580px !important;
  margin: 12px auto 0 !important; padding: 0 !important;
}

.bs-ci-gov-card {
  background: #fafafa !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 10px !important;
}

.bs-ci-gov-card-label {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important;
  color: #b0743e !important; margin-bottom: 8px !important; display: block !important;
}
.bs-ci-gov-card-label .elementor-widget-container p,
.bs-ci-gov-card-label .elementor-widget-container div {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important;
  color: #b0743e !important; margin: 0 !important; padding: 0 !important;
}

.bs-ci-gov-card-title .elementor-heading-title {
  font-size: 1.0625rem !important; font-weight: 700 !important;
  color: #1a1a1a !important; margin-bottom: 14px !important;
}

.bs-ci-gov-card-body .elementor-widget-container p,
.bs-ci-gov-card-body .elementor-widget-container div {
  font-size: 0.8125rem !important; color: #474747 !important;
  line-height: 1.8 !important; margin-bottom: 12px !important; padding: 0 !important;
}
.bs-ci-gov-card-body .elementor-widget-container p:last-child { margin-bottom: 0 !important; }
.bs-ci-gov-card-body strong { color: #1a1a1a !important; }
.bs-ci-gov-card-body em { font-style: italic !important; }

.bs-ci-gov-card-link .elementor-widget-container p,
.bs-ci-gov-card-link .elementor-widget-container div {
  font-size: 0.75rem !important; font-weight: 700 !important;
  letter-spacing: 0.06em !important; text-transform: uppercase !important;
  color: #b0743e !important; margin: 16px 0 0 !important; padding: 0 !important;
}
.bs-ci-gov-card-link a { color: #b0743e !important; }
.bs-ci-gov-card-link a:hover { color: #1a1a1a !important; }


/* ══════════════════════════════════════════════════════════
   SECTION 9 — LEGAL NOTICE
   Deep-brown-2 background. Amber top line.
   ══════════════════════════════════════════════════════════ */

.bs-ci-legal {
  background: #252020 !important;
  position: relative !important;
}
.bs-ci-legal::before {
  content: '' !important; position: absolute !important;
  top: 0 !important; left: 0 !important; right: 0 !important; height: 1px !important;
  background: linear-gradient(90deg, transparent, rgba(176,116,62,0.4), transparent) !important;
  pointer-events: none !important;
}

.bs-ci-legal-label {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important;
  color: #b0743e !important; margin-bottom: 16px !important; display: block !important;
}
.bs-ci-legal-label .elementor-widget-container p,
.bs-ci-legal-label .elementor-widget-container div {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important;
  color: #b0743e !important; margin: 0 !important; padding: 0 !important;
}

.bs-ci-legal-text .elementor-widget-container p,
.bs-ci-legal-text .elementor-widget-container div {
  font-size: 0.8125rem !important; color: rgba(255,255,255,0.55) !important;
  line-height: 1.85 !important; font-style: italic !important;
  margin: 0 !important; padding: 0 !important;
}


/* ══════════════════════════════════════════════════════════
   SHARED UTILITIES
   ══════════════════════════════════════════════════════════ */

.bs-section-label {
  font-size: 0.6875rem !important; font-weight: 700 !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important;
  color: #b0743e !important; display: block !important;
}
.bs-section-label .elementor-widget-container p,
.bs-section-label .elementor-widget-container div {
  font-size: 0.6875rem !important; font-weight: 700 !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important;
  color: #b0743e !important; margin: 0 !important; padding: 0 !important;
}
.bs-amber-rule { display: block !important; width: 44px !important; height: 3px !important; background: #b0743e !important; border-radius: 2px !important; margin: 12px 0 20px !important; }
.bs-amber-rule--center { margin: 12px auto 20px !important; }
.bs-bronze-text { color: #b0743e !important; }


/* ══════════════════════════════════════════════════════════
   RESPONSIVE — 960px
   ══════════════════════════════════════════════════════════ */

@media (max-width: 960px) {
  /* Heading scale-down at tablet */
  .bs-ci-hero-title .elementor-heading-title { font-size: 2.5rem !important; }
  .bs-ci-process-heading .elementor-heading-title { font-size: 1.5rem !important; }
  .bs-ci-candidates-heading .elementor-heading-title { font-size: 1.5rem !important; }
  .bs-ci-results-heading .elementor-heading-title { font-size: 1.5rem !important; }
  .bs-ci-criteria-heading .elementor-heading-title { font-size: 1.5rem !important; }
  .bs-ci-governance-heading .elementor-heading-title { font-size: 1.5rem !important; }
  .bs-ci-archive-heading .elementor-heading-title { font-size: 1.5rem !important; }
  .bs-ci-vote-inner { flex-direction: column !important; align-items: flex-start !important; gap: 20px !important; }
  /* Forthcoming banner stacks on tablet */
  .bs-ci-forthcoming-when { width: 100% !important; text-align: left !important; }
  /* Status card stacks to single column */
  .bs-ci-status-card { gap: 24px !important; }
  .bs-ci-winner .e-con { flex-direction: column !important; gap: 24px !important; }
  .bs-ci-participation { flex-direction: column !important; align-items: flex-start !important; gap: 20px !important; }
  .bs-ci-participation-stat { flex-direction: row !important; align-items: center !important; gap: 12px !important; }
  .bs-ci-participation-label { margin-top: 0 !important; }
}


/* ══════════════════════════════════════════════════════════
   RESPONSIVE — 768px
   ══════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  .bs-ci-hero-title .elementor-heading-title { font-size: 2.25rem !important; }
  .bs-ci-process-heading .elementor-heading-title,
  .bs-ci-candidates-heading .elementor-heading-title,
  .bs-ci-results-heading .elementor-heading-title,
  .bs-ci-criteria-heading .elementor-heading-title,
  .bs-ci-governance-heading .elementor-heading-title,
  .bs-ci-archive-heading .elementor-heading-title { font-size: 1.375rem !important; }
  .bs-ci-details-key { width: 160px !important; min-width: 160px !important; }
  .bs-ci-cta-note { flex-wrap: wrap !important; }
}


/* ══════════════════════════════════════════════════════════
   RESPONSIVE — 640px
   ══════════════════════════════════════════════════════════ */

@media (max-width: 640px) {
  .bs-ci-hero { border-radius: 8px !important; }
  .bs-ci-hero-title .elementor-heading-title { font-size: 1.875rem !important; }
  .bs-ci-hero-actions { flex-direction: column !important; align-items: center !important; }
  /* Key column: remove fixed pixel width so it fills the full row width when stacked */
  .bs-ci-details-key { width: 100% !important; min-width: 0 !important; }
  /* Forthcoming banner tighter padding */
  .bs-ci-forthcoming-when { padding: 10px 14px !important; }
  /* Status card tighter padding */
  .bs-ci-status-card { padding: 24px !important; }
  .bs-ci-winner .e-con { gap: 20px !important; }
  .bs-ci-winner-stat { text-align: left !important; min-width: 0 !important; }
  .bs-ci-participation { gap: 16px !important; }
}


/* ══════════════════════════════════════════════════════════
   RESPONSIVE — 480px
   ══════════════════════════════════════════════════════════ */

@media (max-width: 480px) {
  .bs-ci-hero { border-radius: 6px !important; }
  .bs-ci-hero-title .elementor-heading-title { font-size: 1.625rem !important; }
  .bs-ci-process-heading .elementor-heading-title,
  .bs-ci-candidates-heading .elementor-heading-title,
  .bs-ci-results-heading .elementor-heading-title,
  .bs-ci-criteria-heading .elementor-heading-title,
  .bs-ci-governance-heading .elementor-heading-title,
  .bs-ci-archive-heading .elementor-heading-title { font-size: 1.25rem !important; }
  .bs-ci-winner-stat-value .elementor-widget-container p,
  .bs-ci-winner-stat-value .elementor-widget-container div { font-size: 1.375rem !important; }
}
