.aisc, .aisc * { box-sizing: border-box; }
.aisc {
	--aisc-color: #5B0E76;
	--aisc-color-dark: color-mix(in srgb, var(--aisc-color) 80%, black);
	--aisc-on-color: #ffffff;
	--aisc-tint: color-mix(in srgb, var(--aisc-color) 12%, white);
	--aisc-bg: #ffffff;
	--aisc-text: #1a1523;
	--aisc-muted: #98939f;
	--aisc-line: #ece9f1;
	--aisc-bot: #f1eef6;
	--aisc-wa: #25D366;
	--aisc-wa-dark: #1ebe5d;
	--aisc-shadow: 0 16px 40px rgba(20, 24, 33, .16), 0 4px 12px rgba(20, 24, 33, .08);
	position: fixed; bottom: 20px; z-index: 99999;
	font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--aisc-text);
}
.aisc-right { right: 20px; }
.aisc-left { left: 20px; }

/* ---- reset: neutralize the host theme's own <button>/<input> styling ----
   Many WordPress/page-builder themes style form elements globally, sometimes
   with !important. #aisc-root (an ID) outranks almost any theme selector, so
   this strips the theme's look before our own classes below repaint it. */
#aisc-root button,
#aisc-root input,
#aisc-root textarea {
	all: unset !important;
	box-sizing: border-box !important;
	font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif !important;
}
#aisc-root button { cursor: pointer !important; }
#aisc-root button, #aisc-root input, #aisc-root textarea { -webkit-appearance: none !important; appearance: none !important; }

/* ---- launcher ---- */
#aisc-root .aisc-launcher {
	position: relative !important; display: flex !important; align-items: center !important; justify-content: center !important;
	width: 60px !important; height: 60px !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important;
	background: var(--aisc-color) !important; color: var(--aisc-on-color) !important;
	box-shadow: var(--aisc-shadow) !important;
	transition: transform .18s ease, box-shadow .18s ease;
}
.aisc-launcher:hover { transform: scale(1.06); box-shadow: 0 20px 46px rgba(20, 24, 33, .22), 0 6px 16px rgba(20, 24, 33, .1); }
.aisc-launcher:active { transform: scale(.97); }
.aisc-right .aisc-launcher { margin-left: auto; }
.aisc-launcher:focus-visible, .aisc button:focus-visible, .aisc input:focus-visible, .aisc textarea:focus-visible,
#aisc-root a.aisc-foot-btn:focus-visible, #aisc-root a.aisc-btn-wa:focus-visible {
	outline: 2px solid var(--aisc-color); outline-offset: 2px;
}
.aisc-launcher .aisc-ic { position: absolute; transition: opacity .15s ease, transform .2s ease; }
.aisc-launcher .aisc-ic-close { opacity: 0; transform: rotate(-40deg) scale(.6); }
.aisc-launcher[aria-expanded="true"] .aisc-ic-chat { opacity: 0; transform: rotate(40deg) scale(.6); }
.aisc-launcher[aria-expanded="true"] .aisc-ic-close { opacity: 1; transform: rotate(0) scale(1); }
.aisc-dot {
	position: absolute; top: 2px; right: 2px; width: 13px; height: 13px; border-radius: 50%;
	background: #22c55e; border: 2px solid var(--aisc-bg);
}

/* ---- panel ---- */
.aisc-panel {
	position: absolute; bottom: 74px; width: 380px; max-width: calc(100vw - 32px);
	height: 600px; max-height: calc(100vh - 120px);
	display: flex; flex-direction: column; overflow: hidden;
	background: var(--aisc-bg); border-radius: 20px;
	box-shadow: var(--aisc-shadow);
	transform-origin: bottom right;
	animation: aisc-pop .18s ease;
	/* Keep scroll inside the widget — do not scroll the page behind */
	overscroll-behavior: contain;
	touch-action: pan-y;
}
/* When the chat is open, lock page scroll (class toggled from chat.js) */
body.aisc-scroll-lock {
	overflow: hidden !important;
	overscroll-behavior: none !important;
	touch-action: none !important;
}
.aisc-left .aisc-panel { transform-origin: bottom left; }
@keyframes aisc-pop { from { opacity: 0; transform: translateY(10px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
.aisc-panel[hidden], .aisc [hidden],
#aisc-root .aisc-form[hidden],
#aisc-root .aisc-foot[hidden],
#aisc-root .aisc-msgs[hidden],
#aisc-root .aisc-history-panel[hidden],
#aisc-root .aisc-home[hidden],
#aisc-root .aisc-head[hidden],
#aisc-root .aisc-lead[hidden] { display: none !important; }
.aisc-right .aisc-panel { right: 0; }
.aisc-left .aisc-panel { left: 0; }

/* ---- header ---- */
/* Clean white top bar with a purple avatar chip, matching the reference chat screen. */
.aisc-head {
	flex: none; display: flex; align-items: center; gap: 12px;
	padding: 14px 14px; background: var(--aisc-bg);
	color: var(--aisc-text); border-bottom: 1px solid var(--aisc-line);
}
.aisc-avatar {
	flex: none; display: flex; align-items: center; justify-content: center;
	width: 38px; height: 38px; border-radius: 50%;
	background: var(--aisc-color); color: var(--aisc-on-color);
}
.aisc-avatar svg { width: 20px; height: 20px; display: block; fill: currentColor; }
.aisc-title { flex: 1; display: flex; flex-direction: column; min-width: 0; gap: 1px; }
.aisc-title strong { font-size: 15.5px; font-weight: 700; line-height: 1.25; color: var(--aisc-text); }
.aisc-status {
	display: inline-flex; align-items: center; gap: 5px;
	font-size: 11.5px; font-weight: 500; color: var(--aisc-muted);
}
.aisc-status i { width: 6px; height: 6px; border-radius: 50%; background: #22c55e; flex: none; }
/* "Lively" pulse shown once a human teammate has joined the conversation. */
.aisc-status i.aisc-status-live { animation: aisc-live-pulse 1.6s ease-out infinite; }
@keyframes aisc-live-pulse {
	0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, .55); }
	70% { box-shadow: 0 0 0 5px rgba(34, 197, 94, 0); }
	100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
}
#aisc-root .aisc-head-actions {
	flex: none; display: flex; align-items: center; gap: 4px; min-width: 0;
}
#aisc-root .aisc-head-actions > * { flex: none; }
#aisc-root .aisc-close,
#aisc-root .aisc-head-btn {
	flex: none !important; width: 30px !important; height: 30px !important; padding: 0 !important; border: 0 !important; border-radius: 8px !important;
	display: flex !important; align-items: center !important; justify-content: center !important;
	background: transparent !important; color: var(--aisc-muted) !important;
}
.aisc-close svg, .aisc-head-btn svg { width: 18px; height: 18px; display: block; fill: none; stroke: currentColor; }
.aisc-close:hover, .aisc-head-btn:hover { background: var(--aisc-bot); color: var(--aisc-text); }
.aisc-history-btn svg { width: 17px; height: 17px; }

/* ---- messages ---- */
.aisc-msgs {
	flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 3px; background: var(--aisc-bg);
	overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
}
.aisc-row { display: flex; align-items: flex-end; gap: 8px; margin: 5px 0; max-width: 88%; }
.aisc-row-bot { align-self: flex-start; }
.aisc-row-user { align-self: flex-end; flex-direction: row-reverse; }
.aisc-row .aisc-avatar { width: 26px; height: 26px; background: var(--aisc-color); color: var(--aisc-on-color); }
.aisc-row .aisc-avatar svg { width: 14px; height: 14px; }
.aisc-row-agent .aisc-avatar { background: #eaf7ee; color: #1f8a49; }
.aisc-msg-wrap { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.aisc-row-bot .aisc-msg-wrap, .aisc-row-agent .aisc-msg-wrap { align-items: flex-start; }
.aisc-row-user .aisc-msg-wrap { align-items: flex-end; }
.aisc-sender { font-size: 11px; font-weight: 700; color: #1f8a49; padding-left: 2px; }
.aisc-msg {
	padding: 11px 14px; border-radius: 18px; white-space: pre-wrap; overflow-wrap: anywhere;
	font-size: 14.5px; line-height: 1.45;
}
.aisc-row-bot .aisc-msg { background: var(--aisc-bot); color: var(--aisc-text); border-bottom-left-radius: 4px; }
.aisc-row-agent .aisc-msg { background: #eaf7ee; color: #14532d; border-bottom-left-radius: 4px; }
.aisc-row-user .aisc-msg { background: var(--aisc-color); color: var(--aisc-on-color); border-bottom-right-radius: 4px; }
.aisc-msg a { color: inherit; text-decoration: underline; }
.aisc-msg strong { font-weight: 700; }
.aisc-time { font-size: 11px; color: var(--aisc-muted); padding: 0 4px; }

.aisc-typing-row { align-self: flex-start; }
.aisc-typing { display: flex; align-items: center; gap: 4px; padding: 13px 14px; background: var(--aisc-bot); border-radius: 18px; border-bottom-left-radius: 4px; }
.aisc-typing i { width: 6px; height: 6px; border-radius: 50%; background: var(--aisc-muted); animation: aisc-blink 1s infinite ease-in-out; }
.aisc-typing i:nth-child(2) { animation-delay: .15s; }
.aisc-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes aisc-blink { 0%, 80%, 100% { opacity: .25; } 40% { opacity: 1; } }

/* ---- composer ---- */
/* Full pill shape, light fill; the send button sits outside the pill as a solid circle. */
#aisc-root .aisc-form {
	flex: none !important; display: flex !important; align-items: center !important; gap: 6px !important; margin: 0 14px 10px !important;
	padding: 4px 4px 4px 6px !important; border: 1px solid var(--aisc-line) !important; border-radius: 999px !important; background: var(--aisc-bot) !important;
}
.aisc-form:focus-within { border-color: var(--aisc-color) !important; background: var(--aisc-bg) !important; box-shadow: 0 0 0 3px var(--aisc-tint); }
#aisc-root .aisc-input {
	flex: 1 !important; min-width: 0 !important; padding: 9px 0 !important; color: var(--aisc-text) !important;
	background: transparent !important; border: 0 !important;
}
.aisc-input::placeholder { color: var(--aisc-muted); opacity: 1; }
.aisc-input:focus { outline: 0; }
#aisc-root .aisc-send {
	flex: none !important; display: flex !important; align-items: center !important; justify-content: center !important;
	width: 36px !important; height: 36px !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important;
	background: var(--aisc-color) !important; color: var(--aisc-on-color) !important;
	transition: filter .12s ease, transform .12s ease;
}
.aisc-send svg { width: 16px; height: 16px; display: block; fill: currentColor; }
.aisc-send:hover { filter: brightness(1.1); }
.aisc-send:active { transform: scale(.94); }
.aisc-send:disabled { opacity: .5; cursor: default; }

#aisc-root .aisc-btn {
	padding: 10px 16px !important; border: 0 !important; border-radius: 10px !important; font-weight: 600 !important; font-size: 13px !important;
	background: var(--aisc-color) !important; color: var(--aisc-on-color) !important;
	display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important;
	text-decoration: none !important; cursor: pointer !important;
}
.aisc-btn:hover { filter: brightness(1.08); }
.aisc-btn:disabled { opacity: .6; cursor: default; }
.aisc-inline { align-self: flex-start; margin: 4px 0 4px 32px; }
#aisc-root .aisc-btn-wa,
#aisc-root a.aisc-btn-wa {
	background: var(--aisc-wa) !important; color: #fff !important;
}
#aisc-root .aisc-btn-wa:hover,
#aisc-root a.aisc-btn-wa:hover { background: var(--aisc-wa-dark) !important; filter: none; }

