/**
 * CyberDiag PME — Styles frontend
 * Fichier : wp-content/plugins/cyberdiag/assets/cyberdiag-front.css
 */

/* ============================================================
   VARIABLES
   ============================================================ */
:root {
  --cd-red:     #E24B4A;
  --cd-orange:  #EF9F27;
  --cd-green:   #639922;
  --cd-blue:    #185FA5;
  --cd-stripe:  #635BFF;
  --cd-dark:    #1a1a2e;
  --cd-gray:    #6b7280;
  --cd-light:   #f8f9fa;
  --cd-border:  #e5e7eb;
  --cd-radius:  12px;
  --cd-shadow:  0 2px 12px rgba(0,0,0,0.08);
}

/* ============================================================
   BARRE DE PROGRESSION QUESTIONNAIRE
   ============================================================ */
.cd-progress-wrap {
  background: var(--cd-border);
  border-radius: 99px;
  height: 8px;
  margin-bottom: 8px;
  overflow: hidden;
}
#cd-progress {
  height: 100%;
  background: var(--cd-blue);
  border-radius: 99px;
  width: 0%;
  transition: width 0.4s ease;
}
#cd-progress-label {
  font-size: 13px;
  color: var(--cd-gray);
  margin-bottom: 24px;
  display: block;
}

/* ============================================================
   LOADER
   ============================================================ */
#cd-loader {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
}
.cd-spinner {
  width: 48px;
  height: 48px;
  border: 4px solid var(--cd-border);
  border-top-color: var(--cd-blue);
  border-radius: 50%;
  animation: cd-spin 0.8s linear infinite;
  margin-bottom: 20px;
}
@keyframes cd-spin { to { transform: rotate(360deg); } }
.cd-loader-text {
  font-size: 16px;
  color: var(--cd-gray);
}

/* ============================================================
   PAGE RÉSULTAT
   ============================================================ */
.cd-result-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Score card principale */
.cd-score-card {
  background: #fff;
  border: 1px solid var(--cd-border);
  border-radius: var(--cd-radius);
  padding: 36px;
  text-align: center;
  margin-bottom: 28px;
  box-shadow: var(--cd-shadow);
}
.cd-score-number {
  font-size: 80px;
  font-weight: 700;
  line-height: 1;
  color: var(--cd-dark);
  margin-bottom: 4px;
}
.cd-score-max {
  font-size: 28px;
  color: var(--cd-gray);
  font-weight: 400;
}
.cd-gauge-wrap {
  background: var(--cd-border);
  border-radius: 99px;
  height: 14px;
  margin: 20px 0 12px;
  overflow: hidden;
}
#cd-gauge-bar {
  height: 100%;
  border-radius: 99px;
  width: 0%;
  transition: width 1.2s ease;
}
#cd-niveau-label {
  font-size: 15px;
  font-weight: 500;
}

/* Carte catégories */
.cd-categories-card {
  background: #fff;
  border: 1px solid var(--cd-border);
  border-radius: var(--cd-radius);
  padding: 28px;
  margin-bottom: 28px;
  box-shadow: var(--cd-shadow);
}
.cd-categories-card h3 {
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 20px;
  color: var(--cd-dark);
}

/* Bannière teaser */
.cd-teaser-banner {
  background: linear-gradient(135deg, #f0f4ff 0%, #fff8f0 100%);
  border: 1px solid var(--cd-border);
  border-left: 4px solid var(--cd-blue);
  border-radius: var(--cd-radius);
  padding: 24px 28px;
  margin-bottom: 28px;
}
.cd-teaser-banner h3 {
  font-size: 17px;
  font-weight: 600;
  margin: 0 0 12px;
  color: var(--cd-dark);
}
.cd-teaser-list {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
}
.cd-teaser-list li {
  padding: 6px 0;
  font-size: 14px;
  color: var(--cd-gray);
  padding-left: 24px;
  position: relative;
}
.cd-teaser-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 11px;
  width: 14px;
  height: 2px;
  background: var(--cd-blue);
  opacity: 0.4;
}

/* ============================================================
   BLOC PAIEMENT
   ============================================================ */
.cd-payment-box {
  background: #fff;
  border: 2px solid var(--cd-stripe);
  border-radius: var(--cd-radius);
  padding: 32px;
  text-align: center;
  margin-bottom: 28px;
  box-shadow: 0 4px 20px rgba(99,91,255,0.12);
}
.cd-payment-price {
  font-size: 42px;
  font-weight: 700;
  color: var(--cd-dark);
  margin-bottom: 4px;
}
.cd-payment-price span {
  font-size: 18px;
  font-weight: 400;
  color: var(--cd-gray);
}
.cd-payment-includes {
  list-style: none;
  padding: 0;
  margin: 20px 0 24px;
  text-align: left;
  display: inline-block;
}
.cd-payment-includes li {
  padding: 5px 0 5px 28px;
  font-size: 14px;
  position: relative;
}
.cd-payment-includes li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background: var(--cd-green);
  border-radius: 50%;
  opacity: 0.85;
}
#cd-pay-btn {
  display: block;
  width: 100%;
  max-width: 360px;
  margin: 0 auto 16px;
  padding: 16px 24px;
  background: var(--cd-stripe);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s, transform 0.1s;
}
#cd-pay-btn:hover  { opacity: 0.92; }
#cd-pay-btn:active { transform: scale(0.98); }
#cd-pay-btn:disabled { opacity: 0.6; cursor: not-allowed; }

.cd-payment-security {
  font-size: 12px;
  color: var(--cd-gray);
  margin-top: 8px;
}
.cd-email-field {
  margin-bottom: 16px;
}
.cd-email-field input {
  width: 100%;
  max-width: 360px;
  padding: 12px 16px;
  border: 1px solid var(--cd-border);
  border-radius: 8px;
  font-size: 14px;
  text-align: center;
}
.cd-alert {
  display: none;
  padding: 12px 16px;
  border-radius: 8px;
  font-size: 14px;
  margin-bottom: 12px;
}
.cd-alert-error   { background: #fff5f5; border: 1px solid #fca5a5; color: #991b1b; }
.cd-alert-success { background: #f0fdf4; border: 1px solid #86efac; color: #166534; }
.cd-alert-info    { background: #eff6ff; border: 1px solid #93c5fd; color: #1e40af; }

/* ============================================================
   PAGE MERCI
   ============================================================ */
.cd-merci-wrap {
  max-width: 600px;
  margin: 60px auto;
  padding: 0 20px;
  text-align: center;
}
.cd-merci-icon {
  width: 72px;
  height: 72px;
  background: #f0fdf4;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
  font-size: 32px;
}
#cd-merci-ready  { display: none; }
#cd-merci-email  { display: none; }
.cd-download-btn {
  display: inline-block;
  padding: 16px 36px;
  background: var(--cd-green);
  color: #fff;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  margin: 20px 0;
  transition: opacity 0.2s;
}
.cd-download-btn:hover { opacity: 0.9; color: #fff; }
