/* === LAYOUT OUTIL === */
    .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);
    }

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

    /* === FORMULAIRE SÉLECTEUR === */
    .bpa-selector-form {
      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);
    }

    .bpa-selector-form h2 {
      margin-bottom: var(--space-4);
      font-size: 1.125rem;
    }

    .bpa-form-row {
      display: grid;
      grid-template-columns: 1fr;
      gap: var(--space-3);
    }

    @media (min-width: 480px) {
      .bpa-form-row--2 {
        grid-template-columns: 1fr 1fr;
      }
    }

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

      .bpa-form-row--3 {
        grid-template-columns: 1fr 1fr 1fr;
      }
    }

    /* === DÉTAILS VÉHICULE (sous la plaque) === */
    .bpa-vehicle-details {
      margin-top: var(--space-4);
      padding-top: 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);
    }

    /* === AUTOCOMPLETE === */
    .bpa-ac-wrap { position: relative; display: block; }
    .bpa-ac-wrap input { width: 100%; }
    .bpa-ac-list {
      position: absolute;
      top: 100%; left: 0; right: 0;
      background: var(--color-white);
      border: 1px solid var(--color-grey-border);
      border-top: none;
      border-radius: 0 0 var(--radius-card) var(--radius-card);
      max-height: 192px;
      overflow-y: auto;
      z-index: 200;
      box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    }
    .bpa-ac-item {
      padding: 8px 12px;
      font-size: 14px;
      color: var(--color-grey-mid);
      cursor: pointer;
    }
    .bpa-ac-item:hover,
    .bpa-ac-item.is-on { background: #EFF6FF; color: var(--color-navy); }

    /* === RÉSULTAT === */
    .bpa-result-panel {
      background: var(--color-grey-light);
      border: 1px solid var(--color-grey-border);
      border-radius: var(--radius-card);
      padding: var(--space-4) var(--space-3);
      margin-bottom: var(--space-4);
    }

    .bpa-result-panel[hidden] { display: none; }

    .bpa-result-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: var(--space-3);
      margin-bottom: var(--space-4);
      padding-bottom: var(--space-3);
      border-bottom: 1px solid var(--color-grey-border);
    }

    .bpa-result-panel h2 {
      font-size: 1rem;
      font-weight: 600;
      color: var(--color-grey-dark);
    }

    .bpa-result-rows {
      display: flex;
      flex-direction: column;
      gap: var(--space-3);
    }

    .bpa-result-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: var(--space-3);
    }

    .bpa-result-row-left {
      display: flex;
      align-items: center;
      gap: var(--space-2);
      flex: 1;
      min-width: 0;
    }

    .bpa-result-row-label {
      font-size: 14px;
      color: var(--color-grey-mid);
      flex: 1;
    }

    .bpa-result-row-value {
      font-size: 15px;
      font-weight: 600;
      color: var(--color-grey-dark);
      white-space: nowrap;
    }

    .bpa-result-row--total {
      padding-top: var(--space-3);
      border-top: 2px solid var(--color-grey-border);
      margin-top: var(--space-1);
    }

    .bpa-result-row--total .bpa-result-row-label {
      font-weight: 600;
      font-size: 15px;
      color: var(--color-grey-dark);
    }

    .bpa-result-row--total .bpa-result-row-value {
      font-size: 1.125rem;
      color: var(--color-navy);
    }

    .bpa-joint-badge {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      background: var(--color-green-light);
      color: #166534;
      font-size: 11px;
      font-weight: 600;
      line-height: 1;
      padding: 4px 6px;
      border-radius: var(--radius-badge);
      white-space: nowrap;
      flex-shrink: 0;
    }

    .bpa-result-detail {
      font-size: 12px;
      color: var(--color-grey);
      margin-top: 2px;
    }

    .bpa-result-row-inner {
      display: flex;
      flex-direction: column;
      flex: 1;
      min-width: 0;
    }

    /* === MENTION ÉCONOMIE GARAGE === */
    .bpa-garage-notice {
      display: flex;
      align-items: flex-start;
      gap: var(--space-2);
      background: #FFFBEB;
      border: 1px solid #FDE68A;
      border-radius: var(--radius-card);
      padding: var(--space-3) var(--space-4);
      margin-top: var(--space-3);
      font-size: 13px;
      color: #92400E;
      line-height: 1.5;
    }

    .bpa-garage-notice-icon {
      font-size: 16px;
      flex-shrink: 0;
      margin-top: 1px;
    }

    /* === CTA BLOC === */
    .bpa-cta-bloc {
      margin-top: var(--space-4);
    }

    .bpa-cta-bloc a.bpa-btn-secondary {
      display: block;
      width: 100%;
      text-align: center;
      text-decoration: none;
    }

    /* === CTA DANS LE PANNEAU RÉSULTAT === */
    .bpa-result-cta {
      margin-top: var(--space-4);
    }

    .bpa-result-cta a.bpa-btn-primary {
      text-decoration: none;
    }

    /* === DISCLAIMER === */
    .bpa-disclaimer {
      font-size: 12px;
      color: var(--color-grey);
      margin-top: var(--space-3);
      text-align: center;
    }

    .bpa-disclaimer a {
      color: var(--color-navy);
      text-decoration: underline;
    }
