.sv-integration--bouton {
display: inline-block;
padding: 0.7em 1.4em;
border-radius: 999px;
background: var(--blue, #1f5fd6);
color: var(--white, #fff) !important;
font-weight: 600;
line-height: 1.3;
text-decoration: none !important;
transition: opacity 0.2s ease;
}
.sv-integration--bouton:hover,
.sv-integration--bouton:focus-visible { opacity: 0.85; }
.sv-integration--bouton:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.sv-integration--lien { text-decoration: underline; cursor: pointer; } .svdi-dialog,
.svdi-dialog * {
letter-spacing: normal !important;
word-spacing: normal !important;
text-transform: none;
box-sizing: border-box;
}
.svdi-dialog {
width: min(640px, calc(100vw - 32px));
max-height: calc(100vh - 32px);
overflow-y: auto;
padding: 28px;
border: 0;
border-radius: 16px;
background: #fff;
color: var(--blue, #1f2f4d);
font-family: var(--font1, inherit);
font-size: 16px;
line-height: 1.45;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}
.svdi-dialog::backdrop { background: rgba(15, 25, 45, 0.55); }
.svdi-fermer {
position: absolute; top: 12px; right: 14px;
width: 40px; height: 40px; padding: 0;
border: 0; background: none; cursor: pointer;
font-size: 28px; line-height: 40px; color: inherit;
}
.svdi-dialog .svdi-titre {
margin: 0 44px 8px 0;
font-family: var(--font1, inherit);
font-size: 24px;
font-weight: 600;
line-height: 1.25;
}
.svdi-intro { margin: 0 0 20px; font-size: 16px; opacity: 0.85; }
.svdi-grille { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }
.svdi-champ { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.svdi-champ label { font-size: 15px; font-weight: 600; line-height: 1.3; }
.svdi-champ input,
.svdi-champ select,
.svdi-champ textarea,
.svdi-secours-texte {
width: 100%;
min-height: 44px;
margin: 0;
padding: 10px 12px;
border: 1px solid rgba(31, 47, 77, 0.35);
border-radius: 8px;
font-family: var(--font1, inherit);
font-size: 16px;
line-height: 1.4;
color: inherit;
background: #fff;
}
.svdi-champ select { cursor: pointer; }
.svdi-champ input[hidden] { display: none; }
.svdi-champ input:focus,
.svdi-champ select:focus,
.svdi-champ textarea:focus { outline: 2px solid var(--blue, #1f5fd6); outline-offset: 1px; }
.svdi-champ--message { margin-top: 16px; }
.svdi-champ--message textarea { resize: vertical; min-height: 220px; line-height: 1.5; }
.svdi-mention { margin: 12px 0 0; font-size: 14px; opacity: 0.8; }
.svdi-erreur { margin: 12px 0 0; color: #b42318; font-weight: 600; font-size: 15px; }
.svdi-actions { display: flex; justify-content: flex-end; gap: 12px; margin-top: 20px; flex-wrap: wrap; }
.svdi-dialog .svdi-btn {
min-height: 44px;
padding: 10px 22px;
border-radius: 999px;
font-family: var(--font1, inherit);
font-size: 16px;
font-weight: 600;
line-height: 1.2;
cursor: pointer;
border: 1px solid var(--blue, #1f5fd6);
}
.svdi-btn--prim { background: var(--blue, #1f5fd6); color: var(--white, #fff); }
.svdi-btn--sec { background: transparent; color: var(--blue, #1f5fd6); }
.svdi-secours p { margin: 0 0 12px; font-size: 16px; }
.svdi-secours-texte { margin-bottom: 12px; min-height: 120px; }
[hidden].svdi-form, [hidden].svdi-secours, [hidden].svdi-erreur { display: none !important; }
@media (max-width: 600px) {
.svdi-dialog { padding: 22px 16px; }
.svdi-grille { grid-template-columns: 1fr; }
.svdi-actions .svdi-btn { flex: 1 1 auto; }
}