/*
 * bs-impact-page.css — BlackSpace /impact/ page
 * Network Advocacy & Impact Report
 * Enqueued via bs-page-nav-assets.php scoped to the /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-imp-
 * Page scoped via body.page-id-XXXXX or via conditional enqueue
 * Breakpoints: 1100px | 960px | 768px | 640px | 480px
 */

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

.bs-imp-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-imp-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;
}

/* Eyebrow */
.bs-imp-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-imp-hero-eyebrow .elementor-widget-container { padding: 0 !important; margin: 0 !important; }
.bs-imp-hero-eyebrow .elementor-widget-container p,
.bs-imp-hero-eyebrow .elementor-widget-container div { margin: 0 !important; padding: 0 !important; }

/* H1 */
.bs-imp-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-imp-hero-title-em { font-style: normal !important; color: #c8925e !important; }

/* Subtext */
.bs-imp-hero-sub .elementor-widget-container p,
.bs-imp-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;
}

/* Meta bar — four stat items separated by 1px vertical dividers */
.bs-imp-hero-meta {
  display: flex !important; align-items: center !important;
  justify-content: center !important; gap: 32px !important; flex-wrap: wrap !important;
  padding-top: 28px !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}

.bs-imp-meta-item {
  text-align: center !important;
  padding: 0 !important; margin: 0 !important;
  display: flex !important; flex-direction: column !important;
  align-items: center !important; gap: 4px !important;
}

.bs-imp-meta-value {
  font-size: 1.125rem !important; font-weight: 700 !important;
  color: #c8925e !important; line-height: 1 !important;
  margin: 0 !important; padding: 0 !important; width: auto !important;
}
.bs-imp-meta-value .elementor-widget-container,
.bs-imp-meta-label .elementor-widget-container { padding: 0 !important; margin: 0 !important; line-height: 1 !important; }
.bs-imp-meta-value .elementor-widget-container p,
.bs-imp-meta-value .elementor-widget-container div,
.bs-imp-meta-label .elementor-widget-container p,
.bs-imp-meta-label .elementor-widget-container div { margin: 0 !important; padding: 0 !important; line-height: 1 !important; }

.bs-imp-meta-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: 0 !important; padding: 0 !important; width: auto !important;
}

/* Vertical dividers between meta items */
.bs-imp-meta-divider {
  width: 1px !important; min-width: 1px !important; max-width: 1px !important;
  flex: 0 0 1px !important; height: 32px !important;
  background: rgba(255,255,255,0.10) !important;
  align-self: center !important; overflow: hidden !important;
}
.bs-imp-meta-divider .elementor-widget-container {
  width: 1px !important; height: 32px !important;
  padding: 0 !important; margin: 0 !important; overflow: hidden !important;
}


/* ══════════════════════════════════════════════════════════
   SECTION 2 — CONDITIONS REVIEW SUMMARY BAND
   Bronze-050 background. Short contextual summary of the
   annual proportionality finding. Spans full width.
   ══════════════════════════════════════════════════════════ */

.bs-imp-conditions-band {
  background: #f7eee5 !important;
  border-top: 1px solid #efd9c0 !important;
  border-bottom: 1px solid #efd9c0 !important;
}

/* Inner flex: icon left + text right */
.bs-imp-conditions-inner {
  display: flex !important; align-items: flex-start !important;
  gap: 24px !important; max-width: 820px !important; margin: 0 auto !important;
}

/* Icon container */
.bs-imp-conditions-icon {
  width: 44px !important; height: 44px !important; min-width: 44px !important;
  background: rgba(176,116,62,0.15) !important;
  border: 1px solid rgba(176,116,62,0.35) !important;
  border-radius: 10px !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important; overflow: hidden !important;
}
/* The Elementor icon widget renders as display:block at an intrinsic narrow width.
   Force it to fill the container so the centering chain has something to center. */
.bs-imp-conditions-icon .elementor-widget-icon {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 44px !important; height: 44px !important;
}
.bs-imp-conditions-icon .elementor-widget-container {
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 0 !important; margin: 0 !important; width: 44px !important; height: 44px !important;
}
.bs-imp-conditions-icon .elementor-icon-wrapper,
.bs-imp-conditions-icon .elementor-icon {
  display: flex !important; align-items: center !important; justify-content: center !important;
  line-height: 1 !important;
}
.bs-imp-conditions-icon i, .bs-imp-conditions-icon svg {
  color: #b0743e !important;
  width: 25px !important; height: 25px !important;
  min-width: 25px !important; min-height: 25px !important;
  max-width: 25px !important; max-height: 25px !important;
  font-size: 25px !important;
}

