/**
 * Adoption AI Tour — kiosk live-preview flow.
 * All rules are scoped under .aat-kiosk so the mock's generic class names
 * (.card, .btn, .row, .tag, .grid, .step ...) never collide with the theme.
 */

.aat-kiosk {
	--deep: #152237;
	--deep-2: #1D2E48;
	--blue: #0078D4;
	--g1: #0B3D91;
	--g2: #2F6FED;
	--gray: #F5F5F4;
	--surface: #FFFFFF;
	--line: #E4E4E2;
	--line-soft: #EFEFEC;
	--text: #152237;
	--muted: #5A6577;
	--soft: #7C8798;
	--ok: #107C41;
	--warn: #B26B00;
	--stop: #A4262C;
	--r: 10px;
	--r-lg: 16px;
	--shadow: 0 0 2px rgba(21,34,55,.10), 0 2px 6px rgba(21,34,55,.08);
	--shadow-lg: 0 1px 2px rgba(21,34,55,.10), 0 12px 32px rgba(21,34,55,.10);
	font-family: "Segoe UI", Aptos, Calibri, -apple-system, BlinkMacSystemFont, sans-serif;
	background: var(--gray);
	color: var(--text);
	-webkit-font-smoothing: antialiased;
	font-size: 15px;
	line-height: 1.5;
	display: block;
}

/* Runtime portal at the document root that holds the fixed overlays/modals. */
.aat-portal { background: transparent; }

.aat-kiosk *,
.aat-kiosk *::before,
.aat-kiosk *::after { box-sizing: border-box; }
.aat-kiosk h2, .aat-kiosk h3, .aat-kiosk h4, .aat-kiosk h5 { margin: 0; font-weight: 600; letter-spacing: -.01em; }
.aat-kiosk p { margin: 0; }
.aat-kiosk button { font-family: inherit; font-size: inherit; cursor: pointer; border: 0; background: none; color: inherit; margin: 0; padding: 0; line-height: normal; appearance: none; -webkit-appearance: none; -moz-appearance: none; }
/* Firefox draws an extra focus inset border/padding inside native <button>
   elements that isn't part of the normal box model — strip it so a <button
   class="btn"> matches the size of an <a class="btn"> with identical padding. */
.aat-kiosk button::-moz-focus-inner { border: 0; padding: 0; }
.aat-kiosk svg { display: block; }

/* ---------- shell + topbar + stepper ---------- */
.aat-kiosk .aat-shell { width: 100%; max-width: min(1680px, 95vw); margin: 0 auto; padding: 26px 32px 64px; }
.aat-kiosk .aat-topbar {
	background: linear-gradient(112deg, var(--g1) 0%, var(--g2) 100%);
	color: #fff; border-radius: 14px; padding: 18px 22px;
	display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
}
.aat-kiosk .aat-mark {
	width: 36px; height: 36px; border-radius: 9px; background: rgba(255,255,255,.16);
	display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.28); color: #fff;
}
.aat-kiosk .aat-mark .ico { width: 20px; height: 20px; }
.aat-kiosk .aat-title { font-size: 17px; font-weight: 600; }
.aat-kiosk .aat-sub { font-size: 12.5px; color: rgba(255,255,255,.78); margin-top: 1px; }
.aat-kiosk .aat-pill {
	margin-left: auto; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase;
	background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.26);
	padding: 5px 11px; border-radius: 999px;
}

.aat-kiosk .aat-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 18px 0 16px; padding: 0; }
.aat-kiosk .flow-step { border: 1px solid var(--line); background: #fff; border-radius: 10px; padding: 10px 8px; text-align: center; color: var(--muted); font-size: 11px; font-weight: 600; line-height: 1.3; transition: border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease; }
.aat-kiosk .fs-n { display: block; color: var(--soft); font-size: 10px; letter-spacing: .08em; margin-bottom: 4px; font-weight: 700; }
.aat-kiosk .flow-step:hover:not(:disabled) { border-color: var(--blue); color: var(--blue); }
.aat-kiosk .flow-step:hover:not(:disabled) .fs-n { color: var(--blue); }
.aat-kiosk .flow-step.on { border-color: var(--blue); background: #F3F9FF; color: var(--blue); box-shadow: 0 0 0 2px rgba(0,120,212,.1); }
.aat-kiosk .flow-step.on .fs-n { color: var(--blue); }
.aat-kiosk .flow-step.done { border-color: rgba(16,124,65,.40); color: var(--ok); }
.aat-kiosk .flow-step.done .fs-n { color: var(--ok); }
.aat-kiosk .flow-step:disabled { color: #7C8798; cursor: not-allowed; opacity: .72; }
.aat-kiosk .flow-step:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(0,120,212,.18); }

/* ---------- generic bits ---------- */
.aat-kiosk .eyebrow { font-size: 11.5px; font-weight: 700; letter-spacing: .10em; text-transform: uppercase; color: var(--blue); margin-bottom: 12px; }
.aat-kiosk .h-md { font-size: 17px; }
.aat-kiosk .h-sm { font-size: 14px; }
.aat-kiosk .sub { color: var(--muted); font-size: 13px; }
.aat-kiosk .tiny { color: var(--soft); font-size: 12px; }
.aat-kiosk .side-h { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--soft); margin-bottom: 12px; display: flex; align-items: center; gap: 7px; }
.aat-kiosk .card { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow); }
.aat-kiosk .row { display: flex; align-items: center; gap: 10px; }
.aat-kiosk .row.between { justify-content: space-between; }
.aat-kiosk .grow { flex: 1; }
.aat-kiosk .mt-4 { margin-top: 4px; } .aat-kiosk .mt-8 { margin-top: 8px; }
.aat-kiosk .mt-12 { margin-top: 12px; } .aat-kiosk .mt-16 { margin-top: 16px; }
.aat-kiosk .grid { display: grid; gap: 14px; }
.aat-kiosk .g2 { grid-template-columns: repeat(2, 1fr); }
.aat-kiosk .g3 { grid-template-columns: repeat(3, 1fr); }