/* ---- footer action buttons (physical, not text links) ---- */
.aisc-foot {
	flex: none;
	padding: 2px 14px 12px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
#aisc-root .aisc-foot-btn,
#aisc-root a.aisc-foot-btn {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	width: 100% !important;
	min-height: 44px !important;
	padding: 11px 14px !important;
	border: 0 !important;
	border-radius: 12px !important;
	font-weight: 650 !important;
	font-size: 13.5px !important;
	line-height: 1.2 !important;
	letter-spacing: .01em !important;
	text-decoration: none !important;
	text-align: center !important;
	cursor: pointer !important;
	box-shadow: 0 1px 2px rgba(20, 24, 33, .14) !important;
	transition: filter .12s ease, transform .12s ease, background .12s ease;
}
#aisc-root .aisc-foot-btn-order {
	background: var(--aisc-color) !important;
	color: var(--aisc-on-color) !important;
}
#aisc-root .aisc-foot-btn-leave {
	background: var(--aisc-bot) !important;
	color: var(--aisc-text) !important;
}
#aisc-root .aisc-foot-btn-wa,
#aisc-root a.aisc-foot-btn-wa {
	background: var(--aisc-wa) !important;
	color: #fff !important;
}
#aisc-root .aisc-foot-btn:hover { filter: brightness(1.07); }
#aisc-root .aisc-foot-btn-wa:hover,
#aisc-root a.aisc-foot-btn-wa:hover { background: var(--aisc-wa-dark) !important; filter: none; }
#aisc-root .aisc-foot-btn:active { transform: scale(.985); }
.aisc-foot-ic {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 18px !important;
	height: 18px !important;
	flex: none !important;
}
.aisc-foot-ic svg { width: 18px; height: 18px; display: block; }

#aisc-root .aisc-link {
	padding: 4px 8px !important; border: 0 !important; background: none !important; font-size: 12px !important;
	color: var(--aisc-muted) !important; border-radius: 6px !important;
}
.aisc-link:hover { color: var(--aisc-text) !important; background: var(--aisc-bot) !important; }

/* Back control used in Past chats list + thread headers */
#aisc-root .aisc-back-btn {
	flex: none !important; display: inline-flex !important; align-items: center !important; gap: 4px !important;
	padding: 6px 10px 6px 6px !important; margin: 0 !important; border: 0 !important; border-radius: 8px !important;
	background: transparent !important; color: var(--aisc-muted) !important;
	font-size: 13px !important; font-weight: 600 !important; line-height: 1 !important;
	cursor: pointer !important;
}
#aisc-root .aisc-back-btn:hover {
	color: var(--aisc-text) !important; background: var(--aisc-bot) !important;
}
#aisc-root .aisc-back-btn .aisc-foot-ic {
	display: inline-flex !important; align-items: center !important; justify-content: center !important;
	width: 18px !important; height: 18px !important; flex: none !important;
}
#aisc-root .aisc-back-btn .aisc-foot-ic svg {
	width: 16px !important; height: 16px !important; display: block !important;
}

/* ---- past chats ---- */
.aisc-history-panel { flex: 1; overflow: hidden; display: flex; flex-direction: column; min-height: 0; }
.aisc-history-list-wrap, .aisc-history-thread-wrap { flex: 1; min-height: 0; display: flex; flex-direction: column; overflow: hidden; }
.aisc-history-head {
	flex: none; display: flex; align-items: center; gap: 6px;
	padding: 10px 12px; border-bottom: 1px solid var(--aisc-line);
}
.aisc-history-head strong {
	flex: 1; font-size: 13.5px; font-weight: 700; color: var(--aisc-text);
	min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.aisc-history-list {
	flex: 1; overflow-y: auto; padding: 10px 12px; display: flex; flex-direction: column; gap: 8px;
	overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
}
#aisc-root .aisc-history-item {
	display: block !important; width: 100% !important; text-align: left !important;
	padding: 11px 13px !important; border: 1px solid var(--aisc-line) !important; border-radius: 12px !important;
	background: #fff !important; cursor: pointer !important;
}
#aisc-root .aisc-history-item:hover { background: var(--aisc-bot) !important; border-color: var(--aisc-line) !important; }
.aisc-history-item-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.aisc-history-item-date { font-size: 11.5px; font-weight: 600; color: var(--aisc-muted); }
.aisc-badge-resolved {
	font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em;
	padding: 2px 7px; border-radius: 999px; background: var(--aisc-bot); color: var(--aisc-muted);
}
.aisc-history-item-preview { font-size: 13px; color: var(--aisc-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aisc-history-thread {
	flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 3px;
	overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
}

/* ---- lead / order forms ---- */
.aisc-lead {
	flex: 1; overflow-y: auto; padding: 18px 16px; display: flex; flex-direction: column; gap: 12px;
	overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
}
.aisc-field { display: flex; flex-direction: column; gap: 5px; font-size: 12.5px; font-weight: 600; color: var(--aisc-muted); }
#aisc-root .aisc-field input, #aisc-root .aisc-field textarea {
	padding: 10px 12px !important; font-size: 14px !important; font-weight: 400 !important; color: var(--aisc-text) !important;
	background: #fff !important; border: 1px solid var(--aisc-line) !important; border-radius: 10px !important; resize: vertical;
	display: block !important; width: 100% !important;
}
.aisc-field input:focus, .aisc-field textarea:focus { outline: 0; border-color: var(--aisc-color) !important; box-shadow: 0 0 0 3px var(--aisc-tint); }
.aisc-lead-row { display: flex; align-items: center; gap: 12px; }
.aisc-hint { margin: 0; font-size: 12.5px; color: var(--aisc-muted); }
.aisc-err { margin: 0; padding: 9px 11px; border-radius: 10px; font-size: 12.5px; color: #991b1b; background: #fef2f2; }

/* ---- home / landing screen ---- */
.aisc-home {
	flex: 1; min-height: 0; display: flex; flex-direction: column;
	background: #ffffff; overflow: hidden;
	position: relative;
}
/* Soft purple wash behind the whole home view (faded Chatway-style header) */
.aisc-home::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 480px;
    background: linear-gradient(
        180deg,
        #690b78 0%,
        #702080 35%,
        #844493 45%,
        #d6bfd9 65%,
        #f3eaf5 85%,
        #ffffff 100%
    );
    pointer-events: none;
    z-index: 0;
}
.aisc-home-banner {
	flex: none; position: relative; z-index: 1;
	background: transparent; color: var(--aisc-on-color);
	padding: 14px 18px 36px;
}
.aisc-home-banner-top {
	display: flex; justify-content: flex-end; margin-bottom: 18px;
}
#aisc-root .aisc-home-close {
	width: 34px !important; height: 34px !important; padding: 0 !important; border: 0 !important;
	border-radius: 10px !important; display: flex !important; align-items: center !important; justify-content: center !important;
	background: rgba(255,255,255,.12) !important; color: rgba(255,255,255,.95) !important;
	backdrop-filter: blur(6px);
}
#aisc-root .aisc-home-close:hover { background: rgba(255,255,255,.22) !important; }
.aisc-home-close svg { width: 18px; height: 18px; display: block; stroke: currentColor; fill: none; }
.aisc-home-title {
	color: #fff; margin: 0; padding: 0 2px; max-width: 16ch;
	font-size: 28px; font-weight: 700; line-height: 1.22;
	letter-spacing: -0.03em;
	text-shadow: 0 1px 12px rgba(0,0,0,.12);
}
.aisc-home-body {
	flex: 1; min-height: 0; overflow-y: auto; padding: 0 14px 18px;
	margin-top: -18px; position: relative; z-index: 1;
	overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
}
.aisc-home-card {
	background: #fff; border-radius: 20px; padding: 18px 16px 16px;
	box-shadow: 0 12px 32px rgba(20, 24, 33, .12), 0 2px 8px rgba(91, 14, 118, .06);
}
.aisc-home-card-top {
	display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px;
}
.aisc-home-avatars { display: flex; align-items: center; }
.aisc-home-av {
	width: 44px; height: 44px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
	background: var(--aisc-color); color: #fff; border: 3px solid #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,.08);
}
.aisc-home-av svg { width: 22px; height: 22px; display: block; fill: currentColor; }
.aisc-home-online {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 10px; border-radius: 999px; background: #e8f8ee;
	font-size: 11.5px; font-weight: 700; color: #15803d; text-transform: uppercase; letter-spacing: .03em;
}
.aisc-home-online i {
	width: 7px; height: 7px; border-radius: 50%; background: #22c55e; flex: none;
}
.aisc-home-preview {
	margin: 0 0 4px; font-size: 14.5px; font-weight: 500; color: var(--aisc-text);
	line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.aisc-home-ago {
	margin: 0 0 16px; font-size: 12.5px; color: var(--aisc-muted);
}
#aisc-root .aisc-home-go {
	display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important;
	width: 100% !important; padding: 13px 16px !important; border: 0 !important; border-radius: 12px !important;
	background: var(--aisc-color) !important; color: var(--aisc-on-color) !important;
	font-size: 14.5px !important; font-weight: 650 !important; text-decoration: none !important;
}
#aisc-root .aisc-home-go:hover { filter: brightness(1.06); }
#aisc-root .aisc-home-go .aisc-foot-ic {
	width: 18px !important; height: 18px !important; display: inline-flex !important;
}
#aisc-root .aisc-home-go .aisc-foot-ic svg { width: 18px; height: 18px; display: block; stroke: currentColor; fill: none; }

#aisc-root .aisc-home-track {
	display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important;
	width: 100% !important; margin-top: 10px !important; padding: 12px 16px !important;
	border: 1.5px solid var(--aisc-color) !important; border-radius: 12px !important;
	background: #fff !important; color: var(--aisc-color) !important;
	font-size: 14px !important; font-weight: 650 !important; text-decoration: none !important;
}
#aisc-root .aisc-home-track:hover { background: var(--aisc-tint) !important; }
#aisc-root .aisc-home-track .aisc-foot-ic {
	width: 18px !important; height: 18px !important; display: inline-flex !important;
}
#aisc-root .aisc-home-track .aisc-foot-ic svg { width: 18px; height: 18px; display: block; stroke: currentColor; fill: none; }

.aisc-home-channels { margin-top: 16px; }
.aisc-home-section-title {
	font-size: 13px; font-weight: 700; color: var(--aisc-muted);
	text-transform: uppercase; letter-spacing: .04em;
	margin: 0 0 8px 4px;
}
.aisc-home-channels-list {
	background: #fff; border-radius: 14px; overflow: hidden;
	box-shadow: 0 4px 16px rgba(20, 24, 33, .06);
}
#aisc-root a.aisc-home-channel {
	display: flex !important; align-items: center !important; gap: 12px !important;
	width: 100% !important; padding: 14px 16px !important; border: 0 !important;
	background: #fff !important; color: var(--aisc-text) !important;
	font-size: 14px !important; font-weight: 600 !important; text-decoration: none !important;
	border-bottom: 1px solid var(--aisc-line) !important;
}
#aisc-root a.aisc-home-channel:last-child { border-bottom: 0 !important; }
#aisc-root a.aisc-home-channel:hover { background: var(--aisc-bot) !important; }
#aisc-root a.aisc-home-channel .aisc-foot-ic {
	width: 36px !important; height: 36px !important; border-radius: 50% !important;
	display: inline-flex !important; align-items: center !important; justify-content: center !important;
	background: #e8f8ee !important; color: var(--aisc-wa) !important; flex: none !important;
}
#aisc-root a.aisc-home-channel .aisc-foot-ic svg { width: 20px; height: 20px; display: block; fill: currentColor; }

.aisc-home-past { margin-top: 14px; }
#aisc-root .aisc-home-past-toggle {
	display: flex !important; align-items: center !important; gap: 10px !important;
	width: 100% !important; padding: 12px 4px !important; border: 0 !important; border-radius: 10px !important;
	background: transparent !important; color: var(--aisc-text) !important;
	font-size: 14.5px !important; font-weight: 650 !important;
}
#aisc-root .aisc-home-past-toggle:hover { background: rgba(0,0,0,.04) !important; }
.aisc-home-past-icon {
	width: 36px; height: 36px; border-radius: 50%; background: #ebe4f3; color: var(--aisc-color);
	display: flex; align-items: center; justify-content: center; flex: none;
}
.aisc-home-past-icon svg { width: 18px; height: 18px; display: block; stroke: currentColor; fill: none; }
.aisc-home-past-label { flex: 1; text-align: left; }
.aisc-home-past-chevron {
	width: 20px; height: 20px; color: var(--aisc-muted);
	transition: transform .18s ease; display: flex; align-items: center; justify-content: center;
}
.aisc-home-past-chevron svg { width: 18px; height: 18px; display: block; }
.aisc-home-past-toggle.aisc-open .aisc-home-past-chevron { transform: rotate(180deg); }

