.rgpd-scan { max-width: 720px; margin: 0 auto; text-align: center; }
.rgpd-scan--hero { margin: 1.75rem 0 2rem; text-align: left; }
.rgpd-scan--hero .rgpd-scan__form { justify-content: flex-start; }
.rgpd-scan__intro { opacity: .8; margin-bottom: 1.5rem; }

.rgpd-scan__form { display: flex; gap: .75rem; flex-wrap: wrap; justify-content: center; }
.rgpd-scan__form input {
  flex: 1 1 320px; min-width: 0; padding: .9rem 1rem; font-size: 1rem;
  color: #fff; background: #0d1426; border: 1px solid #22304d; border-radius: 10px;
}
.rgpd-scan__form input:focus { outline: 2px solid #5ec8e5; outline-offset: 1px; }
.rgpd-scan__form button {
  padding: .9rem 1.6rem; font-size: 1rem; font-weight: 600; color: #fff; cursor: pointer;
  background: #1b7f9e; border: 0; border-radius: 10px;
}
.rgpd-scan__form button:hover { opacity: .9; }
.rgpd-scan__form button[disabled] { opacity: .6; cursor: progress; }

.rgpd-scan__note { font-size: .85rem; opacity: .6; margin-top: .75rem; }

/* Phrase d'accroche au-dessus du champ, sur la page d'accueil */
.rgpd-scan__pitch { font-size: 1.05rem; margin: 0 0 1rem; opacity: .92; }

/* Badges CNIL / DPO sous les coordonnées de la section Contact */
.certifs {
  display: block; width: 100%; max-width: 340px; height: auto;
  margin: 1.75rem 0 0; border-radius: 12px;
}

.rgpd-scan__result { margin-top: 2rem; text-align: left; }
.rgpd-card {
  background: #0d1426; border: 1px solid #22304d; border-radius: 14px; padding: 1.5rem;
}
.rgpd-card__head { display: flex; align-items: center; gap: 1.25rem; flex-wrap: wrap; }
.rgpd-score {
  --ring: #b42318;
  flex: 0 0 auto; width: 92px; height: 92px; border-radius: 50%;
  display: grid; place-content: center; text-align: center;
  background: radial-gradient(closest-side, #0d1426 78%, transparent 79%), var(--ring);
}
.rgpd-score b { font-size: 1.9rem; line-height: 1; color: #fff; }
.rgpd-score span { font-size: .7rem; opacity: .65; }
.rgpd-card__title { font-size: 1.05rem; font-weight: 600; word-break: break-all; }
.rgpd-badge {
  display: inline-block; margin-top: .4rem; padding: .25rem .7rem;
  border-radius: 999px; font-size: .78rem; font-weight: 600; color: #fff;
}

/* Modificateurs placés APRÈS les règles de base : à spécificité égale,
   c'est la dernière déclarée qui s'applique. */
.rgpd-score--ok   { --ring: #1a7f4b; }
.rgpd-score--warn { --ring: #b4690e; }
.rgpd-score--ko   { --ring: #b42318; }
.rgpd-badge--ok   { background: #1a7f4b; }
.rgpd-badge--warn { background: #b4690e; }
.rgpd-badge--ko   { background: #b42318; }

.rgpd-counts { display: flex; gap: .6rem; flex-wrap: wrap; margin: 1.25rem 0; }
.rgpd-count { flex: 1 1 110px; padding: .8rem; border-radius: 10px; text-align: center; color: #fff; }
.rgpd-count b { display: block; font-size: 1.5rem; }
.rgpd-count span { font-size: .75rem; opacity: .9; }
.rgpd-count--ok { background: #1a7f4b; }
.rgpd-count--warn { background: #b4690e; }
.rgpd-count--ko { background: #b42318; }

.rgpd-issues { margin: 0 0 1.25rem; padding-left: 1.1rem; }
.rgpd-issues li { margin-bottom: .3rem; }
.rgpd-more { font-size: .9rem; opacity: .75; }

.rgpd-cta {
  display: inline-block; margin-top: .5rem; padding: .85rem 1.5rem;
  background: #1b7f9e; color: #fff; text-decoration: none; border-radius: 10px; font-weight: 600;
}
.rgpd-how {
  display: inline-block; margin-top: .6rem; margin-right: .75rem; padding: .85rem 1.4rem;
  border: 1px solid #2c3e5e; border-radius: 10px; color: #e8eef7;
  text-decoration: none; font-weight: 600;
}
.rgpd-how:hover { border-color: #5ec8e5; }
.rgpd-dpo {
  margin: 1.25rem 0 0; padding-top: 1rem; border-top: 1px solid #22304d;
  font-size: .88rem; line-height: 1.6; opacity: .85;
}
.rgpd-dpo a { color: #5ec8e5; }
.rgpd-error { color: #ff9b9b; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