.aat-kiosk .btn { display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border-radius: var(--r); font-size: 13.5px; font-weight: 600; transition: .15s; border: 1px solid transparent; text-decoration: none; cursor: pointer; }
.aat-kiosk .btn-grad { background: linear-gradient(112deg, var(--g1), var(--g2)); color: #fff; box-shadow: 0 2px 10px rgba(47,111,237,.28); }
.aat-kiosk .btn-grad:hover { filter: brightness(1.06); }
.aat-kiosk .btn-g { background: transparent; color: var(--muted); }
.aat-kiosk .btn-g:hover { background: var(--gray); color: var(--deep); }
.aat-kiosk .btn-s { background: #fff; border-color: var(--line); color: var(--deep); }
.aat-kiosk .btn-outline { background: #fff; border-color: var(--line); color: var(--deep); }
/* Hold steady on hover/focus: the theme's `a.btn:hover, a.btn:focus` rule
   (background:#000; color:#fff; border-color:#000;) now applies since this
   control is an <a>, and wins the per-property cascade for color/border-color
   because our old hover rule below only touched `background`. Re-declare all
   three properties here so ours wins each property's cascade. */
.aat-kiosk .btn-outline:hover,
.aat-kiosk .btn-outline:focus {
	background: var(--gray);
	border-color: var(--line);
	color: var(--deep);
}
.aat-kiosk .btn-lg { padding: 12px 24px; font-size: 14.5px; }
.aat-kiosk .btn:disabled,
.aat-kiosk .btn[aria-disabled="true"] { cursor: not-allowed; filter: none; opacity: .5; box-shadow: none; pointer-events: none; }

/* Hold the gradient button's look steady across hover/focus/active/disabled so
   the theme's Bootstrap (.btn:active { background-image: none }) can't flash it
   dark while it becomes the "Saving…" state. */
.aat-kiosk .btn-grad,
.aat-kiosk .btn-grad:hover,
.aat-kiosk .btn-grad:focus,
.aat-kiosk .btn-grad:active,
.aat-kiosk .btn-grad:disabled,
.aat-kiosk .btn-grad[disabled],
.aat-kiosk .btn-grad[aria-disabled="true"] {
	background-image: linear-gradient(112deg, var(--g1), var(--g2));
	background-color: transparent;
	color: #fff;
	box-shadow: 0 2px 10px rgba(47, 111, 237, .28);
}

/* Defensive rounding — guarantees our buttons stay rounded even if the active
   theme (or Bootstrap) tries to flatten buttons inside the content area. */
.aat-kiosk .btn,
.aat-kiosk button.btn { border-radius: 12px !important; }
.aat-kiosk .btn-lg { border-radius: 14px !important; }
.aat-kiosk .flow-step { border-radius: 10px !important; }
.aat-kiosk .chat-btn,
.aat-kiosk .send-btn,
.aat-kiosk .skip-btn { border-radius: 12px !important; }
.aat-kiosk button.tag-choice { border-radius: 10px !important; }

/* The parent theme styles any generic `a.btn`/`form .btn` element for its own
   marketing pages: a chevron glyph after the label (SegoeMDL2 icon font,
   shows up as an extra ">" if that font hasn't loaded, or as a tofu box),
   plus a forced `2px dashed` focus outline with an unsupported
   `outline-color: inverse` (renders as a black-ish border). Neither applied
   before because these controls were `<button>` elements; now that some are
   `<a class="btn">`/`<a class="chat-btn">`, override both so kiosk buttons
   keep their original look on hover/click/focus. (Note: no `a.btn { border-color }`
   override here — that would tie in specificity with `.btn-outline`'s own
   border-color and unpredictably win, stripping its visible border.)
   */
.aat-kiosk a.btn::after,
.aat-kiosk a.btn:hover::after,
.aat-kiosk a.chat-btn::after,
.aat-kiosk a.chat-btn:hover::after {
	content: none !important;
	display: none !important;
}
.aat-kiosk a.btn:focus,
.aat-kiosk a.btn:focus-visible,
.aat-kiosk a.chat-btn:focus,
.aat-kiosk a.chat-btn:focus-visible {
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(0, 120, 212, .20) !important;
}

.aat-kiosk .tag { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 600; padding: 4px 10px; border-radius: 50px; border: 1px solid; }
.aat-kiosk .tag-blue { background: rgba(0,120,212,.08); border-color: rgba(0,120,212,.20); color: #0A5C9E; }
.aat-kiosk .tag-ok { background: rgba(16,124,65,.08); border-color: rgba(16,124,65,.20); color: var(--ok); }
.aat-kiosk .tag-gray { background: var(--gray); border-color: var(--line); color: var(--muted); }
.aat-kiosk .tag-grounded { background: rgba(0,120,212,.08); border-color: rgba(0,120,212,.20); color: #0A5C9E; }

.aat-kiosk .ico { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.aat-kiosk .ico-sm { width: 15px; height: 15px; }
.aat-kiosk .ico-lg { width: 22px; height: 22px; }

/* ---------- kiosk flow ---------- */
.aat-kiosk .kiosk-flow { background: #fff; color: var(--deep); padding: 34px 44px 40px; border-radius: var(--r-lg); border: 1px solid var(--line); box-shadow: var(--shadow); }
.aat-kiosk .kf-stage { display: none; }
.aat-kiosk .kf-stage.on { display: block; }
.aat-kiosk .kf-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 16px; margin-top: 18px; }
.aat-kiosk .kf-grid.kf-grid-agent { grid-template-columns: 2fr 1fr; }
.aat-kiosk .kf-card { border: 1px solid var(--line); border-radius: 12px; padding: 18px; background: #fff; }
.aat-kiosk .kf-card.blue { background: #F4F9FF; border-color: #CFE4FA; }
.aat-kiosk .kf-card h4 { font-size: 14px; margin: 0 0 9px; }
.aat-kiosk .kf-card .row.plan-org-row { gap: 8px; }
.aat-kiosk .kf-card .row.plan-org-row > h4 { margin: 0 0 0 7px; text-align: left; letter-spacing: normal; flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aat-kiosk .kf-card .row.plan-org-row > .tag { flex: 0 0 auto; }
.aat-kiosk .kf-card p, .aat-kiosk .kf-card li { font-size: 12.5px; line-height: 1.6; color: var(--muted); }
.aat-kiosk .kf-card ul { margin: 8px 0 0; padding-left: 18px; }
.aat-kiosk .kf-chat-area { margin-top: 12px; border: 1px solid #CFE4FA; border-radius: 10px; background: #fff; padding: 12px; height: 270px; overflow: auto; }
.aat-kiosk .kf-chat-cap { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 11px; color: var(--soft); margin-bottom: 4px; }
.aat-kiosk .kf-input { border: 1px solid #BBD9F5; border-radius: 8px; padding: 10px 12px; color: var(--deep); background: #fff; margin-top: 8px; }
.aat-kiosk .kf-select { width: 100%; font: inherit; line-height: 1.45; cursor: pointer; padding-right: 36px; -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230078D4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px 16px; }
.aat-kiosk .kf-select:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(0,120,212,.18); }
.aat-kiosk .kf-select:disabled { cursor: wait; opacity: .7; }
.aat-kiosk .kf-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 18px; }
/* Generating overlay is moved to the document root at runtime so its fixed
   positioning covers the full viewport; keep these selectors unscoped. */
.aat-generating { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(11, 33, 61, .55); backdrop-filter: blur(2px); overscroll-behavior: contain; }
.aat-generating[hidden] { display: none; }
.aat-generating-inner { width: min(420px, 92vw); text-align: center; background: #fff; border: 1px solid #DCE8F4; border-radius: 16px; padding: 28px 26px; box-shadow: 0 18px 48px rgba(11,33,61,.28); font-family: "Segoe UI", Aptos, Calibri, -apple-system, BlinkMacSystemFont, sans-serif; }
.aat-spinner { width: 46px; height: 46px; margin: 0 auto 16px; border-radius: 50%; border: 4px solid #D9E7F7; border-top-color: var(--blue, #0078D4); animation: aat-spin .8s linear infinite; }
.aat-generating-text { margin: 0 0 6px; font-size: 15px; font-weight: 600; color: var(--deep, #0B213D); }
.aat-generating-sub { margin: 0 0 16px; font-size: 12.5px; color: var(--muted, #5A6B80); }
.aat-progress { height: 6px; border-radius: 999px; background: #E7F0FB; overflow: hidden; }
.aat-progress-bar { display: block; height: 100%; width: 40%; border-radius: 999px; background: linear-gradient(112deg, var(--g1, #2F6FED), var(--g2, #0078D4)); animation: aat-indeterminate 1.3s ease-in-out infinite; }
@keyframes aat-spin { to { transform: rotate(360deg); } }
@keyframes aat-indeterminate { 0% { margin-left: -40%; } 100% { margin-left: 100%; } }
body.aat-no-scroll { overflow: hidden !important; }

/* ---------- correct email modal ---------- */
.aat-kiosk .aat-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 24px; }
.aat-kiosk .aat-modal[hidden] { display: none; }
.aat-kiosk .aat-modal-backdrop { position: absolute; inset: 0; background: rgba(11, 33, 61, .55); backdrop-filter: blur(2px); }
.aat-kiosk .aat-modal-card { position: relative; width: min(440px, 92vw); background: #fff; border: 1px solid #DCE8F4; border-radius: 16px; padding: 24px 24px 22px; box-shadow: 0 18px 48px rgba(11, 33, 61, .28); animation: aat-modal-in .18s ease both; }
.aat-kiosk .aat-modal-card-md { width: min(520px, 92vw); padding: 26px 26px 24px; }
.aat-kiosk .aat-modal-title { margin: 0 0 6px; font-size: 16px; font-weight: 600; color: var(--deep); }
.aat-kiosk .aat-modal-sub { margin: 0 0 16px; font-size: 12.5px; color: var(--muted); line-height: 1.5; }
.aat-kiosk .aat-modal-label { display: block; font-size: 12px; font-weight: 600; color: var(--deep); margin-bottom: 2px; }
.aat-kiosk .aat-modal-input { width: 100%; }
.aat-kiosk .aat-modal-input:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(0, 120, 212, .18); }
.aat-kiosk .aat-modal-input.is-invalid { border-color: var(--stop); box-shadow: 0 0 0 3px rgba(164, 38, 44, .15); }
.aat-kiosk .aat-modal-error { margin: 8px 0 0; font-size: 12px; color: var(--stop); }
.aat-kiosk .aat-modal-error[hidden] { display: none; }
.aat-kiosk .aat-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 20px; }
@keyframes aat-modal-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .aat-kiosk .aat-modal-card { animation: none; } }

.aat-kiosk .aat-source-list { list-style: none; margin: 6px 0 0; padding: 0; max-height: 60vh; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; }
.aat-kiosk .aat-source-list li { margin: 0; }
.aat-kiosk .aat-source-link { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; text-decoration: none; color: var(--deep); transition: border-color .15s ease, box-shadow .15s ease, background .15s ease; }
.aat-kiosk .aat-source-link:hover, .aat-kiosk .aat-source-link:focus { border-color: var(--blue); background: rgba(0, 120, 212, .04); box-shadow: 0 4px 14px rgba(11, 33, 61, .08); }
.aat-kiosk .aat-source-ic { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 9px; background: linear-gradient(135deg, rgba(47, 111, 237, .12), rgba(0, 120, 212, .12)); color: var(--blue); }
.aat-kiosk .aat-source-ic .ico { width: 18px; height: 18px; }
.aat-kiosk .aat-source-text { flex: 1 1 auto; min-width: 0; font-weight: 600; font-size: 14px; line-height: 1.4; color: var(--blue); word-break: break-word; }
.aat-kiosk .aat-source-link:hover .aat-source-text, .aat-kiosk .aat-source-link:focus .aat-source-text { color: var(--g1); }
.aat-kiosk .aat-source-go { flex: 0 0 auto; color: var(--soft); transition: transform .15s ease, color .15s ease; }
.aat-kiosk .aat-source-go .ico { width: 16px; height: 16px; }
.aat-kiosk .aat-source-link:hover .aat-source-go, .aat-kiosk .aat-source-link:focus .aat-source-go { color: var(--blue); transform: translate(1px, -1px); }
.aat-kiosk .aat-source-empty { margin: 12px 0 0; font-size: 13px; color: var(--muted); }
.aat-kiosk .aat-source-empty[hidden] { display: none; }

.aat-kiosk .kf-stage.aat-busy { position: relative; }
.aat-kiosk .kf-stage.aat-busy > * { pointer-events: none; }
.aat-kiosk .kf-stage.aat-busy .attest-wrap { opacity: .6; transition: opacity .15s ease; }
.aat-kiosk .kf-stage.aat-busy [data-registration-next] { opacity: 1; }
.aat-kiosk [data-registration-next] { position: relative; }
.aat-kiosk .kf-stage.aat-busy [data-registration-next]::before {
	content: ""; width: 16px; height: 16px; margin-right: 8px; display: inline-block; vertical-align: -3px;
	border-radius: 50%; border: 2px solid rgba(255, 255, 255, .5); border-top-color: #fff;
	animation: aat-spin .8s linear infinite;
}
.aat-kiosk .kf-stage.aat-busy [data-registration-next] .ico { display: none; }
@media (prefers-reduced-motion: reduce) {
	.aat-kiosk .kf-stage.aat-busy [data-registration-next]::before { animation-duration: 1.6s; }
}
@media (prefers-reduced-motion: reduce) {
	.aat-spinner { animation-duration: 1.6s; }
	.aat-progress-bar { animation: none; width: 100%; }
}
.aat-kiosk .chat-skip-all { margin-top: 10px; display: flex; justify-content: flex-end; }
.aat-kiosk .chat-skip-all .btn-sm { padding: 6px 14px; font-size: 12.5px; }
.aat-kiosk .chat-skip-all .btn[disabled] { opacity: .55; cursor: not-allowed; }
.aat-kiosk .kf-chat { display: grid; gap: 10px; margin-top: 14px; }
.aat-kiosk .kf-chatline { max-width: 86%; padding: 11px 13px; border-radius: 12px; font-size: 12.5px; line-height: 1.55; animation: aat-kf-in .42s both; }
.aat-kiosk .kf-chatline.ai { background: #F3F9FF; border: 1px solid #CFE4FA; }
.aat-kiosk .kf-chatline.you { margin-left: auto; background: var(--deep); color: #fff; }
.aat-kiosk .kf-chatline.skipped { background: var(--gray); border: 1px dashed var(--line); color: var(--muted); font-style: italic; }
.aat-kiosk .kf-chatline.error { max-width: 100%; background: #FFF4F4; border: 1px solid rgba(164,38,44,.25); color: var(--stop); }
.aat-kiosk .chat-composer { margin-top: 12px; padding-top: 12px; border-top: 1px solid #DCE8F4; }
.aat-kiosk .chat-label { display: block; margin-bottom: 6px; color: var(--deep); font-size: 12px; font-weight: 600; }
.aat-kiosk .chat-compose-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: start; }
.aat-kiosk .chat-input-shell { position: relative; min-width: 0; height: 44px; }
.aat-kiosk .chat-answer { min-width: 0; width: 100%; height: 44px; border: 1px solid #BBD9F5; border-radius: 9px; padding: 0 76px 0 12px; color: var(--deep); background: #fff; font: inherit; font-size: 13px; transition: border-color .15s ease, box-shadow .15s ease; }
.aat-kiosk .chat-answer:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(0,120,212,.18); }
.aat-kiosk .chat-btn { display: inline-flex; align-items: center; justify-content: center; width: 64px; min-width: 64px; height: 36px; margin: 0; border: 1px solid transparent; border-radius: 12px; padding: 0 12px; font-family: inherit; font-size: 13px; font-weight: 600; line-height: 1; white-space: nowrap; -webkit-appearance: none; appearance: none; text-decoration: none; cursor: pointer; transition: background-color .15s ease, border-color .15s ease, color .15s ease, filter .15s ease; }
.aat-kiosk .send-btn { position: absolute; top: 4px; right: 4px; background: linear-gradient(112deg, var(--g1), var(--g2)); color: #fff; box-shadow: 0 1px 5px rgba(47,111,237,.22); }
.aat-kiosk .send-btn:hover { filter: brightness(1.07); }
.aat-kiosk .skip-btn { margin-top: 4px; border-color: var(--line); background: #fff; color: var(--deep); }
.aat-kiosk .skip-btn:hover { border-color: #BBD9F5; background: #F3F9FF; color: var(--blue); }
.aat-kiosk .chat-btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(0,120,212,.20); }
.aat-kiosk .chat-answer:disabled, .aat-kiosk .chat-btn:disabled, .aat-kiosk .chat-btn[aria-disabled="true"] { cursor: not-allowed; opacity: .55; pointer-events: none; }
.aat-kiosk .chat-confirm { margin-top: 10px; padding: 12px; border: 1px solid #BBD9F5; border-radius: 9px; background: #F3F9FF; }
.aat-kiosk .chat-confirm[hidden] { display: none; }
.aat-kiosk .chat-confirm p { color: var(--deep); font-weight: 600; line-height: 1.5; }
.aat-kiosk .chat-confirm-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 8px; }
.aat-kiosk .chat-confirm-actions .btn { min-height: 38px; justify-content: center; color: var(--deep); white-space: nowrap; }
.aat-kiosk .chat-confirm-actions .btn-grad { color: #fff; }
@keyframes aat-kf-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

.aat-kiosk .flow-kicker { font-size: 11px; color: var(--blue); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.aat-kiosk .flow-title { font-size: 24px; font-weight: 650; color: var(--deep); margin: 6px 0; }
.aat-kiosk .flow-copy { max-width: 690px; color: var(--muted); font-size: 14px; line-height: 1.65; }

.aat-kiosk .mini-stat { border: 1px solid var(--line); border-radius: 9px; background: #fff; padding: 10px 8px; text-align: center; }
.aat-kiosk .mini-stat b { display: block; color: var(--deep); font-size: 15px; }
.aat-kiosk .mini-stat span { display: block; color: var(--muted); font-size: 10px; margin-top: 3px; }
.aat-kiosk .plan-preview { border-left: 3px solid var(--blue); background: #F7FBFF; padding: 12px 14px; }
.aat-kiosk .plan-preview p { margin: 5px 0 0; }
.aat-kiosk .package-list { display: grid; gap: 9px; margin-top: 12px; }
.aat-kiosk .package-list span { display: flex; align-items: center; gap: 7px; font-size: 12px; color: var(--deep); }
.aat-kiosk .package-list .ico { color: var(--ok); stroke-width: 2.5; }
.aat-kiosk .assumption { display: grid; gap: 4px; padding: 11px 12px; border: 1px solid #DCE8F4; border-radius: 9px; background: rgba(255,255,255,.72); }
.aat-kiosk .assumption b { display: flex; align-items: center; gap: 6px; font-size: 11.5px; color: var(--deep); }
.aat-kiosk .assumption span { font-size: 11px; color: var(--muted); line-height: 1.5; }

/* ---------- delivery stage ---------- */
.aat-kiosk .delivery-head { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 26px; padding: 28px 30px; border-radius: 14px; background: linear-gradient(120deg, var(--g1), #1B4FA9 44%, var(--g2)); border: 0; color: #fff; }
.aat-kiosk .delivery-head > div { position: relative; z-index: 1; }
.aat-kiosk .delivery-head h3 { font-size: 28px; line-height: 1.2; margin: 10px 0 7px; color: #fff; }
.aat-kiosk .delivery-head p { max-width: 680px; margin: 0; color: rgba(255,255,255,.86); font-size: 13.5px; line-height: 1.6; }
.aat-kiosk .delivery-head .tag-ok { background: rgba(16,124,65,.28); border-color: rgba(255,255,255,.24); color: #fff; }
.aat-kiosk .delivery-check { width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,.16); color: #fff; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.24); }
.aat-kiosk .delivery-check .ico { width: 28px; height: 28px; }
.aat-kiosk .delivery-art { position: absolute; inset: 0; pointer-events: none; z-index: 0; }
.aat-kiosk .delivery-art span { position: absolute; border: 3px solid transparent; border-top-color: rgba(255,255,255,.34); border-right-color: rgba(255,255,255,.26); border-radius: 50%; transform: rotate(-25deg); }
.aat-kiosk .delivery-art .a1 { width: 480px; height: 300px; right: -160px; top: -80px; }
.aat-kiosk .delivery-art .a2 { width: 410px; height: 260px; right: -140px; top: 20px; border-top-color: rgba(255,0,140,.45); border-right-color: rgba(255,170,0,.45); }
.aat-kiosk .delivery-art .a3 { width: 340px; height: 220px; right: -120px; top: 105px; border-top-color: rgba(170,230,35,.52); border-right-color: rgba(255,208,0,.6); }
.aat-kiosk .delivery-art .d1, .aat-kiosk .delivery-art .d2 { border-style: dashed; border-width: 2px; border-top-color: rgba(255,255,255,.78); border-right-color: rgba(255,255,255,.78); }
.aat-kiosk .delivery-art .d1 { width: 390px; height: 250px; right: -118px; top: -15px; }
.aat-kiosk .delivery-art .d2 { width: 300px; height: 190px; right: -90px; top: 90px; }
.aat-kiosk .delivery-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 16px; margin-top: 16px; }
.aat-kiosk .doc-row { display: flex; align-items: center; gap: 12px; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--gray); }
.aat-kiosk .doc-ic { width: 36px; height: 36px; border-radius: 9px; display: flex; align-items: center; justify-content: center; background: #fff; color: var(--blue); }
.aat-kiosk .doc-row b { display: block; font-size: 12px; color: var(--deep); }
.aat-kiosk .doc-row span { display: block; font-size: 11px; color: var(--muted); margin-top: 3px; }
.aat-kiosk .delivery-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 14px; }
.aat-kiosk .delivery-metric { border: 1px solid var(--line); border-radius: 10px; padding: 10px; background: #fff; }
.aat-kiosk .delivery-metric b { display: block; color: var(--deep); font-size: 16px; line-height: 1; }
.aat-kiosk .delivery-metric span { display: block; color: var(--muted); font-size: 10.5px; margin-top: 5px; }
.aat-kiosk .delivery-strip { display: flex; align-items: center; gap: 9px; padding: 10px 12px; border: 1px solid #DCE8F4; border-radius: 10px; background: #F8FBFF; margin-top: 12px; }
.aat-kiosk .delivery-strip .ico { color: var(--blue); }

/* Highlighted callout for the post-delivery email notice (e.g. link expiry) —
   amber/warn accent so it stands out from the surrounding muted copy. */
.aat-kiosk .email-notice { display: flex; align-items: flex-start; gap: 8px; padding: 10px 12px; border: 1px solid rgba(178,107,0,.25); border-radius: 9px; background: rgba(178,107,0,.08); }
.aat-kiosk .email-notice .ico { color: var(--warn); flex: 0 0 auto; margin-top: 1px; }
.aat-kiosk .email-notice span { font-size: 12px; font-weight: 700; color: var(--warn); line-height: 1.5; }
.aat-kiosk .privacy-notice { display: flex; align-items: flex-start; gap: 8px; padding: 10px 12px; border: 1px solid rgba(0,120,212,.22); border-radius: 9px; background: rgba(0,120,212,.07); }
.aat-kiosk .privacy-notice .ico { color: var(--blue); flex: 0 0 auto; margin-top: 1px; }
.aat-kiosk .privacy-notice span { font-size: 12px; font-weight: 700; color: var(--muted); line-height: 1.5; }

/* ---------- attestation / registration ---------- */
.aat-kiosk .attest-wrap { display: grid; grid-template-columns: 1.05fr .95fr; gap: 0; min-height: 520px; }
.aat-kiosk .attest-left { padding: 44px 46px; background: linear-gradient(150deg, var(--deep) 0%, #1B3355 55%, #20437A 100%); color: #fff; position: relative; overflow: hidden; }
.aat-kiosk .attest-left::after { content: ""; position: absolute; right: 22px; bottom: 22px; width: 250px; height: 250px; border-radius: 0; background: linear-gradient(135deg, rgba(21,34,55,.06) 0%, rgba(0,120,212,.04) 100%); opacity: .8; }
.aat-kiosk .attest-left .al-in { position: relative; z-index: 1; }
.aat-kiosk .attest-left h2 { font-size: 27px; font-weight: 700; letter-spacing: -.01em; line-height: 1.24; margin-top: 14px; color: #fff; }
.aat-kiosk .attest-left p { font-size: 13.4px; color: rgba(255,255,255,.8); line-height: 1.68; margin-top: 14px; max-width: 400px; }
.aat-kiosk .al-steps { margin-top: 30px; display: grid; gap: 14px; }
.aat-kiosk .al-step { display: flex; gap: 13px; align-items: flex-start; }
.aat-kiosk .al-step i { width: 26px; height: 26px; border-radius: 50%; background: rgba(255,255,255,.16); flex: none; display: flex; align-items: center; justify-content: center; font-style: normal; font-size: 11.5px; font-weight: 700; }
.aat-kiosk .al-step b { font-size: 13.2px; font-weight: 600; display: block; }
.aat-kiosk .al-step span { font-size: 12.2px; color: rgba(255,255,255,.68); display: block; margin-top: 2px; line-height: 1.5; }
.aat-kiosk .attest-right { padding: 40px 44px; background: #fff; }
.aat-kiosk .fld { margin-bottom: 16px; }
.aat-kiosk .fld label { font-size: 12px; font-weight: 600; color: var(--deep); display: block; margin-bottom: 6px; }
.aat-kiosk .fld label .req-star { color: var(--stop); margin-left: 2px; font-weight: 700; }
.aat-kiosk .fld .inp { border: 1px solid var(--line); border-radius: 8px; padding: 11px 13px; font-size: 13.2px; color: var(--soft); background: #fff; }
.aat-kiosk .fld .inp.filled { color: var(--text); }
.aat-kiosk .fld input.inp, .aat-kiosk .fld select.inp { width: 100%; color: var(--text); font-family: inherit; line-height: 1.4; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.aat-kiosk .fld input.inp::placeholder { color: var(--soft); }
.aat-kiosk .fld input.inp:focus, .aat-kiosk .fld select.inp:focus { outline: none; border-color: var(--blue); box-shadow: 0 0 0 3px rgba(0,120,212,.15); }
.aat-kiosk .fld .inp.is-invalid { border-color: var(--stop); box-shadow: 0 0 0 2px rgba(164,38,44,.10); }
.aat-kiosk .field-error { display: block; margin-top: 5px; color: var(--stop); font-size: 11px; line-height: 1.4; }
.aat-kiosk .registration-error { margin-top: 10px; padding: 9px 11px; border: 1px solid rgba(164,38,44,.24); border-radius: 8px; background: #FFF4F4; color: var(--stop); font-size: 12px; font-weight: 600; }
.aat-kiosk .agent-generate-error { display: flex; align-items: center; gap: 10px; margin-top: 14px; padding: 11px 13px; border: 1px solid rgba(164,38,44,.24); border-radius: 10px; background: #FFF4F4; color: var(--stop); font-size: 13px; font-weight: 600; }
.aat-kiosk .agent-generate-error[hidden] { display: none; }
.aat-kiosk .agent-generate-error .age-text { flex: 1 1 auto; }
.aat-kiosk .agent-generate-error .ico { flex: 0 0 auto; color: var(--stop); }
.aat-kiosk .registration-error[hidden] { display: none; }
.aat-kiosk .fld select.inp { cursor: pointer; padding-right: 34px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A6577' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 11px center; background-size: 15px 15px; }
.aat-kiosk .fld select.inp:invalid { color: var(--soft); }
.aat-kiosk .fld .hint { font-size: 11px; color: var(--soft); margin-top: 5px; }
.aat-kiosk .consent { display: flex; gap: 11px; align-items: flex-start; padding: 13px 0; border-top: 1px solid var(--line-soft); cursor: pointer; position: relative; }
.aat-kiosk .consent .cbx-input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
.aat-kiosk .cbox { width: 17px; height: 17px; border-radius: 4px; border: 1.5px solid var(--line); flex: none; margin-top: 1px; display: flex; align-items: center; justify-content: center; background: #fff; transition: background .15s ease, border-color .15s ease, box-shadow .15s ease; }
.aat-kiosk .cbox svg { width: 11px; height: 11px; stroke: #fff; fill: none; stroke-width: 3; opacity: 0; transition: opacity .12s ease; }
.aat-kiosk .consent:hover .cbox { border-color: var(--blue); }
.aat-kiosk .consent.is-invalid { margin-right: -8px; margin-left: -8px; padding-right: 8px; padding-left: 8px; background: rgba(164,38,44,.04); }
.aat-kiosk .consent.is-invalid .cbox { border-color: var(--stop); }
.aat-kiosk .cbx-input:checked + .cbox { background: var(--blue); border-color: var(--blue); }
.aat-kiosk .cbx-input:checked + .cbox svg { opacity: 1; }
.aat-kiosk .cbx-input:focus-visible + .cbox { box-shadow: 0 0 0 3px rgba(0,120,212,.20); border-color: var(--blue); }
.aat-kiosk .consent .ct { font-size: 12.4px; color: var(--muted); line-height: 1.58; }
.aat-kiosk .consent .ct b { color: var(--deep); font-weight: 600; }
.aat-kiosk .consent .ct em { font-style: normal; color: var(--stop); font-weight: 600; font-size: 11px; }
.aat-kiosk .intake-chip-list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 12px 0 16px;
}
.aat-kiosk button.tag-choice {
	-webkit-appearance: none;
	appearance: none;
	min-height: 36px;
	max-width: 100%;
	padding: 8px 14px;
	border-radius: 999px !important;
	font-family: inherit;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	white-space: normal;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.aat-kiosk button.tag-choice:hover { border-color: var(--blue); color: var(--blue); }
.aat-kiosk button.tag-choice.is-selected { background: var(--blue); color: #fff; border-color: var(--blue); }
.aat-kiosk button.tag-choice.is-selected:hover { color: #fff; }
.aat-kiosk button.tag-choice:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(0,120,212,.20); }

/* decorative arcs on registration hero */
.aat-kiosk .scale-flow-art { position: absolute; inset: 0; overflow: hidden; pointer-events: none; opacity: .9; }
.aat-kiosk .scale-flow-art span { position: absolute; right: -190px; border: 3px solid transparent; border-top-color: rgba(0,170,255,.7); border-right-color: rgba(0,120,212,.7); border-radius: 50%; transform: rotate(-28deg); }
.aat-kiosk .scale-flow-art .arc-one { width: 610px; height: 430px; top: -60px; }
.aat-kiosk .scale-flow-art .arc-two { width: 520px; height: 370px; top: 120px; border-top-color: rgba(255,0,128,.78); border-right-color: rgba(255,108,27,.8); }
.aat-kiosk .scale-flow-art .arc-three { width: 430px; height: 305px; top: 285px; border-top-color: rgba(185,235,35,.82); border-right-color: rgba(255,181,0,.85); }
.aat-kiosk .scale-flow-art .dash { border-style: dashed; border-width: 2px; opacity: .85; }
.aat-kiosk .scale-flow-art .dash-one { width: 500px; height: 340px; top: 12px; right: -150px; border-color: rgba(255,255,255,.85); border-left-color: transparent; border-bottom-color: transparent; }
.aat-kiosk .scale-flow-art .dash-two { width: 400px; height: 275px; top: 205px; right: -120px; border-color: rgba(255,255,255,.82); border-left-color: transparent; border-bottom-color: transparent; }

/* ---------- responsive ---------- */
@media (max-width: 900px) {
	.aat-kiosk .kiosk-flow { padding: 22px; }
	.aat-kiosk .kf-grid, .aat-kiosk .kf-grid.kf-grid-agent,
	.aat-kiosk .attest-wrap, .aat-kiosk .delivery-grid { grid-template-columns: 1fr; }
	/* Let stacked grid children shrink instead of forcing horizontal overflow. */
	.aat-kiosk .kf-grid > *, .aat-kiosk .kf-grid.kf-grid-agent > *,
	.aat-kiosk .delivery-grid > *, .aat-kiosk .attest-wrap > * { min-width: 0; }
	.aat-kiosk .attest-wrap { min-height: 0; }
	.aat-kiosk .aat-steps { grid-template-columns: repeat(2, 1fr); padding: 0; }
	.aat-kiosk .delivery-head { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 640px) {
	.aat-kiosk .aat-shell { padding: 20px 14px 44px; }
	.aat-kiosk .kiosk-flow { padding: 18px 16px 26px; }
	.aat-kiosk .aat-topbar { flex-wrap: wrap; }
	/* Stack the tight sub-grids so their contents stop overflowing. */
	.aat-kiosk .grid.g2 { grid-template-columns: 1fr; }
	.aat-kiosk .grid.g3, .aat-kiosk .delivery-metrics { grid-template-columns: repeat(2, 1fr); }
	/* Wrap action-button rows instead of clipping them off the right edge. */
	.aat-kiosk .kf-bottom { flex-wrap: wrap; }
	.aat-kiosk .kf-card .row:not(.plan-org-row) { flex-wrap: wrap; }
	.aat-kiosk .attest-left, .aat-kiosk .attest-right { padding: 26px 22px; }
	.aat-kiosk .attest-left h2 { font-size: 22px; }
	.aat-kiosk .flow-title { font-size: 20px; }
}

/* ---------- homepage launch button (shortcode + auto) ---------- */
.aat-launch-button {
	display: inline-block; background: #0078D4; color: #fff;
	font: 600 15px/1 "Segoe UI", Arial, sans-serif; text-decoration: none;
	padding: 14px 26px; border-radius: 8px;
	box-shadow: 0 1px 2px rgba(0,0,0,.08), 0 6px 18px rgba(0,0,0,.14);
	transition: background .15s ease, transform .15s ease;
}
.aat-launch-button:hover, .aat-launch-button:focus { background: #005A9E; color: #fff; transform: translateY(-1px); }
.aat-launch-button-wrap { display: none; position: fixed; right: 24px; top: 50%; transform: translateY(-50%); z-index: 9999; }
@media (max-width: 640px) { .aat-launch-button-wrap { right: 16px; } }
