/* Apex assistant (chat window). Matches the site's dark panels with the magenta-to-orange accent. */
.achat{position:fixed;right:20px;bottom:84px;width:min(380px,calc(100vw - 32px));height:min(600px,calc(100dvh - 170px));display:none;flex-direction:column;background:#0c0c0c;color:#e8eef2;border:1.5px solid #d7e2ea;border-radius:1.4rem;box-shadow:0 30px 60px -20px rgba(0,0,0,.8);z-index:400;overflow:hidden;font:400 .94rem/1.45 var(--body,system-ui,sans-serif)}
.achat.open{display:flex;animation:achatIn .25s ease-out}
@keyframes achatIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.achat__h{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem .85rem 1.1rem;background:linear-gradient(135deg,#16382a,#0c0c0c 80%);border-bottom:1px solid rgba(215,226,234,.22)}
.achat__h b{display:block;font:700 1rem/1.2 var(--disp,inherit);letter-spacing:.02em}
.achat__h small{display:block;color:#9fb3a8;font-size:.76rem;margin-top:2px}
.achat__x{flex:none;width:2.1rem;height:2.1rem;border-radius:50%;border:1px solid rgba(215,226,234,.35);background:transparent;color:#e8eef2;font-size:1.3rem;line-height:1;cursor:pointer}
.achat__x:hover{background:rgba(255,255,255,.1)}
.achat__log{flex:1;min-height:0;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem;scroll-behavior:smooth}
.achat__m{max-width:88%;padding:.6rem .85rem;border-radius:1.05rem;overflow-wrap:anywhere}
.achat__m--bot{align-self:flex-start;background:#17211c;border:1px solid rgba(80,120,94,.5);border-bottom-left-radius:.3rem}
.achat__m--me{align-self:flex-end;background:linear-gradient(135deg,#b6009f,#e0620c);color:#fff;border-bottom-right-radius:.3rem}
.achat__m a{color:#9fe0bd;text-decoration:underline;text-underline-offset:2px}
.achat__m--bot b a,.achat__m--bot a b{color:#fff}
.achat__dots{display:inline-flex;gap:4px;align-items:center;height:1.1em}
.achat__dots i{width:6px;height:6px;border-radius:50%;background:#9fb3a8;animation:achatDot 1s infinite ease-in-out}
.achat__dots i:nth-child(2){animation-delay:.15s}.achat__dots i:nth-child(3){animation-delay:.3s}
@keyframes achatDot{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.achat__chips{display:flex;flex-wrap:wrap;gap:.4rem;padding:0 1rem .55rem}
.achat__chips:empty{display:none}
.achat__chips button{font:600 .8rem/1 var(--body,inherit);padding:.5rem .8rem;border-radius:999px;border:1px solid rgba(215,226,234,.5);background:transparent;color:#e8eef2;cursor:pointer}
.achat__chips button:hover,.achat__chips button:focus-visible{background:#e8eef2;color:#0c0c0c}
.achat__f{display:flex;gap:.5rem;padding:.65rem 1rem;border-top:1px solid rgba(215,226,234,.18)}
.achat__f input{flex:1;min-width:0;padding:.65rem .9rem;border-radius:999px;border:1px solid rgba(215,226,234,.4);background:#131313;color:#fff;font:inherit}
.achat__f input::placeholder{color:#7f8c86}
.achat__f button{padding:.6rem 1.05rem;border-radius:999px;border:0;background:linear-gradient(135deg,#b6009f,#e0620c);color:#fff;font:700 .85rem/1 var(--body,inherit);cursor:pointer}
.achat__cta{display:flex;gap:.5rem;padding:0 1rem .55rem}
.achat__cta a{flex:1;text-align:center;text-decoration:none;font:700 .85rem/1 var(--body,inherit);padding:.7rem .5rem;border-radius:999px}
.achat__call{background:#e8eef2;color:#0c0c0c}
.achat__wa{background:#0a7d4a;color:#fff}
.achat__n{margin:0;padding:0 1rem .8rem;font-size:.7rem;line-height:1.35;color:#7f8c86;text-align:center}
@media(max-width:520px){.achat{right:10px;left:10px;width:auto;bottom:76px;height:min(560px,calc(100dvh - 150px))}}
@media(prefers-reduced-motion:reduce){.achat.open{animation:none}.achat__dots i{animation:none}.achat__log{scroll-behavior:auto}}

/* apex-faq: question-and-answer list on the class pages */
.faqlist{margin-top:1.2rem;max-width:52rem}
.faq{border-bottom:1px solid rgba(120,130,125,.35)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;font-weight:700;font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font-size:1.5rem;line-height:1;font-weight:400}
.faq[open] summary::after{content:"\2212"}
.faq p{margin:0 0 1.1rem;max-width:46rem}

/* apex-prose-table: simple readable tables inside blog articles */
.prose table{width:100%;border-collapse:collapse;margin:1.4rem 0 .4rem;font-size:.97rem;display:block;overflow-x:auto}
.prose th,.prose td{padding:.65rem .8rem;border:1px solid rgba(120,130,125,.4);text-align:left;white-space:nowrap}
.prose thead th{background:rgba(120,130,125,.16);font-weight:700}
.prose tbody tr:nth-child(even){background:rgba(120,130,125,.07)}
.prose ol{padding-left:1.4rem}
