/* alu-breakdown — Explicit-IVA breakdown (Fix 2 + 6)
 *
 * Sums must reconcile to gross. The bar widths use a `--pct` custom property
 * set inline per-row; the donation row is brand-coloured so the eye lands on
 * "where the money actually goes" first.
 */

.alu-breakdown {
  background: var(--alu-bg, #f5f3ef);
  border: 1px solid var(--alu-line, #d6d1c6);
  border-radius: var(--alu-radius-lg, 12px);
  padding: clamp(20px, 3vw, 32px);
  font-family: var(--alu-font-sans, 'Inter', system-ui, sans-serif);
  color: var(--alu-ink, #1a1714);
  max-width: 560px;
  margin: 32px 0;
}

.alu-breakdown__title {
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--alu-ink-muted, #6b665e);
  margin: 0 0 16px;
  font-weight: 600;
}

.alu-breakdown__lines {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
}

.alu-breakdown__line {
  display: grid;
  grid-template-columns: 1fr 2fr auto;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--alu-line-soft, #e5e1d8);
  font-size: 14px;
}

.alu-breakdown__line:last-child { border-bottom: none; }

.alu-breakdown__label {
  font-weight: 500;
}

.alu-breakdown__bar {
  height: 8px;
  border-radius: 4px;
  background: var(--alu-line-soft, #e5e1d8);
  position: relative;
  overflow: hidden;
}

.alu-breakdown__bar::after {
  content: '';
  position: absolute;
  inset: 0;
  width: var(--pct, 0%);
  background: var(--alu-ink, #1a1714);
  border-radius: 4px;
}

.alu-breakdown__line--tax .alu-breakdown__bar::after { background: var(--alu-ink-muted, #6b665e); }
.alu-breakdown__line--donation .alu-breakdown__bar::after { background: var(--alu-brand, #b14622); }

.alu-breakdown__amount {
  font-variant-numeric: tabular-nums;
  font-weight: 500;
  text-align: right;
  white-space: nowrap;
}

.alu-breakdown__line--donation .alu-breakdown__amount {
  color: var(--alu-brand, #b14622);
  font-weight: 700;
}

.alu-breakdown__total {
  margin: 0;
  padding-top: 16px;
  border-top: 2px solid var(--alu-ink, #1a1714);
  font-size: 14px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-variant-numeric: tabular-nums;
  flex-wrap: wrap;
  gap: 8px;
}
