/* Acutis IA — assistant commercial. Toutes les règles sont préfixées pour ne pas interférer avec le thème. */
#acutis-ia-root {
	--acutis-primary: #00008C;
	--acutis-cream: #F0EEED;
	--acutis-ink: #14142B;
	--acutis-muted: #55566B;
	--acutis-line: #D9D6D3;
	--acutis-white: #FFFFFF;
	--acutis-danger: #A0001C;
	--acutis-radius: 14px;
	--acutis-font-heading: 'Bodoni Moda', 'Bodoni 72', Didot, Georgia, serif;
	--acutis-font-body: Lato, 'Helvetica Neue', Arial, sans-serif;
	--acutis-bottom: 24px;
	--acutis-side: 24px;
	--acutis-z: 99990;
	font-family: var(--acutis-font-body);
	font-size: 15px;
	line-height: 1.5;
	color: var(--acutis-ink);
}
#acutis-ia-root *, #acutis-ia-root *::before, #acutis-ia-root *::after { box-sizing: border-box; }
#acutis-ia-root button, #acutis-ia-root input, #acutis-ia-root textarea { font: inherit; color: inherit; letter-spacing: normal; text-transform: none; }
#acutis-ia-root [hidden] { display: none !important; }
#acutis-ia-root .acutis-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Bulle ---------- */
.acutis-launcher-wrap {
	position: fixed; bottom: var(--acutis-bottom); z-index: var(--acutis-z);
	display: flex; align-items: center; gap: 10px;
}
.acutis-pos-right .acutis-launcher-wrap { right: var(--acutis-side); flex-direction: row; }
.acutis-pos-left .acutis-launcher-wrap { left: var(--acutis-side); flex-direction: row-reverse; }
#acutis-ia-root .acutis-launcher {
	width: 58px; height: 58px; border-radius: 50%; border: 0; cursor: pointer; padding: 0;
	background: var(--acutis-primary); color: var(--acutis-white);
	display: grid; place-items: center; overflow: hidden;
	box-shadow: 0 6px 20px rgba(0, 0, 60, .28);
	transition: transform .18s ease, box-shadow .18s ease;
}
#acutis-ia-root .acutis-launcher:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(0, 0, 60, .32); }
#acutis-ia-root.acutis-kbd .acutis-launcher:focus-visible { outline: 3px solid var(--acutis-primary); outline-offset: 3px; }
.acutis-launcher svg { width: 26px; height: 26px; }

#acutis-ia-root .acutis-launcher-avatar { width: 100%; height: 100%; object-fit: cover; display: block; }
.acutis-header-avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex: none; border: 2px solid rgba(255,255,255,.28); margin-top: 2px; }
#acutis-ia-root .acutis-teaser {
	background: var(--acutis-white); color: var(--acutis-primary); border: 1px solid var(--acutis-line);
	border-radius: 999px; padding: 8px 14px; font-size: 14px; cursor: pointer;
	box-shadow: 0 3px 12px rgba(0, 0, 40, .12); white-space: nowrap;
}
#acutis-ia-root .acutis-teaser:focus-visible { outline: 3px solid var(--acutis-primary); outline-offset: 2px; }

/* ---------- Fenêtre ---------- */
.acutis-panel {
	position: fixed; bottom: calc(var(--acutis-bottom) + 72px); z-index: calc(var(--acutis-z) + 1);
	width: 400px; height: min(660px, calc(100vh - var(--acutis-bottom) - 100px));
	background: var(--acutis-white); border-radius: var(--acutis-radius);
	box-shadow: 0 18px 50px rgba(0, 0, 40, .25); border: 1px solid var(--acutis-line);
	display: flex; flex-direction: column; overflow: hidden;
}
.acutis-pos-right .acutis-panel { right: var(--acutis-side); }
.acutis-pos-left .acutis-panel { left: var(--acutis-side); }
.acutis-panel.acutis-wide { width: 460px; }

