.tk-ai-widget {
  --tk-blue: #1B3A8C;
  --tk-blue-dark: #0F2461;
  --tk-blue-soft: #E8EEFB;
  --tk-orange: #F39200;
  --tk-orange-soft: #FFF2DC;
  --tk-ink: #0F172A;
  --tk-muted: #475569;
  --tk-line: #E2E8F0;
  --tk-white: #FFFFFF;
  --tk-soft: #F8FAFC;
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 9999;
  font-family: Manrope, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.tk-ai-widget[data-widget-position="left"] { right: auto; left: 24px; }
.tk-ai-widget *, .tk-ai-widget *::before, .tk-ai-widget *::after { box-sizing: border-box; }
.tk-ai-widget svg { width: 20px; height: 20px; min-width: 20px; min-height: 20px; display: block; fill: none; stroke: currentColor; stroke-width: 2.25; stroke-linecap: round; stroke-linejoin: round; }
.tk-ai-launcher { position: relative; display: inline-flex; align-items: center; gap: 11px; min-width: 190px; padding: 10px 16px 10px 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; background: radial-gradient(circle at 20% 10%, rgba(243,146,0,.35), transparent 26%), linear-gradient(135deg, var(--tk-blue), var(--tk-blue-dark)); color: var(--tk-white); box-shadow: 0 20px 50px rgba(15,36,97,.32); cursor: pointer; text-align: left; overflow: hidden; animation: tkLauncherFloat 4.8s ease-in-out infinite; }
.tk-ai-launcher::after { content:""; position:absolute; inset:1px; border-radius:inherit; background:linear-gradient(120deg, transparent, rgba(255,255,255,.16), transparent); transform:translateX(-120%); animation:tkLauncherSweep 4.8s ease-in-out infinite; pointer-events:none; }
.tk-ai-orbit { position: relative; width: 40px; height: 40px; flex: 0 0 40px; display: inline-flex; align-items: center; justify-content: center; }
.tk-ai-orbit-ring { position:absolute; inset:0; border:1px solid rgba(255,255,255,.28); border-top-color:var(--tk-orange); border-radius:999px; animation:tkOrbitSpin 6s linear infinite; }
.tk-ai-orbit-core { width:30px; height:30px; border-radius:999px; background:rgba(255,255,255,.1); color:var(--tk-orange); display:inline-flex; align-items:center; justify-content:center; }
.tk-ai-orbit-core svg { width:20px; height:20px; }
.tk-ai-launcher strong { display:block; font-size:14px; line-height:1.1; letter-spacing:-.01em; color:#fff; }
.tk-ai-launcher small { display:block; font-size:11px; opacity:.84; margin-top:3px; color:#fff; }
.tk-ai-panel { position:absolute; right:0; bottom:72px; width:min(388px, calc(100vw - 32px)); max-height:min(660px, calc(100vh - 108px)); display:none; flex-direction:column; overflow:hidden; border:1px solid rgba(226,232,240,.95); border-radius:24px; background:var(--tk-white); box-shadow:0 28px 80px rgba(15,23,42,.24); transform-origin:bottom right; }
.tk-ai-widget[data-widget-position="left"] .tk-ai-panel { left:0; right:auto; transform-origin:bottom left; }
.tk-ai-widget.is-open .tk-ai-panel { display:flex; animation:tkPanelOpen .42s cubic-bezier(.16,1,.3,1) both; }
.tk-ai-widget.is-open .tk-ai-launcher { display:none; }
.tk-ai-header { position:relative; z-index:2; min-height:118px; display:flex; justify-content:space-between; gap:14px; align-items:flex-start; padding:18px 20px 18px; background:radial-gradient(circle at 92% 0%, rgba(243,146,0,.32), transparent 28%), linear-gradient(135deg, var(--tk-blue-dark), var(--tk-blue)); color:var(--tk-white); overflow:hidden; }
.tk-ai-header::after { content:""; position:absolute; right:-56px; bottom:-72px; width:170px; height:170px; border:1px solid rgba(255,255,255,.12); border-radius:999px; pointer-events:none; }
.tk-ai-header-copy { position:relative; z-index:1; }
.tk-ai-header strong { display:block; font-size:20px; line-height:1.12; letter-spacing:-.03em; color:#fff; }
.tk-ai-header span { display:block; font-size:12px; color:rgba(255,255,255,.78); margin-top:5px; }
.tk-ai-close { position:relative; z-index:2; width:38px; height:38px; border:1px solid rgba(255,255,255,.28); border-radius:999px; background:rgba(255,255,255,.08); color:#fff; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; }
.tk-ai-close:hover, .tk-ai-close:focus-visible { background:rgba(255,255,255,.16) !important; color:#fff !important; border-color:rgba(255,255,255,.44) !important; }
.tk-ai-close svg { width:20px; height:20px; stroke-width:3; }
.tk-ai-actions { position:relative; z-index:3; display:flex; gap:8px; padding:12px 14px; background:#fff; border-top:1px solid rgba(226,232,240,.9); border-bottom:1px solid rgba(226,232,240,.95); box-shadow:0 8px 18px rgba(15,23,42,.035); }
.tk-ai-actions button { flex:1 1 0; min-height:46px; border:1px solid #D9E2F1; border-radius:999px; background:#fff; color:var(--tk-blue-dark); padding:8px 10px; cursor:pointer; text-align:center; transition:transform .18s ease, border-color .18s ease, background .18s ease; }
.tk-ai-actions button span { display:block; color:var(--tk-blue-dark); font-size:12px; font-weight:850; line-height:1; }
.tk-ai-actions button:hover, .tk-ai-actions button:focus-visible { background:#FFF7EA !important; color:var(--tk-blue-dark) !important; border-color:var(--tk-orange) !important; transform:translateY(-1px); }
.tk-ai-actions button:hover span, .tk-ai-actions button:focus-visible span { color:var(--tk-blue-dark) !important; }
.tk-ai-body { flex:1; overflow-y:auto; padding:14px; background:radial-gradient(circle at top right, rgba(232,238,251,.8), transparent 34%), var(--tk-white); }
.tk-ai-message { max-width:94%; margin-bottom:10px; padding:12px 14px; border-radius:15px; font-size:13.5px; line-height:1.45; animation:tkMessageIn .26s ease both; }
.tk-ai-message p { margin:6px 0 0; }
.tk-ai-message-bot { background:var(--tk-blue-soft); color:var(--tk-ink); border-top-left-radius:7px; }
.tk-ai-message-user { margin-left:auto; background:var(--tk-blue); color:#fff; border-top-right-radius:7px; }
.tk-ai-message a { color:var(--tk-blue-dark); font-weight:850; text-decoration:underline; text-underline-offset:3px; }
.tk-ai-suggestions { display:flex; flex-direction:column; gap:7px; margin-top:12px; }
.tk-ai-suggestions button { width:100%; text-align:left; border:1px solid var(--tk-line); border-radius:12px; background:#fff; color:#40516D; padding:10px 12px; font-size:12.5px; line-height:1.35; font-weight:750; cursor:pointer; transition:transform .18s ease, border-color .18s ease, background .18s ease; }
.tk-ai-suggestions button:hover, .tk-ai-suggestions button:focus-visible { transform:translateX(3px); color:var(--tk-blue-dark) !important; border-color:var(--tk-orange) !important; background:#FFF7EA !important; }
.tk-ai-input-row { display:grid; grid-template-columns:1fr 44px 44px; gap:8px; padding:11px 12px 12px; border-top:1px solid var(--tk-line); background:#fff; }
.tk-ai-input-shell { min-width:0; display:flex; align-items:center; border:1px solid var(--tk-line); border-radius:999px; background:#fff; box-shadow:inset 0 1px 0 rgba(15,23,42,.02), 0 1px 2px rgba(15,23,42,.03); }
.tk-ai-input-shell:focus-within { border-color:var(--tk-blue); box-shadow:0 0 0 3px rgba(27,58,140,.12); }
.tk-ai-input-row input { width:100%; min-width:0; height:44px; border:0; border-radius:999px; padding:0 14px; font:inherit; font-size:13.5px; line-height:1; outline:none; color:var(--tk-ink); background:transparent; }
.tk-ai-input-row input::placeholder { color:#64748B; opacity:.92; }
.tk-ai-voice, .tk-ai-send { width:44px; height:44px; border:0; border-radius:999px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; transition:transform .16s ease, background .16s ease; }
.tk-ai-voice { background:var(--tk-blue-soft); color:var(--tk-blue-dark); }
.tk-ai-voice:hover, .tk-ai-voice:focus-visible { background:#E8EEFB !important; color:var(--tk-blue-dark) !important; transform:translateY(-1px); }
.tk-ai-send { background:var(--tk-orange); color:#111827; }
.tk-ai-send:hover, .tk-ai-send:focus-visible { background:var(--tk-orange) !important; color:#111827 !important; transform:translateY(-1px); }
.tk-ai-send svg, .tk-ai-voice svg { width:20px; height:20px; opacity:1 !important; color:inherit !important; stroke:currentColor !important; }
.tk-ai-footer { padding:0 12px 9px; font-size:10.5px; color:var(--tk-muted); background:#fff; }
.tk-ai-status { display:inline-flex; gap:6px; align-items:center; }
.tk-ai-status::before { content:""; width:6px; height:6px; border-radius:999px; background:var(--tk-orange); box-shadow:0 0 0 3px rgba(243,146,0,.12); }
.tk-ai-flow { position:absolute; inset:0; display:none; align-items:flex-end; justify-content:center; padding:10px; background:rgba(15,23,42,.44); backdrop-filter:blur(10px); z-index:5; }
.tk-ai-flow.is-active { display:flex; animation:tkFlowBackdropIn .24s ease both; }
.tk-ai-flow-card { position:relative; width:100%; max-height:96%; overflow-y:auto; border-radius:18px; background:#fff; padding:18px; box-shadow:0 24px 70px rgba(15,23,42,.28); animation:tkFlowCardIn .34s cubic-bezier(.16,1,.3,1) both; }
.tk-ai-flow-close { position:absolute; top:12px; right:12px; width:36px; height:36px; border:1px solid var(--tk-line); border-radius:999px; background:var(--tk-soft); color:var(--tk-blue-dark); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
.tk-ai-flow-close:hover, .tk-ai-flow-close:focus-visible { background:#E8EEFB !important; color:var(--tk-blue-dark) !important; border-color:#D9E2F1 !important; }
.tk-ai-flow-close svg { width:20px; height:20px; stroke-width:3; }
.tk-ai-flow-kicker { display:inline-flex; margin-bottom:5px; font-size:9px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; color:var(--tk-orange); }
.tk-ai-flow-card h3 { margin:0; padding-right:40px; color:var(--tk-ink); font-size:18px; line-height:1.15; letter-spacing:-.03em; }
.tk-ai-flow-card p { margin:6px 0 12px; color:var(--tk-muted); font-size:12.5px; line-height:1.5; }
.tk-ai-flow-form { display:grid; grid-template-columns:1fr; gap:9px; }
.tk-ai-flow-form label { display:flex; flex-direction:column; gap:5px; }
.tk-ai-flow-form label span { color:var(--tk-blue-dark); font-size:11.5px; font-weight:850; }
.tk-ai-flow-form label span em { color:var(--tk-muted); font-style:normal; font-weight:600; }
.tk-ai-flow-form input, .tk-ai-flow-form select, .tk-ai-flow-form textarea { width:100%; min-width:0; border:1px solid var(--tk-line); border-radius:10px; background:#fff; color:var(--tk-ink); font:inherit; font-size:13px; padding:10px 11px; outline:none; }
.tk-ai-flow-form textarea { min-height:76px; resize:vertical; }
.tk-ai-flow-form input:focus, .tk-ai-flow-form select:focus, .tk-ai-flow-form textarea:focus { border-color:var(--tk-blue); box-shadow:0 0 0 3px rgba(27,58,140,.12); }
.tk-ai-flow-full { grid-column:1 / -1; }
.tk-ai-consent { flex-direction:row !important; align-items:flex-start; gap:10px !important; padding:9px 10px; border:1px solid var(--tk-line); border-radius:12px; background:var(--tk-soft); }
.tk-ai-consent input { width:18px; height:18px; min-width:18px; margin-top:2px; }
.tk-ai-consent span { color:var(--tk-muted) !important; font-size:11.5px !important; line-height:1.45; font-weight:650 !important; }
.tk-ai-flow-actions { display:flex; gap:8px; justify-content:flex-end; }
.tk-ai-flow-primary, .tk-ai-flow-secondary { min-height:40px; border-radius:999px; padding:0 15px; font:inherit; font-size:12px; font-weight:850; cursor:pointer; }
.tk-ai-flow-primary, .tk-ai-flow-primary:hover, .tk-ai-flow-primary:focus-visible { border:1px solid var(--tk-orange) !important; background:var(--tk-orange) !important; color:#111827 !important; }
.tk-ai-flow-secondary, .tk-ai-flow-secondary:hover, .tk-ai-flow-secondary:focus-visible { border:1px solid #D9E2F1 !important; background:#fff !important; color:var(--tk-blue-dark) !important; }
.tk-ai-flow-primary:hover, .tk-ai-flow-secondary:hover { transform:translateY(-1px); }
.tk-ai-flow-note { margin:0 !important; font-size:11px !important; }
.tk-ai-honeypot { position:absolute !important; left:-9999px !important; opacity:0 !important; }
.tk-ai-field-error { border-color:#DC2626 !important; box-shadow:0 0 0 3px rgba(220,38,38,.12) !important; }
.tk-ai-consent.tk-ai-field-error { border-color:#DC2626 !important; box-shadow:0 0 0 3px rgba(220,38,38,.12) !important; }
.tk-ui-card { margin:10px 0; padding:13px 14px; border:1px solid #D9E2F1; border-radius:16px; background:#fff; box-shadow:0 10px 24px rgba(15,36,97,.06); animation:tkMessageIn .26s ease both; }
.tk-ui-card strong { display:block; color:var(--tk-blue-dark); font-size:14px; line-height:1.25; letter-spacing:-.01em; }
.tk-ui-card p { margin:6px 0 0; color:var(--tk-muted); font-size:12.5px; line-height:1.45; }
.tk-ui-kicker { display:inline-flex; margin-bottom:7px; color:var(--tk-orange); font-size:9px; font-weight:850; letter-spacing:.14em; text-transform:uppercase; }
.tk-ui-booking-card { background:linear-gradient(135deg, #fff 0%, #FFF7EA 100%); border-color:rgba(243,146,0,.35); }
.tk-ui-actions-row { display:flex; gap:8px; margin-top:12px; flex-wrap:wrap; }
.tk-ui-primary-link, .tk-ui-secondary-btn { min-height:38px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:0 13px; font:inherit; font-size:12px; font-weight:850; text-decoration:none; cursor:pointer; }
.tk-ui-primary-link, .tk-ui-primary-link:hover, .tk-ui-primary-link:focus-visible { background:var(--tk-orange) !important; color:#111827 !important; border:1px solid var(--tk-orange) !important; }
.tk-ui-secondary-btn, .tk-ui-secondary-btn:hover, .tk-ui-secondary-btn:focus-visible { background:#fff !important; color:var(--tk-blue-dark) !important; border:1px solid #D9E2F1 !important; }
.tk-ui-metric-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; margin:10px 0; }
.tk-ui-metric { min-width:0; border:1px solid #D9E2F1; background:linear-gradient(180deg, #fff 0%, #F8FAFC 100%); border-radius:14px; padding:11px 9px; text-align:center; box-shadow:0 6px 18px rgba(15,36,97,.05); }
.tk-ui-metric strong { display:block; color:var(--tk-blue); font-size:17px; line-height:1; letter-spacing:-.03em; }
.tk-ui-metric span { display:block; margin-top:6px; color:var(--tk-muted); font-size:10.5px; line-height:1.25; font-weight:700; }
.tk-ui-solution-card { border-left:4px solid var(--tk-orange); }
.tk-ui-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.tk-ui-tags span { display:inline-flex; padding:5px 8px; border-radius:999px; background:var(--tk-blue-soft); color:var(--tk-blue-dark); font-size:10.5px; font-weight:800; }
.tk-ui-timeline ol { margin:10px 0 0; padding:0; list-style:none; counter-reset:step; display:grid; gap:7px; }
.tk-ui-timeline li { counter-increment:step; position:relative; padding:8px 10px 8px 34px; border:1px solid var(--tk-line); border-radius:12px; color:var(--tk-ink); font-size:12.5px; font-weight:750; background:var(--tk-soft); }
.tk-ui-timeline li::before { content:counter(step); position:absolute; left:9px; top:50%; transform:translateY(-50%); width:18px; height:18px; border-radius:50%; background:var(--tk-orange); color:#111827; display:inline-flex; align-items:center; justify-content:center; font-size:10px; font-weight:900; }
.tk-ui-table-card table { width:100%; border-collapse:collapse; margin-top:8px; font-size:12px; overflow:hidden; border-radius:10px; }
.tk-ui-table-card td { border:1px solid var(--tk-line); padding:8px; color:var(--tk-muted); vertical-align:top; }
.tk-ui-table-card td:first-child { color:var(--tk-blue-dark); font-weight:850; background:var(--tk-soft); }
.tk-ui-source-badge { margin:6px 0 10px; display:inline-flex; padding:6px 9px; border-radius:999px; background:var(--tk-soft); border:1px solid var(--tk-line); color:var(--tk-muted); font-size:10.5px; font-weight:750; }
@keyframes tkPanelOpen { 0%{opacity:0;transform:translateY(16px) scale(.94);filter:blur(8px)} 70%{opacity:1;transform:translateY(-2px) scale(1.01);filter:blur(0)} 100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)} }
@keyframes tkMessageIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }
@keyframes tkLauncherFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }
@keyframes tkLauncherSweep { 0%,45%{transform:translateX(-120%)} 70%,100%{transform:translateX(120%)} }
@keyframes tkOrbitSpin { to{transform:rotate(360deg)} }
@keyframes tkFlowBackdropIn { from{opacity:0} to{opacity:1} }
@keyframes tkFlowCardIn { from{opacity:0;transform:translateY(18px) scale(.96)} to{opacity:1;transform:translateY(0) scale(1)} }
@media (prefers-reduced-motion: reduce) { .tk-ai-launcher, .tk-ai-launcher::after, .tk-ai-orbit-ring, .tk-ai-widget.is-open .tk-ai-panel, .tk-ai-message, .tk-ai-flow.is-active, .tk-ai-flow-card, .tk-ui-card { animation:none !important; } .tk-ai-actions button:hover, .tk-ai-suggestions button:hover, .tk-ai-voice:hover, .tk-ai-send:hover { transform:none; } }
@media (max-width: 640px) { .tk-ai-widget, .tk-ai-widget[data-widget-position="left"] { right:16px; left:16px; bottom:16px; } .tk-ai-launcher { margin-left:auto; min-width:190px; } .tk-ai-panel, .tk-ai-widget[data-widget-position="left"] .tk-ai-panel { left:0; right:0; bottom:0; width:100%; max-height:78vh; border-radius:22px; transform-origin:bottom center; } .tk-ai-header { min-height:108px; } .tk-ai-actions { padding:10px 12px; } .tk-ai-actions button { min-height:44px; padding:8px 6px; } .tk-ai-actions button span { font-size:11.5px; } .tk-ai-input-row { grid-template-columns:1fr 42px 42px; padding:10px; } .tk-ai-voice, .tk-ai-send { width:42px; height:42px; } .tk-ai-input-row input { height:42px; font-size:13px; } .tk-ai-flow-actions { flex-direction:column-reverse; } .tk-ai-flow-primary, .tk-ai-flow-secondary { width:100%; } .tk-ui-metric-grid { grid-template-columns:1fr; } }

/* =========================================================
   v1.5.1 UI/render hotfix
   Input cleanup, card answers, safe hover states
   ========================================================= */
.tk-ai-input-row {
  align-items: center;
  background: #FFFFFF;
  box-shadow: none !important;
}

.tk-ai-input-shell {
  height: 44px;
  border-radius: 16px !important;
  overflow: hidden;
  box-shadow: none !important;
  background: #FFFFFF !important;
}

.tk-ai-input-shell:focus-within {
  border-color: var(--tk-blue) !important;
  box-shadow: 0 0 0 3px rgba(27, 58, 140, 0.12) !important;
}

.tk-ai-input-row input.tk-ai-input {
  height: 42px !important;
  border-radius: 16px !important;
  padding: 0 15px !important;
  font-size: 13px !important;
  line-height: 42px !important;
  box-shadow: none !important;
  background: transparent !important;
  appearance: none;
}

.tk-ai-input-row input.tk-ai-input::placeholder {
  color: #64748B !important;
  opacity: 0.86 !important;
}

.tk-ai-answer-card {
  background: #FFFFFF !important;
  border: 1px solid #D9E2F1;
  border-left: 4px solid var(--tk-orange);
  box-shadow: 0 10px 24px rgba(15,36,97,.06);
}

.tk-ai-answer-card strong {
  color: var(--tk-blue-dark);
  font-size: 14px;
  line-height: 1.28;
}

.tk-ai-answer-card p {
  color: var(--tk-muted);
  font-size: 12.8px;
  line-height: 1.5;
}

.tk-ai-card-label {
  display: inline-flex;
  margin-top: 10px;
  color: var(--tk-orange);
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.tk-ai-key-points {
  margin: 7px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: grid;
  gap: 6px;
}

.tk-ai-key-points li {
  position: relative;
  padding: 7px 9px 7px 24px;
  border: 1px solid var(--tk-line);
  border-radius: 11px;
  background: var(--tk-soft);
  color: var(--tk-ink);
  font-size: 12.4px;
  line-height: 1.4;
  font-weight: 700;
}

.tk-ai-key-points li::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 13px;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--tk-orange);
}

.tk-ui-secondary-link,
.tk-ui-secondary-link:hover,
.tk-ui-secondary-link:focus-visible {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0 13px;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none !important;
  cursor: pointer;
  background: #FFFFFF !important;
  color: var(--tk-blue-dark) !important;
  border: 1px solid #D9E2F1 !important;
}

.tk-ui-related-actions {
  margin: 8px 0 12px;
}

.tk-ai-flow-primary,
.tk-ai-flow-primary:hover,
.tk-ai-flow-primary:focus-visible,
.tk-ui-primary-link,
.tk-ui-primary-link:hover,
.tk-ui-primary-link:focus-visible {
  background: var(--tk-orange) !important;
  color: #111827 !important;
  border-color: var(--tk-orange) !important;
}

.tk-ai-flow-secondary,
.tk-ai-flow-secondary:hover,
.tk-ai-flow-secondary:focus-visible,
.tk-ui-secondary-btn,
.tk-ui-secondary-btn:hover,
.tk-ui-secondary-btn:focus-visible {
  background: #FFFFFF !important;
  color: var(--tk-blue-dark) !important;
  border-color: #D9E2F1 !important;
}


/* =========================================================
   v1.5.2 visitor UX guardrails
   - Minimum visitor-facing font size: 16px
   - Maximum two action buttons per chat turn/card
   - Cleaner cards with reduced visual noise
   ========================================================= */
.tk-ai-widget,
.tk-ai-widget button,
.tk-ai-widget input,
.tk-ai-widget textarea,
.tk-ai-widget select,
.tk-ai-widget p,
.tk-ai-widget span,
.tk-ai-widget small,
.tk-ai-widget label,
.tk-ai-widget li,
.tk-ai-widget td {
  font-size: 16px !important;
  line-height: 1.45 !important;
}

.tk-ai-widget strong,
.tk-ai-flow-title,
.tk-ui-card strong,
.tk-ai-answer-card strong {
  font-size: 17px !important;
  line-height: 1.28 !important;
}

.tk-ai-input-row input.tk-ai-input {
  font-size: 16px !important;
  height: 46px !important;
  line-height: 46px !important;
}

.tk-ai-input-shell {
  height: 48px !important;
  border-radius: 18px !important;
}

.tk-ai-actions button,
.tk-ai-suggestions button,
.tk-ui-primary-link,
.tk-ui-secondary-link,
.tk-ui-secondary-btn,
.tk-ai-flow-primary,
.tk-ai-flow-secondary {
  min-height: 44px !important;
  font-size: 16px !important;
}

.tk-ui-actions-row > :nth-child(n+3) {
  display: none !important;
}

.tk-ui-card,
.tk-ai-answer-card {
  margin: 10px 0 !important;
  padding: 14px 15px !important;
}

.tk-ui-kicker,
.tk-ai-card-label {
  font-size: 16px !important;
  letter-spacing: .08em !important;
}

.tk-ui-source-badge {
  display: none !important;
}

.tk-ai-suggestions {
  gap: 8px !important;
}

.tk-ai-suggestions button {
  text-align: left !important;
}

@media (max-width: 640px) {
  .tk-ai-widget,
  .tk-ai-widget button,
  .tk-ai-widget input,
  .tk-ai-widget textarea,
  .tk-ai-widget select,
  .tk-ai-widget p,
  .tk-ai-widget span,
  .tk-ai-widget small,
  .tk-ai-widget label,
  .tk-ai-widget li,
  .tk-ai-widget td {
    font-size: 16px !important;
  }
}

/* =========================================================
   v1.5.3 visitor UI polish
   ========================================================= */
.tk-ai-launcher {
  width: 60px !important;
  min-width: 60px !important;
  height: 60px !important;
  min-height: 60px !important;
  padding: 10px !important;
  gap: 0 !important;
  opacity: 0;
  transform: translateY(8px);
  transition: width .34s ease, min-width .34s ease, gap .34s ease, padding .34s ease, opacity .22s ease, transform .22s ease !important;
}

.tk-ai-widget,
.tk-ai-widget * {
  letter-spacing: 0 !important;
}

.tk-ai-launcher.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.tk-ai-launcher.is-expanded {
  width: 210px !important;
  min-width: 210px !important;
  gap: 11px !important;
  padding: 10px 16px 10px 10px !important;
}

.tk-ai-launcher-copy {
  width: 0;
  min-width: 0;
  max-width: 0;
  overflow: hidden;
  white-space: nowrap;
  opacity: 0;
  transition: opacity .2s ease .14s, max-width .34s ease !important;
}

.tk-ai-launcher.is-expanded .tk-ai-launcher-copy {
  width: auto;
  max-width: 140px;
  opacity: 1;
}

.tk-ai-orbit {
  width: 40px !important;
  height: 40px !important;
  flex: 0 0 40px !important;
}

.tk-ai-header {
  min-height: 74px !important;
  padding: 13px 16px 12px !important;
  align-items: center !important;
}

.tk-ai-header span {
  margin-top: 2px !important;
  font-size: 16px !important;
}

.tk-ai-close,
.tk-ai-flow-close {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  aspect-ratio: 1 / 1 !important;
  flex: 0 0 36px !important;
  padding: 0 !important;
}

.tk-ai-close svg,
.tk-ai-flow-close svg {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  flex: 0 0 16px !important;
}

.tk-ai-message,
.tk-ai-message p,
.tk-ai-suggestions button,
.tk-ai-input-row input.tk-ai-input,
.tk-ai-flow-card p,
.tk-ai-flow-form label span,
.tk-ai-flow-form input,
.tk-ai-flow-form select,
.tk-ai-flow-form textarea,
.tk-ai-flow-primary,
.tk-ai-flow-secondary,
.tk-ui-card,
.tk-ui-card p,
.tk-ui-primary-link,
.tk-ui-secondary-btn,
.tk-ui-secondary-link,
.tk-ui-metric span,
.tk-ui-timeline li,
.tk-ui-table-card td,
.tk-ai-key-points li {
  font-size: 16px !important;
  line-height: 1.45 !important;
}

.tk-ai-status,
.tk-ai-launcher small,
.tk-ai-flow-note,
.tk-ai-consent span {
  font-size: 13px !important;
  line-height: 1.35 !important;
}

.tk-ai-launcher strong,
.tk-ai-header strong,
.tk-ai-flow-card h3,
.tk-ai-answer-card strong,
.tk-ui-card strong {
  font-size: 17px !important;
  line-height: 1.25 !important;
}

.tk-ai-voice.is-listening {
  background: var(--tk-orange) !important;
  color: #111827 !important;
}

@media (prefers-reduced-motion: reduce) {
  .tk-ai-widget *,
  .tk-ai-widget *::before,
  .tk-ai-widget *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

@media (max-width: 640px) {
  .tk-ai-launcher.is-expanded {
    width: 210px !important;
    min-width: 210px !important;
  }

  .tk-ai-panel,
  .tk-ai-widget[data-widget-position="left"] .tk-ai-panel {
    max-height: 82vh !important;
  }

  .tk-ai-header {
    min-height: 72px !important;
  }
}
