/* BDX — Demande de compte revendeur (lot 3).
   Charte : gris + #FCAF3B. La police est héritée du site (Inter) : rien n'est redéclaré ici.
   Préfixe bdxrd- : aucune collision possible avec bdxv- (pages vivantes) ni bdxo- (outils v2). */

.bdxrd { max-width: 980px; margin: 0 auto; }
.bdxrd * { box-sizing: border-box; }

/* ── Hero (page publique uniquement) ─────────────────────────── */
.bdxrd-hero { position: relative; overflow: hidden; text-align: center; background: linear-gradient(120deg, #111827, #1f2937 55%, #374151); border-radius: 20px; padding: 48px 24px 42px; margin: 0 0 26px; }
.bdxrd-hero::before { content: ""; position: absolute; right: -60px; top: -80px; width: 300px; height: 300px; border-radius: 50%; background: radial-gradient(circle, rgba(252,175,59,.3), transparent 70%); }
.bdxrd-hero::after { content: ""; position: absolute; left: -80px; bottom: -120px; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(252,175,59,.14), transparent 70%); }
.bdxrd-eyebrow { position: relative; display: inline-block; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #FCAF3B; margin-bottom: 10px; }
.bdxrd-hero h1 { position: relative; color: #fff; font-size: clamp(24px, 3vw, 36px); font-weight: 900; margin: 0 0 10px; line-height: 1.15; }
.bdxrd-hero p { position: relative; color: rgba(255,255,255,.84); font-size: 15.5px; max-width: 660px; margin: 0 auto 20px; line-height: 1.55; }
.bdxrd-stats { position: relative; display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.bdxrd-stats span { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.3); color: #fff; border-radius: 999px; padding: 7px 16px; font-size: 13.5px; font-weight: 600; }
.bdxrd-stats strong { font-weight: 800; margin-right: 4px; color: #FCAF3B; }

/* ── Titre (espace client) ───────────────────────────────────── */
.bdxrd-titre { font-size: 20px; font-weight: 900; color: #111827; margin: 0 0 16px; }

/* ── Messages ────────────────────────────────────────────────── */
.bdxrd-msg { border-radius: 12px; padding: 14px 18px; margin: 0 0 20px; font-size: 14.5px; line-height: 1.55; border: 1.5px solid; }
.bdxrd-ok { background: #f0fdf4; border-color: #86efac; color: #14532d; }
.bdxrd-ko { background: #fef2f2; border-color: #fca5a5; color: #7f1d1d; }
.bdxrd-ko ul { margin: 8px 0 0; padding-left: 20px; }
.bdxrd-ko li { margin: 3px 0; }

/* ── État de la demande ──────────────────────────────────────── */
.bdxrd-etat { background: #fff; border: 1.5px solid #e5e7eb; border-radius: 14px; padding: 16px 20px; margin: 0 0 22px; }
.bdxrd-etat-l { display: flex; align-items: center; gap: 9px; font-size: 15px; color: #111827; margin: 0 0 4px; }
.bdxrd-etat-s { font-size: 13.5px; color: #6b7280; margin: 0 0 8px 21px; line-height: 1.5; }
.bdxrd-etat-l:last-child, .bdxrd-etat-s:last-child { margin-bottom: 0; }
.bdxrd-pastille { flex: 0 0 auto; width: 12px; height: 12px; border-radius: 50%; display: inline-block; }
.bdxrd-pastille-ok { background: #16a34a; }
.bdxrd-pastille-attente { background: #FCAF3B; }
.bdxrd-pastille-ko { background: #9ca3af; }

/* ── Formulaire ──────────────────────────────────────────────── */
.bdxrd-form { margin: 0; }
.bdxrd-bloc { border: 1.5px solid #e5e7eb; border-radius: 16px; padding: 20px 22px 22px; margin: 0 0 18px; background: #fff; }
.bdxrd-bloc > legend { font-size: 15px; font-weight: 800; color: #111827; padding: 0 8px; margin-left: -4px; }
.bdxrd-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px 18px; }
.bdxrd-champ { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.bdxrd-champ-large { grid-column: 1 / -1; }
.bdxrd-champ label { font-size: 13.5px; font-weight: 700; color: #374151; }
.bdxrd-req { color: #b45309; }
.bdxrd-champ input[type="text"],
.bdxrd-champ input[type="email"],
.bdxrd-champ input[type="tel"],
.bdxrd-champ select { width: 100%; padding: 10px 12px; border: 1.5px solid #d1d5db; border-radius: 10px; font-size: 14.5px; color: #111827; background: #fff; transition: border-color .15s, box-shadow .15s; }
.bdxrd-champ input:focus, .bdxrd-champ select:focus { outline: none; border-color: #FCAF3B; box-shadow: 0 0 0 3px rgba(252,175,59,.18); }
.bdxrd-champ input[type="file"] { width: 100%; padding: 12px; border: 1.5px dashed #d1d5db; border-radius: 10px; font-size: 14px; background: #fafafa; cursor: pointer; }
.bdxrd-champ input[type="file"]:hover { border-color: #FCAF3B; }
.bdxrd-hint { font-size: 12.5px; color: #9ca3af; }
.bdxrd-aide { font-size: 13px; color: #6b7280; line-height: 1.55; margin: 8px 0 0; }
.bdxrd-case { display: flex; align-items: flex-start; gap: 9px; cursor: pointer; font-weight: 500 !important; font-size: 14px !important; color: #374151 !important; }
.bdxrd-case input { margin-top: 3px; flex: 0 0 auto; }

/* ── Cartes d'offre ──────────────────────────────────────────── */
.bdxrd-offres { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.bdxrd-offre { position: relative; display: flex; flex-direction: column; gap: 3px; border: 1.5px solid #e5e7eb; border-radius: 14px; padding: 18px 18px 16px; cursor: pointer; background: #fff; transition: border-color .15s, box-shadow .15s, transform .15s; }
.bdxrd-offre:hover { border-color: #FCAF3B; box-shadow: 0 6px 20px rgba(0,0,0,.07); transform: translateY(-2px); }
.bdxrd-offre input[type="radio"] { position: absolute; top: 16px; right: 16px; margin: 0; accent-color: #FCAF3B; }
/* Repli sans JS : la classe est posée côté serveur sur l'offre pré-cochée, :has() prend le relais
   dès que le client change de carte (navigateurs 2023+). */
.bdxrd-offre-on,
.bdxrd-offre:has(input:checked) { border-color: #FCAF3B; box-shadow: 0 0 0 3px rgba(252,175,59,.18); }
.bdxrd-offre-nom { font-size: 16px; font-weight: 900; color: #111827; padding-right: 26px; }
.bdxrd-offre-prix { font-size: 21px; font-weight: 900; color: #b45309; line-height: 1.2; }
.bdxrd-offre-sous { font-size: 12.5px; color: #9ca3af; margin-bottom: 8px; }
.bdxrd-offre-plus { list-style: none; margin: 0; padding: 10px 0 0; border-top: 1px solid #f3f4f6; }
.bdxrd-offre-plus li { position: relative; font-size: 13px; color: #4b5563; line-height: 1.5; padding: 3px 0 3px 17px; }
.bdxrd-offre-plus li::before { content: ""; position: absolute; left: 0; top: 10px; width: 6px; height: 6px; border-radius: 50%; background: #FCAF3B; }

/* ── Envoi ───────────────────────────────────────────────────── */
.bdxrd-envoi { margin: 22px 0 0; }
.bdxrd-submit { border: 0; cursor: pointer; font-size: 15px; }
.bdxrd-note { font-size: 13.5px; color: #6b7280; line-height: 1.6; margin: 20px 0 0; }
.bdxrd-note a { color: #b45309; font-weight: 700; }

@media (max-width: 600px) {
  .bdxrd-hero { padding: 34px 18px 30px; border-radius: 16px; }
  .bdxrd-bloc { padding: 16px 15px 18px; border-radius: 13px; }
  .bdxrd-grid { grid-template-columns: 1fr; }
  .bdxrd-offres { grid-template-columns: 1fr; }
}