.acutis-header {
	background: var(--acutis-primary); color: var(--acutis-white);
	padding: 14px 14px 12px 18px; display: flex; align-items: flex-start; gap: 10px;
}
.acutis-header-text { flex: 1; min-width: 0; }
#acutis-ia-root .acutis-title { font-family: var(--acutis-font-heading); font-size: 21px; font-weight: 600; margin: 0; line-height: 1.2; color: var(--acutis-white); }
.acutis-subtitle { font-size: 12.5px; opacity: .88; margin: 2px 0 0; display: flex; align-items: center; gap: 6px; }
.acutis-badge { background: var(--acutis-cream); color: var(--acutis-primary); border-radius: 4px; padding: 0 5px; font-size: 11px; font-weight: 700; letter-spacing: .04em; }
#acutis-ia-root .acutis-icon-btn {
	background: transparent; border: 0; color: var(--acutis-white); cursor: pointer;
	width: 36px; height: 36px; border-radius: 8px; display: grid; place-items: center; flex: none;
}
#acutis-ia-root .acutis-icon-btn:hover { background: rgba(255, 255, 255, .14); }
#acutis-ia-root .acutis-icon-btn:focus-visible { outline: 2px solid var(--acutis-white); outline-offset: 1px; }
.acutis-icon-btn svg { width: 20px; height: 20px; }

.acutis-motto {
	background: var(--acutis-primary);
	color: var(--acutis-cream);
	border-top: 1px solid rgba(240, 238, 237, .22);
	padding: 9px 16px 11px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
#acutis-ia-root .acutis-motto-text {
	font-family: var(--acutis-font-body);
	font-size: 11px;
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: .045em;
	text-transform: uppercase;
	margin: 0;
	color: var(--acutis-cream);
}
.acutis-motto-cross {
	font-family: Georgia, serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1;
	flex: none;
}
@media (max-width: 400px) {
	#acutis-ia-root .acutis-motto-text { font-size: 10px; letter-spacing: .025em; }
}

.acutis-toolbar {
	display: flex; align-items: center; gap: 10px; padding: 8px 14px;
	background: var(--acutis-cream); border-bottom: 1px solid var(--acutis-line); font-size: 13px;
}
.acutis-progress { flex: 1; min-width: 0; }
.acutis-progress-label { color: var(--acutis-muted); display: block; margin-bottom: 4px; }
.acutis-progress-bar { height: 4px; background: rgba(0, 0, 140, .12); border-radius: 4px; overflow: hidden; }
.acutis-progress-bar span { display: block; height: 100%; background: var(--acutis-primary); transition: width .3s ease; }
#acutis-ia-root .acutis-rdv-link {
	margin-left: auto; background: var(--acutis-primary); color: var(--acutis-white);
	border: 1px solid var(--acutis-primary); border-radius: 999px; padding: 5px 12px; cursor: pointer;
	font-size: 13px; font-weight: 600; white-space: nowrap;
}
#acutis-ia-root .acutis-rdv-link:hover { background: var(--acutis-primary); color: var(--acutis-white); }