/* Label */
.bs-imp-conditions-label {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important;
  color: #8c5d31 !important; margin-bottom: 6px !important;
  display: block !important;
}
.bs-imp-conditions-label .elementor-widget-container p,
.bs-imp-conditions-label .elementor-widget-container div {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important;
  color: #8c5d31 !important; margin: 0 !important; padding: 0 !important;
}

/* Statement text */
.bs-imp-conditions-statement .elementor-widget-container p,
.bs-imp-conditions-statement .elementor-widget-container div {
  font-size: 0.875rem !important; color: #1a1a1a !important;
  line-height: 1.75 !important; margin: 0 !important; padding: 0 !important;
}
.bs-imp-conditions-statement strong { color: #b0743e !important; }


/* ══════════════════════════════════════════════════════════
   SECTION 3 — CURRENT YEAR REPORT
   White background. Narrow 820px content width for reading.
   Report is structured as subsections matching the six required
   sections in the annual report template.
   ══════════════════════════════════════════════════════════ */

.bs-imp-report { background: #ffffff !important; }

/* Report year badge */
.bs-imp-year-badge {
  display: inline-flex !important; align-items: center !important; gap: 8px !important;
  background: #1a1a1a !important; color: #ffffff !important;
  font-size: 0.6875rem !important; font-weight: 700 !important;
  letter-spacing: 0.1em !important; text-transform: uppercase !important;
  padding: 6px 16px !important; border-radius: 50px !important;
}
.bs-imp-year-badge .elementor-widget-container p,
.bs-imp-year-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;
}

/* Report heading */
.bs-imp-report-heading .elementor-heading-title {
  font-size: 1.75rem !important; font-weight: 700 !important;
  color: #1a1a1a !important; line-height: 1.25 !important; margin-bottom: 12px !important;
}

/* Report intro body */
.bs-imp-report-intro .elementor-widget-container p,
.bs-imp-report-intro .elementor-widget-container div {
  font-size: 0.875rem !important; color: #474747 !important;
  line-height: 1.85 !important; margin-bottom: 0 !important; padding: 0 !important;
}

/* Legal notice callout — bronze-left-border quote block */
.bs-imp-legal-callout {
  background: #f7eee5 !important;
  border-left: 3px solid #b0743e !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 16px 20px !important;
}
.bs-imp-legal-callout .elementor-widget-container p,
.bs-imp-legal-callout .elementor-widget-container div {
  font-size: 0.75rem !important; color: #8c5d31 !important;
  line-height: 1.7 !important; font-style: italic !important;
  margin: 0 !important; padding: 0 !important;
}

/* Subsection kicker */
.bs-imp-sub-kicker {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important;
  color: #b0743e !important; margin-bottom: 6px !important; display: block !important;
}
.bs-imp-sub-kicker .elementor-widget-container p,
.bs-imp-sub-kicker .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;
}

/* Subsection H3 heading */
.bs-imp-sub-heading .elementor-heading-title {
  font-size: 1.0625rem !important; font-weight: 700 !important;
  color: #1a1a1a !important; line-height: 1.3 !important; margin-bottom: 14px !important;
}

/* Subsection body text */
.bs-imp-sub-body .elementor-widget-container p,
.bs-imp-sub-body .elementor-widget-container div {
  font-size: 0.875rem !important; color: #474747 !important;
  line-height: 1.9 !important; margin-bottom: 14px !important; padding: 0 !important;
}
.bs-imp-sub-body .elementor-widget-container p:last-child { margin-bottom: 0 !important; }
.bs-imp-sub-body strong { color: #1a1a1a !important; }
.bs-imp-sub-body em { font-style: italic !important; }

/* Subsection bottom divider */
.bs-imp-sub-divider {
  width: 100% !important;
}
.bs-imp-sub-divider .elementor-divider-separator {
  border-top: 1px solid #e6e6e6 !important;
  border-bottom: none !important; border-left: none !important; border-right: none !important;
}

/* Data grid — three stat boxes */
.bs-imp-data-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 16px !important;
}

.bs-imp-data-box {
  background: #fafafa !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 10px !important;
  padding: 20px 18px !important;
  text-align: center !important;
  display: flex !important; flex-direction: column !important;
  align-items: center !important; gap: 6px !important;
}

.bs-imp-data-value {
  font-size: 1.5rem !important; font-weight: 700 !important;
  color: #b0743e !important; line-height: 1 !important;
  margin: 0 !important; padding: 0 !important; width: auto !important;
}
.bs-imp-data-value .elementor-widget-container p,
.bs-imp-data-value .elementor-widget-container div {
  font-size: 1.5rem !important; font-weight: 700 !important; color: #b0743e !important;
  margin: 0 !important; padding: 0 !important; line-height: 1 !important;
}

