/* IWIN Conseiller IA : boutons de la fiche produit, widget flottant et fenêtre de discussion. */
@property --iwin-ai-a { syntax: '<angle>'; inherits: false; initial-value: 0deg; }

.iwin-ai, .iwin-ai-cta {
	--ai-bordeaux: #6B1F32; --ai-nuit: #2B0A13; --ai-laiton: #C9A86A; --ai-laiton-clair: #F1DDB0; --ai-ivoire: #F4F1EA;
	--ai-blanc: #FFFFFF; --ai-encre: #2A1A1F; --ai-gris: #6F6166; --ai-trait: rgba(43, 10, 19, .12); --ai-wa: #128C4B;
	--ai-ease: cubic-bezier(.22, 1, .36, 1);
	font-family: 'Plus Jakarta Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
	font-size: 15px; line-height: 1.5; color: var(--ai-encre); text-transform: none; letter-spacing: 0;
}
.iwin-ai *, .iwin-ai *::before, .iwin-ai *::after, .iwin-ai-cta *, .iwin-ai-cta *::before, .iwin-ai-cta *::after { box-sizing: border-box; }
.iwin-ai button, .iwin-ai textarea, .iwin-ai-cta button { font: inherit; letter-spacing: 0; text-transform: none; margin: 0; min-height: 0; -webkit-appearance: none; appearance: none; }
.iwin-ai svg, .iwin-ai-cta svg { width: 20px; height: 20px; flex: none; }
html.iwin-ai-lock { overflow: hidden; }