.aisc-home-past-list {
	display: flex; flex-direction: column; gap: 2px;
	background: #fff; border-radius: 14px; overflow: hidden;
	box-shadow: 0 4px 16px rgba(20, 24, 33, .06);
	margin-top: 4px;
}
#aisc-root .aisc-home-past-item {
	display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 10px !important;
	width: 100% !important; padding: 12px 14px !important; border: 0 !important; border-bottom: 1px solid var(--aisc-line) !important;
	background: #fff !important; text-align: left !important; border-radius: 0 !important;
}
#aisc-root .aisc-home-past-item:last-child { border-bottom: 0 !important; }
#aisc-root .aisc-home-past-item:hover { background: var(--aisc-bot) !important; }
.aisc-home-past-item-main { display: flex; align-items: center; gap: 12px; min-width: 0; flex: 1; }
.aisc-home-past-av {
	width: 36px; height: 36px; border-radius: 50%; flex: none;
	background: var(--aisc-color); color: #fff;
	display: flex; align-items: center; justify-content: center;
}
.aisc-home-past-av svg { width: 18px; height: 18px; display: block; fill: currentColor; }
.aisc-home-past-meta { min-width: 0; flex: 1; }
.aisc-home-past-text {
	font-size: 13.5px; font-weight: 600; color: var(--aisc-text);
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.aisc-home-past-date { font-size: 12px; color: var(--aisc-muted); margin-top: 1px; }
.aisc-home-past-item-chevron {
	flex: none; color: var(--aisc-muted); transform: rotate(180deg);
	display: flex; align-items: center;
}
.aisc-home-past-item-chevron svg { width: 16px; height: 16px; display: block; }

@media (max-width: 480px) {
	.aisc { bottom: 12px; }
	.aisc-right { right: 12px; }
	.aisc-left { left: 12px; }
	.aisc-panel { position: fixed; inset: 0; width: auto; max-width: none; height: auto; max-height: none; border-radius: 0; animation: none; }
}
@media (prefers-reduced-motion: reduce) {
	.aisc-launcher { transition: none; }
	.aisc-panel { animation: none; }
	.aisc-typing i { animation: none; opacity: .6; }
	#aisc-root .aisc-foot-btn { transition: none; }
	.aisc-status i.aisc-status-live { animation: none; }
}


/* Image messages */
.aisc-msg-img {
	display: block;
	max-width: 100%;
	max-height: 220px;
	border-radius: 10px;
	margin: 4px 0;
	cursor: zoom-in;
	object-fit: contain;
	background: rgba(0,0,0,.04);
}
#aisc-root .aisc-attach {
	flex: 0 0 auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	min-height: 36px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: var(--aisc-muted) !important;
	opacity: 1 !important;
	cursor: pointer !important;
	line-height: 0 !important;
	align-self: center !important;
}
#aisc-root .aisc-attach:hover,
#aisc-root .aisc-attach:focus-visible {
	color: var(--aisc-color) !important;
	background: var(--aisc-tint) !important;
	opacity: 1 !important;
}
#aisc-root .aisc-attach:focus-visible {
	outline: 2px solid var(--aisc-color) !important;
	outline-offset: 1px !important;
}
#aisc-root .aisc-attach svg {
	width: 18px !important;
	height: 18px !important;
	display: block !important;
	stroke: currentColor !important;
	fill: none !important;
	flex-shrink: 0 !important;
}
/* Hide native file control — only the paperclip button is visible */
#aisc-root .aisc-file,
#aisc-root input[type="file"].aisc-file,
.aisc-form .aisc-file {
	display: none !important;
	position: absolute !important;
	width: 0 !important;
	height: 0 !important;
	opacity: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
	clip: rect(0, 0, 0, 0) !important;
}

/* Order actions (cancel / note / address) under verified order replies */
#aisc-root .aisc-order-actions {
	margin: 6px 0 10px 32px;
	padding: 10px 12px;
	border-radius: 12px;
	background: rgba(0, 0, 0, 0.04);
	max-width: 92%;
}
#aisc-root .aisc-order-actions-title {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 600;
	opacity: 0.75;
}
#aisc-root .aisc-order-actions-row {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
#aisc-root .aisc-btn-secondary {
	background: #fff !important;
	color: var(--aisc-color, #2563eb) !important;
	border: 1px solid var(--aisc-color, #2563eb);
	box-shadow: none;
}
#aisc-root .aisc-btn-secondary:hover {
	filter: none;
	background: color-mix(in srgb, var(--aisc-color, #2563eb) 10%, #fff) !important;
}
#aisc-root .aisc-order-action-form {
	margin: 6px 0 10px 32px;
	max-width: 92%;
}
#aisc-root .aisc-order-action-form input[type="text"],
#aisc-root .aisc-order-action-form textarea {
	width: 100%;
	margin: 0 0 8px;
	padding: 10px 12px;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 10px;
	font: inherit;
	box-sizing: border-box;
}

/* Read receipts + typing meta */
#aisc-root .aisc-msg-meta {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-top: 2px;
	padding: 0 4px;
}
#aisc-root .aisc-row-user .aisc-msg-meta {
	justify-content: flex-end;
}
#aisc-root .aisc-receipt {
	font-size: 11px;
	opacity: 0.55;
	min-height: 1em;
}
#aisc-root .aisc-receipt-seen {
	opacity: 0.75;
	font-weight: 500;
}

/* Footer action row: order + voice side by side */
#aisc-root .aisc-foot-actions {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}
#aisc-root .aisc-foot-actions-split {
	flex-direction: row;
	align-items: stretch;
	gap: 8px;
}
#aisc-root .aisc-foot-actions-split .aisc-foot-btn {
	flex: 1 1 0 !important;
	width: auto !important;
	min-width: 0 !important;
	padding: 11px 10px !important;
	font-size: 12.5px !important;
}
#aisc-root .aisc-foot-btn-voice {
	background: var(--aisc-color) !important;
	color: var(--aisc-on-color) !important;
	transition: background-color .35s ease, box-shadow .35s ease, filter .35s ease !important;
}
#aisc-root .aisc-foot-btn-voice.aisc-voice-active {
	background: #b91c1c !important;
	color: #fff !important;
	box-shadow: 0 1px 2px rgba(185, 28, 28, .35) !important;
}
#aisc-root .aisc-foot-btn-voice.aisc-voice-speaking {
	animation: aisc-voice-pulse 1.2s ease-in-out infinite;
}
@keyframes aisc-voice-pulse {
	0%, 100% { filter: brightness(1); }
	50% { filter: brightness(1.1); }
}
#aisc-root .aisc-voice-status {
	font-size: 12px;
	opacity: 0.8;
	padding: 2px 4px 0;
	text-align: center;
	color: var(--aisc-color, #2563eb);
	font-weight: 500;
}

/* ---- Voice popup (bottom-half sheet: fade-in, pause/resume mic + close) ---- */
#aisc-root .aisc-vo {
	position: absolute; left: 0; right: 0; bottom: 0; z-index: 40;
	height: 52%; min-height: 250px; max-height: 100%;
	display: flex; flex-direction: column; align-items: center; justify-content: space-between;
	padding: 46px 20px calc(26px + env(safe-area-inset-bottom, 0px)); box-sizing: border-box; overflow: hidden;
	color: #f2f2f2;
	/* bottom half of the chat: the chat above fades smoothly into the dark voice area */
	background: linear-gradient(180deg, rgba(17, 17, 17, 0) 0%, rgba(17, 17, 17, .08) 6%, rgba(17, 17, 17, .28) 12%, rgba(17, 17, 17, .58) 20%, rgba(17, 17, 17, .84) 30%, #121212 46%, #171b22 100%);
	opacity: 0; visibility: hidden; pointer-events: none;
	transform: translate3d(0, 28px, 0);
	will-change: opacity, transform;
	-webkit-backface-visibility: hidden; backface-visibility: hidden;
	/* close: fade out a little faster than it fades in, accelerating away */
	transition: opacity .45s cubic-bezier(.4, 0, .6, 1), transform .5s cubic-bezier(.4, 0, .6, 1), visibility 0s linear .5s;
}
#aisc-root .aisc-vo.aisc-vo-open {
	opacity: 1; visibility: visible; pointer-events: auto; transform: translate3d(0, 0, 0);
	/* open: slow, soft ease-out */
	transition: opacity .6s cubic-bezier(.22, .61, .36, 1), transform .65s cubic-bezier(.22, .61, .36, 1), visibility 0s;
}
/* Orb, label and buttons fade in slightly after the sheet so the whole thing feels layered */
#aisc-root .aisc-vo-stage, #aisc-root .aisc-vo-bar {
	opacity: 0; transform: translate3d(0, 10px, 0);
	transition: opacity .3s ease, transform .3s ease;
}
#aisc-root .aisc-vo.aisc-vo-open .aisc-vo-stage {
	opacity: 1; transform: none;
	transition: opacity .6s ease .12s, transform .65s cubic-bezier(.22, .61, .36, 1) .12s;
}
#aisc-root .aisc-vo.aisc-vo-open .aisc-vo-bar {
	opacity: 1; transform: none;
	transition: opacity .6s ease .22s, transform .65s cubic-bezier(.22, .61, .36, 1) .22s;
}
#aisc-root .aisc-vo-name { display: none; }
#aisc-root .aisc-vo-stage {
	position: relative; flex: 1; width: 100%;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px;
}
/* ---- AI voice orb: dark-glass sphere with a rotating colour glow and idle / listening / speaking looks.
 * Same design as the approved preview; every size is a ratio of --aisc-os, so resizing keeps the look identical.
 * chat.js writes --aisc-lvl (live audio level 0..1); state colours and effects follow .aisc-vo[data-state].
 * Only the orb is styled here: no background changes. ---- */
@property --aisc-o-light  { syntax: "<color>"; inherits: true; initial-value: #d9fbff; }
@property --aisc-o-main   { syntax: "<color>"; inherits: true; initial-value: #79dcff; }
@property --aisc-o-accent { syntax: "<color>"; inherits: true; initial-value: #a879ff; }
@property --aisc-o-glow   { syntax: "<color>"; inherits: true; initial-value: rgba(125, 230, 255, .82); }
@property --aisc-o-shadow { syntax: "<color>"; inherits: true; initial-value: rgba(134, 78, 255, .3); }

#aisc-root .aisc-vo-orb {
	--aisc-os: 124px;             /* orb diameter: change this to resize */
	--aisc-lvl: 0;
	/* idle (also used while connecting): cyan / violet */
	--aisc-o-light: #d9fbff; --aisc-o-main: #79dcff; --aisc-o-accent: #a879ff;
	--aisc-o-glow: rgba(125, 230, 255, .82); --aisc-o-shadow: rgba(134, 78, 255, .3);
	position: relative; flex: none;
	width: var(--aisc-os); height: var(--aisc-os);
	border-radius: 50%;
	isolation: isolate;
	background: radial-gradient(circle at 34% 24%, #fff 0%, var(--aisc-o-light) 7%, var(--aisc-o-main) 24%, #4c53d5 50%, #171631 76%, #080914 100%);
	box-shadow:
		0 0 calc(var(--aisc-os) * .082) var(--aisc-o-glow),
		0 0 calc(var(--aisc-os) * .295) var(--aisc-o-glow),
		0 0 calc(var(--aisc-os) * .545) var(--aisc-o-shadow),
		inset calc(var(--aisc-os) * -.082) calc(var(--aisc-os) * -.109) calc(var(--aisc-os) * .173) rgba(2, 3, 18, .82),
		inset calc(var(--aisc-os) * .064) calc(var(--aisc-os) * .055) calc(var(--aisc-os) * .109) rgba(255, 255, 255, .38);
	/* `scale` follows the live audio level, `transform` runs the state's breathing: they stack */
	scale: calc(1 + var(--aisc-lvl) * .1);
	transition: scale .09s linear, opacity .6s ease, filter .6s ease, --aisc-o-light .6s, --aisc-o-main .6s, --aisc-o-accent .6s, --aisc-o-glow .6s, --aisc-o-shadow .6s;
	animation: aisc-orb-idle 5s ease-in-out infinite;
}
/* the sphere is the orb itself, so the inner core element is not needed */
#aisc-root .aisc-vo-core { display: none; }

/* listening: magenta / pink */
#aisc-root .aisc-vo[data-state="listening"]:not([data-idle="1"]) .aisc-vo-orb {
	--aisc-o-light: #fff0ff; --aisc-o-main: #dc82ff; --aisc-o-accent: #ffb1e8;
	--aisc-o-glow: rgba(218, 130, 255, .95); --aisc-o-shadow: rgba(178, 71, 255, .42);
	animation: aisc-orb-listening 1.6s ease-in-out infinite;
}
/* speaking: mint / blue */
#aisc-root .aisc-vo[data-state="speaking"] .aisc-vo-orb {
	--aisc-o-light: #effff9; --aisc-o-main: #68efd0; --aisc-o-accent: #9eb1ff;
	--aisc-o-glow: rgba(112, 255, 218, .92); --aisc-o-shadow: rgba(66, 144, 255, .32);
	animation: aisc-orb-speaking .7s ease-in-out infinite alternate;
}

/* rotating colour glow */
#aisc-root .aisc-vo-orb::before {
	content: ""; position: absolute; inset: calc(var(--aisc-os) * -.064); z-index: -1; pointer-events: none;
	border-radius: inherit;
	background: conic-gradient(from 180deg, transparent 0deg, var(--aisc-o-glow) 65deg, transparent 125deg, var(--aisc-o-accent) 215deg, transparent 285deg);
	filter: blur(calc(var(--aisc-os) * .064));
	opacity: .8;
	animation: aisc-orb-rotate 8s linear infinite;
}
#aisc-root .aisc-vo[data-state="listening"]:not([data-idle="1"]) .aisc-vo-orb::before { animation-duration: 2.2s; opacity: 1; }
#aisc-root .aisc-vo[data-state="speaking"] .aisc-vo-orb::before { animation-duration: 1.2s; }