.bs-imp-data-label {
  font-size: 0.6875rem !important; font-weight: 700 !important;
  letter-spacing: 0.06em !important; text-transform: uppercase !important;
  color: #474747 !important; line-height: 1.4 !important; text-align: center !important;
  margin: 0 !important; padding: 0 !important; width: auto !important;
}
.bs-imp-data-label .elementor-widget-container p,
.bs-imp-data-label .elementor-widget-container div {
  font-size: 0.6875rem !important; font-weight: 700 !important;
  letter-spacing: 0.06em !important; text-transform: uppercase !important;
  color: #474747 !important; margin: 0 !important; padding: 0 !important; line-height: 1.4 !important;
}

.bs-imp-data-source {
  font-size: 0.625rem !important; color: rgba(71,71,71,0.55) !important;
  margin: 0 !important; padding: 0 !important; width: auto !important;
}
.bs-imp-data-source .elementor-widget-container p,
.bs-imp-data-source .elementor-widget-container div {
  font-size: 0.625rem !important; color: rgba(71,71,71,0.55) !important;
  margin: 0 !important; padding: 0 !important;
}

/* Timeline bar — Section II forthcoming state */
.bs-imp-timeline {
  background: #fafafa !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  display: flex !important;
}

.bs-imp-timeline-card {
  flex: 1 !important;
  padding: 16px 20px !important;
  border-right: 1px solid #e6e6e6 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}
.bs-imp-timeline-card:last-child { border-right: none !important; }

.bs-imp-timeline-label {
  font-size: 0.625rem !important; font-weight: 700 !important;
  letter-spacing: 0.12em !important; text-transform: uppercase !important;
  color: #b0743e !important;
}
.bs-imp-timeline-label .elementor-widget-container p,
.bs-imp-timeline-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-imp-timeline-value .elementor-widget-container p,
.bs-imp-timeline-value .elementor-widget-container div {
  font-size: 0.8125rem !important; font-weight: 700 !important;
  color: #1a1a1a !important; margin: 0 !important; padding: 0 !important;
}

/* Bullet list items */
.bs-imp-bullet-item {
  display: flex !important; align-items: flex-start !important; gap: 12px !important;
  font-size: 0.875rem !important; color: #474747 !important; line-height: 1.75 !important;
}
.bs-imp-bullet-item .elementor-widget-container p,
.bs-imp-bullet-item .elementor-widget-container div {
  font-size: 0.875rem !important; color: #474747 !important;
  line-height: 1.75 !important; margin: 0 !important; padding: 0 !important;
}
.bs-imp-bullet-item strong { color: #1a1a1a !important; }

.bs-imp-bullet-dot {
  width: 7px !important; height: 7px !important; min-width: 7px !important;
  background: #b0743e !important; border-radius: 50% !important;
  flex-shrink: 0 !important; margin-top: 8px !important;
}
.bs-imp-bullet-dot .elementor-widget-container { padding: 0 !important; width: 7px !important; height: 7px !important; }

/* Community investment result block */
.bs-imp-invest-result {
  background: #fafafa !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 10px !important;
  padding: 24px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
}

.bs-imp-invest-org-name .elementor-widget-container p,
.bs-imp-invest-org-name .elementor-widget-container div {
  font-size: 1rem !important; font-weight: 700 !important; color: #1a1a1a !important;
  margin: 0 0 4px !important; padding: 0 !important;
}
.bs-imp-invest-org-meta .elementor-widget-container p,
.bs-imp-invest-org-meta .elementor-widget-container div {
  font-size: 0.75rem !important; color: #474747 !important;
  margin: 0 0 8px !important; padding: 0 !important;
}
.bs-imp-invest-org-desc .elementor-widget-container p,
.bs-imp-invest-org-desc .elementor-widget-container div {
  font-size: 0.8125rem !important; color: #474747 !important;
  line-height: 1.7 !important; margin: 0 !important; padding: 0 !important;
}

.bs-imp-invest-stat {
  text-align: center !important; min-width: 100px !important; flex-shrink: 0 !important;
}
.bs-imp-invest-stat-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-imp-invest-stat-value .elementor-widget-container p,
.bs-imp-invest-stat-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-imp-invest-stat-label {
  font-size: 0.625rem !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: 0.1em !important;
  color: #474747 !important; margin-top: 4px !important;
}
.bs-imp-invest-stat-label .elementor-widget-container p,
.bs-imp-invest-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: #474747 !important; margin: 0 !important; padding: 0 !important;
}

.bs-imp-invest-divider {
  width: 1px !important; height: 60px !important; min-width: 1px !important;
  flex: 0 0 1px !important; background: #e6e6e6 !important; align-self: center !important;
}
.bs-imp-invest-divider .elementor-widget-container { width: 1px !important; height: 60px !important; padding: 0 !important; }

/* Sub-section link */
.bs-imp-sub-link .elementor-widget-container p,
.bs-imp-sub-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: 0 !important; padding: 0 !important;
}
.bs-imp-sub-link a { color: #b0743e !important; }
.bs-imp-sub-link a:hover { color: #1a1a1a !important; }

/* Certification block — matches the mechanics table pattern on /community-impact/ */
.bs-imp-cert {
  background: #fafafa !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
.bs-imp-cert-header {
  background: #1a1a1a !important; padding: 14px 20px !important;
}
.bs-imp-cert-header .elementor-widget-container p,
.bs-imp-cert-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;
}

/* Cert rows — use Elementor text widget pairs inside an inner section */
.bs-imp-cert-key {
  background: #f7eee5 !important;
  border-right: 1px solid #e6e6e6 !important;
}
.bs-imp-cert-key .elementor-widget-container p,
.bs-imp-cert-key .elementor-widget-container div {
  font-size: 0.75rem !important; font-weight: 700 !important; color: #474747 !important;
  margin: 0 !important; padding: 0 !important;
}
.bs-imp-cert-val .elementor-widget-container p,
.bs-imp-cert-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-imp-cert-row {
  border-bottom: 1px solid #e6e6e6 !important;
}
.bs-imp-cert-row:last-child { border-bottom: none !important; }


/* ══════════════════════════════════════════════════════════
   SECTION 4 — ARCHIVE
   Neutral-025 background. Grid of prior-year report cards.
   ══════════════════════════════════════════════════════════ */

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

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

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

/* Archive card */
.bs-imp-archive-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, transform 0.2s ease !important;
}
.bs-imp-archive-card:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,0.08) !important;
  transform: translateY(-2px) !important;
}

