/* Campagnes natives : elles sont ajoutées uniquement lorsque la collecte est activée. */
.rvv-demande-interstice {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
  gap:14px;
  margin:18px 0;
}

.rvv-demande-banniere-principale {
  display:block;
  width:min(100%, 980px);
  margin:22px auto 0;
  padding:0 16px;
  box-sizing:border-box;
}

.rvv-demande-banniere-principale .rvv-demande-campagne {
  min-height:0;
  border-color:#d8c7a7;
  background:linear-gradient(90deg, #f7efdf, #fffdf8 72%);
}

.rvv-demande-campagne {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-height:178px;
  padding:20px;
  border:1px solid #e3d5be;
  border-radius:14px;
  background:linear-gradient(135deg, #fffaf0, #ffffff 72%);
  color:#183d37;
  box-shadow:0 5px 18px rgba(34, 69, 57, .08);
  box-sizing:border-box;
}

.rvv-demande-campagne-attente {
  justify-content:center;
  min-height:116px;
}

.rvv-demande-chargement {
  margin:0;
  color:#526b60;
  font-size:14px;
}

.rvv-demande-surtitre {
  margin-bottom:9px;
  color:#285e50;
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.rvv-demande-texte {
  flex:1;
  margin:0 0 16px;
  font-size:15px;
  line-height:1.55;
}

.rvv-demande-cta,
.rvv-demande-bouton {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 15px;
  border:1px solid #145e54;
  border-radius:9px;
  background:#145e54;
  color:#fff;
  font:600 14px/1.25 inherit;
  text-align:center;
  cursor:pointer;
}

.rvv-demande-bouton {
  border-color:#6b877a;
  background:#fff;
  color:#145e54;
}

.rvv-demande-cta:hover,
.rvv-demande-cta:focus-visible {
  border-color:#0c443c;
  background:#0c443c;
}

.rvv-demande-bouton:hover,
.rvv-demande-bouton:focus-visible {
  border-color:#145e54;
  background:#edf5f0;
}

.rvv-demande-cta:focus-visible,
.rvv-demande-bouton:focus-visible,
.rvv-demande-puce:focus-visible,
.rvv-demande-fermer:focus-visible,
.rvv-demande-selection:focus-visible,
.rvv-demande-telephone:focus-visible {
  outline:3px solid #ce8961;
  outline-offset:3px;
}

/* Les libellés des catégories conservent une infobulle factuelle, sans attribut title. */
.visa-help.rvv-demande-infobulle-ouverte .visa-help-tip {
  display:block;
}

.visa-help-tip[data-rvv-demande-definition="true"] {
  white-space:pre-line;
}

.rvv-demande-voile {
  position:fixed;
  z-index:10000;
  inset:0;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:16px;
  background:rgba(15, 39, 33, .48);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
  box-sizing:border-box;
}

.rvv-demande-voile.rvv-demande-visible {
  opacity:1;
  pointer-events:auto;
}

.rvv-demande-feuille {
  width:min(100%, 620px);
  max-height:calc(100vh - 32px);
  overflow:auto;
  padding:22px;
  border-radius:18px 18px 12px 12px;
  background:#fff;
  color:#183d37;
  box-shadow:0 -12px 38px rgba(12, 47, 39, .28);
  transform:translateY(calc(100% + 32px + var(--rvv-demande-glissement, 0px)));
  transition:transform .25s ease;
  box-sizing:border-box;
}

.rvv-demande-visible .rvv-demande-feuille {
  transform:translateY(var(--rvv-demande-glissement, 0px));
}

.rvv-demande-feuille.rvv-demande-glissement {
  transition:none;
}

.rvv-demande-poignee {
  width:48px;
  height:5px;
  margin:0 auto 14px;
  border-radius:999px;
  background:#9db7aa;
  cursor:grab;
  touch-action:none;
}

.rvv-demande-entete {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding-bottom:14px;
  border-bottom:1px solid #d9e5df;
}

.rvv-demande-entete h2 {
  margin:0;
  color:#145e54;
  font-size:22px;
  line-height:1.2;
}

.rvv-demande-fermer {
  min-height:38px;
  padding:7px 10px;
  border:1px solid #9db7aa;
  border-radius:8px;
  background:#fff;
  color:#285e50;
  font:600 14px/1 inherit;
  cursor:pointer;
}

.rvv-demande-progression {
  margin:15px 0 10px;
  color:#526b60;
  font-size:13px;
  font-weight:700;
}

.rvv-demande-conversation {
  min-height:98px;
}

.rvv-demande-message {
  margin:0 0 15px;
  padding:13px 15px;
  border-radius:4px 14px 14px;
  background:#edf5f0;
  color:#183d37;
  font-size:16px;
  line-height:1.5;
}

.rvv-demande-attente {
  color:#526b60;
}

.rvv-demande-succes {
  border:1px solid #9fc2ae;
  background:#eff8f2;
  color:#174d36;
}

.rvv-demande-erreur {
  border:1px solid #dea59d;
  background:#fff1ef;
  color:#7b2923;
}

.rvv-demande-choix {
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
}

.rvv-demande-puce {
  min-height:53px;
  padding:10px;
  border:1px solid #a8bdb1;
  border-radius:10px;
  background:#fff;
  color:#183d37;
  font:600 14px/1.3 inherit;
  cursor:pointer;
}

.rvv-demande-puce:hover,
.rvv-demande-puce:focus-visible {
  border-color:#145e54;
  background:#edf5f0;
}

.rvv-demande-etiquette {
  display:block;
  margin:0 0 10px;
  color:#254b40;
  font-size:14px;
  font-weight:700;
}

.rvv-demande-selection,
.rvv-demande-telephone {
  display:block;
  width:100%;
  min-height:46px;
  margin-top:7px;
  padding:10px 12px;
  border:1px solid #8daaa0;
  border-radius:9px;
  background:#fff;
  color:#183d37;
  font:16px/1.3 inherit;
  box-sizing:border-box;
}

.rvv-demande-choix + .rvv-demande-etiquette {
  margin-top:16px;
}

.rvv-demande-conversation > .rvv-demande-cta,
.rvv-demande-conversation > .rvv-demande-bouton,
.rvv-demande-formulaire .rvv-demande-cta {
  margin-top:12px;
}

.rvv-demande-formulaire {
  margin-top:2px;
}

.rvv-demande-consentement {
  margin:12px 0 0;
  color:#526b60;
  font-size:13px;
  line-height:1.5;
}

.rvv-demande-consentement input[type="checkbox"] {
  width:16px;
  height:16px;
  margin:0 7px 0 0;
  vertical-align:-3px;
}

.rvv-demande-consentement a {
  color:#145e54;
  text-underline-offset:3px;
}

@media (max-width:520px) {
  .rvv-demande-voile {
    padding:0;
  }

  .rvv-demande-feuille {
    max-height:calc(100vh - 8px);
    padding:18px;
    border-radius:16px 16px 0 0;
  }

  .rvv-demande-choix {
    grid-template-columns:1fr;
  }
}

@media (prefers-reduced-motion:reduce) {
  .rvv-demande-voile,
  .rvv-demande-feuille {
    transition:none;
  }
}
