/* Formulaire en conversation, commun aux maisons (07/10/2026) : bulles de messages sur fond charbon, nous à gauche,
   vous à droite, dans la couleur de la maison (--conv-accent, posée par conversation.mjs sur .conv-cadre).
   Les champs, la note et les boutons sont préfixés par .conv et leur élément : une page qui stylise « .form input »,
   « .form small » ou « .form .btn » (Rampe pose la conversation dans un bloc .form) ne peut pas les écraser. */
.conv-cadre{min-width:0;--conv-a:var(--conv-accent,#f0532a);--conv-at:var(--conv-accent-txt,#0d0d0b)}
form[data-conv][hidden]{display:none}
.conv-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.conv{display:grid;grid-template-rows:auto auto auto;gap:12px;padding:18px;border-radius:24px;background:#141412;color:#f3efe6;box-shadow:inset 0 0 0 1px rgba(243,239,230,.1),0 40px 90px -50px rgba(0,0,0,.9);text-align:left}
.conv-fil{display:flex;flex-direction:column;gap:8px;height:clamp(360px,52vh,520px);overflow-y:auto;padding:4px 4px 12px;scroll-behavior:smooth;overscroll-behavior:contain}
.conv-b{max-width:86%;margin:0;padding:11px 15px;border-radius:20px;font-size:16.5px;line-height:1.45;animation:conv-entre .28s cubic-bezier(.2,.8,.2,1) both}
.conv-nous{align-self:flex-start;background:#22221e;color:#f3efe6;border-bottom-left-radius:6px}
.conv-vous{align-self:flex-end;background:var(--conv-a);color:var(--conv-at);font-weight:700;border-bottom-right-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere}
.conv-frappe{display:inline-flex;gap:5px;padding:14px 16px}
.conv-frappe i{width:7px;height:7px;border-radius:50%;background:#a39e92;animation:conv-point 1s infinite}
.conv-frappe i:nth-child(2){animation-delay:.15s}.conv-frappe i:nth-child(3){animation-delay:.3s}
.conv-b,.conv-recap li,.conv-site figcaption{overflow-wrap:anywhere;min-width:0}
.conv-site{max-width:100%;width:100%;padding:8px;display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
.conv-site iframe{width:100%;height:260px;border:0;border-radius:12px;background:#fff}
.conv-site figcaption{font-family:var(--mono,ui-monospace,monospace);font-size:12px;letter-spacing:.04em;color:#a39e92;padding:0 4px}
.conv-recap ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.conv-recap li{font-size:15.5px;color:#e9e3d6;margin:0}
.conv-saisie{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:52px}
.conv-saisie[aria-busy="true"] :is(input,textarea,button){opacity:.55}
.conv-ligne{display:flex;flex-wrap:wrap;gap:8px;width:100%;align-items:stretch;margin:0}
.conv input.conv-zone,.conv textarea.conv-zone{flex:1 1 220px;width:auto;min-height:50px;margin:0;padding:12px 16px;border-radius:999px;border:1px solid #8a857a;background:#0d0d0b;color:#f3efe6;font:inherit;font-size:16.5px;box-shadow:none}
.conv .conv-zone::placeholder{color:#a39e92;opacity:1}
.conv textarea.conv-zone{border-radius:18px;min-height:80px;resize:vertical}
.conv button.conv-envoyer{min-height:50px;width:auto;margin:0;padding:0 22px;border:0;border-radius:999px;background:var(--conv-a);color:var(--conv-at);font:inherit;font-weight:700;cursor:pointer}
.conv button.conv-passer{min-height:44px;width:auto;margin:0;padding:0 16px;border-radius:999px;border:1px solid rgba(243,239,230,.45);background:transparent;color:#e9e3d6;font:inherit;cursor:pointer}
.conv-passer:hover,.conv-choix button:hover{border-color:var(--conv-a)}
.conv-choix{display:flex;flex-wrap:wrap;gap:8px}
.conv-bloc{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.conv .conv-choix button{min-height:44px;width:auto;margin:0;padding:8px 16px;border-radius:999px;border:1px solid rgba(243,239,230,.45);background:transparent;color:#f3efe6;font:inherit;font-size:15.5px;cursor:pointer}
.conv [aria-disabled="true"]{cursor:default}
.conv .btn.conv-go,.conv button.conv-go{min-height:52px;margin:0;width:auto;box-shadow:0 0 0 1px rgba(243,239,230,.45)}
.conv small.conv-note{display:block;flex-basis:100%;margin:0;font-size:13.5px;color:#a39e92}
.conv small.conv-note a{color:#e9e3d6}
.conv-classique{margin:0;text-align:right}
.conv .conv-classique button{width:auto;margin:0;background:none;border:0;padding:6px 2px;color:#a39e92;font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:32px}
.conv :focus-visible{outline:3px solid var(--conv-a);outline-offset:2px}
.conv .conv-zone,.conv .conv-choix button,.conv .conv-go{scroll-margin:120px 0}
.conv-b[tabindex="-1"]:focus{outline:none}
@keyframes conv-entre{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes conv-point{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media(max-width:700px){.conv{padding:12px;border-radius:20px}.conv-fil{height:min(64vh,460px)}.conv-b{max-width:92%;font-size:16px}}
@media(prefers-reduced-motion:reduce){.conv-b,.conv-frappe i{animation:none}.conv-fil{scroll-behavior:auto}}
@media(forced-colors:active){.conv,.conv-b{border:1px solid CanvasText}.conv button.conv-envoyer{border:1px solid ButtonText}}
#bulle.bulle-retiree{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility 0s .25s}
