.vdc-ouverte, .vdc-ouverte body { overflow: hidden; }
.vdc-modale { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.vdc-modale[hidden] { display: none; }
.vdc-voile { position: absolute; inset: 0; background: rgba(28, 30, 33, .72); }
.vdc-boite { position: relative; width: 100%; max-width: 620px; max-height: calc(100vh - 32px); overflow-y: auto; background: #fff; border-radius: 10px; padding: 40px 40px 36px; color: #3C3F44; box-shadow: 0 30px 80px rgba(0, 0, 0, .35); }
.vdc-fermer { position: absolute; top: 12px; right: 14px; width: 40px; height: 40px; border: 0; background: none; font-size: 30px; line-height: 1; color: #3C3F44; cursor: pointer; padding: 0; }
.vdc-fermer:hover { color: #B0801A; }
.vdc-boite h2 { margin: 0 0 6px; font-size: 26px; text-align: center; color: #3C3F44; }
.vdc-offre { margin: 0 0 26px; text-align: center; color: #B0801A; font-weight: 500; }
.vdc-form label { display: block; margin: 0 0 18px; font-weight: 500; font-size: 15px; color: #3C3F44; }
.vdc-req { color: #e44343; }
.vdc-ligne { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.vdc-form input[type=text], .vdc-form input[type=tel], .vdc-form input[type=email] { display: block; width: 100%; height: 52px; margin-top: 8px; padding: 0 18px; border: 1px solid transparent; border-radius: 8px; background: #F0F5F7; font: inherit; font-weight: 400; color: #3C3F44; }
.vdc-form input:focus { outline: none; border-color: #B0801A; background: #fff; }
.vdc-piege { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.vdc-fichier { position: relative; }
.vdc-fichier input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.vdc-fichier-zone { display: block; margin-top: 8px; padding: 18px; border: 1.5px dashed #c9cfd4; border-radius: 8px; text-align: center; font-weight: 400; transition: border-color .2s, background .2s; }
.vdc-fichier:hover .vdc-fichier-zone, .vdc-fichier input:focus + .vdc-fichier-zone { border-color: #B0801A; background: #fbf7ee; }
.vdc-fichier-zone strong { display: block; color: #B0801A; word-break: break-all; }
.vdc-fichier-zone em { display: block; margin-top: 4px; font-style: normal; font-size: 13px; color: #7a7f86; }
.vdc-form .vdc-accord { display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: 14px; line-height: 1.5; }
.vdc-accord input { margin-top: 3px; accent-color: #B0801A; flex: none; }
.vdc-message { min-height: 1.4em; margin: 0 0 14px; font-size: 14px; }
.vdc-message:empty { display: none; }
.vdc-ok { color: #2f7d4f; }
.vdc-ko { color: #c0392b; }
.vdc-envoyer { display: block; width: 100%; height: 56px; border: 0; border-radius: 8px; background: #B0801A; color: #fff; font: inherit; font-weight: 500; font-size: 16px; cursor: pointer; transition: background .2s; }
.vdc-envoyer:hover { background: #956c15; }
.vdc-envoyer:disabled { opacity: .6; cursor: wait; }
.vdc-envoye label, .vdc-envoye .vdc-ligne, .vdc-envoye .vdc-envoyer { display: none; }
.vdc-envoye .vdc-message { font-size: 16px; text-align: center; margin: 10px 0 0; }
@media (max-width: 600px) {
    .vdc-boite { padding: 34px 20px 24px; }
    .vdc-ligne { grid-template-columns: 1fr; }
}