/* glass rim */
#aisc-root .aisc-vo-orb::after {
	content: ""; position: absolute; inset: calc(var(--aisc-os) * .064); pointer-events: none;
	border: 1px solid rgba(220, 245, 255, .42);
	border-radius: inherit;
	box-shadow: inset 0 0 calc(var(--aisc-os) * .073) rgba(164, 207, 255, .24);
}

/* ripple rings (listening + speaking only): the two legacy ring elements */
#aisc-root .aisc-vo-ring {
	position: absolute; inset: 0; z-index: -2; pointer-events: none;
	border: 2px solid var(--aisc-o-accent); border-radius: 50%;
	opacity: 0; animation: none; transition: none;
}
#aisc-root .aisc-vo[data-state="listening"]:not([data-idle="1"]) .aisc-vo-ring { animation: aisc-orb-ripple 2.6s cubic-bezier(.2, .6, .3, 1) infinite; }
#aisc-root .aisc-vo[data-state="listening"]:not([data-idle="1"]) .aisc-vo-ring-b { animation-delay: 1.3s; }
#aisc-root .aisc-vo[data-state="speaking"] .aisc-vo-ring { animation: aisc-orb-ripple-s 1.8s ease-out infinite; }
#aisc-root .aisc-vo[data-state="speaking"] .aisc-vo-ring-b { animation-delay: .9s; }

#aisc-root .aisc-vo[data-state="connecting"] .aisc-vo-orb { opacity: .85; }
#aisc-root .aisc-vo[data-state="paused"] .aisc-vo-orb { opacity: .5; filter: grayscale(.55) brightness(.85); animation: none; }
#aisc-root .aisc-vo[data-state="paused"] .aisc-vo-orb::before { animation: none; opacity: .35; }
@keyframes aisc-orb-idle { 0%, 100% { transform: scale(.98); } 50% { transform: scale(1.02); } }
@keyframes aisc-orb-listening { 0%, 100% { transform: scale(.95); } 50% { transform: scale(1.06); } }
@keyframes aisc-orb-speaking { 0% { transform: scale(.98); } 100% { transform: scale(1.04); } }
@keyframes aisc-orb-rotate { to { transform: rotate(360deg); } }
@keyframes aisc-orb-ripple { 0% { transform: scale(1); opacity: .6; } 100% { transform: scale(1.6); opacity: 0; } }
@keyframes aisc-orb-ripple-s { 0% { transform: scale(1); opacity: .5; } 100% { transform: scale(1.4); opacity: 0; } }
#aisc-root .aisc-vo-label {
	min-height: 20px; padding: 0 12px; text-align: center;
	font-size: 15px; line-height: 1.4; color: rgba(255, 255, 255, .8);
	opacity: 1; transform: translate3d(0, 0, 0);
	transition: opacity .22s ease, transform .22s ease;
}
#aisc-root .aisc-vo-label.aisc-vo-label-out { opacity: 0; transform: translate3d(0, 4px, 0); }
/* Live captions: what the assistant is saying, as text under the orb. Up to 3 lines; a longer answer scrolls up
   and the top edge fades out through a mask. The newest words are highlighted, older words are dimmer. */
#aisc-root .aisc-vo-caption {
	box-sizing: border-box; width: 100%; max-width: 320px; max-height: 3em; overflow: hidden;
	padding: 0 16px; text-align: center; overflow-wrap: anywhere;
	font-size: 14px; line-height: 1.5;
	scroll-behavior: smooth;
}
#aisc-root .aisc-vo-caption[hidden] { display: none; }
#aisc-root .aisc-vo-caption.aisc-vo-caption-fade {
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 1.5em, #000 100%);
	mask-image: linear-gradient(to bottom, transparent 0, #000 1.5em, #000 100%);
}
#aisc-root .aisc-cap-old { color: rgba(255, 255, 255, .55); transition: color .3s ease; }
#aisc-root .aisc-cap-new { color: #fff; font-weight: 600; text-shadow: 0 0 12px rgba(125, 230, 255, .55); }
@media (prefers-reduced-motion: reduce) { #aisc-root .aisc-vo-caption { scroll-behavior: auto; } }
#aisc-root .aisc-vo-bar {
	position: relative; width: 100%; max-width: 320px;
	display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px;
}
#aisc-root .aisc-vo-end { display: flex; justify-content: flex-end; }
#aisc-root .aisc-vo-btn {
	appearance: none; -webkit-appearance: none; border: 0; margin: 0; padding: 0; cursor: pointer;
	display: flex; align-items: center; justify-content: center; border-radius: 50%;
	line-height: 1; transition: transform .2s cubic-bezier(.22, .61, .36, 1), background .35s ease, color .35s ease, opacity .35s ease;
	-webkit-tap-highlight-color: transparent;
}
#aisc-root .aisc-vo-btn:active { transform: scale(.94); }
#aisc-root .aisc-vo-btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
#aisc-root .aisc-vo-btn svg { display: block; }
#aisc-root .aisc-vo-pause {
	width: 64px; height: 64px; background: #2b2b2b; color: #fff;
}
#aisc-root .aisc-vo-pause:hover { background: #363636; }
#aisc-root .aisc-vo-pause svg { width: 27px; height: 27px; }
#aisc-root .aisc-vo-pause.aisc-vo-paused { background: #3a3a3a; color: rgba(255, 255, 255, .6); }
#aisc-root .aisc-vo-pause:disabled { opacity: .45; cursor: default; }
#aisc-root .aisc-vo-close {
	width: 50px; height: 50px; background: #f5f5f5; color: #161616;
}
#aisc-root .aisc-vo-close:hover { background: #fff; }
#aisc-root .aisc-vo-close svg { width: 24px; height: 24px; }
@media (prefers-reduced-motion: reduce) {
	#aisc-root .aisc-vo, #aisc-root .aisc-vo.aisc-vo-open,
	#aisc-root .aisc-vo-stage, #aisc-root .aisc-vo-bar,
	#aisc-root .aisc-vo.aisc-vo-open .aisc-vo-stage, #aisc-root .aisc-vo.aisc-vo-open .aisc-vo-bar,
	#aisc-root .aisc-vo-label { transition: opacity .01s linear, visibility 0s; transform: none; }
	#aisc-root .aisc-vo-orb, #aisc-root .aisc-vo-ring, #aisc-root .aisc-vo-orb::before { animation: none !important; }
}
/* Product cards reuse widget controls and remain usable beside the voice orb. */
#aisc-root .aisc-shopping-cards{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));width:100%;margin:10px 0;box-sizing:border-box}
#aisc-root .aisc-shopping-card{display:flex;flex-direction:column;gap:6px;background:#fff;color:#222;border:1px solid #e6e6e6;border-radius:14px;padding:12px;min-width:0;text-align:start}
#aisc-root .aisc-shopping-card img{width:100%;height:100px;object-fit:contain;border-radius:8px}
#aisc-root .aisc-shopping-card strong{font-size:14px;overflow-wrap:anywhere}
#aisc-root .aisc-shopping-card span,#aisc-root .aisc-shopping-card del{font-size:12px}
#aisc-root .aisc-shopping-description{font-size:12px;line-height:1.4;margin:0}
#aisc-root .aisc-shopping-controls{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;align-items:center}
#aisc-root .aisc-shopping-controls input{width:52px;min-height:36px;border:1px solid #ccc;border-radius:6px;padding:4px;color:#222;background:#fff}
#aisc-root .aisc-shopping-controls .aisc-btn{font-size:12px;padding:8px;min-height:36px;text-decoration:none}
#aisc-root .aisc-vo .aisc-shopping-cards{position:absolute;bottom:12px;left:12px;right:12px;width:auto;max-height:38%;overflow:auto;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));z-index:5}
/* Voice Checkout: same placement/style as WhatsApp + Track Order (in-stage, centered under orb/label) */
#aisc-root .aisc-shopping-checkout{
	position: static; flex: none; align-self: center; z-index: 6;
	margin-top: 8px; display: inline-flex !important; align-items: center; gap: 8px;
	padding: 10px 16px !important; border-radius: 999px !important; text-decoration: none !important;
	background: #690b78 !important; color: #f7edf9 !important; font-weight: 600 !important;
	border: 1px solid rgba(255,255,255,.18) !important;
}
#aisc-root .aisc-shopping-checkout:hover { filter: brightness(1.08); }

#aisc-root .aisc-vo.aisc-vo-shopping{height:92%;padding:16px;gap:10px;background:linear-gradient(180deg,#202331,#121212)}
#aisc-root .aisc-vo-shopping .aisc-vo-stage{order:1;flex:0 0 auto;gap:8px;padding:4px 0;min-height:120px}
#aisc-root .aisc-vo-shopping .aisc-vo-orb{--aisc-os:70px;width:70px;height:70px}
#aisc-root .aisc-vo-shopping .aisc-shopping-cards{order:2;position:static;flex:1;min-height:0;max-height:none;margin:0;width:100%;overflow:auto}
#aisc-root .aisc-vo-shopping .aisc-vo-bar{order:3;flex:0 0 auto}

#aisc-root .aisc-msg .aisc-track-order{display:table;margin-top:10px;text-decoration:none}

/* Contextual contact/confirmation actions remain inside the message bubble. */
#aisc-root .aisc-message-actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px; margin-top: 12px; max-width: 100%; }
#aisc-root .aisc-message-actions .aisc-btn { width: auto !important; max-width: 100%; margin: 0 !important; white-space: normal; overflow-wrap: anywhere; }
#aisc-root .aisc-confirm-details { flex-basis: 100%; margin: 0; font-size: inherit; line-height: inherit; }

