/* CQR Plan Assistant widget. All rules are scoped to .cqrpa so the theme isn't affected. */
.cqrpa {
	--cqrpa-accent: #f26b1d;
	--cqrpa-bg: #ffffff;
	--cqrpa-soft: #f4f5f7;
	--cqrpa-text: #1f2430;
	--cqrpa-muted: #6b7280;
	--cqrpa-line: #e3e5e8;
	font: 15px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--cqrpa-text);
	box-sizing: border-box;
}
.cqrpa *, .cqrpa *::before, .cqrpa *::after { box-sizing: inherit; }

/* Floating bubble */
.cqrpa--bubble { position: fixed; right: 20px; bottom: 20px; z-index: 99999; }
.cqrpa-launcher {
	width: 58px; height: 58px; border-radius: 50%; border: 0; cursor: pointer;
	background: var(--cqrpa-accent); color: #fff;
	box-shadow: 0 6px 20px rgba(0,0,0,.22);
	display: flex; align-items: center; justify-content: center;
	transition: transform .15s ease;
}
.cqrpa-launcher:hover { transform: scale(1.06); }
.cqrpa-launcher:focus-visible, .cqrpa button:focus-visible, .cqrpa a:focus-visible { outline: 3px solid var(--cqrpa-accent); outline-offset: 2px; }
.cqrpa--bubble .cqrpa-panel {
	position: absolute; right: 0; bottom: 72px;
	width: 500px; max-width: calc(100vw - 32px);
	height: 600px; max-height: calc(100vh - 110px);
	box-shadow: 0 12px 40px rgba(0,0,0,.22);
}
/*
 * Phones and small tablets. The bubble sits higher so it clears the browser's bottom bar
 * (Android), the phone's gesture area and sticky bars some pages have (e.g. "Add to your
 * Course Library"). The open chat leaves a margin all round, inside the phone's safe areas.
 */
