/* Assistant conseil (bulle « Une question ? ») : style repris de la maquette (styles.css) */
.as-launcher, .as-box { --plum: #492255; --white: #fff; --ink-2: #0b0b0d; --frame: rgba(255,255,255,.6); --line: rgba(164,172,187,.22); --display: 'Poiret One', 'Didot', serif; --ink-3: #141416; --soft: rgba(255,255,255,.75); --mist: #a4acbb; --plum-light: #8a5a9a; }


/* Assistant conseil (bulle en bas à droite) */
.as-launcher { position: fixed; right: 20px; bottom: 20px; z-index: 10000; display: inline-flex; align-items: center; gap: .55rem; min-height: 52px; padding: 0 20px 0 16px; border: 1px solid rgba(255,255,255,.35); border-radius: 26px; background: var(--plum); color: var(--white); font-weight: 600; cursor: pointer; box-shadow: 0 6px 24px rgba(0,0,0,.45); transition: background .2s; }

.as-launcher:hover { background: #391b43; }

.as-launcher svg, .as-send svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; stroke-linecap: round; }

.as-launcher[aria-expanded="true"] { display: none; }

.as-box { position: fixed; right: 20px; bottom: 20px; z-index: 10001; width: min(380px, calc(100vw - 32px)); height: min(560px, calc(100vh - 120px)); display: flex; flex-direction: column; background: var(--ink-2); border: 1px solid var(--frame); box-shadow: 0 12px 40px rgba(0,0,0,.6); }

.as-box[hidden] { display: none; }

.as-head { display: flex; align-items: center; gap: .6rem; padding: .7rem .9rem; border-bottom: 1px solid var(--line); background: #000; }

.as-head strong { flex: 1; font-family: var(--display); font-weight: 900; color: var(--white); text-transform: uppercase; letter-spacing: .04em; }

.as-close { width: 32px; height: 32px; border: 0; background: none; color: var(--white); font-size: 1.5rem; line-height: 1; cursor: pointer; }

.as-list { flex: 1; overflow: auto; padding: 1rem .9rem; display: flex; flex-direction: column; gap: .7rem; }

.as-msg { max-width: 88%; padding: .7rem .9rem; font-size: .88rem; line-height: 1.5; }

.as-msg p { margin: 0 0 .5em; }

.as-msg p:last-child { margin: 0; }

.as-msg.bot { align-self: flex-start; background: var(--ink-3); border: 1px solid var(--line); color: var(--soft); }

.as-msg.me { align-self: flex-end; background: var(--plum); color: var(--white); }

.as-links { display: flex; flex-direction: column; gap: .35rem; }

.as-links a { color: var(--white); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

.as-links a::before { content: '→ '; }

.as-next { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .7rem; padding-top: .6rem; border-top: 1px solid var(--line); }
.as-next span { width: 100%; font-size: .75rem; color: rgba(255,255,255,.55); }
.as-next button { padding: .4rem .7rem; border: 1px solid var(--plum-light); border-radius: 16px; background: rgba(138, 90, 154, .12); color: var(--white); font: inherit; font-size: .8rem; cursor: pointer; transition: background .2s; }
.as-next button:hover, .as-next button:focus-visible { background: var(--plum); outline: none; }
.as-typing { display: flex; gap: 4px; }

.as-typing span { width: 6px; height: 6px; border-radius: 50%; background: var(--mist); animation: as-dot 1s infinite; }

.as-typing span:nth-child(2) { animation-delay: .15s; }

.as-typing span:nth-child(3) { animation-delay: .3s; }

.as-topics { position: relative; padding: .6rem .9rem; border-top: 1px solid var(--line); }

.as-topics-btn { width: 100%; display: flex; align-items: center; gap: .6rem; padding: .65rem .8rem; border: 1px solid var(--line); background: rgba(255,255,255,.04); color: var(--white); font-size: .85rem; cursor: pointer; transition: border-color .2s, background .2s; }

.as-topics-btn:hover, .as-topics-btn[aria-expanded="true"] { border-color: var(--plum-light); background: rgba(138, 90, 154, .15); }

.as-topics-btn span { flex: 1; text-align: left; }

.as-topics-btn svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex: none; }

.as-chev { transition: transform .2s; }

.as-topics-btn[aria-expanded="true"] .as-chev { transform: rotate(180deg); }

.as-topics-menu { position: absolute; left: .9rem; right: .9rem; bottom: calc(100% - .4rem); margin: 0; padding: .3rem 0; list-style: none; background: var(--ink-3); border: 1px solid var(--plum-light); box-shadow: 0 -8px 24px rgba(0,0,0,.5); z-index: 1; }

.as-topics-menu[hidden] { display: none; }

.as-topics-menu button { width: 100%; text-align: left; padding: .6rem .9rem; border: 0; background: none; color: var(--soft); font-size: .86rem; cursor: pointer; }

.as-topics-menu button:hover, .as-topics-menu button:focus-visible { background: var(--plum); color: var(--white); outline: none; }

.as-form { display: flex; align-items: stretch; gap: .5rem; padding: .7rem .9rem .3rem; border-top: 1px solid var(--line); }
.as-form input { flex: 1; min-width: 0; width: auto; height: 46px; margin: 0; border: 1px solid rgba(255,255,255,.28) !important; border-radius: 0; background: rgba(255,255,255,.06) !important; box-shadow: none !important; outline: none !important; padding: 0 .9rem; font: inherit; font-size: .9rem; color: var(--white) !important; transition: border-color .2s, background .2s; }
.as-form input::placeholder { color: rgba(255,255,255,.5); }
.as-form input:focus { border-color: var(--plum-light) !important; background: rgba(255,255,255,.1) !important; }
.as-send { flex: none; width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: 0; border: 0; background: var(--plum); color: var(--white); cursor: pointer; transition: background .2s; }
.as-send:hover { background: #5c2c6b; }

.as-note { margin: 0; padding: .4rem .9rem .6rem; font-size: .68rem; color: rgba(255,255,255,.45); }

@media (max-width: 680px) {
  .as-launcher { right: 12px; bottom: 12px; min-height: 48px; padding: 0 14px; }
  .as-launcher span { display: none; }
  .as-box { right: 0; bottom: 0; left: 0; width: 100%; max-width: none; height: 85vh; height: 85svh; border-left: 0; border-right: 0; }
}