/* 9.7.6 — fresh storefront assistant. Uses the configured brand colour. */
#aisc-root { --aisc-muted: #75677c; --aisc-bot: color-mix(in srgb, var(--aisc-color) 6%, white); }
#aisc-root .aisc-panel { width: 420px; height: 680px; border-radius: 24px; border: 1px solid var(--aisc-line); }
#aisc-root .aisc-head { padding: 17px 18px; }
#aisc-root .aisc-head .aisc-avatar { border-radius: 14px; width: 42px; height: 42px; }
#aisc-root .aisc-title strong { font-weight: 600; font-size: 16px; }
#aisc-root .aisc-row { max-width: 92%; margin: 8px 0; }
#aisc-root .aisc-msg { border-radius: 17px 17px 17px 5px; padding: 14px 16px; line-height: 1.55; }
#aisc-root .aisc-row-user .aisc-msg { border-radius: 17px 17px 5px 17px; }
#aisc-root .aisc-msgs { padding: 18px; }
#aisc-root .aisc-form { margin: 4px 16px 10px !important; border: 1px solid var(--aisc-line) !important; border-radius: 999px !important; padding: 4px 4px 4px 6px !important; background: var(--aisc-bg) !important; flex-shrink: 0; align-items: center !important; gap: 6px !important; }
#aisc-root .aisc-input { background: transparent !important; padding: 9px 4px !important; min-width: 0 !important; font-size: 16px !important; line-height: 1.35 !important; color: var(--aisc-text) !important; }
#aisc-root .aisc-input::placeholder { color: var(--aisc-muted) !important; opacity: 1 !important; }
#aisc-root .aisc-send { border-radius: 50% !important; width: 36px !important; height: 36px !important; flex: none !important; align-self: center !important; }
#aisc-root .aisc-foot { padding: 0 16px 8px; background: var(--aisc-bg); border-top: 0; }
#aisc-root .aisc-foot-btn-voice { display: none !important; }
#aisc-root .aisc-foot-actions .aisc-foot-btn-order { width: auto !important; padding: 7px 12px !important; background: var(--aisc-bot) !important; color: var(--aisc-color) !important; font-size: 12px !important; min-height: 36px !important; border-radius: 10px !important; }
#aisc-root .aisc-foot-actions { justify-content: center; }
#aisc-root .aisc-screen-nav { flex: none; display: flex; gap: 5px; padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px)); background: var(--aisc-bg); border-top: 1px solid var(--aisc-line); }
#aisc-root .aisc-nav-btn { display: flex !important; flex: 1 !important; justify-content: center !important; align-items: center !important; gap: 7px !important; padding: 10px 8px !important; min-height: 44px !important; color: var(--aisc-muted) !important; border-radius: 12px !important; font-size: 12px !important; }
#aisc-root .aisc-nav-btn[aria-pressed="true"] { background: var(--aisc-bot) !important; color: var(--aisc-color) !important; }
#aisc-root .aisc-nav-btn svg { width: 17px; height: 17px; }
#aisc-root .aisc-shopping-cards { grid-template-columns: repeat(auto-fit,minmax(min(150px,100%),1fr)); gap: 10px; }
#aisc-root .aisc-shopping-card { border-color: var(--aisc-line); border-radius: 16px; background: #ffffff; color: var(--aisc-text); }
#aisc-root .aisc-shopping-card img { height: 90px; background: #ffffff !important; padding: 5px; border-radius: 11px; }
#aisc-root .aisc-shopping-description { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
#aisc-root .aisc-shopping-controls input { width: 48px !important; padding: 5px !important; min-height: 38px !important; border: 1px solid var(--aisc-line) !important; border-radius: 8px !important; background: var(--aisc-bg) !important; color: var(--aisc-text) !important; }
#aisc-root .aisc-shopping-controls .aisc-btn { min-height: 38px !important; font-size: 12px !important; }
#aisc-root .aisc-vo { height: 100%; min-height: 0; padding: 25px 20px 20px; background: radial-gradient(ellipse at 50% 36%,var(--aisc-tint),var(--aisc-bg) 72%); color: var(--aisc-text); }
#aisc-root .aisc-vo-name { display: block; align-self: flex-start; color: var(--aisc-muted); font-size: 13px; }
#aisc-root .aisc-vo-orb { --aisc-o-light:#f9d9ff; --aisc-o-main:#d97ce6; --aisc-o-accent:#8b259a; --aisc-o-glow:#a245b93a; --aisc-o-shadow:#690b782e; background: radial-gradient(circle at 31% 25%,#f9d9ff 0%,#d97ce6 18%,var(--aisc-color) 52%,#470453 85%); }
#aisc-root .aisc-vo-label { color: var(--aisc-text); font-size: 19px; }
#aisc-root .aisc-vo-caption { color: var(--aisc-muted); max-width: 300px; font-size: 14px; }
#aisc-root .aisc-vo-btn { background: var(--aisc-bot) !important; color: var(--aisc-color) !important; border-radius: 50% !important; width: 50px !important; height: 50px !important; }
#aisc-root .aisc-vo-close { background: #fbe6e8 !important; color: #b52740 !important; }
#aisc-root .aisc-vo-text { flex: none !important; padding: 10px !important; min-height: 40px !important; color: var(--aisc-color) !important; font-size: 12px !important; }
#aisc-root .aisc-vo.aisc-vo-shopping { height: 100%; padding: 16px; background: var(--aisc-bg); }
#aisc-root .aisc-vo-shopping .aisc-vo-name { display: none; }
#aisc-root .aisc-vo-shopping .aisc-vo-text { order: 4; }
#aisc-root .aisc-vo-shopping .aisc-shopping-checkout { position: static; order: 3; flex: none; align-self: center; margin: 8px auto 0; transform: none; }
#aisc-root button:focus-visible, #aisc-root a:focus-visible, #aisc-root input:focus-visible { outline: 2px solid var(--aisc-color) !important; outline-offset: 3px !important; }
@media (max-width: 480px) {
    #aisc-root .aisc-panel { position: fixed; inset: 0; width: 100%; max-width: none; height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; border-radius: 0; border: 0; }
    #aisc-root.aisc-right { right: 8px; } #aisc-root.aisc-left { left: 8px; }
}
@media (max-height: 500px) and (min-width: 481px) { #aisc-root .aisc-panel { max-height: calc(100dvh - 88px); } #aisc-root .aisc-vo-orb { --aisc-os: 74px; } #aisc-root .aisc-vo-stage { gap: 10px; } }
@media (prefers-reduced-motion: reduce) { #aisc-root *, #aisc-root *::before, #aisc-root *::after { animation: none !important; transition: none !important; } }
#aisc-root .aisc-nav-btn .aisc-foot-ic { display: inline-flex; align-items: center; }
/* Voice recommendations are compact name/price tiles; no transcript cards in text. */
#aisc-root .aisc-vo .aisc-shopping-card { display: grid; grid-template-columns: 1fr auto; gap: 6px 10px; align-content: start; padding: 13px; }
#aisc-root .aisc-voice-product-name { grid-column: 1 / -1; color: var(--aisc-text); font-size: 13px; line-height: 1.4; font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
#aisc-root .aisc-voice-product-name:hover { color: var(--aisc-color); text-decoration: underline; }
#aisc-root .aisc-vo .aisc-shopping-price { color: var(--aisc-color); font-weight: 600; }
#aisc-root .aisc-vo .aisc-shopping-card del { color: var(--aisc-muted); }

/* 9.7.8 — dark faded voice sheet with centered reference controls. */
#aisc-root .aisc-vo { height: 52%; min-height: 300px; max-height: 100%; padding: 42px 20px calc(12px + env(safe-area-inset-bottom, 0px)); color: #f2edf5; background: linear-gradient(180deg,rgba(17,17,17,0) 0%,rgba(17,17,17,.08) 6%,rgba(17,17,17,.28) 12%,rgba(17,17,17,.58) 20%,rgba(17,17,17,.84) 30%,#21182b 46%,#1b1723 100%); gap: 10px; }
#aisc-root .aisc-vo-name { display: none; }
#aisc-root .aisc-vo-stage { min-height: 0; gap: 12px; }
#aisc-root .aisc-vo-label { color: #f2edf5; font-size: 17px; }
#aisc-root .aisc-vo-caption { color: #d4c6dd; font-size: 13px; max-height: 76px; }
#aisc-root .aisc-vo-bar { display: flex; justify-content: center; align-items: center; width: auto; max-width: 100%; gap: 14px; flex: none; }
#aisc-root .aisc-vo-end { display: flex; justify-content: center; flex: none; }
#aisc-root .aisc-vo-btn { display: flex !important; justify-content: center !important; align-items: center !important; flex: none !important; width: 50px !important; height: 50px !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 50% !important; background: #45304f !important; color: #f7edf9 !important; }
#aisc-root .aisc-vo-btn svg { width: 19px; height: 19px; display: block; }
/* Voice control labels + caption active/off (no strike-through) */
#aisc-root .aisc-vo-btn {
	flex-direction: column !important;
	gap: 6px !important;
	width: auto !important;
	height: auto !important;
	min-width: 56px !important;
	padding: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #e8dff0 !important;
}
#aisc-root .aisc-vo-btn-ic {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 50px !important;
	height: 50px !important;
	border-radius: 50% !important;
	background: #45304f !important;
	color: #f7edf9 !important;
	transition: background .2s ease, color .2s ease, opacity .2s ease, box-shadow .2s ease;
}
#aisc-root .aisc-vo-btn svg {
	width: 19px !important;
	height: 19px !important;
	display: block !important;
}
#aisc-root .aisc-vo-btn-lbl {
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: .02em !important;
	color: #cbbfd6 !important;
	line-height: 1.2 !important;
	text-align: center !important;
}
#aisc-root .aisc-vo-pause .aisc-vo-btn-ic {
	background: #45304f !important;
	color: #f7edf9 !important;
}
#aisc-root .aisc-vo-pause.aisc-vo-paused .aisc-vo-btn-ic {
	background: #3a3a3a !important;
	color: rgba(255, 255, 255, .55) !important;
	opacity: .85 !important;
}
#aisc-root .aisc-vo-pause:disabled .aisc-vo-btn-ic {
	opacity: .45 !important;
}
#aisc-root .aisc-vo-close .aisc-vo-btn-ic {
	background: #f3e6f0 !important;
	color: #b12d40 !important;
}
#aisc-root .aisc-vo-close:hover .aisc-vo-btn-ic {
	background: #ffe8ef !important;
}
/* Caption OFF (default): muted, matches other inactive controls */
#aisc-root .aisc-vo-captions.aisc-vo-captions-off .aisc-vo-btn-ic {
	background: #3a3342 !important;
	color: rgba(247, 237, 249, .45) !important;
	box-shadow: none !important;
	opacity: .9 !important;
}
#aisc-root .aisc-vo-captions.aisc-vo-captions-off .aisc-vo-btn-lbl {
	color: rgba(203, 191, 214, .55) !important;
}
/* Caption ON (manual): brand active #690b78 */
#aisc-root .aisc-vo-captions.aisc-vo-captions-on .aisc-vo-btn-ic {
	background: #690b78 !important;
	color: #fff !important;
	box-shadow: 0 0 0 2px rgba(105, 11, 120, .35) !important;
	opacity: 1 !important;
}
#aisc-root .aisc-vo-captions.aisc-vo-captions-on .aisc-vo-btn-lbl {
	color: #f2e6f7 !important;
}
#aisc-root .aisc-vo-bar {
	display: flex !important;
	justify-content: center !important;
	align-items: flex-start !important;
	gap: 18px !important;
	width: auto !important;
	max-width: 100% !important;
}