@media (max-width: 600px) {
	.cqrpa--bubble {
		right: calc(20px + env(safe-area-inset-right, 0px));
		bottom: calc(56px + env(safe-area-inset-bottom, 0px));
	}
	/*
	 * The open chat is centered on the visible screen, with equal space above and below.
	 * dvh = the part of the screen not covered by the browser's bars; older browsers use vh.
	 */
	.cqrpa--bubble .cqrpa-panel {
		position: fixed;
		top: 50%;
		bottom: auto;
		left: calc(12px + env(safe-area-inset-left, 0px));
		right: calc(12px + env(safe-area-inset-right, 0px));
		transform: translateY(-50%);
		width: auto; max-width: none;
		height: calc(100vh - 120px);
		height: calc(100dvh - 64px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
		max-height: none;
		border-radius: 14px;
	}
	@supports (height: 100dvh) {
		.cqrpa--bubble .cqrpa-panel { top: calc(50dvh + (env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) / 2); }
	}
}

/* Inline (shortcode) */
.cqrpa--inline .cqrpa-panel { height: 640px; max-height: 80vh; border: 1px solid var(--cqrpa-line); }

.cqrpa-panel {
	background: var(--cqrpa-bg); border-radius: 14px; overflow: hidden;
	display: flex; flex-direction: column;
}
.cqrpa-panel[hidden] { display: none; }
.cqrpa-head {
	display: flex; align-items: center; gap: 8px;
	padding: 12px 14px; background: var(--cqrpa-accent); color: #fff;
}
.cqrpa-title { font-weight: 600; flex: 1; }
.cqrpa-iconbtn {
	background: rgba(255,255,255,.18); color: #fff; border: 0; border-radius: 6px;
	padding: 4px 9px; font: inherit; font-size: 13px; cursor: pointer;
}
.cqrpa-iconbtn:hover { background: rgba(255,255,255,.3); }
.cqrpa.cqrpa .cqrpa-close {
	width: 38px !important; height: 38px !important; padding: 0 !important;
	display: inline-flex !important; align-items: center !important; justify-content: center !important;
	font-size: 28px !important; line-height: 1 !important; border-radius: 8px !important;
}

.cqrpa-log { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; background: var(--cqrpa-soft); }
.cqrpa-msg { max-width: 88%; padding: 9px 12px; border-radius: 12px; word-wrap: break-word; }
.cqrpa-msg--bot { background: #fff; border: 1px solid var(--cqrpa-line); align-self: flex-start; border-bottom-left-radius: 4px; }
.cqrpa-msg--user { background: var(--cqrpa-accent); color: #fff; align-self: flex-end; border-bottom-right-radius: 4px; white-space: pre-wrap; }
.cqrpa-msg a { color: inherit; text-decoration: underline; }

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

/* Plan card */
.cqrpa-plan { background: #fff; border: 1px solid var(--cqrpa-line); border-left: 4px solid var(--cqrpa-accent); border-radius: 10px; padding: 12px; align-self: stretch; }
.cqrpa-plan-title { font-weight: 700; }
.cqrpa-plan-sum { color: var(--cqrpa-muted); font-size: 13px; margin-bottom: 8px; }
.cqrpa-plan-courses { list-style: none; margin: 0 0 8px; padding: 0; }
.cqrpa-plan-courses li { display: flex; gap: 6px; align-items: baseline; padding: 5px 0; border-top: 1px solid var(--cqrpa-line); font-size: 14px; }
.cqrpa-plan-courses li:first-child { border-top: 0; }
.cqrpa-plan-courses a { color: var(--cqrpa-text); font-weight: 500; }
.cqrpa-star { color: var(--cqrpa-accent); }
.cqrpa-price { margin-left: auto; color: var(--cqrpa-muted); white-space: nowrap; font-size: 13px; }
.cqrpa-plan-cats summary { cursor: pointer; font-size: 13px; font-weight: 600; color: var(--cqrpa-accent); padding: 4px 0; }
.cqrpa-cat { margin-top: 8px; font-size: 13px; }
.cqrpa-cat-head { display: flex; justify-content: space-between; font-weight: 600; background: var(--cqrpa-soft); padding: 4px 6px; border-radius: 4px; }
.cqrpa-cat-total.is-ok { color: #157347; }
.cqrpa-cat-row { display: flex; justify-content: space-between; gap: 8px; padding: 2px 6px; color: var(--cqrpa-muted); }
.cqrpa-note { font-size: 12px; color: var(--cqrpa-muted); margin-top: 6px; }
.cqrpa-cart {
	display: block; text-align: center; margin-top: 10px; padding: 9px; border-radius: 8px;
	background: var(--cqrpa-accent); color: #fff !important; font-weight: 600; text-decoration: none !important;
}
.cqrpa-cart:hover { filter: brightness(.95); }

/* Plan vs Unlimited choice */
.cqrpa-choice { margin-top: 10px; }
.cqrpa-choice-title { font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.cqrpa-opt { border: 1px solid var(--cqrpa-line); border-radius: 8px; padding: 10px; margin-top: 8px; }
.cqrpa-opt-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.cqrpa-opt-name { font-weight: 600; color: var(--cqrpa-text) !important; }
.cqrpa-opt-price { font-weight: 700; white-space: nowrap; }
.cqrpa-opt-desc { font-size: 13px; color: var(--cqrpa-muted); margin: 3px 0 8px; }
.cqrpa-optbtn {
	display: block; text-align: center; padding: 8px; border-radius: 8px; font-weight: 600; font-size: 14px;
	border: 2px solid var(--cqrpa-accent); color: var(--cqrpa-accent) !important; text-decoration: none !important; background: #fff;
}
.cqrpa-optbtn:hover { background: var(--cqrpa-accent); color: #fff !important; }

.cqrpa-upsell { margin-top: 10px; padding: 10px; border-radius: 8px; background: var(--cqrpa-soft); border: 1px dashed var(--cqrpa-line); }
.cqrpa-upsell .cqrpa-opt-name { font-size: 14px; }

/* Save / email under a plan */
.cqrpa-save { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--cqrpa-line); }
.cqrpa-save-row { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.cqrpa-linkbtn {
	background: none; border: 0; padding: 4px 0; font: inherit; font-size: 13px; font-weight: 600;
	color: var(--cqrpa-accent); text-decoration: underline; cursor: pointer;
}
.cqrpa-mailform { margin-top: 6px; }
.cqrpa-mailform[hidden] { display: none; }
.cqrpa-email {
	display: block; width: 100%; margin: 4px 0 8px; padding: 8px 10px; font: inherit; font-weight: 400; color: inherit;
	background: #fff; border: 1px solid var(--cqrpa-line); border-radius: 8px;
}
.cqrpa-email:focus { outline: 2px solid var(--cqrpa-accent); outline-offset: -1px; border-color: transparent; }
button.cqrpa-optbtn { width: 100%; font: inherit; font-weight: 600; cursor: pointer; }
button.cqrpa-optbtn:disabled { opacity: .6; cursor: default; }
.cqrpa-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cqrpa-sent { margin: 6px 0 0; font-size: 13px; color: #157347; }

/* Start menu buttons */
.cqrpa-panel:focus { outline: none; }
.cqrpa-menu { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.cqrpa-chip {
	background: #fff; color: var(--cqrpa-accent); border: 1.5px solid var(--cqrpa-accent); border-radius: 18px;
	padding: 7px 14px; font: inherit; font-size: 14px; font-weight: 600; text-align: left; cursor: pointer;
}
.cqrpa-chip:hover { background: var(--cqrpa-accent); color: #fff; }

/* Plan form card */
.cqrpa-formcard { background: #fff; border: 1px solid var(--cqrpa-line); border-left: 4px solid var(--cqrpa-accent); border-radius: 10px; padding: 12px; align-self: stretch; margin: 0; }
.cqrpa-field-label { display: block; font-size: 13px; font-weight: 600; margin: 8px 0 4px; }
.cqrpa-select {
	display: block; width: 100%; margin-top: 4px; padding: 8px 10px; font: inherit; font-weight: 400; color: inherit;
	background: #fff; border: 1px solid var(--cqrpa-line); border-radius: 8px;
}
.cqrpa-fields { margin-top: 8px; }
.cqrpa-field { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-top: 1px solid var(--cqrpa-line); }
.cqrpa-field:first-child { border-top: 0; }
.cqrpa-field label { flex: 1; font-size: 14px; line-height: 1.3; }
.cqrpa-num {
	width: 72px; flex: none; padding: 7px 8px; font: inherit; color: inherit; text-align: right;
	background: #fff; border: 1px solid var(--cqrpa-line); border-radius: 8px;
}
.cqrpa-num:focus, .cqrpa-select:focus { outline: 2px solid var(--cqrpa-accent); outline-offset: -1px; border-color: transparent; }
.cqrpa-form-error { color: #b42318; font-size: 13px; margin: 6px 0 0; }
.cqrpa-form-error:empty { display: none; }
button.cqrpa-cart { width: 100%; border: 0; font: inherit; font-weight: 600; cursor: pointer; }
button.cqrpa-cart[hidden] { display: none; }
button.cqrpa-cart:disabled { opacity: .6; cursor: default; }

.cqrpa-form { display: flex; gap: 8px; padding: 10px; border-top: 1px solid var(--cqrpa-line); background: #fff; }
.cqrpa-input {
	flex: 1; resize: none; border: 1px solid var(--cqrpa-line); border-radius: 10px;
	padding: 9px 11px; font: inherit; color: inherit; background: #fff; min-height: 40px; max-height: 120px;
}
.cqrpa-input:focus { outline: 2px solid var(--cqrpa-accent); outline-offset: -1px; border-color: transparent; }
.cqrpa-send {
	border: 0; border-radius: 10px; padding: 0 16px; background: var(--cqrpa-accent); color: #fff;
	font: inherit; font-weight: 600; cursor: pointer;
}
.cqrpa-send:disabled { opacity: .5; cursor: default; }
.cqrpa-foot { font-size: 11px; color: var(--cqrpa-muted); text-align: center; padding: 0 10px 8px; background: #fff; }

/*
 * Theme-proofing. Many WordPress themes style every input, select, textarea, label
 * and button on the page (width: 100%, big padding, fixed heights). These rules
 * use higher specificity and !important on layout properties so the chat keeps
 * its own sizes whatever the theme does.
 */
.cqrpa.cqrpa input,
.cqrpa.cqrpa select,
.cqrpa.cqrpa textarea,
.cqrpa.cqrpa button {
	box-sizing: border-box !important;
	margin: 0 !important;
	min-width: 0 !important;
	max-width: 100% !important;
	min-height: 0 !important;
	line-height: 1.3 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	box-shadow: none !important;
}
.cqrpa.cqrpa label { font-size: 14px !important; line-height: 1.3 !important; margin: 0 !important; padding: 0 !important; text-transform: none !important; }
.cqrpa.cqrpa .cqrpa-field-label { font-size: 13px !important; margin: 8px 0 4px !important; }

/* Credit boxes: small, fixed width, numbers right-aligned, no spinner arrows. */
.cqrpa.cqrpa .cqrpa-field { display: flex !important; align-items: center !important; gap: 10px !important; flex-wrap: nowrap !important; }
.cqrpa.cqrpa .cqrpa-field label { flex: 1 1 auto !important; min-width: 0 !important; font-weight: 400 !important; }
.cqrpa.cqrpa input.cqrpa-num {
	flex: 0 0 64px !important;
	width: 64px !important;
	height: 36px !important;
	padding: 6px 8px !important;
	font-size: 15px !important;
	text-align: right !important;
	border: 1px solid var(--cqrpa-line) !important;
	border-radius: 8px !important;
	background: #fff !important;
	-moz-appearance: textfield !important;
	appearance: textfield !important;
}
.cqrpa.cqrpa input.cqrpa-num::-webkit-outer-spin-button,
.cqrpa.cqrpa input.cqrpa-num::-webkit-inner-spin-button { -webkit-appearance: none !important; margin: 0 !important; }

.cqrpa.cqrpa select.cqrpa-select { width: 100% !important; height: 38px !important; padding: 6px 10px !important; font-size: 15px !important; border-radius: 8px !important; }
.cqrpa.cqrpa input.cqrpa-email { width: 100% !important; height: 38px !important; padding: 6px 10px !important; font-size: 15px !important; margin: 4px 0 8px !important; border-radius: 8px !important; }
.cqrpa.cqrpa textarea.cqrpa-input { width: auto !important; flex: 1 1 auto !important; height: auto; min-height: 40px !important; padding: 9px 11px !important; font-size: 15px !important; border-radius: 10px !important; }
.cqrpa.cqrpa .cqrpa-send { flex: 0 0 auto !important; width: auto !important; padding: 0 16px !important; font-size: 15px !important; }
.cqrpa.cqrpa .cqrpa-log { overflow-x: hidden !important; }
.cqrpa.cqrpa .cqrpa-hint { margin: 10px 0 2px !important; font-size: 13px !important; color: var(--cqrpa-muted) !important; }
.cqrpa.cqrpa .cqrpa-hint[hidden] { display: none !important; }

/* Unlimited members */
.cqrpa-member { margin: 2px 0 8px; padding: 6px 10px; border-radius: 6px; background: #ecfdf3; color: #157347; font-size: 13px; font-weight: 600; }
.cqrpa-member.is-ending { background: #fff7ed; color: #9a3412; }
.cqrpa-member a { color: inherit; text-decoration: underline; }
.cqrpa-incl { color: #157347 !important; font-weight: 600; }
.cqrpa-enrolled .cqrpa-choice-title { margin-top: 4px; }
.cqrpa.cqrpa .cqrpa-log { position: relative !important; } /* So replies can be scrolled to their first line. */

/* Background overlay while the chat is open (bubble mode). Light enough to still see the page. */
.cqrpa-overlay {
	position: fixed; inset: 0; z-index: -1;
	background: rgba(17, 24, 39, 0.35);
	opacity: 0; pointer-events: none;
	transition: opacity .2s ease;
}
.cqrpa-overlay.is-on { opacity: 1; pointer-events: auto; }
@media (prefers-reduced-motion: reduce) { .cqrpa-overlay { transition: none; } }
@media (max-width: 600px) { html.cqrpa-open, html.cqrpa-open body { overflow: hidden !important; } }
.cqrpa.cqrpa .cqrpa-star { color: var(--cqrpa-accent) !important; }
.cqrpa-total { display: flex; justify-content: space-between; align-items: baseline; margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--cqrpa-line); font-weight: 600; }
.cqrpa-total-price { font-size: 16px; font-weight: 700; }
/* "Credits by category": larger title so it's easy to spot. */
.cqrpa.cqrpa .cqrpa-plan-cats summary { font-size: 16px !important; font-weight: 700 !important; padding: 8px 0 4px !important; }
/* "Download PDF" is a link: keep it looking like the buttons next to it whatever the theme does to links. */
.cqrpa.cqrpa a.cqrpa-linkbtn, .cqrpa.cqrpa a.cqrpa-linkbtn:hover, .cqrpa.cqrpa a.cqrpa-linkbtn:visited {
	display: inline-block !important; color: var(--cqrpa-accent) !important; font-size: 13px !important; font-weight: 600 !important;
	text-decoration: underline !important; padding: 4px 0 !important; line-height: inherit !important;
}
/* "← Back to options" under the last message. */
.cqrpa.cqrpa .cqrpa-back {
	align-self: flex-start !important; background: none !important; border: 0 !important; box-shadow: none !important;
	margin: 0 !important; padding: 2px 4px !important; font: inherit !important; font-size: 13px !important; font-weight: 600 !important;
	color: var(--cqrpa-accent) !important; text-decoration: none !important; cursor: pointer !important; width: auto !important;
	text-transform: none !important; letter-spacing: normal !important; line-height: 1.4 !important; min-height: 0 !important;
}
.cqrpa.cqrpa .cqrpa-back:hover, .cqrpa.cqrpa .cqrpa-back:focus-visible { text-decoration: underline !important; }
/* "Or type your own question below" under the start buttons. */
.cqrpa.cqrpa .cqrpa-typeown {
	background: none !important; border: 0 !important; box-shadow: none !important; width: auto !important;
	margin: 2px 0 0 !important; padding: 4px 2px !important; font: inherit !important; font-size: 13px !important; font-weight: 600 !important;
	color: var(--cqrpa-accent) !important; text-decoration: underline !important; cursor: pointer !important;
	text-transform: none !important; letter-spacing: normal !important; line-height: 1.4 !important; min-height: 0 !important;
}
@keyframes cqrpa-hint { 0%, 60% { box-shadow: 0 0 0 3px var(--cqrpa-accent); } 100% { box-shadow: 0 0 0 0 transparent; } }
.cqrpa.cqrpa .cqrpa-input.is-hint { animation: cqrpa-hint 1.2s ease-out 1; }

/* ---------- Getting noticed: the chat button with its text, pulse and greeting bubble ---------- */
/* The button's text ("Build your CQR plan"), always visible; phones get the shorter text. */
.cqrpa.cqrpa .cqrpa-launcher.cqrpa-launcher--pill {
	width: auto !important; max-width: calc(100vw - 40px) !important; gap: 9px !important;
	padding: 0 22px 0 17px !important; border-radius: 999px !important;
}
.cqrpa.cqrpa .cqrpa-launcher-text {
	font: inherit !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.2 !important;
	color: #fff !important; white-space: nowrap !important; letter-spacing: normal !important; text-transform: none !important;
}
.cqrpa.cqrpa .cqrpa-label-short { display: none !important; }
.cqrpa.cqrpa .cqrpa-launcher--pill:hover { transform: translateY(-2px) !important; box-shadow: 0 10px 26px rgba(0,0,0,.26) !important; }
@media (max-width: 600px) {
	.cqrpa.cqrpa .cqrpa-label-full { display: none !important; }
	.cqrpa.cqrpa .cqrpa-label-short { display: inline !important; }
	.cqrpa.cqrpa .cqrpa-launcher.cqrpa-launcher--pill { height: 52px !important; padding: 0 18px 0 14px !important; }
	.cqrpa.cqrpa .cqrpa-launcher-text { font-size: 15px !important; }
}

/* Soft pulse: two rings, then it stops. */
.cqrpa-launcher { position: relative; }
.cqrpa-launcher.is-pulse::before, .cqrpa-launcher.is-pulse::after {
	content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
	box-shadow: 0 0 0 0 var(--cqrpa-accent); animation: cqrpa-pulse 1.6s ease-out 2;
}
.cqrpa-launcher.is-pulse::after { animation-delay: .5s; }
@keyframes cqrpa-pulse { 0% { box-shadow: 0 0 0 0 var(--cqrpa-accent); opacity: .55; } 100% { box-shadow: 0 0 0 16px var(--cqrpa-accent); opacity: 0; } }

/* Greeting bubble above the icon. */
.cqrpa.cqrpa .cqrpa-teaser {
	position: absolute !important; right: 0 !important; bottom: 72px !important;
	width: 270px !important; max-width: calc(100vw - 40px) !important;
	background: #fff !important; border-radius: 14px 14px 4px 14px !important;
	box-shadow: 0 8px 28px rgba(0,0,0,.2) !important; animation: cqrpa-in .35s cubic-bezier(.2,.9,.3,1.2) both;
}
.cqrpa--bubble.is-open .cqrpa-teaser { display: none !important; }
.cqrpa.cqrpa .cqrpa-teaser-msg {
	display: block !important; width: 100% !important; margin: 0 !important; padding: 14px 34px 14px 16px !important;
	background: none !important; border: 0 !important; box-shadow: none !important; cursor: pointer !important; text-align: left !important;
	font: inherit !important; font-size: 14.5px !important; line-height: 1.45 !important; color: var(--cqrpa-text) !important;
	text-transform: none !important; letter-spacing: normal !important; min-height: 0 !important;
	white-space: normal !important; overflow-wrap: break-word !important; word-break: normal !important;
	height: auto !important; max-width: none !important; overflow: visible !important; text-overflow: clip !important;
	box-sizing: border-box !important;
}
.cqrpa.cqrpa .cqrpa-teaser-x {
	position: absolute !important; top: 4px !important; right: 4px !important; width: 28px !important; height: 28px !important;
	margin: 0 !important; padding: 0 !important; min-height: 0 !important; border: 0 !important; border-radius: 50% !important;
	background: none !important; box-shadow: none !important; color: var(--cqrpa-muted) !important;
	font: inherit !important; font-size: 20px !important; line-height: 28px !important; cursor: pointer !important;
}
.cqrpa.cqrpa .cqrpa-teaser-x:hover { background: var(--cqrpa-soft) !important; color: var(--cqrpa-text) !important; }
@keyframes cqrpa-in { from { opacity: 0; transform: translateY(8px) scale(.97); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
	.cqrpa.cqrpa .cqrpa-label { transition: none; }
	.cqrpa-launcher.is-pulse::before, .cqrpa-launcher.is-pulse::after { animation: none; }
	.cqrpa.cqrpa .cqrpa-teaser { animation: none; }
}
/* Keep the round icon intact whatever the theme does to buttons. */
.cqrpa.cqrpa .cqrpa-launcher {
	padding: 0 !important; width: 58px !important; height: 58px !important; min-width: 0 !important; line-height: 1 !important;
	display: flex !important; align-items: center !important; justify-content: center !important; overflow: visible !important;
}
.cqrpa.cqrpa .cqrpa-launcher svg { width: 26px !important; height: 26px !important; flex: none !important; }
.cqrpa.cqrpa .cqrpa-testbadge {
	display: inline-block !important; margin-left: 8px !important; padding: 1px 7px !important; border-radius: 999px !important;
	background: rgba(255,255,255,.25) !important; color: #fff !important; font-size: 11px !important; font-weight: 700 !important;
	vertical-align: middle !important; text-transform: uppercase !important; letter-spacing: .04em !important;
}
/* While the chat is open, the button says "Close". */
.cqrpa.cqrpa .cqrpa-label-close { display: none !important; }
.cqrpa--bubble.is-open .cqrpa-launcher .cqrpa-label-full,
.cqrpa--bubble.is-open .cqrpa-launcher .cqrpa-label-short { display: none !important; }
.cqrpa--bubble.is-open .cqrpa-launcher .cqrpa-label-close { display: inline !important; }
/* Links in the assistant's replies: the accent color, so they stand out from the text. */
.cqrpa.cqrpa .cqrpa-msg--bot a, .cqrpa.cqrpa .cqrpa-msg--bot a:visited {
	color: var(--cqrpa-accent) !important; font-weight: 600 !important; text-decoration: underline !important;
	text-underline-offset: 2px !important;
}
.cqrpa.cqrpa .cqrpa-msg--bot a:hover { text-decoration-thickness: 2px !important; }
/* Product pages on phones (setting): no chat button, so it doesn't cover the purchase bar. */
@media (max-width: 600px) {
	.cqrpa-root[data-hide-mobile="1"] { display: none !important; }
}