.acutis-body { flex: 1; overflow-y: auto; padding: 16px 16px 8px; background: #FBFAF9; scroll-behavior: smooth; }
.acutis-msg { max-width: 92%; margin: 0 0 10px; padding: 10px 13px; border-radius: 14px; white-space: pre-line; overflow-wrap: anywhere; }
.acutis-msg p { margin: 0 0 8px; }
.acutis-msg p:last-child { margin: 0; }
.acutis-bot { background: var(--acutis-white); border: 1px solid var(--acutis-line); border-bottom-left-radius: 4px; }
.acutis-user { background: var(--acutis-primary); color: var(--acutis-white); margin-left: auto; border-bottom-right-radius: 4px; }
.acutis-user-row { display: flex; flex-direction: column; align-items: flex-end; margin-bottom: 12px; }
.acutis-user-row .acutis-msg { margin-bottom: 3px; }
.acutis-user-skipped { background: transparent; color: var(--acutis-muted); border: 1px dashed var(--acutis-line); font-style: italic; }
#acutis-ia-root .acutis-edit { background: none; border: 0; color: var(--acutis-primary); font-size: 12.5px; text-decoration: underline; cursor: pointer; padding: 2px 4px; }

.acutis-typing { display: inline-flex; gap: 4px; padding: 12px 14px; }
.acutis-typing span { width: 7px; height: 7px; border-radius: 50%; background: var(--acutis-muted); animation: acutis-dot 1.2s infinite ease-in-out; }
.acutis-typing span:nth-child(2) { animation-delay: .15s; }
.acutis-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes acutis-dot { 0%, 80%, 100% { opacity: .25; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { .acutis-typing span { animation: none; opacity: .6; } #acutis-ia-root .acutis-launcher, .acutis-progress-bar span { transition: none; } }

/* ---------- Question ---------- */
.acutis-question { border: 0; margin: 4px 0 8px; padding: 0; min-width: 0; }
.acutis-question legend { padding: 0; margin: 0 0 4px; font-weight: 400; width: 100%; }
.acutis-hint { color: var(--acutis-muted); font-size: 13px; margin: 0 0 8px; }
.acutis-options { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 10px; }
.acutis-chip { position: relative; display: inline-flex; }
.acutis-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.acutis-chip span {
	display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
	border: 1.5px solid var(--acutis-primary); color: var(--acutis-primary); background: var(--acutis-white);
	border-radius: 999px; padding: 7px 13px; font-size: 14px; line-height: 1.3; user-select: none;
}
.acutis-chip span:hover { background: var(--acutis-cream); }
.acutis-chip input:checked + span { background: var(--acutis-primary); color: var(--acutis-white); }
.acutis-chip input:checked + span::before { content: '✓'; font-weight: 700; }
.acutis-chip input:focus-visible + span { outline: 3px solid var(--acutis-primary); outline-offset: 2px; }
.acutis-field { display: block; margin: 8px 0; }
.acutis-field label, .acutis-label { display: block; font-size: 13px; color: var(--acutis-muted); margin-bottom: 4px; }
#acutis-ia-root .acutis-input, #acutis-ia-root .acutis-textarea {
	width: 100%; border: 1.5px solid var(--acutis-line); border-radius: 10px; padding: 9px 11px; background: var(--acutis-white);
	font-size: 15px; line-height: 1.4; box-shadow: none; margin: 0;
}
#acutis-ia-root .acutis-textarea { min-height: 64px; resize: vertical; }
#acutis-ia-root .acutis-input:focus, #acutis-ia-root .acutis-textarea:focus { border-color: var(--acutis-primary); outline: 2px solid rgba(0, 0, 140, .25); outline-offset: 0; }
.acutis-links-row { display: flex; gap: 6px; }
.acutis-links-row .acutis-input { flex: 1; }
.acutis-link-list { list-style: none; margin: 6px 0 0; padding: 0; }
.acutis-link-list li { display: flex; align-items: center; gap: 6px; font-size: 13.5px; background: var(--acutis-cream); border-radius: 8px; padding: 5px 8px; margin-bottom: 4px; overflow-wrap: anywhere; }
.acutis-link-list li span { flex: 1; min-width: 0; }
#acutis-ia-root .acutis-remove { background: none; border: 0; cursor: pointer; color: var(--acutis-danger); font-size: 13px; text-decoration: underline; padding: 2px; }
.acutis-note { font-size: 12.5px; color: var(--acutis-muted); }

/* ---------- Boutons ---------- */
.acutis-footer { border-top: 1px solid var(--acutis-line); padding: 10px 12px; background: var(--acutis-white); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
#acutis-ia-root .acutis-btn {
	border-radius: 10px; padding: 9px 14px; cursor: pointer; font-size: 14.5px; font-weight: 600; line-height: 1.2;
	border: 1.5px solid var(--acutis-primary); background: var(--acutis-white); color: var(--acutis-primary);
	min-height: 40px;
}
#acutis-ia-root .acutis-btn:hover { background: var(--acutis-cream); }
#acutis-ia-root .acutis-btn-primary { background: var(--acutis-primary); color: var(--acutis-white); }
#acutis-ia-root .acutis-btn-primary:hover { background: #0000A8; }
#acutis-ia-root .acutis-btn-ghost { border-color: transparent; font-weight: 400; text-decoration: underline; padding-left: 6px; padding-right: 6px; }
#acutis-ia-root .acutis-btn:focus-visible { outline: 3px solid var(--acutis-primary); outline-offset: 2px; }
#acutis-ia-root .acutis-btn[disabled] { opacity: .45; cursor: not-allowed; }
.acutis-footer .acutis-spacer { flex: 1; }
.acutis-choices { display: grid; gap: 8px; margin: 12px 0 6px; }
.acutis-choices .acutis-btn { width: 100%; text-align: center; padding: 12px; }
.acutis-privacy { font-size: 12px; color: var(--acutis-muted); margin: 10px 2px 4px; }
.acutis-privacy a { color: var(--acutis-primary); }

.acutis-alert { margin: 0 12px 8px; padding: 8px 12px; border-radius: 8px; background: #FDECEE; color: var(--acutis-danger); font-size: 13.5px; border: 1px solid #F3C2C9; }
.acutis-alert.acutis-info { background: var(--acutis-cream); color: var(--acutis-ink); border-color: var(--acutis-line); }

/* ---------- Calendly ---------- */
.acutis-calendly { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.acutis-calendly-frame { flex: 1; min-height: 0; overflow: hidden; }
.acutis-calendly-frame .calendly-inline-widget, .acutis-calendly-frame iframe { width: 100%; height: 100% !important; min-height: 0; border: 0; }
.acutis-calendly-bar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; padding: 8px 12px; border-top: 1px solid var(--acutis-line); font-size: 13px; }
.acutis-calendly-bar a { color: var(--acutis-primary); }

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
	.acutis-panel, .acutis-panel.acutis-wide {
		inset: 0 !important; width: 100%; height: 100%; height: 100dvh; max-height: none;
		border-radius: 0; border: 0; bottom: 0;
	}
	.acutis-teaser { display: none !important; }
	#acutis-ia-root.acutis-open .acutis-launcher-wrap { display: none; }
	#acutis-ia-root .acutis-launcher { width: 54px; height: 54px; }
	#acutis-ia-root .acutis-icon-btn { width: 44px; height: 44px; }
	.acutis-header { padding-top: max(14px, env(safe-area-inset-top)); }
	.acutis-footer { padding-bottom: max(10px, env(safe-area-inset-bottom)); }
	.acutis-footer .acutis-btn { flex: 1 1 auto; }
	#acutis-ia-root .acutis-input, #acutis-ia-root .acutis-textarea { font-size: 16px; } /* évite le zoom iOS */
}
@media (max-width: 900px) {
	.acutis-teaser { display: none !important; }
}
@media print { #acutis-ia-root { display: none !important; } }
#acutis-ia-root .acutis-question legend.acutis-msg { display: block; float: none; width: auto; max-width: 92%; margin: 0 0 8px; padding: 10px 13px; font-size: 15px; color: var(--acutis-ink); }
#acutis-ia-root .acutis-btn-ghost:hover { background: transparent; color: #0000A8; }
@media (hover: none) { #acutis-ia-root .acutis-btn:hover { background: var(--acutis-white); } #acutis-ia-root .acutis-btn-primary:hover { background: var(--acutis-primary); } #acutis-ia-root .acutis-btn-ghost:hover { background: transparent; } }

/* Carlo 0.5.2 — Direction artistique Acutis */
#acutis-ia-root .acutis-launcher{width:72px;height:72px;border:3px solid white;border-radius:50%;box-shadow:0 7px 22px rgba(0,0,70,.24)}
#acutis-ia-root .acutis-launcher-avatar{object-fit:contain}
.acutis-panel{width:460px;height:min(760px,calc(100vh - var(--acutis-bottom) - 98px));border-radius:22px}
.acutis-header{align-items:center;padding:20px 20px 10px;gap:14px}
.acutis-header-avatar{width:64px;height:64px;margin:0;border:1.5px solid rgba(255,255,255,.6);object-fit:contain}
#acutis-ia-root .acutis-title{font-family:var(--acutis-font-heading);font-size:32px;font-weight:400}
.acutis-subtitle{font-size:13px}
.acutis-motto{padding:7px 20px 15px;border-top:0}
#acutis-ia-root .acutis-motto-text{font-size:10px;letter-spacing:.12em}
.acutis-toolbar{background:var(--acutis-cream);padding:13px 20px 12px;border:0;align-items:start}
.acutis-progress{display:flex;flex-direction:column;gap:10px}
.acutis-progress-label{color:var(--acutis-primary);font-size:12px;font-weight:700;letter-spacing:.08em;margin:0}
.acutis-progress-bar{height:3px;background:#d3d0df}
#acutis-ia-root .acutis-rdv-link{font-size:12px;padding:7px 10px;background:var(--acutis-primary)}
.acutis-body{background:var(--acutis-cream);padding:12px 20px 20px}
.acutis-question{margin:0}
.acutis-question-heading{font-family:var(--acutis-font-heading);font-size:clamp(27px,5vw,38px);line-height:1.15;color:var(--acutis-primary);margin:9px 0 11px}
#acutis-ia-root .acutis-question legend.acutis-question-prompt{float:none;width:100%;max-width:none;background:transparent;border:0;border-radius:0;padding:0;margin:0 0 18px;font-size:17px;font-weight:400;color:#303047}
.acutis-options{display:flex;flex-direction:column;gap:8px;margin:0 0 12px}
.acutis-chip{display:block;width:100%}
.acutis-chip span{width:100%;min-height:49px;justify-content:space-between;padding:11px 14px;border:1px solid #d0ced5;border-radius:8px;background:#faf9f8;color:#242441;font-size:14px}
.acutis-chip span::after{content:'';width:15px;height:15px;border-radius:50%;background:#b7b5c2;flex:none}
.acutis-chip input:checked + span{background:#e4e4f6;color:var(--acutis-primary);border-color:var(--acutis-primary)}
.acutis-chip input:checked + span::after{background:var(--acutis-primary);box-shadow:inset 0 0 0 4px #e4e4f6}
.acutis-chip input:checked + span::before{content:none}
.acutis-field label{font-size:12px}
#acutis-ia-root .acutis-textarea{background:transparent;border:1px solid #d0ced5;border-radius:8px;min-height:65px}
.acutis-footer{background:var(--acutis-cream);border-top:0;padding:12px 20px 20px;gap:8px;justify-content:space-between}
#acutis-ia-root .acutis-footer .acutis-btn{border-radius:999px;font-size:13px;min-height:41px;padding:9px 13px}
#acutis-ia-root .acutis-footer .acutis-btn:first-child{background:transparent;border-color:transparent}
#acutis-ia-root .acutis-footer .acutis-btn-ghost{text-decoration:none;border:1px solid #c9c6d2;background:transparent}
#acutis-ia-root .acutis-footer .acutis-btn-primary{background:var(--acutis-primary);border-color:var(--acutis-primary);color:white}
@media(max-width:600px){.acutis-panel,.acutis-panel.acutis-wide{border-radius:0}.acutis-header{padding:max(14px,env(safe-area-inset-top)) 16px 8px}.acutis-header-avatar{width:50px;height:50px}#acutis-ia-root .acutis-title{font-size:26px}.acutis-motto{padding:8px 16px 12px}#acutis-ia-root .acutis-motto-text{font-size:9px;letter-spacing:.045em}.acutis-toolbar{padding:12px 16px}.acutis-body{padding:10px 16px 16px}.acutis-footer{padding:9px 12px max(12px,env(safe-area-inset-bottom))}#acutis-ia-root .acutis-footer .acutis-btn{flex:0 1 auto;font-size:12px;padding:8px 10px}}

/* 0.5.3 : en-tête sans citation ni croix */
.acutis-header { padding-bottom: 20px; }
@media (max-width:600px) { .acutis-header { padding-bottom: 16px; } }

/* 0.5.6 : pièces jointes */
#acutis-ia-root .acutis-file-input { position: absolute; width: 1px; height: 1px; opacity: 0; overflow: hidden; }
#acutis-ia-root .acutis-file-btn { display: inline-flex; align-items: center; gap: 6px; margin: 4px 0 6px; cursor: pointer; border-radius: 999px; }
#acutis-ia-root .acutis-file-input:focus-visible + .acutis-note, #acutis-ia-root .acutis-file-btn:focus-within { outline: 3px solid var(--acutis-primary); outline-offset: 2px; }

/* 0.5.4 : plein écran sur mobile (la règle 0.5.2 imposait 460px) */
@media (max-width:600px) {
	.acutis-panel, .acutis-panel.acutis-wide { inset: 0 !important; width: 100% !important; max-width: 100vw; height: 100% !important; height: 100dvh !important; max-height: none; border-radius: 0; border: 0; }
	.acutis-panel > * { min-width: 0; max-width: 100%; }
	.acutis-toolbar { flex-wrap: wrap; gap: 10px; }
	.acutis-progress { min-width: 0; flex: 1 1 140px; }
	#acutis-ia-root .acutis-rdv-link { white-space: normal; max-width: 100%; }
	.acutis-body { overflow-x: hidden; }
	.acutis-footer { flex-wrap: wrap; }
	#acutis-ia-root .acutis-footer .acutis-btn { min-width: 0; }
}

/* 0.6.2 : titre au-dessus de la question */
#acutis-ia-root .acutis-question-heading{display:block;font-weight:400}
#acutis-ia-root .acutis-question-text{display:block;white-space:pre-line}

/* The counter and CTA are siblings in one non-wrapping centered row. */
#acutis-ia-root .acutis-toolbar { display:flex; flex-direction:column; flex-wrap:nowrap; align-items:stretch; flex:0 0 auto; gap:10px; padding:12px 16px; }
#acutis-ia-root .acutis-toolbar-row { display:flex; flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:space-between; width:100%; gap:10px; }
#acutis-ia-root .acutis-toolbar-row .acutis-progress-label { display:block; flex:0 0 auto; margin:0; padding:0; font-size:11px; line-height:1; white-space:nowrap; letter-spacing:.04em; }
#acutis-ia-root .acutis-toolbar-row .acutis-rdv-link { display:inline-flex; align-items:center; justify-content:center; flex:0 1 auto; order:0; margin:0 0 0 auto; min-width:0; min-height:40px; padding:9px 12px; background:#00008C; color:#FFFFFF; border:1px solid #00008C; border-radius:999px; font-size:12px; line-height:1.3; text-align:center; white-space:normal; }
#acutis-ia-root .acutis-toolbar > .acutis-progress-bar { display:block; flex:none; width:100%; height:3px; margin:0; }
#acutis-ia-root .acutis-rdv-link:focus-visible { outline:3px solid #00008C; outline-offset:3px; }
@media(max-width:380px){#acutis-ia-root .acutis-toolbar{padding:10px 12px;}#acutis-ia-root .acutis-toolbar-row{gap:8px;}#acutis-ia-root .acutis-toolbar-row .acutis-progress-label{font-size:10px;letter-spacing:0;}#acutis-ia-root .acutis-toolbar-row .acutis-rdv-link{font-size:11px;padding:9px 10px;}}

/* 0.6.12 : ouverture et fermeture plus visibles.
   Ordinateur : la fenêtre sort de la bulle Carlo puis s'y range.
   Mobile : l'écran monte du bas puis redescend. */
@keyframes acutis-panel-in {
	0%   { opacity: 0; transform: translateY(40px) scale(.55); }
	60%  { opacity: 1; transform: translateY(-4px) scale(1.02); }
	100% { opacity: 1; transform: none; }
}
@keyframes acutis-panel-out {
	0%   { opacity: 1; transform: none; }
	100% { opacity: 0; transform: translateY(40px) scale(.55); }
}
@keyframes acutis-sheet-in { from { transform: translateY(100%); } to { transform: none; } }
@keyframes acutis-sheet-out { from { transform: none; } to { transform: translateY(100%); } }
@keyframes acutis-content-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes acutis-launcher-pop { 0% { transform: scale(1); } 35% { transform: scale(.86); } 70% { transform: scale(1.08); } 100% { transform: scale(1); } }
.acutis-pos-right .acutis-panel { transform-origin: calc(100% - 28px) calc(100% + 44px); }
.acutis-pos-left .acutis-panel { transform-origin: 28px calc(100% + 44px); }
#acutis-ia-root .acutis-panel.acutis-anim-in { animation: acutis-panel-in .5s cubic-bezier(.22, 1, .36, 1) both; }
#acutis-ia-root .acutis-panel.acutis-anim-out { animation: acutis-panel-out .3s cubic-bezier(.55, 0, .75, .2) both; pointer-events: none; }
#acutis-ia-root .acutis-panel.acutis-anim-in > * { animation: acutis-content-in .4s cubic-bezier(.22, 1, .36, 1) both; }
#acutis-ia-root .acutis-panel.acutis-anim-in > :nth-child(1) { animation-delay: .08s; }
#acutis-ia-root .acutis-panel.acutis-anim-in > :nth-child(2) { animation-delay: .14s; }
#acutis-ia-root .acutis-panel.acutis-anim-in > :nth-child(3) { animation-delay: .2s; }
#acutis-ia-root .acutis-panel.acutis-anim-in > :nth-child(n+4) { animation-delay: .26s; }
#acutis-ia-root .acutis-launcher.acutis-pop { animation: acutis-launcher-pop .4s ease-out; }
@media (max-width:600px) {
	#acutis-ia-root .acutis-panel.acutis-anim-in { animation-name: acutis-sheet-in; animation-duration: .45s; }
	#acutis-ia-root .acutis-panel.acutis-anim-out { animation-name: acutis-sheet-out; animation-duration: .32s; }
}
@media (prefers-reduced-motion: reduce) {
	#acutis-ia-root .acutis-panel.acutis-anim-in, #acutis-ia-root .acutis-panel.acutis-anim-out,
	#acutis-ia-root .acutis-panel.acutis-anim-in > *, #acutis-ia-root .acutis-launcher.acutis-pop { animation: none; }
}
/* Carlo — aperçu « messagerie » (WhatsApp / Messenger / iMessage). Se charge APRÈS chatbot.css. */
#acutis-ia-root{--acutis-bubble-bot:#fff;--acutis-av:32px}
.acutis-body{background:var(--acutis-cream,#F0EEED);padding:14px 14px 10px}

/* Bulles de Carlo : blanches, queue en bas à gauche, petit avatar */
.acutis-bot,
#acutis-ia-root .acutis-question legend.acutis-question-prompt .acutis-question-text{
  position:relative;display:block;max-width:82%;margin:0 0 6px 40px;padding:10px 14px;
  background:#fff;border:0;border-radius:18px 18px 18px 5px;
  box-shadow:0 1px 1.5px rgba(30,30,60,.14);color:#1f1f33;font-size:15px;line-height:1.45}
.acutis-bot::before,
#acutis-ia-root .acutis-question legend.acutis-question-prompt .acutis-question-text::before{
  content:"";position:absolute;left:-40px;bottom:0;width:var(--acutis-av);height:var(--acutis-av);
  border-radius:50%;background:#fff url(../img/carlo-avatar.png) center/contain no-repeat;
  box-shadow:0 0 0 1px rgba(0,0,140,.12)}
/* Queue des bulles */
.acutis-bot::after,
#acutis-ia-root .acutis-question legend.acutis-question-prompt .acutis-question-text::after{
  content:"";position:absolute;left:-6px;bottom:0;width:12px;height:12px;background:#fff;
  clip-path:polygon(100% 0,100% 100%,0 100%);border-bottom-right-radius:0}

/* Bulles de la personne : bleu Acutis, à droite */
.acutis-user{background:var(--acutis-primary);color:#fff;border-radius:18px 18px 5px 18px;
  padding:9px 14px;max-width:78%;margin:0 0 2px auto;box-shadow:0 1px 1.5px rgba(0,0,60,.2);font-size:15px}
.acutis-user-row{margin-bottom:10px}
.acutis-user-skipped{background:rgba(255,255,255,.55);color:#6b6b80;border:0;box-shadow:none}
#acutis-ia-root .acutis-edit{font-size:11.5px;color:#6b6b80;text-decoration:none;padding:0 6px}
#acutis-ia-root .acutis-edit:hover{text-decoration:underline}

/* Titre de la question → petite pastille centrée (comme la date dans WhatsApp) */
.acutis-question{margin:10px 0 0}
#acutis-ia-root .acutis-question-heading{display:table;margin:6px auto 12px;padding:4px 12px;
  background:rgba(255,255,255,.75);border-radius:999px;font-family:var(--acutis-font-body);
  font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#5a5a73;
  box-shadow:0 1px 1px rgba(0,0,0,.06)}
#acutis-ia-root .acutis-question legend.acutis-question-prompt{margin:0 0 10px;font-size:15px;color:#1f1f33}

/* Réponses = pastilles de réponse rapide alignées à droite */
.acutis-options{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:7px;margin:4px 0 8px 40px}
.acutis-chip{display:inline-flex;width:auto;max-width:100%}
.acutis-chip span{width:auto;min-height:40px;justify-content:center;padding:8px 15px;border:1.5px solid var(--acutis-primary);
  border-radius:20px;background:#fff;color:var(--acutis-primary);font-size:14px;font-weight:600;line-height:1.25;text-align:left;transition:background .15s,color .15s,transform .1s}
.acutis-chip span::after{content:none}
.acutis-chip span:hover{background:#eceaf8}
.acutis-chip input:checked + span{background:var(--acutis-primary);color:#fff;border-color:var(--acutis-primary)}
.acutis-chip input:checked + span::before{content:'✓';font-weight:700;margin-right:6px}
.acutis-chip input:checked + span::after{content:none}
.acutis-chip span:active{transform:scale(.97)}

/* Champ texte = zone de saisie de messagerie */
.acutis-field{margin:6px 0 4px}
.acutis-field label{margin:0 0 5px 40px;font-size:12px;color:#6b6b80}
#acutis-ia-root .acutis-textarea,#acutis-ia-root .acutis-input{background:#fff;border:0;border-radius:20px;
  padding:11px 16px;min-height:48px;box-shadow:0 1px 2px rgba(0,0,0,.12);font-size:15px}
#acutis-ia-root .acutis-textarea{resize:none}
#acutis-ia-root .acutis-textarea:focus,#acutis-ia-root .acutis-input:focus{outline:2px solid rgba(0,0,140,.35)}

/* Pied : barre façon messagerie */
.acutis-footer{background:var(--acutis-cream,#F0EEED);border-top:1px solid rgba(0,0,140,.1);padding:10px 14px 14px}
#acutis-ia-root .acutis-footer .acutis-btn-primary{border-radius:999px;padding:9px 20px}

/* Apparition douce de chaque bulle + « Carlo écrit… » */
@keyframes acutis-msg-in{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
.acutis-bot,.acutis-user-row,.acutis-question .acutis-question-text{animation:acutis-msg-in .28s cubic-bezier(.22,1,.36,1) both}
.acutis-typing{padding:13px 15px;gap:5px}
.acutis-typing span{width:8px;height:8px;background:#9a98a8}
@media (prefers-reduced-motion:reduce){.acutis-bot,.acutis-user-row,.acutis-question .acutis-question-text{animation:none}}
@media (max-width:600px){.acutis-body{padding:12px 10px 8px}.acutis-bot,#acutis-ia-root .acutis-question legend.acutis-question-prompt .acutis-question-text{max-width:84%}}
