/* Questions: editorial sections, compact answer controls and visible comments. */
#questions{border-top:1px solid #ded4e9;padding-top:6px}
#questions fieldset.question{border:0;border-bottom:1px solid #ded4e9;border-radius:0;padding:26px 0 21px;margin:0;background:none;box-shadow:none;transition:none}
#questions fieldset.question:focus-within{border-bottom-color:#c5b0dc}
#questions fieldset.question.has-error{border-bottom-color:#c97794}
#questions legend{display:flex;align-items:baseline;gap:14px;font-size:14px;font-weight:550;line-height:1.7;margin-bottom:9px;color:#4f3c66}
.question-number{flex:none;color:#a389ba;font-size:10px;font-weight:500;letter-spacing:.08em;width:20px;user-select:none}
#questions .question-content{padding-left:34px}
#questions .question-hint{font-size:11px;max-width:760px;margin-bottom:9px;line-height:1.8}
#questions .choice-hint{font-size:10px;color:#95809f;margin-bottom:13px}
#questions .choices--compact{display:flex;flex-wrap:wrap;gap:8px}
#questions .choices--compact .choice{flex:0 1 auto;min-width:0;width:auto;max-width:100%;min-height:38px;padding:8px 13px;gap:9px;border-radius:5px;border:1px solid #d9cce6;background:linear-gradient(145deg,#ffffffbb,#f7f2fbd9);box-shadow:inset 0 1px #fff,0 2px 5px #5f3d8005;font-size:12px;font-weight:450;line-height:1.55;color:#79618b}
#questions .choices--compact .choice:hover{border-color:#b293cc;background:#fff;box-shadow:0 3px 9px #7d59a011}
#questions .choices--compact .choice.selected{color:#60358b;border-color:#a780c6;background:linear-gradient(130deg,#f9f1ff,#e9dcf8);box-shadow:inset 0 1px #fff,0 2px 7px #7e56a112}
#questions .choices--compact .choice-mark{width:14px;height:14px;background:#fff;border-color:#cab8da;box-shadow:none;font-size:9px;border-radius:3px}
#questions .choices--compact .choice.radio .choice-mark{border-radius:50%}
#questions .choices--compact .choice.selected .choice-mark{background:#9268bc;border-color:#9268bc}
#questions .choices--compact .choice.checkbox.selected .choice-mark:after{font-size:9px}
#questions .choices--compact .choice.radio.selected .choice-mark:after{height:4px;width:4px}
#questions .choices--list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;row-gap:0}
#questions .choices--list .choice{min-height:69px;border:0;border-bottom:1px solid #e1d7eb;border-radius:0;padding:13px 10px 13px 0;background:transparent;box-shadow:none;gap:13px;color:#725c84;align-items:center}
#questions .choices--list .choice:hover{background:linear-gradient(90deg,#eaddf844,transparent)}
#questions .choices--list .choice.selected{background:linear-gradient(90deg,#eaddf877,#eee5fa22 75%,transparent);border-bottom-color:#c8afdF;color:#603d82}
#questions .choices--list .choice small{font-size:10px;line-height:1.6;margin-top:4px;color:#8c7698}
#questions .choices--list .choice-mark{width:18px;height:18px;border-radius:50%;border-color:#c5b3d7;background:#fdfbff;box-shadow:inset 0 1px white}
#questions .choices--list .choice.selected .choice-mark{background:linear-gradient(140deg,#ac86ce,#8656b6);border-color:#946cbb;box-shadow:inset 0 1px #ffffff44}
#questions .comment{border:0;margin:14px 0 0;padding:0;max-width:820px}
#questions .comment summary{display:inline-flex;align-items:center;gap:8px;min-height:36px;width:auto;max-width:100%;padding:4px 0;color:#7a489d;font-size:11px;font-weight:600;list-style:none;border-radius:4px;transition:color .15s}
#questions .comment summary:before{display:none}
#questions .comment summary:hover{color:#593080}
#questions .comment summary:hover>span{text-decoration:underline;text-underline-offset:4px}
#questions .comment summary>span{margin:0}
#questions .comment summary svg{color:#9968b9}
#questions .comment summary em{font-size:9px;font-weight:400;color:#90789e;margin-left:3px;padding-left:10px;border-left:1px solid #d8c8e4}
#questions .comment-toggle{font-size:15px;font-weight:400;color:#9c78b5;line-height:1;margin-left:2px}
#questions .comment[open] .comment-toggle{font-size:0}
#questions .comment[open] .comment-toggle:after{content:'−';font-size:15px}
#questions .comment[open] summary{color:#71428e}
#questions .comment label{font-size:11px;margin:8px 0;color:#80608f}
#questions textarea{background:#ffffffc9;border-color:#ccB7df;border-radius:4px;min-height:92px;box-shadow:inset 0 2px 4px #5c356e05}
#questions textarea:focus{outline:2px solid #bda0d5;outline-offset:1px;background:#fff}
#questions .char-count{font-size:9px;color:#9d86ab}
#questions select{max-width:460px;min-height:40px;background:#ffffffb9;border-color:#d0bddf}
#questions .question-error{margin-top:10px;font-size:11px;color:#ad4668}
@media(max-width:900px){#questions .choices--list{grid-template-columns:1fr}}
@media(pointer:coarse){#questions .choices--compact .choice{min-height:44px}#questions .comment summary{min-height:44px}}
@media(max-width:720px){#questions fieldset.question{padding:24px 0 18px}#questions legend{gap:10px;font-size:13px;line-height:1.8}.question-number{width:18px;font-size:9px}#questions .question-content{padding-left:28px}#questions .choices--compact{gap:7px}#questions .choices--compact .choice{padding:9px 11px;min-height:44px;font-size:11px;gap:8px}#questions .choice-hint{font-size:9px}#questions .comment summary{min-height:44px;gap:6px;font-size:11px;flex-wrap:wrap}#questions .comment summary em{font-size:8px;padding-left:7px;margin-left:0}#questions .comment summary svg{width:14px;height:14px}#questions .comment-toggle{display:none}#questions .choices--list .choice{min-height:70px;font-size:12px}#questions .question-hint{font-size:10px}#questions .comment{margin-top:10px}}

#questions .comment-optional{font-size:inherit;font-weight:400;color:inherit;opacity:.78;white-space:nowrap}

#questions .question-context{max-width:760px;margin:0 0 18px;color:#7e658f;font-size:14px;font-weight:400;line-height:1.75;overflow-wrap:anywhere}

#questions .quantity-details{margin-top:20px;padding-top:17px;border-top:1px solid #e5daed}
#questions .quantity-detail-title{margin:0 0 9px;font-size:14px;line-height:1.7;font-weight:600;color:#604770}
#questions .quantity-details[hidden]{display:none!important}

/* Questionnaire court : réponses directes, précision et report au même endroit. */
#questions .question-footer{display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px 18px;margin-top:14px;min-width:0}
#questions .question-footer .comment{flex:1 1 210px;margin:0;min-width:0;max-width:100%}
#questions .question-footer .comment[open]{flex-basis:100%;order:2}
#questions .question-defer.choice{display:inline-flex;align-items:center;gap:8px;width:auto;max-width:100%;min-height:40px;margin:0;padding:7px 10px;border:1px solid #ded2e8;border-radius:20px;background:#ffffff75;box-shadow:none;font-size:12px;line-height:1.5;color:#85649b;cursor:pointer}
#questions .question-defer .choice-mark{flex:none;width:14px;height:14px;border:1px solid #bda6ce;border-radius:50%;background:#fff}
#questions .question-defer.selected{background:#eee4fc;border-color:#ac8bca;color:#6d4292}
#questions .question-defer.selected .choice-mark:after{content:'✓';display:block;text-align:center;font-size:10px;line-height:12px;color:#7642a2}
.number-answer{display:flex;align-items:center;gap:12px;max-width:340px;min-width:0}
.number-answer input,.date-answer input{box-sizing:border-box;min-width:0;width:100%;min-height:52px;padding:12px 15px;border:1px solid #d7c7e7;border-radius:12px;background:#fff;color:#604975;font-family:inherit;font-size:18px;font-weight:600;line-height:1.4;outline:none}
.number-answer input{width:min(190px,65%);font-size:20px;font-family:inherit}
.number-answer>span{font-size:14px;color:#9a81a9}
.number-answer input:focus,.date-answer input:focus{border-color:#a576cd;box-shadow:0 0 0 3px #bc98df25}
.date-answer{margin:18px 0 0;max-width:320px}
.date-answer label{display:block;margin:0 0 8px;font-size:13px;color:#896b9c}
.date-answer input{font-size:16px;font-family:inherit}
.base-offer{margin:0 0 8px;padding:18px 20px;border:1px solid #e1d7ed;border-radius:16px;background:linear-gradient(125deg,#f5edff,#ffffffa8);color:#745689}
.base-offer-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:15px}
.base-offer-heading>span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#e9dcf9;color:#8d60b6}
.base-offer-heading small{margin-left:auto;font-size:11px;font-weight:600;letter-spacing:.04em;color:#9c80b2}
.base-offer>p{font-size:13px!important;line-height:1.65;margin:9px 0 5px!important;color:#967da7}
.base-offer details{font-size:12px;line-height:1.8}
.base-offer summary{cursor:pointer;min-height:34px;display:list-item;list-style-position:inside;color:#86639e}
.base-offer ul{margin:8px 0 0;padding-left:19px}
.help-short-note{font-size:13px;line-height:1.75;color:#9b82ab;margin:12px 0}
@media(max-width:600px){
 #questions .question-footer{gap:4px 10px;margin-top:12px}
 #questions .question-footer .comment{flex-basis:100%}
 #questions .question-defer.choice{min-height:44px;font-size:12px}
 .base-offer{padding:16px;margin-bottom:4px}
 .base-offer-heading{font-size:14px}
 .base-offer>p{font-size:12px!important}
 .base-offer details{font-size:13px}
 .base-offer summary{min-height:42px;line-height:42px}
 .number-answer input{font-size:20px;min-height:52px}
}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
@media(max-width:600px){
 .base-offer>p{display:none}
 .base-offer summary{min-height:36px;line-height:36px}
}

/* Choix de volume : tranches lisibles, sans saisie numérique. */
#questions .choices--ranges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-width:760px}
#questions .choices--ranges .choice{display:flex;align-items:center;justify-content:space-between;min-width:0;min-height:54px;width:auto;padding:12px 14px;border-radius:13px;font-size:14px}
#questions .choices--ranges .choice-copy{min-width:0;overflow-wrap:anywhere}
#questions .choices--ranges .choice-mark{flex:none}
@media(max-width:720px){#questions .choices--ranges{grid-template-columns:repeat(2,minmax(0,1fr))}#questions .choices--ranges .choice{min-height:56px;font-size:13px;padding:11px 12px}}
@media(max-width:360px){#questions .choices--ranges{grid-template-columns:minmax(0,1fr)}}