.bs-imp-archive-year {
  font-size: 2.25rem !important; font-weight: 700 !important;
  color: rgba(176,116,62,0.25) !important; line-height: 1 !important;
  margin: 0 !important; padding: 0 !important; width: auto !important;
}
.bs-imp-archive-year .elementor-widget-container p,
.bs-imp-archive-year .elementor-widget-container div {
  font-size: 2.25rem !important; font-weight: 700 !important;
  color: rgba(176,116,62,0.25) !important;
  margin: 0 !important; padding: 0 !important; line-height: 1 !important;
}

.bs-imp-archive-title .elementor-widget-container p,
.bs-imp-archive-title .elementor-widget-container div {
  font-size: 0.875rem !important; font-weight: 700 !important; color: #1a1a1a !important;
  line-height: 1.3 !important; margin: 0 !important; padding: 0 !important;
}

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

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


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

.bs-imp-legal-section {
  background: #252020 !important;
  position: relative !important;
}
.bs-imp-legal-section::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-imp-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-imp-legal-label .elementor-widget-container p,
.bs-imp-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-imp-legal-text .elementor-widget-container p,
.bs-imp-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 — Reuse global utility classes if bs-global.css is
   confirmed loading. Otherwise these duplicate them locally.
   ══════════════════════════════════════════════════════════ */

.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) {
  .bs-imp-data-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .bs-imp-hero-meta { gap: 20px !important; }
  .bs-imp-meta-divider { display: none !important; }
  .bs-imp-invest-result { flex-wrap: wrap !important; }
  .bs-imp-invest-divider { width: 60px !important; height: 1px !important; }
}


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

@media (max-width: 768px) {
  .bs-imp-hero-title .elementor-heading-title { font-size: 2.25rem !important; }
  .bs-imp-conditions-inner { flex-direction: column !important; gap: 16px !important; }
}


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

@media (max-width: 640px) {
  .bs-imp-hero { border-radius: 8px !important; }
  .bs-imp-hero-title .elementor-heading-title { font-size: 1.875rem !important; }
  .bs-imp-data-grid { grid-template-columns: 1fr 1fr !important; }
  .bs-imp-invest-result { flex-direction: column !important; align-items: flex-start !important; }
  .bs-imp-invest-divider { display: none !important; }
  /* Timeline stacks vertically — swap right borders for bottom borders */
  .bs-imp-timeline-card {
    border-right: none !important;
    border-bottom: 1px solid #e6e6e6 !important;
  }
  .bs-imp-timeline-card:last-child { border-bottom: none !important; }
}


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

@media (max-width: 480px) {
  .bs-imp-hero { border-radius: 6px !important; }
  .bs-imp-hero-title .elementor-heading-title { font-size: 1.625rem !important; }
  .bs-imp-data-grid { grid-template-columns: 1fr !important; }
}
