/* === LAYOUT === */
    .bpa-tool-layout {
      max-width: var(--max-w-tool);
      margin: 0 auto;
      padding: var(--space-5) var(--space-3) var(--space-8);
    }

    .bpa-tool-intro {
      margin-bottom: var(--space-5);
    }

    .bpa-tool-intro h1 {
      margin-bottom: var(--space-3);
    }

    .bpa-tool-intro p {
      font-size: 1rem;
      color: var(--color-grey-mid);
      max-width: 100%;
    }

    @media (min-width: 768px) {
      .bpa-tool-layout {
        padding: var(--space-7) var(--space-4) var(--space-8);
      }
    }

    /* === TOGGLE COURROIE / CHAÎNE === */
    .bpa-dist-toggle {
      display: grid;
      grid-template-columns: 1fr 1fr;
      border: 2px solid var(--color-navy);
      border-radius: var(--radius-btn);
      overflow: hidden;
      margin-bottom: var(--space-5);
    }

    .bpa-dist-btn {
      padding: 14px var(--space-3);
      background: var(--color-white);
      color: var(--color-navy);
      border: none;
      font-family: inherit;
      font-size: 13px;
      font-weight: 600;
      cursor: pointer;
      transition: background 0.2s, color 0.2s;
      text-align: center;
      line-height: 1.4;
    }

    .bpa-dist-btn:first-child {
      border-right: 2px solid var(--color-navy);
    }

    .bpa-dist-btn.is-active {
      background: var(--color-navy);
      color: var(--color-white);
    }

    .bpa-dist-btn:hover:not(.is-active) {
      background: var(--color-grey-light);
    }

    .bpa-dist-btn-icon {
      display: block;
      font-size: 22px;
      margin-bottom: 4px;
    }

    @media (min-width: 480px) {
      .bpa-dist-btn {
        font-size: 15px;
        padding: 16px var(--space-4);
      }
    }

    /* === FORM CARD === */
    .bpa-checker-card {
      background: var(--color-white);
      border: 1px solid var(--color-grey-border);
      border-radius: var(--radius-card);
      padding: var(--space-4) var(--space-3);
      margin-bottom: var(--space-4);
    }

    @media (min-width: 768px) {
      .bpa-checker-card {
        padding: var(--space-5) var(--space-5);
      }
    }

    /* === DÉTAILS VÉHICULE (sous la plaque) === */
    .bpa-vehicle-details {
      margin-top: var(--space-4);
      padding-top: var(--space-4);
      margin-bottom: var(--space-4);
      border-top: 1px solid var(--color-grey-border);
    }

    .bpa-vehicle-details-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: var(--space-3);
      margin-bottom: var(--space-3);
      font-size: 14px;
      font-weight: 600;
      color: var(--color-grey-mid);
    }

    /* === CHECKBOX LABEL === */
    .bpa-check-label {
      display: flex;
      align-items: flex-start;
      gap: var(--space-2);
      margin-top: calc(-1 * var(--space-2));
      margin-bottom: var(--space-4);
      cursor: pointer;
    }

    .bpa-check-label input[type="checkbox"] {
      width: 18px;
      height: 18px;
      flex-shrink: 0;
      margin-top: 2px;
      accent-color: var(--color-navy);
      cursor: pointer;
    }

    .bpa-check-label span {
      font-size: 14px;
      font-weight: 500;
      color: var(--color-grey-mid);
      line-height: 1.5;
      user-select: none;
    }

    /* === URGENCY BADGE === */
    .bpa-urgency-badge {
      display: flex;
      align-items: center;
      gap: var(--space-3);
      padding: var(--space-4);
      border-radius: var(--radius-card);
      margin-bottom: var(--space-4);
    }

    .bpa-urgency-badge--urgent {
      background: #FEE2E2;
      border: 2px solid #FECACA;
    }

    .bpa-urgency-badge--warning {
      background: #FEF3C7;
      border: 2px solid #FDE68A;
    }

    .bpa-urgency-badge--ok {
      background: var(--color-green-light);
      border: 2px solid #BBF7D0;
    }

    .bpa-urgency-badge--info {
      background: #EFF6FF;
      border: 2px solid #BFDBFE;
    }

    .bpa-urgency-icon {
      font-size: 36px;
      line-height: 1;
      flex-shrink: 0;
    }

    .bpa-urgency-label {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      margin-bottom: 4px;
    }

    .bpa-urgency-badge--urgent .bpa-urgency-label { color: #991B1B; }
    .bpa-urgency-badge--warning .bpa-urgency-label { color: #92400E; }
    .bpa-urgency-badge--ok .bpa-urgency-label      { color: #166534; }
    .bpa-urgency-badge--info .bpa-urgency-label    { color: #1E40AF; }

    .bpa-urgency-title {
      font-size: 1rem;
      font-weight: 700;
      line-height: 1.3;
      margin: 0;
    }

    .bpa-urgency-badge--urgent .bpa-urgency-title  { color: #7F1D1D; }
    .bpa-urgency-badge--warning .bpa-urgency-title { color: #78350F; }
    .bpa-urgency-badge--ok .bpa-urgency-title      { color: #14532D; }
    .bpa-urgency-badge--info .bpa-urgency-title    { color: #1E3A8A; }

    /* === GAUGE === */
    .bpa-gauge-wrapper {
      margin-bottom: var(--space-4);
    }

    .bpa-gauge-header {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      margin-bottom: var(--space-2);
    }

    .bpa-gauge-heading {
      font-size: 12px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      color: var(--color-grey-dark);
    }

    .bpa-gauge-pct {
      font-size: 13px;
      font-weight: 700;
      color: var(--color-grey-dark);
    }

    .bpa-gauge-track {
      height: 20px;
      background: var(--color-grey-border);
      border-radius: 10px;
      overflow: hidden;
    }

    .bpa-gauge-fill {
      height: 100%;
      border-radius: 10px;
      transition: width 0.5s ease, background-color 0.3s ease;
    }

    .bpa-gauge-fill--urgent  { background: #DC2626; }
    .bpa-gauge-fill--warning { background: #D97706; }
    .bpa-gauge-fill--ok      { background: #166534; }

    .bpa-gauge-scale {
      display: flex;
      justify-content: space-between;
      margin-top: var(--space-1);
    }

    .bpa-gauge-scale span {
      font-size: 11px;
      color: var(--color-grey);
    }

    /* === STATS GRID === */
    .bpa-stats-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: var(--space-3);
      margin-bottom: var(--space-4);
    }

    .bpa-stat-box {
      background: var(--color-grey-light);
      border: 1px solid var(--color-grey-border);
      border-radius: var(--radius-card);
      padding: var(--space-3);
    }

    .bpa-stat-label {
      font-size: 11px;
      font-weight: 700;
      color: var(--color-grey);
      text-transform: uppercase;
      letter-spacing: 0.04em;
      margin-bottom: var(--space-1);
    }

    .bpa-stat-value {
      font-size: 1.375rem;
      font-weight: 700;
      color: var(--color-navy);
      line-height: 1.2;
    }

    .bpa-stat-unit {
      font-size: 0.75rem;
      color: var(--color-grey);
      margin-top: 2px;
    }

    /* === PRICE BOX === */
    .bpa-price-box {
      background: #EFF6FF;
      border: 1px solid #BFDBFE;
      border-radius: var(--radius-card);
      padding: var(--space-4);
      margin-bottom: var(--space-4);
    }

    .bpa-price-box-title {
      font-size: 12px;
      font-weight: 700;
      color: var(--color-navy);
      text-transform: uppercase;
      letter-spacing: 0.04em;
      margin-bottom: var(--space-2);
    }

    .bpa-price-box-value {
      font-size: 1.375rem;
      font-weight: 700;
      color: var(--color-navy);
      margin-bottom: var(--space-1);
    }

    .bpa-price-box-extra {
      font-size: 13px;
      color: #1E40AF;
    }

    /* === CHAIN BOX === */
    .bpa-chain-box {
      background: #FFFBEB;
      border: 1px solid #FDE68A;
      border-radius: var(--radius-card);
      padding: var(--space-4);
      margin-bottom: var(--space-4);
      color: #78350F;
      font-size: 15px;
      line-height: 1.6;
    }

    .bpa-chain-box strong {
      display: block;
      font-weight: 700;
      margin-bottom: var(--space-2);
    }

    /* === HISTORY BOX === */
    .bpa-history-box {
      background: #FFFBEB;
      border: 1px solid #FDE68A;
      border-radius: var(--radius-card);
      padding: var(--space-3) var(--space-4);
      margin-bottom: var(--space-4);
      font-size: 13px;
      color: #92400E;
      display: flex;
      gap: var(--space-2);
      align-items: flex-start;
      line-height: 1.5;
    }

    /* === CTA SECTION === */
    .bpa-cta-section {
      margin-top: var(--space-5);
    }

    .bpa-cta-section a.bpa-btn-primary {
      display: block;
      text-decoration: none;
    }