/* ---------- L'orbe ---------- */
.iwin-ai-orb {
	position: relative; flex: none; display: block; width: 44px; height: 44px; border-radius: 50%; overflow: hidden;
	background: radial-gradient(circle at 30% 28%, #FFF6DD 0, #E9CF97 22%, #C9A86A 42%, #8F3A50 72%, #3A0D1A 100%);
	box-shadow: inset 0 0 0 1px rgba(255, 236, 196, .4), 0 0 22px rgba(201, 168, 106, .55);
}
.iwin-ai-orb i { position: absolute; inset: -22%; border-radius: 50%; mix-blend-mode: screen; filter: blur(5px); }
.iwin-ai-orb i:nth-child(1) { background: radial-gradient(circle at 30% 30%, rgba(255, 244, 210, .95), transparent 46%); animation: iwin-ai-orbit 6s linear infinite; }
.iwin-ai-orb i:nth-child(2) { background: radial-gradient(circle at 72% 66%, rgba(222, 96, 128, .9), transparent 46%); animation: iwin-ai-orbit 9s linear infinite reverse; }
.iwin-ai-orb i:nth-child(3) { background: radial-gradient(circle at 56% 18%, rgba(201, 168, 106, .95), transparent 40%); animation: iwin-ai-orbit 4s linear infinite; }
.iwin-ai-orb.is-busy { animation: iwin-ai-pulse 1.1s ease-in-out infinite; }
.iwin-ai-orb.is-busy i { animation-duration: 1.4s; }
@keyframes iwin-ai-orbit { to { transform: rotate(360deg); } }
@keyframes iwin-ai-pulse { 50% { transform: scale(1.12); box-shadow: inset 0 0 0 1px rgba(255, 236, 196, .5), 0 0 30px rgba(201, 168, 106, .9); } }
@keyframes iwin-ai-turn { to { --iwin-ai-a: 360deg; } }

/* ---------- Fiche produit : boutons côte à côte ---------- */
.iwin-ai-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 8px; }
.iwin-ai-cta .iwin-ai-cta-btn, .iwin-ai-cta .iwin-ai-cta-ia {
	flex: 1 1 150px; display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 8px 16px; border-radius: 999px; cursor: pointer;
	font-size: 14.5px; font-weight: 700; line-height: 1.2; text-decoration: none; text-align: center; white-space: nowrap;
	transition: transform .4s var(--ai-ease), background-color .3s, color .3s, box-shadow .4s var(--ai-ease), border-color .3s;
}
.iwin-ai-cta .iwin-ai-cta-ia {
	position: relative; isolation: isolate; overflow: hidden; width: auto; border: 1.5px solid transparent; color: var(--ai-bordeaux);
	background:
		linear-gradient(#FFF, #FBF8F2) padding-box,
		conic-gradient(from var(--iwin-ai-a), #C9A86A, #F1DDB0 14%, #6B1F32 34%, #C9A86A 54%, #F1DDB0 66%, #6B1F32 84%, #C9A86A) border-box;
	animation: iwin-ai-turn 5s linear infinite;
}
.iwin-ai-cta .iwin-ai-cta-ia::before {
	content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: linear-gradient(110deg, transparent 36%, rgba(201, 168, 106, .28) 50%, transparent 64%);
	transform: translateX(-120%); animation: iwin-ai-sweep 4.6s ease-in-out infinite;
}
.iwin-ai-cta .iwin-ai-cta-ia .iwin-ai-orb { width: 24px; height: 24px; box-shadow: inset 0 0 0 1px rgba(255, 236, 196, .4), 0 0 10px rgba(201, 168, 106, .6); }
.iwin-ai-cta .iwin-ai-cta-ia .iwin-ai-orb i { filter: blur(3px); }
.iwin-ai-cta .iwin-ai-cta-ia:hover, .iwin-ai-cta .iwin-ai-cta-ia:focus-visible { color: var(--ai-nuit); transform: translateY(-2px); box-shadow: 0 12px 24px -14px rgba(107, 31, 50, .7), 0 0 0 4px rgba(201, 168, 106, .16); animation-duration: 1.8s; }
.iwin-ai-cta .iwin-ai-cta-ia:hover .iwin-ai-orb { animation: iwin-ai-pulse 1.4s ease-in-out infinite; }
@keyframes iwin-ai-sweep { 0%, 55% { transform: translateX(-120%); } 85%, 100% { transform: translateX(120%); } }
.iwin-ai-cta .iwin-ai-cta-wa { color: #0E6B3A; background: #EAF6EF; border: 1.5px solid rgba(18, 140, 75, .35); }
.iwin-ai-cta .iwin-ai-cta-wa:hover { color: #FFF; background: var(--ai-wa); border-color: var(--ai-wa); transform: translateY(-2px); box-shadow: 0 12px 24px -12px rgba(18, 140, 75, .8); }
.iwin-ai-cta .iwin-ai-cta-devis { color: #FFF; background: var(--ai-bordeaux); border: 1.5px solid var(--ai-bordeaux); }
.iwin-ai-cta .iwin-ai-cta-devis:hover { color: #FFF; background: var(--ai-nuit); border-color: var(--ai-nuit); transform: translateY(-2px); box-shadow: 0 12px 24px -12px rgba(43, 10, 19, .8); }
.iwin-ai-cta .iwin-ai-cta-btn:focus-visible, .iwin-ai-cta .iwin-ai-cta-ia:focus-visible { outline: 2px solid var(--ai-laiton); outline-offset: 3px; }

/* ---------- Widget flottant : le bouton ---------- */
.iwin-ai-launcher {
	position: fixed; right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); z-index: 9970;
	display: flex; align-items: center; gap: 0; padding: 7px; border: 1.5px solid transparent; border-radius: 999px; cursor: pointer; color: var(--ai-ivoire);
	background:
		linear-gradient(135deg, #2B0A13, #6B1F32) padding-box,
		conic-gradient(from var(--iwin-ai-a), #C9A86A, #FFF1CF 14%, #6B1F32 32%, #C9A86A 54%, #FFF1CF 66%, #6B1F32 84%, #C9A86A) border-box;
	box-shadow: 0 16px 36px -12px rgba(43, 10, 19, .65);
	animation: iwin-ai-turn 6s linear infinite, iwin-ai-arrive .9s var(--ai-ease) .6s both;
	transition: transform .5s var(--ai-ease), box-shadow .5s var(--ai-ease), opacity .3s;
}
.iwin-ai-launcher .iwin-ai-orb { width: 46px; height: 46px; }
.iwin-ai-launcher-txt { display: grid; overflow: hidden; max-width: 0; opacity: 0; white-space: nowrap; text-align: left; transition: max-width .7s var(--ai-ease), opacity .4s, padding .7s var(--ai-ease); }
.iwin-ai-launcher-txt b { font-size: 14.5px; font-weight: 700; line-height: 1.2; color: #FFF; }
.iwin-ai-launcher-txt small { font-size: 12px; line-height: 1.25; color: rgba(244, 241, 234, .75); }
.iwin-ai-launcher.is-large .iwin-ai-launcher-txt, .iwin-ai-launcher:hover .iwin-ai-launcher-txt, .iwin-ai-launcher:focus-visible .iwin-ai-launcher-txt { max-width: 220px; opacity: 1; padding: 0 16px 0 12px; }
.iwin-ai-launcher:hover { transform: translateY(-3px); box-shadow: 0 24px 44px -14px rgba(43, 10, 19, .8), 0 0 0 5px rgba(201, 168, 106, .18); }
.iwin-ai-launcher:focus-visible { outline: 2px solid var(--ai-laiton); outline-offset: 3px; }
.iwin-ai[data-open="true"] .iwin-ai-launcher { opacity: 0; pointer-events: none; transform: scale(.6); }
@keyframes iwin-ai-arrive { from { opacity: 0; transform: translateY(26px) scale(.7); } }

/* ---------- Voile ---------- */
.iwin-ai-veil { position: fixed; inset: 0; z-index: 99990; overflow: hidden; visibility: hidden; opacity: 0; background: rgba(27, 6, 12, .64); -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2); transition: opacity .5s ease, visibility 0s .5s; }
.iwin-ai-veil::before, .iwin-ai-veil::after { content: ''; position: absolute; width: 70vmax; height: 70vmax; border-radius: 50%; filter: blur(60px); opacity: .55; }
.iwin-ai-veil::before { left: -20vmax; top: -25vmax; background: radial-gradient(circle, rgba(201, 168, 106, .55), transparent 62%); animation: iwin-ai-drift 16s ease-in-out infinite alternate; }
.iwin-ai-veil::after { right: -25vmax; bottom: -30vmax; background: radial-gradient(circle, rgba(170, 52, 86, .7), transparent 62%); animation: iwin-ai-drift 20s ease-in-out infinite alternate-reverse; }
@keyframes iwin-ai-drift { to { transform: translate(14vmax, 9vmax) scale(1.2); } }
.iwin-ai[data-mode="product"][data-open="true"] .iwin-ai-veil { visibility: visible; opacity: 1; transition: opacity .5s ease; }

/* ---------- Fenêtre ---------- */
.iwin-ai-win {
	position: fixed; z-index: 99995; display: grid; overflow: hidden; visibility: hidden; background: var(--ai-ivoire);
	box-shadow: 0 40px 90px -30px rgba(27, 6, 12, .75), 0 0 0 1px rgba(201, 168, 106, .35);
}
.iwin-ai-main { display: grid; grid-template-rows: auto 1fr auto auto auto; min-width: 0; min-height: 0; background: var(--ai-ivoire); }

/* Flottant : panneau ancré en bas à droite */
.iwin-ai[data-mode="float"] .iwin-ai-win {
	right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); width: min(410px, calc(100vw - 36px)); height: min(660px, calc(100vh - 36px)); height: min(660px, calc(100dvh - 36px));
	border-radius: 26px; transform-origin: 100% 100%; opacity: 0; transform: translateY(24px) scale(.86);
	transition: opacity .3s ease, transform .5s var(--ai-ease), visibility 0s .5s;
}
.iwin-ai[data-mode="float"][data-open="true"] .iwin-ai-win { visibility: visible; opacity: 1; transform: none; transition: opacity .35s ease, transform .65s var(--ai-ease); }

/* Fiche produit : grande fenêtre centrée, révélée depuis le bouton */
.iwin-ai[data-mode="product"] .iwin-ai-win {
	left: 50%; top: 50%; width: min(1000px, calc(100vw - 40px)); height: min(700px, calc(100vh - 40px)); height: min(700px, calc(100dvh - 40px));
	grid-template-columns: minmax(280px, 36%) 1fr; border-radius: 30px; transform: translate(-50%, -50%);
	clip-path: circle(0 at var(--ai-ox, 50%) var(--ai-oy, 50%));
	transition: clip-path .55s cubic-bezier(.6, 0, .8, .2), visibility 0s .55s;
}
.iwin-ai[data-mode="product"][data-open="true"] .iwin-ai-win { visibility: visible; clip-path: circle(150% at var(--ai-ox, 50%) var(--ai-oy, 50%)); transition: clip-path .95s var(--ai-ease); }

/* Colonne produit */
.iwin-ai-side {
	position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; gap: 18px; padding: 30px 26px 26px; color: var(--ai-ivoire);
	background: linear-gradient(160deg, #3A0E1B 0%, #2B0A13 55%, #1C060C 100%);
}
.iwin-ai-side::before { content: ''; position: absolute; z-index: -1; left: -30%; top: -18%; width: 130%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(201, 168, 106, .3), transparent 62%); animation: iwin-ai-drift 14s ease-in-out infinite alternate; }
.iwin-ai-stage { position: relative; display: grid; place-items: center; width: min(100%, 250px); aspect-ratio: 1; margin: 6px auto 0; }
.iwin-ai-stage::before { content: ''; position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from var(--iwin-ai-a), rgba(201, 168, 106, 0), #C9A86A 22%, #FFF1CF 30%, rgba(201, 168, 106, 0) 46%, rgba(201, 168, 106, 0)); animation: iwin-ai-turn 7s linear infinite; -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1.5px)); mask: radial-gradient(farthest-side, transparent calc(100% - 2px), #000 calc(100% - 1.5px)); }
.iwin-ai-stage::after { content: ''; position: absolute; inset: 9%; border-radius: 50%; background: radial-gradient(circle at 50% 38%, #FFF 0, #F4F1EA 62%, #E4DCCB 100%); box-shadow: 0 26px 50px -20px rgba(0, 0, 0, .7); }
.iwin-ai-stage img { position: relative; z-index: 1; width: 74%; height: 74%; max-width: none; padding: 9%; border-radius: 50%; object-fit: contain; mix-blend-mode: multiply; animation: iwin-ai-float 6s ease-in-out infinite; }
@keyframes iwin-ai-float { 50% { transform: translateY(-7px); } }
.iwin-ai-side-eyebrow { margin: 0; font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ai-laiton); }
.iwin-ai-side-title { margin: 4px 0 0; font-size: 21px; font-weight: 700; line-height: 1.22; color: #FFF; text-wrap: balance; }
.iwin-ai-side-ref { display: inline-block; margin-top: 10px; padding: 4px 11px; border: 1px solid rgba(201, 168, 106, .5); border-radius: 999px; font-size: 12px; font-weight: 600; color: var(--ai-laiton-clair); }
.iwin-ai-side-actions { display: grid; gap: 9px; margin-top: auto; }
.iwin-ai .iwin-ai-act {
	display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; padding: 9px 16px; border-radius: 14px; cursor: pointer;
	font-size: 14px; font-weight: 700; line-height: 1.2; text-decoration: none; transition: transform .4s var(--ai-ease), background-color .3s, color .3s, border-color .3s;
}
.iwin-ai .iwin-ai-act:hover { transform: translateY(-2px); }
.iwin-ai .iwin-ai-act:focus-visible { outline: 2px solid var(--ai-laiton); outline-offset: 2px; }
.iwin-ai .iwin-ai-act-wa { color: #FFF; background: var(--ai-wa); border: 1.5px solid var(--ai-wa); }
.iwin-ai .iwin-ai-act-wa:hover { color: #FFF; background: #0E6B3A; border-color: #0E6B3A; }
.iwin-ai .iwin-ai-act-devis { color: var(--ai-nuit); background: linear-gradient(135deg, #F1DDB0, #C9A86A); border: 1.5px solid transparent; }
.iwin-ai .iwin-ai-act-devis:hover { color: var(--ai-nuit); }

/* En-tête */
.iwin-ai-head { position: relative; display: flex; align-items: center; gap: 12px; padding: 16px 14px 16px 20px; border-bottom: 1px solid var(--ai-trait); background: linear-gradient(180deg, #FFF, rgba(255, 255, 255, .6)); }
.iwin-ai[data-mode="float"] .iwin-ai-head { color: var(--ai-ivoire); border-bottom: 0; background: linear-gradient(135deg, #2B0A13, #6B1F32); }
.iwin-ai-head .iwin-ai-orb { width: 40px; height: 40px; }
.iwin-ai-head-txt { display: grid; min-width: 0; flex: 1; }
.iwin-ai-head-txt b { font-size: 17px; font-weight: 700; line-height: 1.2; color: var(--ai-nuit); }
.iwin-ai-head-txt b em { font-family: 'Instrument Serif', Georgia, serif; font-style: italic; font-weight: 400; font-size: 1.22em; color: var(--ai-bordeaux); }
.iwin-ai-head-txt small { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--ai-gris); }
.iwin-ai-head-txt small::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #2FB36A; box-shadow: 0 0 0 0 rgba(47, 179, 106, .6); animation: iwin-ai-live 2s ease-out infinite; }
@keyframes iwin-ai-live { to { box-shadow: 0 0 0 7px rgba(47, 179, 106, 0); } }
.iwin-ai[data-mode="float"] .iwin-ai-head-txt b { color: #FFF; }
.iwin-ai[data-mode="float"] .iwin-ai-head-txt b em { color: var(--ai-laiton-clair); }
.iwin-ai[data-mode="float"] .iwin-ai-head-txt small { color: rgba(244, 241, 234, .75); }
.iwin-ai .iwin-ai-icon { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; color: inherit; background: transparent; transition: background-color .25s, transform .4s var(--ai-ease); }
.iwin-ai .iwin-ai-icon:hover { background: rgba(107, 31, 50, .1); }
.iwin-ai[data-mode="float"] .iwin-ai-icon:hover { background: rgba(255, 255, 255, .14); }
.iwin-ai .iwin-ai-close:hover { transform: rotate(90deg); }
.iwin-ai .iwin-ai-icon:focus-visible { outline: 2px solid var(--ai-laiton); outline-offset: -2px; }

/* Fil de discussion */
.iwin-ai-log { display: flex; flex-direction: column; gap: 14px; min-height: 0; padding: 20px 18px 8px; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; scrollbar-gutter: stable; }
.iwin-ai-log::-webkit-scrollbar { width: 10px; }
.iwin-ai-log::-webkit-scrollbar-track { background: rgba(107, 31, 50, .06); border-radius: 10px; }
.iwin-ai-log::-webkit-scrollbar-thumb { background: rgba(107, 31, 50, .38); border: 2px solid transparent; background-clip: padding-box; border-radius: 10px; }
.iwin-ai-log::-webkit-scrollbar-thumb:hover { background: rgba(107, 31, 50, .7); border: 2px solid transparent; background-clip: padding-box; }
@supports not selector(::-webkit-scrollbar) { .iwin-ai-log { scrollbar-width: thin; scrollbar-color: rgba(107, 31, 50, .45) rgba(107, 31, 50, .06); } }
.iwin-ai-msg { display: grid; gap: 10px; max-width: 88%; animation: iwin-ai-rise .6s var(--ai-ease) both; }
.iwin-ai-msg[data-role="user"] { align-self: flex-end; }
.iwin-ai-msg[data-role="assistant"] { align-self: flex-start; }
@keyframes iwin-ai-rise { from { opacity: 0; transform: translateY(14px) scale(.97); filter: blur(4px); } }
.iwin-ai-bubble { padding: 12px 16px; border-radius: 20px; font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; }
.iwin-ai-msg[data-role="assistant"] .iwin-ai-bubble { color: var(--ai-encre); background: var(--ai-blanc); border: 1px solid var(--ai-trait); border-bottom-left-radius: 6px; box-shadow: 0 8px 22px -16px rgba(43, 10, 19, .5); }
.iwin-ai-msg[data-role="user"] .iwin-ai-bubble { color: #FFF; background: linear-gradient(135deg, #7A2A40, #6B1F32 45%, #4A1323); border-bottom-right-radius: 6px; box-shadow: 0 10px 22px -14px rgba(107, 31, 50, .9); }
.iwin-ai-bubble p { margin: 0; color: inherit; font-size: inherit; line-height: inherit; }
.iwin-ai-bubble p + p, .iwin-ai-bubble p + ul, .iwin-ai-bubble ul + p { margin-top: 8px; }
.iwin-ai-bubble ul { margin: 0; padding: 0 0 0 18px; list-style: disc; }
.iwin-ai-bubble li { margin: 3px 0; color: inherit; font-size: inherit; line-height: inherit; }
.iwin-ai-bubble strong { font-weight: 700; color: var(--ai-bordeaux); }
.iwin-ai-bubble .w { display: inline-block; animation: iwin-ai-word .5s var(--ai-ease) both; }
@keyframes iwin-ai-word { from { opacity: 0; transform: translateY(6px); filter: blur(3px); } }

/* Changement de page ou de machine en cours de discussion */
.iwin-ai-sep { display: flex; align-items: center; gap: 10px; margin: 4px 0; font-size: 11.5px; font-weight: 600; line-height: 1.35; text-align: center; color: var(--ai-bordeaux); animation: iwin-ai-rise .6s var(--ai-ease) both; }
.iwin-ai-sep::before, .iwin-ai-sep::after { content: ''; flex: 1; min-width: 12px; height: 1px; background: linear-gradient(90deg, transparent, rgba(201, 168, 106, .8)); }
.iwin-ai-sep::after { transform: scaleX(-1); }
.iwin-ai-sep span { max-width: 78%; padding: 4px 12px; border: 1px solid rgba(201, 168, 106, .6); border-radius: 999px; background: rgba(255, 255, 255, .7); }

/* Points d'attente */
.iwin-ai-dots { display: flex; align-items: center; gap: 6px; padding: 16px 18px; }
.iwin-ai-dots i { width: 8px; height: 8px; border-radius: 50%; background: linear-gradient(135deg, #C9A86A, #6B1F32); animation: iwin-ai-dot 1.2s ease-in-out infinite; }
.iwin-ai-dots i:nth-child(2) { animation-delay: .15s; }
.iwin-ai-dots i:nth-child(3) { animation-delay: .3s; }
@keyframes iwin-ai-dot { 0%, 60%, 100% { transform: translateY(0) scale(.8); opacity: .45; } 30% { transform: translateY(-7px) scale(1.15); opacity: 1; } }

/* Vignettes */
.iwin-ai-cards { display: grid; gap: 8px; }
.iwin-ai .iwin-ai-card {
	display: grid; grid-template-columns: 76px 1fr auto; align-items: center; gap: 12px; padding: 8px 12px 8px 8px; border: 1px solid var(--ai-trait); border-radius: 18px;
	color: var(--ai-encre); background: var(--ai-blanc); text-decoration: none; animation: iwin-ai-card .7s var(--ai-ease) both;
	transition: transform .45s var(--ai-ease), border-color .3s, box-shadow .45s var(--ai-ease);
}
.iwin-ai .iwin-ai-card:hover { transform: translateY(-2px); border-color: var(--ai-laiton); box-shadow: 0 16px 30px -18px rgba(107, 31, 50, .7); color: var(--ai-encre); }
.iwin-ai .iwin-ai-card:focus-visible { outline: 2px solid var(--ai-laiton); outline-offset: 2px; }
@keyframes iwin-ai-card { from { opacity: 0; transform: translateX(26px); } }
.iwin-ai-card-img { display: grid; place-items: center; width: 76px; height: 76px; overflow: hidden; border-radius: 12px; color: var(--ai-laiton); background: var(--ai-ivoire); }
.iwin-ai-card-img img { width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .7s var(--ai-ease); }
.iwin-ai-card[data-type="product"] .iwin-ai-card-img img { object-fit: contain; padding: 6px; mix-blend-mode: multiply; }
.iwin-ai-card:hover .iwin-ai-card-img img { transform: scale(1.08); }
.iwin-ai-card-txt { display: grid; gap: 2px; min-width: 0; }
.iwin-ai-card-txt small { font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ai-bordeaux); }
.iwin-ai-card-txt b { font-size: 14px; font-weight: 700; line-height: 1.3; color: var(--ai-nuit); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.iwin-ai-card-txt span { font-size: 12.5px; color: var(--ai-gris); }
.iwin-ai-card-go { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; color: var(--ai-bordeaux); background: var(--ai-ivoire); transition: transform .45s var(--ai-ease), background-color .3s, color .3s; }
.iwin-ai-card-go svg { width: 16px; height: 16px; }
.iwin-ai-card:hover .iwin-ai-card-go { transform: translateX(3px); color: #FFF; background: var(--ai-bordeaux); }
.iwin-ai-acts { display: flex; flex-wrap: wrap; gap: 8px; animation: iwin-ai-card .7s var(--ai-ease) both; }
.iwin-ai-acts .iwin-ai-act { flex: 1 1 160px; }
.iwin-ai-acts .iwin-ai-act-devis { color: #FFF; background: var(--ai-bordeaux); }
.iwin-ai-acts .iwin-ai-act-devis:hover { color: #FFF; background: var(--ai-nuit); }

/* Rappel : WhatsApp ou devis si le conseiller ne suffit pas */
.iwin-ai-help { display: grid; gap: 10px; padding: 14px; border: 1px dashed rgba(107, 31, 50, .3); border-radius: 18px; background: rgba(255, 255, 255, .55); animation: iwin-ai-rise .6s var(--ai-ease) .1s both; }
.iwin-ai .iwin-ai-help-txt { margin: 0; font-size: 13px; line-height: 1.5; color: var(--ai-gris); }
.iwin-ai-help .iwin-ai-acts { animation: none; }
.iwin-ai-help .iwin-ai-act { min-height: 42px; font-size: 13.5px; }
@media (min-width: 761px) { .iwin-ai[data-mode="product"] .iwin-ai-help .iwin-ai-acts { display: none; } }

/* Suggestions */
.iwin-ai-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 6px 18px 4px; }
.iwin-ai-chips:empty { display: none; }
.iwin-ai .iwin-ai-chip { min-height: 38px; padding: 8px 14px; border: 1px solid rgba(107, 31, 50, .28); border-radius: 999px; cursor: pointer; font-size: 13px; font-weight: 600; line-height: 1.25; text-align: left; color: var(--ai-bordeaux); background: rgba(255, 255, 255, .7); animation: iwin-ai-rise .6s var(--ai-ease) both; transition: background-color .3s, color .3s, transform .4s var(--ai-ease), border-color .3s; }
.iwin-ai .iwin-ai-chip:nth-child(2) { animation-delay: .08s; }
.iwin-ai .iwin-ai-chip:nth-child(3) { animation-delay: .16s; }
.iwin-ai .iwin-ai-chip:hover { color: #FFF; background: var(--ai-bordeaux); border-color: var(--ai-bordeaux); transform: translateY(-2px); }
.iwin-ai .iwin-ai-chip:focus-visible { outline: 2px solid var(--ai-laiton); outline-offset: 2px; }

/* Saisie */
.iwin-ai-form { position: relative; display: flex; align-items: flex-end; gap: 8px; margin: 10px 14px 0; padding: 6px 6px 6px 18px; border: 1.5px solid transparent; border-radius: 26px; background: linear-gradient(#FFF, #FFF) padding-box, linear-gradient(135deg, rgba(107, 31, 50, .25), rgba(201, 168, 106, .5)) border-box; transition: box-shadow .4s var(--ai-ease); }
.iwin-ai-form:focus-within { background: linear-gradient(#FFF, #FFF) padding-box, conic-gradient(from var(--iwin-ai-a), #C9A86A, #6B1F32, #F1DDB0, #6B1F32, #C9A86A) border-box; box-shadow: 0 14px 30px -18px rgba(107, 31, 50, .7); animation: iwin-ai-turn 4s linear infinite; }
.iwin-ai .iwin-ai-input { flex: 1; min-width: 0; max-height: 120px; padding: 10px 0; border: 0; outline: 0; resize: none; box-shadow: none; font-size: 16px; line-height: 1.45; color: var(--ai-encre); background: transparent; }
.iwin-ai .iwin-ai-input::placeholder { color: #9A8D91; opacity: 1; }
.iwin-ai .iwin-ai-send { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; cursor: pointer; flex: none; color: #FFF; background: linear-gradient(135deg, #7A2A40, #4A1323); transition: transform .4s var(--ai-ease), opacity .3s, box-shadow .4s var(--ai-ease); }
.iwin-ai .iwin-ai-send:hover:not(:disabled) { transform: scale(1.08) rotate(-12deg); box-shadow: 0 10px 20px -8px rgba(107, 31, 50, .9); }
.iwin-ai .iwin-ai-send:disabled { opacity: .4; cursor: default; }
.iwin-ai .iwin-ai-send:focus-visible { outline: 2px solid var(--ai-laiton); outline-offset: 2px; }
.iwin-ai .iwin-ai-send.is-sent svg { animation: iwin-ai-fly .6s var(--ai-ease); }
@keyframes iwin-ai-fly { 40% { transform: translate(14px, -14px); opacity: 0; } 41% { transform: translate(-14px, 14px); opacity: 0; } }
.iwin-ai-legal { margin: 0; padding: 8px 20px 12px; font-size: 11px; line-height: 1.4; text-align: center; color: var(--ai-gris); }

/* Entrée en scène de la fenêtre produit */
.iwin-ai[data-mode="product"][data-open="true"] .iwin-ai-stage { animation: iwin-ai-stage 1s var(--ai-ease) .25s both; }
.iwin-ai[data-mode="product"][data-open="true"] .iwin-ai-side-txt { animation: iwin-ai-rise .8s var(--ai-ease) .45s both; }
.iwin-ai[data-mode="product"][data-open="true"] .iwin-ai-side-actions { animation: iwin-ai-rise .8s var(--ai-ease) .6s both; }
.iwin-ai[data-mode="product"][data-open="true"] .iwin-ai-head { animation: iwin-ai-rise .8s var(--ai-ease) .3s both; }
.iwin-ai[data-mode="product"][data-open="true"] .iwin-ai-form { animation: iwin-ai-rise .8s var(--ai-ease) .55s both; }
@keyframes iwin-ai-stage { from { opacity: 0; transform: scale(.6) rotate(-14deg); } }

/* Téléphone */
@media (max-width: 760px) {
	.iwin-ai[data-mode] .iwin-ai-win { inset: 0; left: 0; top: 0; right: 0; bottom: 0; width: 100%; height: 100%; border-radius: 0; transform: none; }
	.iwin-ai[data-mode="float"] .iwin-ai-win { transform: translateY(40px); }
	.iwin-ai[data-mode="float"][data-open="true"] .iwin-ai-win { transform: none; }
	.iwin-ai[data-mode="product"] .iwin-ai-win { grid-template-columns: 1fr; grid-template-rows: auto 1fr; }
	.iwin-ai-side { flex-direction: row; align-items: center; gap: 12px; padding: max(12px, env(safe-area-inset-top)) 16px 12px; }
	.iwin-ai-stage { width: 58px; margin: 0; flex: none; }
	.iwin-ai-side-txt { min-width: 0; flex: 1; }
	.iwin-ai-side-eyebrow { font-size: 10px; }
	.iwin-ai-side-title { margin: 0; font-size: 14.5px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
	.iwin-ai-side-ref, .iwin-ai-side-actions { display: none; }
	.iwin-ai[data-mode="float"] .iwin-ai-head { padding-top: max(16px, env(safe-area-inset-top)); }
	.iwin-ai-legal { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
	.iwin-ai-msg { max-width: 94%; }
	.iwin-ai-launcher.is-large .iwin-ai-launcher-txt { max-width: 170px; }
}

@media (prefers-reduced-motion: reduce) {
	.iwin-ai *, .iwin-ai *::before, .iwin-ai *::after, .iwin-ai-cta *, .iwin-ai-cta *::before, .iwin-ai-cta *::after, .iwin-ai-launcher { animation: none !important; transition-duration: .01s !important; }
	.iwin-ai[data-mode="product"] .iwin-ai-win { clip-path: none; opacity: 0; transition: opacity .2s; }
	.iwin-ai[data-mode="product"][data-open="true"] .iwin-ai-win { clip-path: none; opacity: 1; }
}