#aisc-root .aisc-vo-close { background: #fbe6e8 !important; color: #bb2844 !important; }
#aisc-root .aisc-vo-text { display: block !important; text-align: center !important; align-self: center; margin: 0 !important; padding: 8px 12px !important; color: #dfa0ff !important; min-height: 40px !important; font-size: 12px !important; background: transparent !important; }
#aisc-root .aisc-vo.aisc-vo-shopping { height: 100%; min-height: 0; padding: 16px; background: linear-gradient(160deg,#292032,#17131e); }
#aisc-root .aisc-vo-shopping .aisc-vo-bar { order: 3; }
#aisc-root .aisc-vo-shopping .aisc-vo-text { order: 4; }
#aisc-root .aisc-vo .aisc-shopping-card { background: #32263d; border-color: #51405e; color: #f4eaf9; }
#aisc-root .aisc-vo .aisc-voice-product-name { color: #f4eaf9; }
#aisc-root .aisc-vo .aisc-shopping-price { color: #e8b9ff; }
#aisc-root .aisc-vo .aisc-shopping-card del { color: #c9b7d3; }
#aisc-root .aisc-vo button:focus-visible, #aisc-root .aisc-vo a:focus-visible { outline-color: #e4adff !important; }
@media (max-height: 600px) { #aisc-root .aisc-vo:not(.aisc-vo-shopping) { min-height: 260px; padding-top: 30px; } #aisc-root .aisc-vo:not(.aisc-vo-shopping) .aisc-vo-orb { --aisc-os: 80px; } }
#aisc-root .aisc-vo:not(.aisc-vo-shopping) { padding-top: 30px; gap: 8px; }
#aisc-root .aisc-vo:not(.aisc-vo-shopping) .aisc-vo-stage { gap: 8px; }
#aisc-root .aisc-vo:not(.aisc-vo-shopping) .aisc-vo-orb { --aisc-os: 90px; }
#aisc-root .aisc-vo:not(.aisc-vo-shopping) .aisc-vo-caption { max-height: 42px; }

/* 9.7.9 — retain redesigned home layout; restore only its faded background. */
#aisc-root .aisc-home { background: var(--aisc-bg); min-height: 0; }
#aisc-root .aisc-home-banner { padding: 18px 24px 25px; min-height: auto; background: transparent; flex: none; }
#aisc-root .aisc-home-banner-top { margin-bottom: 9px; }
#aisc-root .aisc-home-eyebrow { font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; color: #ffe77d; margin: 0 0 12px; }
#aisc-root .aisc-home-title { font-size: 29px; font-weight: 600; line-height: 1.2; letter-spacing: -.8px; max-width: 12ch; color: #fff; }
#aisc-root .aisc-home-intro { font-size: 14px; line-height: 1.6; margin: 12px 0 0; color: #f6e5f7; max-width: 29ch; }
#aisc-root .aisc-home-body { margin-top: 0; padding: 20px; }
#aisc-root .aisc-home-card { padding: 0; border-radius: 0; box-shadow: none; background: transparent; }
#aisc-root .aisc-home-card-top { display: none; }
#aisc-root .aisc-home-preview { font-size: 12px; color: #ffffff; margin: 0 0 6px; }
#aisc-root .aisc-home-ago { color: #ffffff; margin-bottom: 12px; }
#aisc-root .aisc-home-go { border-radius: 13px !important; min-height: 48px !important; margin-top: 10px !important; }
#aisc-root .aisc-home-quick { display: grid; grid-template-columns: repeat(auto-fit,minmax(135px,1fr)); gap: 10px; margin: 12px 0 21px; }
#aisc-root .aisc-home-track, #aisc-root .aisc-home-talk, #aisc-root .aisc-voice-help-link, #aisc-root .aisc-home-new-chat { display: flex !important; align-items: flex-start !important; justify-content: center !important; flex-direction: column !important; gap: 10px !important; width: 100% !important; min-height: 88px !important; padding: 15px !important; margin: 0 !important; background: var(--aisc-bot) !important; color: var(--aisc-text) !important; border: 0 !important; border-radius: 14px !important; text-decoration: none !important; font-size: 13px !important; font-weight: 500 !important; }
#aisc-root .aisc-home-quick .aisc-foot-ic { color: var(--aisc-color); }
#aisc-root .aisc-voice-help-link, #aisc-root .aisc-home-new-chat { max-width: 100%; box-sizing: border-box; text-align: left; }
#aisc-root .aisc-voice-help-icon { display: inline-flex; }
#aisc-root .aisc-voice-help-link:hover, #aisc-root .aisc-home-new-chat:hover { background: var(--aisc-tint) !important; }
#aisc-root .aisc-voice-help-link:focus-visible, #aisc-root .aisc-home-new-chat:focus-visible { outline: 2px solid var(--aisc-color); outline-offset: 3px; }
#aisc-root .aisc-home-section-title { color: var(--aisc-muted); font-weight: 500; font-size: 12px; margin: 0 0 12px; }
#aisc-root .aisc-category-chips { display: flex; flex-wrap: wrap; gap: 8px; }
#aisc-root .aisc-category-chip { padding: 9px 12px !important; border: 1px solid var(--aisc-line) !important; border-radius: 24px !important; color: var(--aisc-text) !important; font-size: 12px !important; min-height: 40px !important; overflow-wrap: anywhere; }
#aisc-root .aisc-category-chip:hover { background: var(--aisc-bot) !important; border-color: var(--aisc-color) !important; }
#aisc-root .aisc-home-past { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--aisc-line); }
#aisc-root .aisc-home-channel { border-radius: 13px !important; font-size: 13px !important; }
#aisc-root .aisc-home-banner-top { justify-content: space-between; align-items: center; gap: 12px; }
#aisc-root .aisc-home-brand { color: #fff; font-size: 14px; font-weight: 600; overflow-wrap: anywhere; }
#aisc-root .aisc-home::before { display: block; }
#aisc-root .aisc-vo-whatsapp { flex: none; margin-top: 6px; }
#aisc-root .aisc-vo-track {
	flex: none; margin-top: 8px; display: inline-flex !important; align-items: center; gap: 8px;
	padding: 10px 16px !important; border-radius: 999px !important; text-decoration: none !important;
	background: #690b78 !important; color: #f7edf9 !important; font-weight: 600 !important;
	border: 1px solid rgba(255,255,255,.18) !important;
}
#aisc-root .aisc-vo-track:hover { filter: brightness(1.08); }
#aisc-root .aisc-msg .aisc-track-order,
#aisc-root .aisc-message-actions .aisc-track-order {
	display: inline-flex !important; align-items: center; gap: 8px; margin-top: 10px;
	text-decoration: none !important; padding: 10px 14px !important; border-radius: 12px !important;
}

/* Keep focus on the rounded composer rather than drawing a rectangle inside it. */
#aisc-root .aisc-input,
#aisc-root .aisc-input:focus,
#aisc-root .aisc-input:focus-visible {
    outline: none !important;
    outline-offset: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}
#aisc-root .aisc-form:focus-within {
    border-color: var(--aisc-line) !important;
    box-shadow: 0 0 0 3px var(--aisc-tint);
}

/* Voice shopping: photos and action buttons, with the existing dark sheet. */
#aisc-root .aisc-vo .aisc-shopping-cards { align-content: start; grid-auto-rows: auto; }
#aisc-root .aisc-vo .aisc-shopping-card { display: flex; flex-direction: column; gap: 8px; align-content: start; }
#aisc-root .aisc-vo .aisc-shopping-card img { width: 100%; height: 96px; object-fit: contain; background: #fff !important; border-radius: 10px; padding: 5px; }
#aisc-root .aisc-vo .aisc-shopping-controls { display: flex; flex-direction: column; gap: 6px; margin-top: auto; }
#aisc-root .aisc-vo .aisc-shopping-controls .aisc-btn { width: 100% !important; justify-content: center !important; text-align: center !important; box-sizing: border-box !important; }
#aisc-root .aisc-vo .aisc-shopping-controls .aisc-btn-secondary { background: #493452 !important; color: #fff !important; border-color: #715a7d !important; }
#aisc-root .aisc-vo .aisc-shopping-status { font-size: 12px; color: #efe2f5; overflow-wrap: anywhere; }
#aisc-root .aisc-vo .aisc-shopping-status:empty { display: none; }

/* 9.8.2: stable, independently scrolling voice catalogue; primary item always spans the sheet. */
#aisc-root .aisc-vo-shopping .aisc-voice-shop { order: 2; flex: 1 1 auto; min-height: 0; width: 100%; overflow-y: auto; overscroll-behavior: contain; }
#aisc-root .aisc-vo-shopping .aisc-voice-shop .aisc-shopping-cards { position: static; display: grid; width: 100%; max-height: none; overflow: visible; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0; }
#aisc-root .aisc-vo-shopping .aisc-voice-shop .aisc-shopping-primary { grid-template-columns: minmax(0,1fr); }
#aisc-root .aisc-vo .aisc-shopping-primary .aisc-shopping-card { width: 100%; box-sizing: border-box; }
#aisc-root .aisc-vo .aisc-shopping-primary .aisc-shopping-card img { height: 140px; }
#aisc-root .aisc-vo .aisc-shopping-primary .aisc-voice-product-name { font-size: 15px; }
#aisc-root .aisc-vo .aisc-shopping-primary .aisc-shopping-controls { flex-direction: row; flex-wrap: wrap; }
#aisc-root .aisc-vo .aisc-shopping-primary .aisc-shopping-controls .aisc-btn { flex: 1 1 100px; width: auto !important; }
#aisc-root .aisc-voice-related-title { margin: 16px 0 10px; color: #efe2f5; font-size: 13px; font-weight: 600; }
#aisc-root .aisc-vo .aisc-shopping-related .aisc-shopping-card { padding: 10px; }
#aisc-root .aisc-vo .aisc-shopping-related .aisc-shopping-card img { height: 80px; }
#aisc-root .aisc-vo .aisc-shopping-card img { flex: none; }
#aisc-root .aisc-voice-confirm { order: 3; flex: none; width: 100%; padding: 10px; box-sizing: border-box; border: 1px solid #715a7d; border-radius: 12px; background: #32263d; }
#aisc-root .aisc-voice-confirm p { margin: 0 0 8px; color: #f4eaf9; font-size: 13px; }
#aisc-root .aisc-voice-confirm .aisc-btn { margin: 0 8px 0 0 !important; min-height: 38px !important; }
#aisc-root .aisc-voice-confirm[data-state="submitting"] { border-color: #dfa0ff; }
#aisc-root .aisc-voice-confirm[data-state="success"] { border-color: #66bd87; }
#aisc-root .aisc-voice-confirm[data-state="error"] { border-color: #ec9292; }
#aisc-root .aisc-voice-confirm .aisc-btn:disabled { opacity: .6; cursor: wait; }
@media (max-width: 320px) { #aisc-root .aisc-vo-shopping .aisc-voice-shop .aisc-shopping-related { grid-template-columns: minmax(0,1fr); } }
#aisc-root .aisc-product-preview { position: absolute; inset: 0; z-index: 80; display: flex; flex-direction: column; min-height: 0; background: #fff; color: #242124; border-radius: inherit; overflow: hidden; }
#aisc-root .aisc-product-preview-foot { flex: none; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; padding: 12px 16px; border-top: 1px solid rgba(120,100,120,.18); }
#aisc-root .aisc-product-preview-foot .aisc-btn { width: 100% !important; min-width: 0 !important; margin: 0 !important; white-space: normal !important; text-align: center !important; justify-content: center !important; background: #690b78 !important; color: #fff !important; border-color: #690b78 !important; transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease; }
#aisc-root .aisc-product-preview-foot .aisc-btn:hover { background: #53095f !important; color: #fff !important; border-color: #53095f !important; filter: none; box-shadow: 0 3px 10px rgba(105,11,120,.22); }
#aisc-root .aisc-product-preview-foot .aisc-btn:focus-visible { outline: 2px solid #690b78; outline-offset: 3px; }
#aisc-root .aisc-product-preview-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px; overflow-wrap: anywhere; }
#aisc-root .aisc-product-preview-body h3 { color: inherit; margin: 0 0 12px; font-size: 18px; line-height: 1.4; }
#aisc-root .aisc-product-preview-body .aisc-shopping-cards { position: static; display: grid; grid-template-columns: minmax(0,1fr); max-height: none; overflow: visible; margin: 0; width: 100%; }
#aisc-root .aisc-product-preview-description { white-space: pre-line; line-height: 1.6; }
#aisc-root .aisc-product-preview-voice { background: #241529; color: #f9effb; }
#aisc-root .aisc-product-preview-voice .aisc-shopping-card { background: #352039; color: #f9effb; border-color: rgba(255,255,255,.18); }
#aisc-root .aisc-product-preview-voice .aisc-shopping-card span { color: inherit; }

/* ---- language picker ---- */
#aisc-root .aisc-lang-btn.aisc-lang-active { color: var(--aisc-color) !important; }
#aisc-root .aisc-lang-menu {
	position: absolute; top: 56px; right: 48px; z-index: 40;
	min-width: 148px; padding: 6px; border-radius: 12px;
	background: var(--aisc-bg); color: var(--aisc-text);
	border: 1px solid var(--aisc-line);
	box-shadow: 0 10px 28px rgba(15, 23, 42, .14);
	display: flex; flex-direction: column; gap: 2px;
}
#aisc-root .aisc-lang-menu[hidden] { display: none !important; }
#aisc-root .aisc-lang-option {
	appearance: none; border: 0; background: transparent; color: var(--aisc-text);
	text-align: left; padding: 9px 12px; border-radius: 8px;
	font: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer;
}
#aisc-root .aisc-lang-option:hover { background: var(--aisc-bot); }
#aisc-root .aisc-lang-option.aisc-lang-selected {
	background: var(--aisc-color); color: var(--aisc-on-color);
}



