/* Widget Mon compte */
.jdmproreg-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 10px;
  font-weight: bold;
  font-size: 0.75rem;
  letter-spacing: 0.5px;
  color: #fff;
}
.jdmproreg-bronze { background: #cd7f32; }
.jdmproreg-argent { background: #8a8a8a; }
.jdmproreg-or     { background: linear-gradient(135deg, #d4af37, #f7ef8a); color: #3a2e00; }

.jdmproreg-account { max-width: 720px; margin: 0 auto; }
.jdmproreg-badge-box { margin: 20px 0; }
.jdmproreg-badge-large {
  display: inline-block;
  width: 120px; height: 120px; line-height: 120px;
  border-radius: 50%;
  font-size: 1.2rem; font-weight: bold;
  color: #fff; letter-spacing: 1px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.jdmproreg-badge-large.jdmproreg-or { color: #3a2e00; }
.jdmproreg-ca-box ul { margin: 12px 0; }
.jdmproreg-progress { margin: 20px 0; }
.jdmproreg-progress .progress { height: 20px; }

/* ========== Page inscription pro ========== */
.jdmproreg-register {
  max-width: 1100px;
  margin: 40px auto;
  padding: 0 15px;
}
.jdmproreg-intro { margin-bottom: 30px; }
.jdmproreg-intro h1 { font-size: 2rem; margin-bottom: 10px; }
.jdmproreg-intro .lead { color: #666; font-size: 1.05rem; }

.jdmproreg-section {
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 24px 24px 12px;
  margin-bottom: 24px;
  background: #fff;
}
.jdmproreg-section legend {
  font-size: 1.15rem;
  font-weight: 600;
  width: auto;
  padding: 0 12px;
  margin-bottom: 12px;
  border: none;
}
.jdmproreg-section legend .badge {
  display: inline-block;
  width: 28px; height: 28px; line-height: 28px;
  border-radius: 50%;
  background: #2c5aa0;
  color: #fff;
  text-align: center;
  margin-right: 8px;
  font-weight: bold;
}

.jdmproreg-register .form-group { margin-bottom: 16px; }
.jdmproreg-register label { font-weight: 600; display: block; margin-bottom: 4px; }
.jdmproreg-register input.form-control,
.jdmproreg-register select.form-control {
  padding: 10px 12px;
  font-size: 1rem;
  border-radius: 4px;
  border: 1px solid #ccc;
  width: 100%;
}
.jdmproreg-register input.form-control:focus {
  border-color: #2c5aa0;
  box-shadow: 0 0 0 3px rgba(44, 90, 160, 0.15);
  outline: none;
}

.jdmproreg-gender label { font-weight: normal; margin-right: 20px; }

.jdmproreg-feedback {
  margin-top: 6px;
  font-size: 0.9rem;
}

.jdmproreg-company-card {
  border: 1px solid #28a745;
  background: #f5fff7;
  border-radius: 6px;
  margin: 15px 0;
  overflow: hidden;
}
.jdmproreg-company-card .card-header {
  background: #28a745;
  color: #fff;
  padding: 8px 14px;
  font-weight: bold;
  font-size: 0.9rem;
}
.jdmproreg-company-card .card-body {
  padding: 14px;
}
.jdmproreg-company-card .company-name {
  margin: 0 0 10px;
  color: #1a5530;
  font-size: 1.15rem;
}
.jdmproreg-company-card .company-detail {
  font-size: 0.9rem;
  margin-bottom: 4px;
  color: #333;
}

.jdmproreg-submit {
  margin: 30px 0;
}
.jdmproreg-submit .btn-primary {
  padding: 14px;
  font-size: 1.1rem;
  font-weight: 600;
}

.jdmproreg-aside .jdmproreg-benefits {
  background: #f8f9fa;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  overflow: hidden;
}
.jdmproreg-aside .jdmproreg-benefits .panel-heading {
  background: #2c5aa0;
  color: #fff;
  padding: 12px 16px;
}
.jdmproreg-aside .jdmproreg-benefits .panel-body {
  padding: 16px;
}
.jdmproreg-aside .jdmproreg-benefits li {
  padding: 6px 0;
  font-size: 0.95rem;
}

.jdmproreg-before-hook,
.jdmproreg-after-hook {
  margin: 25px 0;
}

@media (max-width: 991px) {
  .jdmproreg-aside { margin-top: 20px; }
}
