/* AREG Ask a Realtor chat. Brand: navy #0F2942, orange #A84F10 (AA-safe shade of #C25C13). */
.areg-ask {
	--ask-navy: #0F2942;
	--ask-navy-2: #193959;
	--ask-orange: #A84F10;
	--ask-orange-soft: #FDF3EA;
	--ask-ink: #1F2937;
	--ask-muted: #4A5568;
	--ask-line: #D6DEE8;
	--ask-bg: #F4F6F9;
	--ask-focus: #C25C13;
	max-width: 860px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid var(--ask-line);
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(15, 41, 66, 0.10);
	overflow: hidden;
	font-size: 1rem;
	color: var(--ask-ink);
	text-align: left;
}
.areg-ask *, .areg-ask *::before, .areg-ask *::after { box-sizing: border-box; }
.areg-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.areg-ask-head { background: linear-gradient(135deg, var(--ask-navy) 0%, var(--ask-navy-2) 100%); color: #fff; padding: 18px 22px; }
.areg-ask .areg-ask-title { margin: 0; font-size: 1.25rem; line-height: 1.3; color: #fff; }
.areg-ask .areg-ask-sub { margin: 4px 0 0; color: #E2E8F0; font-size: .95rem; }

.areg-ask-log { max-height: 60vh; min-height: 0; overflow-y: auto; padding: 18px 18px 6px; background: var(--ask-bg); scroll-behavior: smooth; }
.areg-ask.has-conv .areg-ask-log { min-height: 260px; }
.areg-ask-log:focus-visible { outline: 3px solid var(--ask-focus); outline-offset: -3px; }
.areg-ask-msg { margin: 0 0 14px; max-width: 92%; padding: 12px 16px; border-radius: 14px; line-height: 1.6; word-wrap: break-word; }
.areg-ask-msg p { margin: 0 0 .6em; font-size: 1rem; color: inherit; }
.areg-ask-msg p:last-child { margin-bottom: 0; }
.areg-ask-msg ul, .areg-ask-msg ol { margin: .2em 0 .7em 1.25em; padding: 0; }
.areg-ask-msg li { margin: 0 0 .3em; font-size: 1rem; color: inherit; }
.areg-ask-msg--bot { background: #fff; border: 1px solid var(--ask-line); border-bottom-left-radius: 4px; }
.areg-ask-msg--user { margin-left: auto; background: var(--ask-navy); color: #fff; border-bottom-right-radius: 4px; }
.areg-ask-msg--note { background: var(--ask-orange-soft); border-color: #F2C9A5; }
.areg-ask-msg a { color: var(--ask-orange); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.areg-ask-msg a:hover { color: #7F3A0B; }
.areg-ask-msg a:focus-visible { outline: 3px solid var(--ask-focus); outline-offset: 2px; border-radius: 2px; }

.areg-ask-typing { display: inline-flex; gap: 5px; padding: 12px 16px; margin: 0 0 14px; background: #fff; border: 1px solid var(--ask-line); border-radius: 14px; }
.areg-ask-typing span { width: 8px; height: 8px; border-radius: 50%; background: var(--ask-muted); opacity: .4; animation: areg-ask-dot 1.2s infinite ease-in-out; }
.areg-ask-typing span:nth-child(2) { animation-delay: .15s; }
.areg-ask-typing span:nth-child(3) { animation-delay: .3s; }
@keyframes areg-ask-dot { 0%, 80%, 100% { opacity: .3; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }

.areg-ask-starters { padding: 14px 18px 4px; border-top: 1px solid var(--ask-line); }
.areg-ask-starters[hidden] { display: none; }
.areg-ask .areg-ask-starters-label { margin: 0 0 8px; font-weight: 600; font-size: .95rem; color: var(--ask-muted); }
.areg-ask-starters ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.areg-ask-starters li { margin: 0; padding: 0; }
.areg-ask-chip { min-height: 44px; padding: 9px 14px; border: 1px solid var(--ask-line); border-radius: 22px; background: #fff; color: var(--ask-navy); font: inherit; font-size: .95rem; line-height: 1.3; text-align: left; cursor: pointer; }
.areg-ask-chip:hover { border-color: var(--ask-orange); background: var(--ask-orange-soft); }
.areg-ask-chip:focus-visible { outline: 3px solid var(--ask-focus); outline-offset: 2px; }

.areg-ask .areg-ask-status { min-height: 1.2em; margin: 0; padding: 6px 18px 0; font-size: .9rem; color: var(--ask-muted); }

.areg-ask-form { padding: 8px 18px 4px; }
.areg-ask-label { display: block; font-weight: 600; margin: 0 0 6px; color: var(--ask-navy); }
.areg-ask-row { display: flex; gap: 10px; align-items: flex-end; }
.areg-ask-input { flex: 1; min-height: 52px; max-height: 180px; padding: 12px 14px; border: 2px solid #8A94A6; border-radius: 10px; font: inherit; font-size: 16px; line-height: 1.45; color: var(--ask-ink); background: #fff; resize: none; }
.areg-ask-input:focus { border-color: var(--ask-navy); outline: 3px solid var(--ask-focus); outline-offset: 1px; }
.areg-ask-send { min-height: 52px; min-width: 88px; padding: 0 22px; border: 0; border-radius: 10px; background: var(--ask-orange); color: #fff; font: inherit; font-weight: 700; font-size: 1.05rem; cursor: pointer; }
.areg-ask-send:hover { background: #8F430D; }
.areg-ask-send:focus-visible { outline: 3px solid var(--ask-navy); outline-offset: 2px; }
.areg-ask-send:disabled { background: #8A94A6; cursor: wait; }
.areg-ask .areg-ask-hint { margin: 6px 0 0; font-size: .85rem; color: var(--ask-muted); }

.areg-ask-foot { display: flex; flex-wrap: wrap; gap: 10px; padding: 10px 18px 4px; }
.areg-ask-talk, .areg-ask-reset { min-height: 44px; padding: 8px 16px; border-radius: 8px; font: inherit; font-size: .95rem; font-weight: 600; cursor: pointer; }
.areg-ask-talk { background: var(--ask-navy); color: #fff; border: 2px solid var(--ask-navy); }
.areg-ask-talk:hover { background: var(--ask-navy-2); }
.areg-ask-reset { background: #fff; color: var(--ask-navy); border: 2px solid var(--ask-line); }
.areg-ask-reset[hidden] { display: none; }
.areg-ask-talk:focus-visible, .areg-ask-reset:focus-visible { outline: 3px solid var(--ask-focus); outline-offset: 2px; }

.areg-ask .areg-ask-disclaimer { margin: 0; padding: 10px 18px 16px; font-size: .82rem; line-height: 1.5; color: var(--ask-muted); }

.areg-ask-lead { margin: 10px 18px 4px; padding: 16px 18px; border: 2px solid var(--ask-orange); border-radius: 12px; background: var(--ask-orange-soft); }
.areg-ask .areg-ask-lead h3 { margin: 0 0 4px; font-size: 1.1rem; color: var(--ask-navy); }
.areg-ask-lead h3:focus { outline: none; }
.areg-ask-lead h3:focus-visible { outline: 3px solid var(--ask-focus); outline-offset: 2px; }
.areg-ask .areg-ask-lead p { margin: 0 0 10px; font-size: .95rem; color: var(--ask-ink); }
.areg-ask-lead form { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; }
.areg-ask-field label { display: block; margin: 0 0 4px; font-weight: 600; font-size: .92rem; color: var(--ask-navy); }
.areg-ask-opt { font-weight: 400; color: var(--ask-muted); }
.areg-ask-field input, .areg-ask-field select { width: 100%; min-height: 44px; padding: 8px 10px; border: 2px solid #8A94A6; border-radius: 8px; font: inherit; font-size: 16px; background: #fff; color: var(--ask-ink); }
.areg-ask-field input:focus, .areg-ask-field select:focus { outline: 3px solid var(--ask-focus); outline-offset: 1px; border-color: var(--ask-navy); }
.areg-ask-field input[aria-invalid="true"] { border-color: #B42318; }
.areg-ask .areg-ask-lead-error { grid-column: 1 / -1; margin: 0; color: #B42318; font-weight: 600; }
.areg-ask .areg-ask-lead-error:empty { display: none; }
.areg-ask-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.areg-ask-lead-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; }
.areg-ask-lead-send { min-height: 44px; padding: 8px 18px; border: 0; border-radius: 8px; background: var(--ask-orange); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.areg-ask-lead-send:disabled { background: #8A94A6; }
.areg-ask-lead-skip { min-height: 44px; padding: 8px 16px; border: 2px solid var(--ask-line); border-radius: 8px; background: #fff; color: var(--ask-navy); font: inherit; font-weight: 600; cursor: pointer; }
.areg-ask-lead-send:focus-visible, .areg-ask-lead-skip:focus-visible { outline: 3px solid var(--ask-navy); outline-offset: 2px; }

@media (max-width: 600px) {
	.areg-ask { border-radius: 10px; }
	.areg-ask-head { padding: 14px 16px; }
	.areg-ask-log { padding: 14px 12px 4px; max-height: 65vh; }
	.areg-ask-msg { max-width: 100%; }
	.areg-ask-starters, .areg-ask-form, .areg-ask-foot { padding-left: 12px; padding-right: 12px; }
	.areg-ask .areg-ask-status, .areg-ask .areg-ask-disclaimer { padding-left: 12px; padding-right: 12px; }
	.areg-ask-row { flex-direction: column; align-items: stretch; }
	.areg-ask-send { width: 100%; }
	.areg-ask-lead { margin: 10px 12px 4px; }
	.areg-ask-lead form { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
	.areg-ask-log { scroll-behavior: auto; }
	.areg-ask-typing span { animation: none; opacity: .7; }
}
@media (forced-colors: active) {
	.areg-ask-msg, .areg-ask-chip, .areg-ask-lead { border: 1px solid CanvasText; }
}