/* ---- labeled language button ---- */
#aisc-root .aisc-lang-btn { width: auto !important; min-width: 76px !important; height: 30px !important; padding: 0 9px !important; font-size: 12px !important; font-weight: 600 !important; white-space: nowrap !important; border-radius: 8px !important; display: inline-flex !important; align-items: center !important; gap: 0 !important; }
#aisc-root .aisc-lang-btn svg { display: block !important; width: 15px; height: 15px; flex-shrink: 0; }
#aisc-root .aisc-lang-btn .aisc-lang-globe { display: inline-flex; align-items: center; justify-content: center; margin-right: 5px; line-height: 1; color: inherit; }
#aisc-root .aisc-lang-btn .aisc-lang-label { display: inline-block; vertical-align: middle; max-width: 90px; overflow: hidden; text-overflow: ellipsis; }
#aisc-root .aisc-row-agent { align-items: flex-start; }
#aisc-root .aisc-row-agent .aisc-avatar { margin-top: 1px; }
#aisc-root .aisc-row-agent .aisc-sender { padding-left: 0; }
@media (max-width: 420px) {
	#aisc-root .aisc-head { gap: 8px; padding-left: 10px; padding-right: 10px; }
	#aisc-root .aisc-head-actions { gap: 2px; }
	#aisc-root .aisc-lang-btn { min-width: 72px !important; padding-left: 7px !important; padding-right: 7px !important; }
	#aisc-root .aisc-title strong { font-size: 15px; }
	#aisc-root .aisc-status { font-size: 11px; }
}

/* 9.8.42 — immersive language screen; removing this class restores the voice sheet. */
#aisc-root .aisc-vo.aisc-vo-lang-picking {
    height: 100%; min-height: 0; max-height: 100%; padding: 22px 22px 12px;
    gap: 12px; justify-content: flex-start; isolation: isolate;
    background: radial-gradient(ellipse at 50% -15%, #613775 0%, transparent 54%),
        radial-gradient(ellipse at 110% 75%, #302039 0%, transparent 50%), #1c1725;
    color: #faf4ff;
}
#aisc-root .aisc-vo-lang-picking .aisc-vo-name {
    display: flex; align-self: stretch; align-items: center; gap: 8px; order: 0;
    flex: 0 0 auto; margin: 0; padding: 0 0 4px;
    color: #ded0e6; font-size: 13px; line-height: 20px; font-weight: 500;
}
#aisc-root .aisc-vo-lang-picking .aisc-vo-name::before {
    content: ''; width: 6px; height: 6px; flex: 0 0 auto; border-radius: 50%;
    background: #a0dda7; box-shadow: 0 0 9px #a0dda733;
}
#aisc-root .aisc-vo-lang-picking .aisc-vo-stage {
    order: 1; flex: 0 0 auto; min-height: 0; gap: 9px; padding: 6px 0 0;
}
#aisc-root .aisc-vo-lang-picking .aisc-vo-orb {
    --aisc-os: 64px; width: 64px; height: 64px;
}
#aisc-root .aisc-vo-lang-picking .aisc-vo-label {
    min-height: 18px; padding: 0 10px; color: #cdbbd8; font-size: 12px; line-height: 18px;
}
#aisc-root .aisc-vo-lang-picking .aisc-vo-caption { display: none; }
#aisc-root .aisc-voice-lang-pick {
    order: 2; flex: 1 1 auto; width: 100%; min-height: 0; z-index: 6;
    overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain;
    padding: 2px 3px 10px; box-sizing: border-box; scrollbar-width: thin;
    scrollbar-color: #6a4b79 transparent;
}
#aisc-root .aisc-voice-lang-intro { text-align: center; margin: 0 0 20px; }
#aisc-root .aisc-voice-lang-eyebrow {
    display: block; margin: 0 0 7px; color: #d4a9eb; font-size: 10px;
    font-weight: 600; line-height: 16px; text-transform: uppercase; letter-spacing: 1.6px;
}
#aisc-root .aisc-voice-lang-title {
    margin: 0; padding: 0; color: #faf4ff; font-size: 23px;
    line-height: 1.3; font-weight: 600; letter-spacing: -.6px;
}
#aisc-root .aisc-voice-lang-hint {
    margin: 8px 0 0; color: #c5b4d2; font-size: 13px; line-height: 1.5;
}
#aisc-root .aisc-voice-lang-cards {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px; margin: 0; width: 100%; box-sizing: border-box;
}
#aisc-root .aisc-voice-lang-card {
    position: relative !important; appearance: none !important; -webkit-appearance: none !important;
    display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important;
    gap: 6px !important; width: 100% !important; min-width: 0 !important; min-height: 76px !important; margin: 0 !important; padding: 12px 5px !important;
    border: 1px solid #8a63a04a !important; border-radius: 14px !important;
    background: linear-gradient(145deg, #4932548a, #32273f9e) !important;
    color: #faf4ff !important; text-align: center !important; font: inherit !important; cursor: pointer !important;
    box-shadow: inset 0 1px 0 #f5d4ff0c, 0 3px 10px #08040d12 !important;
    transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease !important;
    -webkit-tap-highlight-color: transparent !important;
}
#aisc-root .aisc-voice-lang-card .aisc-voice-lang-native {
    display: block; max-width: 100%; color: #faf4ff; font-size: 16px;
    line-height: 1.45; font-weight: 600; white-space: normal; overflow-wrap: anywhere;
}
#aisc-root .aisc-voice-lang-card .aisc-voice-lang-english {
    display: block; color: #c1aace; font-size: 11px; line-height: 1.3; font-weight: 400;
}
@media (hover: hover) {
    #aisc-root .aisc-voice-lang-card:hover {
        transform: translateY(-2px) !important; border-color: #bd84da !important;
        background: linear-gradient(145deg, #634173, #42304e) !important;
        box-shadow: inset 0 1px 0 #f5d4ff20, 0 7px 18px #08040d28 !important;
    }
}
#aisc-root .aisc-voice-lang-card:active { transform: scale(.97) !important; background: #60416f !important; }
#aisc-root .aisc-voice-lang-card:focus-visible { outline: 2px solid #e6befb !important; outline-offset: 2px !important; }
#aisc-root .aisc-vo-lang-picking .aisc-vo-bar {
    order: 3; flex: 0 0 auto; padding-top: 3px; gap: 18px;
}
#aisc-root .aisc-vo-lang-picking .aisc-vo-btn { box-shadow: inset 0 1px 0 #ffffff14, 0 4px 16px #08040d30 !important; }
#aisc-root .aisc-vo-lang-picking .aisc-vo-text { order: 4; flex: 0 0 auto; color: #cbb1db !important; padding: 5px 10px !important; min-height: 30px !important; }
#aisc-root .aisc-lang-menu { max-height: min(440px, calc(100% - 76px)); overflow-y: auto; overscroll-behavior: contain; }
@media (max-width: 360px) {
    #aisc-root .aisc-vo.aisc-vo-lang-picking { padding: 16px 14px 10px; gap: 10px; }
    #aisc-root .aisc-voice-lang-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    #aisc-root .aisc-voice-lang-title { font-size: 22px; }
    #aisc-root .aisc-voice-lang-card { min-height: 72px !important; }
}
@media (max-height: 600px) {
    #aisc-root .aisc-vo.aisc-vo-lang-picking { padding-top: 12px; gap: 8px; }
    #aisc-root .aisc-vo-lang-picking .aisc-vo-orb { --aisc-os: 48px; width: 48px; height: 48px; }
    #aisc-root .aisc-vo-lang-picking .aisc-vo-stage { gap: 5px; padding: 0; }
    #aisc-root .aisc-voice-lang-intro { margin-bottom: 14px; }
    #aisc-root .aisc-voice-lang-card { min-height: 68px !important; padding-top: 9px !important; padding-bottom: 9px !important; }
}
@media (prefers-reduced-motion: reduce) { #aisc-root .aisc-voice-lang-card { transition: none !important; } }

/* Inline entry for the twelfth language card, Others. */
#aisc-root .aisc-voice-lang-other[hidden] { display: none; }
#aisc-root .aisc-voice-lang-other:not([hidden]) { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; margin-top: 16px; }
#aisc-root .aisc-voice-lang-other .aisc-voice-lang-hint { grid-column: 1 / -1; margin: 0; }
#aisc-root .aisc-voice-lang-input { display: block !important; width: 100% !important; min-width: 0 !important; padding: 11px 12px !important; border: 1px solid #8a63a0 !important; border-radius: 12px !important; background: #32273f !important; color: #faf4ff !important; font-size: 16px !important; }
#aisc-root .aisc-voice-lang-input::placeholder { color: #c1aace; }
#aisc-root .aisc-voice-lang-submit { display: flex !important; align-items: center !important; justify-content: center !important; padding: 11px 14px !important; border: 1px solid #bd84da !important; border-radius: 12px !important; background: #60416f !important; color: #faf4ff !important; }

/* 9.9.12 — voice bar: circular icon wells only (fix End square), Text as 4th control */
#aisc-root .aisc-vo-btn.aisc-vo-close,
#aisc-root .aisc-vo-btn.aisc-vo-text,
#aisc-root .aisc-vo-btn.aisc-vo-pause,
#aisc-root .aisc-vo-btn.aisc-vo-captions {
	width: auto !important;
	height: auto !important;
	min-width: 52px !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #e8dff0 !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 6px !important;
}
#aisc-root .aisc-vo-btn.aisc-vo-close .aisc-vo-btn-ic,
#aisc-root .aisc-vo-btn.aisc-vo-text .aisc-vo-btn-ic,
#aisc-root .aisc-vo-btn.aisc-vo-pause .aisc-vo-btn-ic {
	width: 50px !important;
	height: 50px !important;
	border-radius: 50% !important;
	background: #45304f !important;
	color: #f7edf9 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}
/* End: original light pink well + red icon (not dark like Mute) */
#aisc-root .aisc-vo-btn.aisc-vo-close .aisc-vo-btn-ic {
	background: #fbe6e8 !important;
	color: #b52740 !important;
}
#aisc-root .aisc-vo-btn.aisc-vo-close:hover .aisc-vo-btn-ic {
	background: #ffe8ef !important;
	color: #9b1f35 !important;
}
/* Text (4th): same style as Mute */
#aisc-root .aisc-vo-btn.aisc-vo-text .aisc-vo-btn-ic {
	background: #45304f !important;
	color: #f7edf9 !important;
}
#aisc-root .aisc-vo-btn.aisc-vo-text:hover .aisc-vo-btn-ic {
	background: #5a4066 !important;
}
#aisc-root .aisc-vo-btn.aisc-vo-close .aisc-vo-btn-lbl,
#aisc-root .aisc-vo-btn.aisc-vo-text .aisc-vo-btn-lbl {
	color: #cbbfd6 !important;
	background: transparent !important;
}
/* Hide any legacy standalone text link if present */
#aisc-root .aisc-vo > button.aisc-vo-text:not(.aisc-vo-btn) {
	display: none !important;
}
#aisc-root .aisc-vo-bar {
	display: flex !important;
	flex-wrap: nowrap !important;
	justify-content: center !important;
	align-items: flex-start !important;
	gap: 12px !important;
}

