/**
 * Renovation AI Concierge — chat widget, "URB Chat Assistant v2" design.
 *
 * Implements the approved Claude Design spec (URB Chat Assistant v2.dc.html) 1:1.
 * Everything is scoped under .rac- and driven by CSS custom properties so nothing leaks
 * into the host theme and the admin appearance settings still apply.
 */

.rac-root,
.rac-root *,
.rac-root *::before,
.rac-root *::after {
	box-sizing: border-box;
}

.rac-root {
	position: fixed;
	z-index: 999998;
	bottom: var(--rac-offset-y, 24px);
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 13px;
	width: min(408px, calc(100vw - 32px));
	pointer-events: none;
	font-family: var(--rac-font, Manrope, system-ui, sans-serif);
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

.rac-root[data-position="right"] { right: var(--rac-offset-x, 24px); align-items: flex-end; }
.rac-root[data-position="left"]  { left:  var(--rac-offset-x, 24px); align-items: flex-start; }

/* Themes very commonly ship `a { color: … !important }`. Only !important can beat !important,
   so the widget's own link colours are forced. Specificity still decides between our rules,
   which is why the per-surface links below (dark CTA card, error card) override this. */
.rac-root a { color: #A57400 !important; text-decoration: none !important; }

.rac-root [hidden] { display: none !important; }

/*
 * Defensive reset — neutralises host-theme paint on our controls.
 *
 * Themes style bare `button` and `input` (Kadence, for example, gives `button:hover` a
 * palette background and inputs a dark fill). Those rules are specificity (0,1,1) and would
 * otherwise beat a plain `.rac-starter` (0,1,0). This reset sits at (0,1,1) to cancel them,
 * and every component rule is scoped `.rac-root .rac-x` (0,2,0) so it still wins here.
 */
.rac-root button,
.rac-root input,
.rac-root textarea {
	margin: 0;
	padding: 0;
	font: inherit;
	font-family: inherit;
	color: inherit !important;
	background: none !important;
	background-color: transparent !important;
	background-image: none !important;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	text-shadow: none;
	text-transform: none;
	letter-spacing: normal;
	line-height: inherit;
	text-align: inherit;
	min-height: 0;
	min-width: 0;
	max-width: none;
	width: auto;
	height: auto;
	appearance: none;
	-webkit-appearance: none;
	transition: none;
	transform: none;
	outline: none;
	float: none;
	text-decoration: none;
	opacity: 1;
	visibility: visible;
}

/*
 * Hover/focus/active are where themes do the most damage — flatten them too.
 *
 * Specificity note: `.rac-root button:hover` is (0,2,1), because a pseudo-class counts at
 * CLASS level. That makes it *stronger* than a component rule like `.rac-root .rac-starter`
 * (0,2,0) — so anything declared here overrides the component's base value on hover. Only
 * declare properties every component re-states in its own :hover rule.
 *
 * `color` is deliberately absent: every text button sets its own colour at (0,2,0), which
 * already beats a theme's `button:hover` (0,1,1). Resetting colour here would have washed
 * card text out to the inherited default instead.
 */
.rac-root button:hover,
.rac-root button:focus,
.rac-root button:active,
.rac-root input:hover,
.rac-root input:focus,
.rac-root textarea:focus {
	background: none !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none;
	text-decoration: none;
}

/* Inline SVGs sit on the text baseline by default, which throws icon centring off by ~2px. */
.rac-root svg { display: block; flex: none; }

.rac-root button:focus-visible,
.rac-root a:focus-visible,
.rac-root input:focus-visible,
.rac-root [role="button"]:focus-visible {
	outline: 2px solid var(--rac-accent, #FFB900);
	outline-offset: 2px;
}

@keyframes racUp    { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes racPanel { from { opacity: 0; transform: translateY(14px) scale(.975); } to { opacity: 1; transform: none; } }
@keyframes racDot   { 0%, 60%, 100% { transform: translateY(0); opacity: .35; } 30% { transform: translateY(-4px); opacity: 1; } }
@keyframes racHalo  { 0%, 100% { box-shadow: 0 0 0 0 rgba(255,185,0,.34); } 50% { box-shadow: 0 0 0 10px rgba(255,185,0,0); } }
@keyframes racPop   { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: none; } }

.rac-noscript {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 999998;
	padding: 12px 20px;
	border-radius: 999px;
	background: var(--rac-accent, #FFB900) !important;
	color: var(--rac-ink, #11161C) !important;
	font: 700 14px/1 Manrope, system-ui, sans-serif;
	text-decoration: none;
}

/* ---------------------------------------------------------------- avatar */

.rac-root .rac-avatar{
	position: relative;
	flex: none;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: linear-gradient(150deg, var(--rac-accent, #FFB900), var(--rac-accent-deep, #D89400)) !important;
	font-family: var(--rac-font-display, Archivo, sans-serif);
	font-weight: 700;
	color: var(--rac-ink, #11161C) !important;
	overflow: visible;
}

.rac-root .rac-avatar img{
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.rac-root .rac-avatar__dot{
	position: absolute;
	right: -1px;
	bottom: -1px;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: #2FA36B !important;
	border: 2.5px solid var(--rac-ink, #11161C);
}

/* ---------------------------------------------------------------- launcher */

.rac-root .rac-launcher{
	position: relative;
	pointer-events: auto;
	display: flex;
	align-items: center;
	gap: 11px;
	border: none;
	cursor: pointer;
	background: var(--rac-ink, #11161C) !important;
	color: #fff !important;
	border-radius: 999px;
	padding: 9px 20px 9px 9px;
	box-shadow: 0 18px 40px -14px rgba(9,12,16,.6);
	transition: transform .2s cubic-bezier(.2,.9,.3,1), background .2s ease;
}

.rac-root .rac-launcher:hover{ transform: translateY(-2px); background: #1A222B !important; }
.rac-root .rac-launcher:active{background: #1A222B !important;  transform: translateY(0) scale(.98); }

.rac-root .rac-launcher .rac-avatar{
	width: 38px;
	height: 38px;
	font-size: 12px;
	animation: racHalo 3.4s ease-in-out infinite;
}

.rac-root .rac-launcher__meta{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.25;
}

.rac-root .rac-launcher__label{ font-size: 13.5px; font-weight: 700; letter-spacing: -.005em; color: #fff !important; }
.rac-root .rac-launcher__sub{ font-size: 11px; color: rgba(255,255,255,.5) !important; font-weight: 500; }

.rac-root .rac-launcher__badge{
	position: absolute;
	top: -3px;
	right: -3px;
	min-width: 21px;
	height: 21px;
	padding: 0 6px;
	border-radius: 999px;
	background: #C4472E !important;
	color: #fff !important;
	font-size: 11.5px;
	font-weight: 700;
	display: grid;
	place-items: center;
	border: 2px solid #DEDAD4;
	animation: racPop .3s cubic-bezier(.2,1.3,.4,1) both;
}

/* ---------------------------------------------------------------- rotating question popup */

.rac-root .rac-prompt{
	pointer-events: auto;
	width: 100%;
	max-width: 322px;
	animation: racPanel .4s cubic-bezier(.2,.9,.3,1) both;
}

.rac-root .rac-prompt__card{
	position: relative;
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: #fff !important;
	border: 1px solid #EAE4DC;
	border-radius: 16px 16px 6px 16px;
	padding: 15px 40px 15px 15px;
	box-shadow: 0 16px 40px -18px rgba(9,12,16,.42);
	cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease;
}

.rac-root[data-position="left"] .rac-prompt__card { border-radius: 16px 16px 16px 6px; }

.rac-root .rac-prompt__card:hover{background: #fff !important; 
	transform: translateY(-2px);
	box-shadow: 0 22px 48px -18px rgba(9,12,16,.5);
}

.rac-root .rac-icon{
	width: 30px;
	height: 30px;
	flex: none;
	border-radius: 9px;
	background: #FFF6DE !important;
	display: grid;
	place-items: center;
}

.rac-root .rac-icon svg{
	fill: none;
	stroke: #A57400;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.rac-root .rac-prompt__body{
	min-width: 0;
	transition: opacity .32s ease, transform .32s ease;
}

.rac-root .rac-prompt__body.is-out{ opacity: 0; transform: translateY(-6px); }

.rac-root .rac-prompt__text{
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.35;
	color: var(--rac-ink, #11161C) !important;
	text-wrap: pretty;
}

.rac-root .rac-prompt__sub{
	font-size: 12px;
	color: #8A9099 !important;
	margin-top: 4px;
	font-weight: 500;
}

.rac-root .rac-prompt__close{
	position: absolute;
	top: 8px;
	right: 8px;
	width: 24px;
	height: 24px;
	border: none;
	background: transparent !important;
	border-radius: 7px;
	cursor: pointer;
	display: grid;
	place-items: center;
}

.rac-root .rac-prompt__close:hover{ background: #F3F0EC !important; }

.rac-root .rac-prompt__close svg{
	fill: none;
	stroke: #A8ADB3;
	stroke-width: 2;
	stroke-linecap: round;
}

.rac-root .rac-prompt__dots{
	display: flex;
	gap: 5px;
	justify-content: flex-end;
	padding: 9px 4px 0;
}

.rac-root[data-position="left"] .rac-prompt__dots { justify-content: flex-start; }

.rac-root .rac-prompt__dots span{
	width: 14px;
	height: 3px;
	border-radius: 2px;
	background: #BFB9B1 !important;
}

.rac-root .rac-prompt__dots span.is-active{ background: var(--rac-accent, #FFB900) !important; }

/* ---------------------------------------------------------------- question card stack */

.rac-root .rac-stack{
	pointer-events: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 9px;
	width: 100%;
	max-width: 330px;
}

.rac-root[data-position="left"] .rac-stack { align-items: flex-start; }

.rac-root .rac-stack__card{
	display: flex;
	gap: 11px;
	align-items: center;
	background: #fff !important;
	border: 1px solid #EAE4DC;
	border-radius: 14px;
	padding: 12px 15px;
	box-shadow: 0 12px 30px -16px rgba(9,12,16,.38);
	cursor: pointer;
	animation: racPanel .42s cubic-bezier(.2,.9,.3,1) both;
	transition: transform .18s ease;
	border-width: 1px;
}

.rac-root .rac-stack__card:hover{background: #fff !important;  transform: translateY(-2px); }

.rac-root .rac-stack__card .rac-icon{ width: 26px; height: 26px; border-radius: 8px; }

.rac-root .rac-stack__text{
	font-size: 13.5px;
	font-weight: 600;
	color: var(--rac-ink, #11161C) !important;
	line-height: 1.35;
}

/* ---------------------------------------------------------------- welcome popup */

.rac-root .rac-welcome{
	pointer-events: auto;
	width: 100%;
	max-width: 360px;
	background: #fff !important;
	border-radius: 22px;
	border: 1px solid #EAE4DC;
	box-shadow: 0 34px 70px -26px rgba(9,12,16,.5);
	overflow: hidden;
	animation: racPanel .42s cubic-bezier(.2,.9,.3,1) both;
}

.rac-root .rac-welcome__head{
	position: relative;
	padding: 22px 22px 20px;
	background: var(--rac-ink, #11161C) !important;
}

.rac-root .rac-welcome__close{
	position: absolute;
	top: 14px;
	right: 14px;
	width: 28px;
	height: 28px;
	border: none;
	border-radius: 8px;
	background: rgba(255,255,255,.08) !important;
	cursor: pointer;
	display: grid;
	place-items: center;
}

.rac-root .rac-welcome__close:hover{ background: rgba(255,255,255,.16) !important; }

.rac-root .rac-welcome__close svg,
.rac-root .rac-head__btn svg{
	fill: none;
	stroke: rgba(255,255,255,.72);
	stroke-width: 2;
	stroke-linecap: round;
}

.rac-root .rac-welcome__who{
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
}

.rac-root .rac-welcome__who .rac-avatar{ width: 44px; height: 44px; font-size: 15px; }

.rac-root .rac-welcome__name{ font-size: 14.5px; font-weight: 600; color: #fff !important; }
.rac-root .rac-welcome__role{ font-size: 12.5px; color: rgba(255,255,255,.5) !important; font-weight: 500; }

.rac-root .rac-welcome__title{
	font-family: var(--rac-font-display, Archivo, sans-serif);
	font-weight: 600;
	font-size: 21px;
	line-height: 1.2;
	letter-spacing: -.015em;
	color: #fff !important;
	margin-bottom: 8px;
	text-wrap: pretty;
}

.rac-root .rac-welcome__body{
	margin: 0;
	font-size: 13.5px;
	line-height: 1.55;
	color: rgba(255,255,255,.58) !important;
	text-wrap: pretty;
}

.rac-root .rac-welcome__list{
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: var(--rac-panel, #FDFCFB) !important;
}

.rac-root .rac-starter{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	text-align: left;
	background: #fff !important;
	border: 1px solid #EAE4DC;
	border-radius: 13px;
	padding: 13px 14px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--rac-ink, #11161C) !important;
	cursor: pointer;
	animation: racUp .38s ease both;
	transition: border-color .16s ease, transform .16s ease;
	line-height: 1.35;
}

.rac-root .rac-starter:hover{background: #fff !important; 
	border-color: var(--rac-accent, #FFB900) !important;
	transform: translateX(2px);
}

.rac-root .rac-starter__arrow{
	flex: none;
	fill: none;
	stroke: #A57400;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.rac-root .rac-welcome__note{
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 6px 4px 0;
	font-size: 11.5px;
	color: #9AA0A7 !important;
	font-weight: 500;
}

.rac-root .rac-welcome__note span:first-child{
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #2FA36B !important;
	flex: none;
}

/* ---------------------------------------------------------------- panel */

.rac-root .rac-panel{
	pointer-events: auto;
	width: 100%;
	background: var(--rac-panel, #FDFCFB) !important;
	border: 1px solid #E7E1D9;
	box-shadow: 0 40px 80px -28px rgba(9,12,16,.5);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	animation: racPanel .34s cubic-bezier(.2,.9,.3,1) both;
	height: min(var(--rac-height, 624px), calc(100vh - 130px));
	border-radius: 22px;
}

.rac-root .rac-head{
	flex: none;
	padding: 15px 16px;
	background: var(--rac-ink, #11161C) !important;
	display: flex;
	align-items: center;
	gap: 12px;
}

.rac-root .rac-head .rac-avatar{ width: 38px; height: 38px; font-size: 13px; }

.rac-root .rac-head__meta{ flex: 1; min-width: 0; }
.rac-root .rac-head__name{ font-size: 14px; font-weight: 600; color: #fff !important; }

.rac-root .rac-head__status{
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 11.5px;
	color: rgba(255,255,255,.5) !important;
	font-weight: 500;
	margin-top: 1px;
}

.rac-root .rac-head__status .rac-online{ color: #6ED09B !important; }

.rac-root .rac-head__actions{ display: flex; gap: 4px; }

.rac-root .rac-head__btn{
	width: 30px;
	height: 30px;
	border: none;
	border-radius: 9px;
	background: rgba(255,255,255,.07) !important;
	cursor: pointer;
	display: grid;
	place-items: center;
}

.rac-root .rac-head__btn:hover{ background: rgba(255,255,255,.16) !important; }

/* ---------------------------------------------------------------- log */

.rac-root .rac-log{
	flex: 1;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 18px 16px 8px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	scrollbar-width: thin;
	scrollbar-color: #D8D2C9 transparent;
}

.rac-root .rac-log::-webkit-scrollbar{ width: 7px; }
.rac-root .rac-log::-webkit-scrollbar-thumb{ background: #D8D2C9 !important; border-radius: 4px; }

/* empty state */

.rac-root .rac-empty{
	/* basis:auto so tall content grows the element instead of overflowing past the scroll top */
	flex: 1 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 8px 2px 16px;
	animation: racUp .4s ease both;
}

.rac-root .rac-empty .rac-avatar{
	width: 52px;
	height: 52px;
	font-size: 17px;
	margin-bottom: 18px;
}

.rac-root .rac-empty__title{
	font-family: var(--rac-font-display, Archivo, sans-serif);
	font-weight: 600;
	font-size: 24px;
	line-height: 1.15;
	letter-spacing: -.02em;
	color: var(--rac-ink, #11161C) !important;
	margin-bottom: 8px;
	text-wrap: pretty;
}

.rac-root .rac-empty__sub{
	margin: 0 0 20px;
	font-size: 13.5px;
	line-height: 1.55;
	color: #7C838B !important;
	text-wrap: pretty;
}

.rac-root .rac-empty__list{ display: flex; flex-direction: column; gap: 8px; }

.rac-root .rac-starter--icon{
	justify-content: flex-start;
	border-radius: 14px;
	padding: 14px 15px;
}

.rac-root .rac-starter--icon:hover{background: #fff !important;  transform: translateY(-1px); }
.rac-root .rac-starter--icon .rac-starter__text{ flex: 1; }
.rac-root .rac-starter--icon .rac-starter__arrow{ margin-left: auto; }

/* Explicit, not inherited: themes target `button:hover span` directly, and an inherited
   colour loses to a declaration aimed at the span itself. */
.rac-root .rac-starter__text{ color: var(--rac-ink, #11161C) !important; }

/* day divider */

.rac-root .rac-day{
	display: flex;
	align-items: center;
	gap: 10px;
	padding-bottom: 2px;
}

.rac-root .rac-day span:first-child,
.rac-root .rac-day span:last-child{ flex: 1; height: 1px; background: #EAE4DC !important; }

.rac-root .rac-day__label{
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .1em;
	color: #A9AEB4 !important;
}

/* messages */

.rac-root .rac-msg{
	display: flex;
	flex-direction: column;
	animation: racUp .3s ease both;
}

.rac-root .rac-msg--user{
	align-self: flex-end;
	max-width: 84%;
	background: var(--rac-user-bg, #11161C) !important;
	color: var(--rac-user-tx, #fff) !important;
	padding: 11px 15px;
	border-radius: 16px 16px 5px 16px;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 500;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

.rac-root .rac-msg--ai{
	flex-direction: row;
	gap: 10px;
	align-items: flex-start;
}

.rac-root .rac-msg--ai > .rac-avatar{
	width: 28px;
	height: 28px;
	font-size: 10px;
	margin-top: 2px;
}

.rac-root .rac-msg__col{
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.rac-root .rac-bubble{
	background: var(--rac-bot-bg, #fff) !important;
	border: 1px solid #EDE7E0;
	border-radius: 5px 16px 16px 16px;
	padding: 12px 15px;
	font-size: 14px;
	line-height: 1.58;
	color: var(--rac-bot-tx, #1B2128) !important;
	text-wrap: pretty;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

/* bullets card */

.rac-root .rac-bullets{
	background: #fff !important;
	border: 1px solid #EDE7E0;
	border-radius: 16px;
	padding: 6px 15px 8px;
}

.rac-root .rac-bullets__row{
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 8px 0;
	border-bottom: 1px solid #F4F0EA;
}

.rac-root .rac-bullets__row:last-child{ border-bottom: none; }

.rac-root .rac-bullets__dot{
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--rac-accent, #FFB900) !important;
	margin-top: 7px;
	flex: none;
}

.rac-root .rac-bullets__text{
	font-size: 13.5px;
	line-height: 1.5;
	color: #2A3138 !important;
}

/* CTA card */

.rac-root .rac-cta{
	background: var(--rac-ink, #11161C) !important;
	border-radius: 16px;
	padding: 17px;
}

.rac-root .rac-cta__title{
	font-family: var(--rac-font-display, Archivo, sans-serif);
	font-weight: 600;
	font-size: 15.5px;
	line-height: 1.3;
	color: #fff !important;
	margin-bottom: 6px;
	text-wrap: pretty;
}

.rac-root .rac-cta__body{
	margin: 0 0 14px;
	font-size: 12.5px;
	line-height: 1.5;
	color: rgba(255,255,255,.55) !important;
}

.rac-root .rac-cta__row{ display: flex; gap: 7px; }

.rac-root .rac-cta__yes{
	flex: 1;
	border: none;
	border-radius: 11px;
	padding: 12px 14px;
	background: var(--rac-accent, #FFB900) !important;
	color: var(--rac-ink, #11161C) !important;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: background .16s ease, transform .16s ease;
}

.rac-root .rac-cta__yes:hover{ background: #FFC933 !important; transform: translateY(-1px); }
.rac-root .rac-cta__yes:active{background: #FFC933 !important;  transform: translateY(0); }

.rac-root .rac-cta__no{
	flex: none;
	border: 1px solid rgba(255,255,255,.18);
	background: transparent !important;
	border-radius: 11px;
	padding: 12px 14px;
	color: rgba(255,255,255,.72) !important;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: border-color .16s ease, color .16s ease;
}

.rac-root .rac-cta__no:hover{background: transparent !important;  border-color: rgba(255,255,255,.4) !important; color: #fff !important; }

/* Specificity note: these beat the generic `.rac-root a` colour (0,1,1), which would
   otherwise paint every link amber regardless of the surface it sits on. */
.rac-root .rac-cta__call {
	display: block;
	text-align: center;
	padding-top: 12px;
	font-size: 12px;
	font-weight: 600;
	color: rgba(255,255,255,.44) !important;
}

.rac-root .rac-cta__call:hover { color: #fff !important; background: transparent !important; }

/* lead form card */

.rac-root .rac-form-card{
	background: #fff !important;
	border: 1px solid #EDE7E0;
	border-radius: 16px;
	padding: 16px;
}

.rac-root .rac-form-card__progress{
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 12px;
}

.rac-root .rac-form-card__progress span{
	flex: 1;
	height: 3px;
	border-radius: 2px;
	background: #EDE7E0 !important;
}

.rac-root .rac-form-card__progress span.is-done{ background: var(--rac-accent, #FFB900) !important; }

.rac-root .rac-form-card__count{
	flex: none !important;
	height: auto !important;
	background: none !important;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .07em;
	color: #A9AEB4 !important;
	padding-left: 4px;
}

.rac-root .rac-form-card__label{
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--rac-ink, #11161C) !important;
	margin-bottom: 3px;
}

.rac-root .rac-form-card__hint{
	font-size: 12.5px;
	color: #838A92 !important;
	line-height: 1.45;
	margin-bottom: 12px;
}

.rac-root .rac-form-card__chips{ display: flex; flex-wrap: wrap; gap: 7px; }

.rac-root .rac-chip{
	border: 1px solid #E4DED6;
	background: var(--rac-panel, #FDFCFB) !important;
	border-radius: 999px;
	padding: 9px 15px;
	font-size: 13px;
	font-weight: 600;
	color: #2A3138 !important;
	cursor: pointer;
	transition: border-color .16s ease, background .16s ease;
	white-space: nowrap;
}

.rac-root .rac-chip:hover{
	border-color: var(--rac-accent, #FFB900) !important;
	background: #FFFAEE !important;
}

.rac-root .rac-form-card__row{ display: flex; gap: 8px; }

.rac-root .rac-form-card__input{
	flex: 1;
	min-width: 0;
	border: 1px solid #E4DED6;
	border-radius: 11px;
	padding: 12px 14px;
	font-size: 14px;
	font-family: inherit;
	color: var(--rac-ink, #11161C) !important;
	background: var(--rac-panel, #FDFCFB) !important;
	transition: border-color .16s ease;
}

.rac-root .rac-form-card__input:focus{
	border-color: var(--rac-accent, #FFB900) !important;
	background: #fff !important;
	outline: none;
}

.rac-root .rac-form-card__go{
	flex: none;
	border: none;
	border-radius: 11px;
	width: 46px;
	background: var(--rac-ink, #11161C) !important;
	cursor: pointer;
	display: grid;
	place-items: center;
	transition: background .16s ease;
}

.rac-root .rac-form-card__go:hover{ background: #2A3138 !important; }

.rac-root .rac-form-card__go svg{
	fill: none;
	stroke: #fff;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/* sending state */

.rac-root .rac-sending{
	background: #fff !important;
	border: 1px solid #EDE7E0;
	border-radius: 16px;
	padding: 15px;
	display: flex;
	align-items: center;
	gap: 11px;
}

.rac-root .rac-dots{ display: flex; gap: 4px; }

.rac-root .rac-dots span{
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #A57400 !important;
	animation: racDot 1.1s infinite;
}

.rac-root .rac-dots span:nth-child(2){ animation-delay: .16s; }
.rac-root .rac-dots span:nth-child(3){ animation-delay: .32s; }

.rac-root .rac-sending__text{
	font-size: 13px;
	font-weight: 600;
	color: #5D646C !important;
}

/* error card */

.rac-root .rac-error{
	background: #fff !important;
	border: 1px solid #F2DCD6;
	border-radius: 16px;
	overflow: hidden;
}

.rac-root .rac-error__head{
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 13px 15px;
	background: #FDF3F0 !important;
	border-bottom: 1px solid #F5E1DB;
}

.rac-root .rac-error__icon{
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #C4472E !important;
	display: grid;
	place-items: center;
	flex: none;
}

.rac-root .rac-error__icon svg{ fill: none; stroke: #fff; stroke-width: 2.2; stroke-linecap: round; }
.rac-root .rac-error__title{ font-size: 13px; font-weight: 700; color: #9B3520 !important; }
.rac-root .rac-error__inner{ padding: 13px 15px 15px; }

.rac-root .rac-error__text{
	margin: 0 0 13px;
	font-size: 13px;
	line-height: 1.5;
	color: #5D646C !important;
}

.rac-root .rac-error__row{ display: flex; gap: 7px; }

.rac-root .rac-error__retry{
	flex: 1;
	border: none;
	border-radius: 11px;
	padding: 11px 14px;
	background: var(--rac-ink, #11161C) !important;
	color: #fff !important;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: background .16s ease;
}

.rac-root .rac-error__retry:hover{ background: #2A3138 !important; }

.rac-root .rac-error__call {
	flex: none;
	border: 1px solid #E4DED6;
	border-radius: 11px;
	padding: 11px 14px;
	font-size: 13px;
	font-weight: 600;
	color: #2A3138 !important;
	display: grid;
	place-items: center;
}

.rac-root .rac-error__call:hover { border-color: var(--rac-ink, #11161C) !important; color: var(--rac-ink, #11161C) !important; background: transparent !important; }

/* success summary card */

.rac-root .rac-summary{
	background: #fff !important;
	border: 1px solid #EDE7E0;
	border-radius: 16px;
	overflow: hidden;
}

.rac-root .rac-summary__head{
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 13px 15px;
	background: #F1F8F4 !important;
	border-bottom: 1px solid #E1EFE7;
}

.rac-root .rac-summary__icon{
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: #2FA36B !important;
	display: grid;
	place-items: center;
	flex: none;
	animation: racPop .35s cubic-bezier(.2,1.3,.4,1) both;
}

.rac-root .rac-summary__icon svg{ fill: none; stroke: #fff; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.rac-root .rac-summary__title{ font-size: 13px; font-weight: 700; color: #1A5E40 !important; }
.rac-root .rac-summary__list{ padding: 6px 15px 12px; }

.rac-root .rac-summary__row{
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 9px 0;
	border-bottom: 1px solid #F4F0EA;
}

.rac-root .rac-summary__row:last-child{ border-bottom: none; }

.rac-root .rac-summary__key{
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .04em;
	color: #A0A6AD !important;
}

.rac-root .rac-summary__val{
	font-size: 13px;
	font-weight: 600;
	color: var(--rac-ink, #11161C) !important;
	text-align: right;
	overflow-wrap: anywhere;
}

/* typing */

.rac-root .rac-typing{
	display: flex;
	gap: 10px;
	align-items: flex-end;
	animation: racUp .3s ease both;
}

.rac-root .rac-typing .rac-avatar{ width: 28px; height: 28px; font-size: 10px; }

.rac-root .rac-typing__bubble{
	background: #fff !important;
	border: 1px solid #EDE7E0;
	border-radius: 5px 16px 16px 16px;
	padding: 13px 15px;
	display: flex;
	gap: 5px;
	align-items: center;
}

/* ---------------------------------------------------------------- chips row */

.rac-root .rac-chips-row{
	flex: none;
	padding: 4px 16px 0;
	display: flex;
	gap: 7px;
	overflow-x: auto;
	scrollbar-width: none;
}

.rac-root .rac-chips-row::-webkit-scrollbar{ display: none; }

.rac-root .rac-chips-row .rac-chip{
	flex: none;
	background: #fff !important;
	font-size: 12.5px;
	padding: 9px 14px;
}

/* ---------------------------------------------------------------- composer */

.rac-root .rac-composer{ flex: none; padding: 12px 16px 14px; }

.rac-root .rac-composer__form{
	display: flex;
	align-items: center;
	gap: 6px;
	background: #fff !important;
	border: 1px solid #E4DED6;
	border-radius: 14px;
	padding: 6px 6px 6px 8px;
	transition: border-color .16s ease;
}

.rac-root .rac-composer__form:focus-within{background: #fff !important;  border-color: var(--rac-accent, #FFB900) !important; }

.rac-root .rac-composer__input{
	flex: 1;
	min-width: 0;
	border: none;
	outline: none;
	background: transparent !important;
	font-size: 14px;
	font-family: inherit;
	color: var(--rac-ink, #11161C) !important;
	padding: 8px 0 8px 6px;
}

.rac-root .rac-composer__input::placeholder{ color: #9DA3A9 !important; }

.rac-root .rac-composer__send{
	flex: none;
	width: 38px;
	height: 38px;
	border: none;
	border-radius: 11px;
	background: var(--rac-accent, #FFB900) !important;
	cursor: pointer;
	display: grid;
	place-items: center;
	transition: background .16s ease, transform .16s ease, opacity .16s ease;
}

.rac-root .rac-composer__send:hover{ background: #FFC933 !important; transform: scale(1.04); }
.rac-root .rac-composer__send:active{background: #FFC933 !important;  transform: scale(.96); }
.rac-root .rac-composer__send[disabled]{ opacity: .45; cursor: not-allowed; transform: none; }

.rac-root .rac-composer__send svg{
	fill: none;
	stroke: var(--rac-ink, #11161C);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.rac-root .rac-composer__note{
	text-align: center;
	font-size: 10.5px;
	color: #A9AEB4 !important;
	padding-top: 9px;
	font-weight: 500;
}

.rac-root .rac-composer__note a{ color: #A57400 !important; }

/* honeypot — off-screen, not display:none */
.rac-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.rac-root .rac-sr{
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ---------------------------------------------------------------- mobile */

@media (max-width: 640px) {
	.rac-root,
	.rac-root[data-position="left"],
	.rac-root[data-position="right"] {
		right: var(--rac-offset-x, 16px);
		left: auto;
		bottom: var(--rac-offset-y, 16px);
		width: calc(100vw - 32px);
		align-items: flex-end;
	}

	.rac-root.is-open {
		right: 0;
		left: 0;
		bottom: 0;
		width: 100vw;
	}

	.rac-root.is-open .rac-launcher { display: none; }

	.rac-root .rac-panel{
		height: 100dvh;
		max-height: 100dvh;
		border: none;
		border-radius: 0;
	}

	.rac-root .rac-prompt,
	.rac-root .rac-welcome,
	.rac-root .rac-stack{ max-width: calc(100vw - 32px); }

	/* 16px minimum stops iOS Safari zooming the viewport on focus */
	.rac-root .rac-composer__input,
	.rac-root .rac-form-card__input{ font-size: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.rac-root *,
	.rac-root *::before,
	.rac-root *::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
	}
}
