/* Mon compte : questionnaire de départ (exit-survey.js) — même feuille que l'invitation aux rappels, puces du questionnaire de souhaits. */
.xs-lock, .xs-lock body{ overflow:hidden; }
.xs-wrap{ position:fixed; inset:0; z-index:70; display:flex; align-items:center; justify-content:center; padding:20px; overflow-y:auto;
  background:rgba(20,26,18,.38); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); opacity:0; transition:opacity .35s; }
.xs-wrap.in{ opacity:1; }
.xs-wrap.in .pr-sheet{ transform:none; }
.xs-sheet{ position:relative; max-width:520px; margin:auto; max-height:calc(100dvh - 40px); overflow-y:auto; overscroll-behavior:contain; }
.xs-x{ position:absolute; top:12px; inset-inline-end:14px; width:36px; height:36px; border-radius:50%; border:0; cursor:pointer;
  font-size:1.5rem; line-height:1; color:var(--muted); background:var(--soft); transition:background .2s, color .2s; }
.xs-x:hover{ background:var(--soft-2); color:var(--text); }
.xs-x:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; }
.xs-sheet h2{ padding-inline:30px; }
.xs-q{ text-align:start; margin-top:14px; }
.xs-many{ margin:0 0 2px; font-size:.84rem; }
.xs-q .wish-chips{ justify-content:flex-start; }
.xs-q textarea{ min-height:84px; }
.xs-offer{ margin-top:16px; padding:16px 16px 14px; border-radius:20px; text-align:start;
  background:linear-gradient(135deg,rgba(201,168,106,.2),rgba(201,168,106,.08)); border:1px solid rgba(201,168,106,.45);
  box-shadow:0 14px 30px -22px rgba(176,137,79,.9); animation:xs-in .45s var(--ease) both; }
.xs-offer b{ display:flex; align-items:center; gap:8px; font-family:var(--serif); font-weight:500; font-size:1.15rem; color:var(--heading); }
.xs-offer b svg{ width:19px; height:19px; color:var(--gold-text); flex:none; }
.pr-sheet .xs-offer p{ margin:6px 0 12px; color:var(--text); font-size:.93rem; }
.xs-wa{ width:100%; background:#1f8f55; color:#fff; box-shadow:0 14px 28px -16px rgba(31,143,85,.8); }
.xs-wa:hover{ background:#197a48; }
.xs-wa:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; }
.pr-sheet .xs-note{ display:flex; gap:8px; align-items:flex-start; margin-top:14px; padding:11px 13px; border-radius:16px; text-align:start;
  background:var(--ok-bg); color:var(--ok-text); font-size:.9rem; line-height:1.5; animation:xs-in .45s var(--ease) both; }
.xs-note svg{ width:17px; height:17px; flex:none; margin-top:2px; }
.xs-sheet .wish-err{ margin-top:12px; text-align:start; }
.xs-sheet .wish-err[hidden]{ display:none; }
.pr-sheet .xs-skip{ margin-top:14px; font-size:.88rem; }
@keyframes xs-in{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }
@media (max-width:760px){
  .xs-wrap{ align-items:flex-end; padding:0; }
  .xs-sheet{ max-width:none; margin:auto 0 0; max-height:92dvh; padding-inline:18px; }
  .xs-q .wish-chip{ font-size:.86rem; }
}
@media (prefers-reduced-motion:reduce){ .xs-wrap, .xs-wrap .pr-sheet, .xs-offer, .xs-note{ transition:none; animation:none; } }