/* 9.9.21 — compact, single-line voice shopping shortcuts. */
#aisc-root .aisc-vo-shop-actions { display: none; }
#aisc-root .aisc-vo-shopping:not(.aisc-vo-lang-picking) .aisc-vo-shop-actions {
    display: flex; flex-wrap: nowrap; order: 0; flex: 0 0 auto; align-items: center;
    justify-content: space-between; gap: 8px; width: 100%; min-width: 0;
}
#aisc-root .aisc-vo-shop-actions > :is(a,button) {
    display: inline-flex !important; align-items: center !important;
    justify-content: center !important; gap: 4px !important;
    width: auto !important; min-width: 0 !important; min-height: 32px !important;
    padding: 5px 8px !important; border: 0 !important; border-radius: 8px !important;
    color: #fff !important; font: inherit !important; font-size: 11px !important;
    line-height: 1.3 !important; white-space: nowrap !important;
    text-decoration: none !important; cursor: pointer !important; margin: 0 !important;
}
#aisc-root .aisc-vo-shop-actions .aisc-vo-cart {
    background: var(--aisc-color, #690b78) !important; flex: 0 0 auto !important;
}
#aisc-root .aisc-vo-shop-actions .aisc-vo-language {
    background: transparent !important; flex: 0 1 auto !important; overflow: hidden !important;
}
#aisc-root .aisc-vo-shop-actions .aisc-vo-language-label {
    min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
#aisc-root .aisc-vo-shop-actions svg { width: 16px !important; height: 16px !important; }
#aisc-root .aisc-vo-shop-actions .aisc-foot-ic {
    display: inline-flex !important; flex: 0 0 16px !important;
    width: 16px !important; height: 16px !important;
}
#aisc-root .aisc-vo-shop-actions > :is(a,button):hover { filter: brightness(1.15); }
#aisc-root .aisc-vo-lang-picking .aisc-voice-shop { display: none; }
#aisc-root .aisc-voice-lang-cancel {
    display: inline-flex; align-items: center; min-height: 44px; padding: 8px 14px;
    border: 1px solid #ffffff30; border-radius: 10px; background: #ffffff0d;
    color: #faf4ff; font: inherit; font-size: 13px; cursor: pointer; margin-bottom: 8px;
}

/* 9.9.22 — lightweight animated Lucide icons and confirmed text receipts. */
#aisc-root svg.aisc-animated-icon { fill: none !important; stroke: currentColor; }
#aisc-root .aisc-audio-bar { transform-box: view-box; transform-origin: 50% 50%; }
#aisc-root .aisc-history-arrow, #aisc-root .aisc-history-hour, #aisc-root .aisc-history-minute {
    transform-box: view-box; transform-origin: 12px 12px;
}
#aisc-root .aisc-bot-eye { transform-box: view-box; transform-origin: 50% 14px; }
#aisc-root .aisc-receipt {
    display: inline-flex; align-items: center; gap: 4px; font-size: 11px;
    opacity: 1; color: var(--aisc-muted); min-height: 14px;
}
#aisc-root .aisc-receipt svg { display: block; width: 17px; height: 17px; }
#aisc-root .aisc-receipt-seen { color: #2495f3; opacity: 1; font-weight: 500; }
#aisc-root .aisc-receipt[data-state="unconfirmed"] { color: #b64b5b; }
@keyframes aisc-audio-short { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(.273); } }
@keyframes aisc-audio-tall { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(.278); } }
@keyframes aisc-audio-grow { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(1.571); } }
@keyframes aisc-audio-medium { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(.692); } }
@keyframes aisc-history-arrow {
    0%,100% { transform: rotate(0); } 50%,65% { transform: rotate(-50deg); }
}
@keyframes aisc-history-hour { from { transform: rotate(0); } to { transform: rotate(-360deg); } }
@keyframes aisc-history-minute {
    0%,100% { transform: rotate(0); } 50%,65% { transform: rotate(-45deg); }
}
@keyframes aisc-x-draw { from { stroke-dashoffset: 1; opacity: 0; } to { stroke-dashoffset: 0; opacity: 1; } }
/* Separate intro names let hover restart a one-time animation immediately. */
@keyframes aisc-history-arrow-intro {
    0%,100% { transform: rotate(0); } 50%,65% { transform: rotate(-50deg); }
}
@keyframes aisc-history-hour-intro { from { transform: rotate(0); } to { transform: rotate(-360deg); } }
@keyframes aisc-history-minute-intro {
    0%,100% { transform: rotate(0); } 50%,65% { transform: rotate(-45deg); }
}
@keyframes aisc-x-draw-intro { from { stroke-dashoffset: 1; opacity: 0; } to { stroke-dashoffset: 0; opacity: 1; } }
@keyframes aisc-bot-blink {
    0%,12%,22%,100% { transform: scaleY(1); }
    17% { transform: scaleY(.05); }
}
/* Voice and robot run continuously; close/history use intro and hover below. */
#aisc-root .aisc-audio-b1 { animation: aisc-audio-short 1.5s ease-in-out infinite; }
#aisc-root .aisc-audio-b2 { animation: aisc-audio-tall 1s ease-in-out infinite; }
#aisc-root .aisc-audio-b3 { animation: aisc-audio-grow .8s ease-in-out infinite; }
#aisc-root .aisc-audio-b4 { animation: aisc-audio-medium 1.5s ease-in-out infinite; }
#aisc-root .aisc-icon-intro .aisc-history-arrow { animation: aisc-history-arrow-intro .8s ease both; }
#aisc-root .aisc-icon-intro .aisc-history-hour { animation: aisc-history-hour-intro .8s ease both; }
#aisc-root .aisc-icon-intro .aisc-history-minute { animation: aisc-history-minute-intro .8s ease both; }
#aisc-root .aisc-x-line { stroke-dasharray: 1; stroke-dashoffset: 0; }
#aisc-root .aisc-icon-intro .aisc-x-line { animation: aisc-x-draw-intro .4s ease both; }
#aisc-root .aisc-icon-intro .aisc-x-second { animation-delay: .2s; }
#aisc-root :is(button,a):is(:hover,:focus-visible) .aisc-history-arrow { animation: aisc-history-arrow .8s ease both; }
#aisc-root :is(button,a):is(:hover,:focus-visible) .aisc-history-hour { animation: aisc-history-hour .8s ease both; }
#aisc-root :is(button,a):is(:hover,:focus-visible) .aisc-history-minute { animation: aisc-history-minute .8s ease both; }
#aisc-root :is(button,a):is(:hover,:focus-visible) .aisc-x-line { animation: aisc-x-draw .4s ease both; }
#aisc-root :is(button,a):is(:hover,:focus-visible) .aisc-x-second { animation-delay: .2s; }
#aisc-root .aisc-bot-eye { animation: aisc-bot-blink 3s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
    #aisc-root .aisc-animated-icon * { animation: none !important; transition: none !important; }
}

/* 9.9.22 — text-chat product quantity stepper. */
#aisc-root .aisc-quantity-selector {
    display: inline-flex; align-items: center; flex: 0 0 auto; gap: 0;
    min-height: 38px; padding: 0; border: 1px solid var(--aisc-line);
    border-radius: 8px; background: var(--aisc-bg); overflow: hidden;
}
#aisc-root .aisc-quantity-selector .aisc-quantity-step {
    display: inline-flex !important; align-items: center !important; justify-content: center !important;
    width: 28px !important; min-width: 28px !important; height: 38px !important;
    padding: 0 !important; margin: 0 !important; border: 0 !important;
    background: transparent !important; color: var(--aisc-color) !important; cursor: pointer !important;
}
#aisc-root .aisc-quantity-step svg { display: block; width: 14px; height: 14px; }
#aisc-root .aisc-quantity-step:disabled { opacity: .35 !important; cursor: default !important; }
#aisc-root .aisc-quantity-step:not(:disabled):hover { background: var(--aisc-bot) !important; }
#aisc-root .aisc-quantity-selector input.aisc-quantity-value {
    width: 32px !important; min-width: 0 !important; min-height: 38px !important;
    padding: 3px 0 !important; margin: 0 !important; border: 0 !important;
    border-radius: 0 !important; background: transparent !important; color: var(--aisc-text) !important;
    text-align: center !important; font-size: 12px !important; appearance: textfield !important;
    -moz-appearance: textfield !important;
}
#aisc-root .aisc-quantity-value::-webkit-inner-spin-button,
#aisc-root .aisc-quantity-value::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
#aisc-root .aisc-quantity-value:disabled { opacity: .6 !important; }

/* 9.9.25 — clear conversation / start fresh. */
#aisc-root .aisc-reset-dialog[hidden] { display: none !important; }
#aisc-root .aisc-reset-dialog {
    position: absolute; inset: 0; z-index: 100; display: flex; align-items: center;
    justify-content: center; padding: 18px; background: #100a1cbf; border-radius: inherit;
}
#aisc-root .aisc-reset-card {
    width: 100%; max-width: 340px; padding: 22px; border-radius: 16px;
    background: var(--aisc-bg); color: var(--aisc-text); border: 1px solid var(--aisc-line);
}
#aisc-root .aisc-reset-card h2 { font: inherit; font-size: 19px; font-weight: 600; margin: 0 0 10px; }
#aisc-root .aisc-reset-card p { font-size: 13px; line-height: 1.6; margin: 0 0 20px; }
#aisc-root .aisc-reset-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
#aisc-root .aisc-reset-actions .aisc-btn { display: inline-flex !important; align-items: center !important; gap: 6px !important; min-height: 40px !important; }
@media (max-width: 360px) {
    #aisc-root .aisc-head-actions { gap: 3px !important; }
    #aisc-root .aisc-head-actions .aisc-lang-label { max-width: 54px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
}

/* 9.9.26 — compact conversation options menu. */
#aisc-root .aisc-more-menu[hidden] { display: none !important; }
#aisc-root .aisc-more-menu {
    position: absolute; top: 62px; right: 12px; z-index: 60;
    display: flex; flex-direction: column; gap: 2px; width: 220px;
    max-width: calc(100% - 24px); padding: 8px; border-radius: 12px;
    background: var(--aisc-bg); color: var(--aisc-text); border: 1px solid var(--aisc-line);
    box-shadow: 0 8px 24px #100a1c25;
}
#aisc-root .aisc-more-item {
    display: flex !important; align-items: center !important; justify-content: flex-start !important;
    gap: 10px !important; width: 100% !important; min-height: 40px !important;
    padding: 9px 10px !important; margin: 0 !important; box-sizing: border-box !important;
    border: 0 !important; border-radius: 8px !important; background: transparent !important;
    color: var(--aisc-text) !important; font-size: 12px !important; font-weight: 500 !important;
    line-height: 1.4 !important; text-align: left !important; cursor: pointer !important;
}
#aisc-root .aisc-more-item:hover, #aisc-root .aisc-more-item:focus-visible { background: var(--aisc-bot) !important; }
#aisc-root .aisc-more-item svg { width: 16px !important; height: 16px !important; fill: none; }

/* AI-only note directly above the text-chat composer. */
#aisc-root .aisc-ai-notice {
    display: block !important;
    flex-shrink: 0;
    margin: 2px 16px 4px !important;
    padding: 0 !important;
    color: var(--aisc-muted) !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    text-align: center !important;
}
#aisc-root .aisc-ai-notice[hidden] { display: none !important; }

/* Day labels group messages in both current and past conversations. */
#aisc-root .aisc-date-separator {
    display: block !important;
    flex-shrink: 0;
    align-self: center;
    width: 100%;
    margin: 12px 0 !important;
    padding: 0 !important;
    color: var(--aisc-muted) !important;
    font-size: 11px !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
    text-align: center !important;
}

/* Hide private chat while the current account is being verified. */
#aisc-root[hidden] { display: none !important; }

/* Chat is a true modal layer: its touch targets remain above the store/header. */
#aisc-root { z-index: 2147483647 !important; isolation: isolate; pointer-events: auto !important; }
#aisc-root .aisc-page-shield {
    position: fixed; inset: 0; z-index: 0;
    background: rgba(0,0,0,.08); pointer-events: auto !important; touch-action: none;
}
#aisc-root .aisc-page-shield[hidden] { display: none !important; }
#aisc-root > .aisc-panel, #aisc-root > .aisc-launcher { z-index: 1; pointer-events: auto !important; }
