.ccghv-enc { max-width: 860px; margin: 0 auto; }
.ccghv-enc__intro p { margin: 0 0 .8em; line-height: 1.5; }
.ccghv-enc__h2 {
margin: 1.6em 0 .6em;
padding-bottom: .3em;
border-bottom: 2px solid currentColor;
font-size: 1.3em;
}
.ccghv-enc__instructions { margin: 0 0 1em; }
.ccghv-enc__field { margin: 0 0 1.1em; display: flex; flex-direction: column;margin-top:0 !important; }
.ccghv-enc__field label { font-weight: 600; margin-bottom: .3em; }
.ccghv-enc__field input,
.ccghv-enc__field select,
.ccghv-enc__field textarea {
width: 100%;
padding: .55em .7em;
border: 1px solid #b9b9b9;
border-radius: 4px;
font: inherit;
box-sizing: border-box;
}
.ccghv-enc__help { font-size: .85em; font-style: italic; color: #555; margin-top: .3em; }
.ccghv-enc__req { color: #c0392b; }
.ccghv-enc__row { display: flex; gap: 1.2em; flex-wrap: wrap; }
.ccghv-enc__row > .ccghv-enc__field { flex: 1 1 280px; }
.ccghv-enc__fieldset {
border: 1px solid #ddd;
border-radius: 4px;
padding: .6em 1em 1em;
margin: 0 0 1.1em;
}
.ccghv-enc__fieldset legend { font-weight: 600; padding: 0 .4em; }
.ccghv-enc__civilite label { margin-right: 1.5em; cursor: pointer; } .ccghv-enc__cat {
border: 1px solid #cfcfcf;
border-radius: 4px;
margin: 0 0 .7em;
background: #fafafa;
}
.ccghv-enc__cat-title {
cursor: pointer;
padding: .8em 1em;
font-weight: 700;
list-style: none;
position: relative;
user-select: none;
}
.ccghv-enc__cat-title::-webkit-details-marker { display: none; }
.ccghv-enc__cat-title::after {
content: "+";
position: absolute;
right: 1em;
font-weight: 700;
}
.ccghv-enc__cat[open] > .ccghv-enc__cat-title::after { content: "–"; }
.ccghv-enc__cat-body { padding: .4em 1em 1em; }
.ccghv-enc__items { width: 100%; border-collapse: collapse; }
.ccghv-enc__items th,
.ccghv-enc__items td { border: 1px solid #e0e0e0; padding: .5em .7em; text-align: left; vertical-align: middle; }
.ccghv-enc__items thead th { background: #efefef; font-size: .9em; }
.ccghv-enc__items tbody th { font-weight: 500; }
.ccghv-enc__items select { padding: .35em; border: 1px solid #b9b9b9; border-radius: 4px;     width: -webkit-fill-available;}
.ccghv-enc__items label { margin-right: .8em; white-space: nowrap; }
.ccghv-enc__items tr.is-active { background: #fff9e6; }
.ccghv-enc__rgpd { margin: 1.4em 0; }
.ccghv-enc__rgpd-check { display: flex; gap: .5em; align-items: flex-start; font-weight: 600; }
.ccghv-enc__rgpd-check input { margin-top: .25em; }
.ccghv-enc__rgpd-mention { font-size: .8em; line-height: 1.5; color: #555; margin: .7em 0 0; }
.ccghv-enc__rgpd-mention a { color: inherit; text-decoration: underline; }
.ccghv-enc-rgpd .ccghv-enc__rgpd-mention { font-size: .95em; color: inherit; }
.ccghv-enc__rgpd-download { margin: 1.2em 0; font-weight: 600; }
.ccghv-enc__rgpd-pdf { display: block; margin-top: 1em; border: 1px solid #cfcfcf; }
.ccghv-enc__submit button {
background: #1f6b2c;
color: #fff;
border: 0;
padding: .8em 2.2em;
font-size: 1.05em;
border-radius: 4px;
cursor: pointer;
}
.ccghv-enc__submit button:hover { background: #18551f; }
.ccghv-enc__submit button:disabled { opacity: .6; cursor: default; }
.ccghv-enc__feedback {
padding: .8em 1em;
border-radius: 4px;
margin: 0 0 1em;
}
.ccghv-enc__feedback.is-error { background: #fdecea; border: 1px solid #c0392b; color: #8a1c12; }
.ccghv-enc__success {
text-align: center;
padding: 2em 1em;
background: #eaf6ec;
border: 1px solid #1f6b2c;
border-radius: 6px;
}
.ccghv-enc__success p { margin: .3em 0; } .ccghv-enc__hp { position: absolute; left: -9999px; top: -9999px; height: 0; overflow: hidden; }