/* AI Travel Chatbot v1.2.1 - widget styles (scoped to #atc-root) */

/* ===== 1. Tokens + theme-proof reset ===== */
#atc-root{
  --atc-primary:#0b5cff;
  --atc-primary-600:color-mix(in srgb,var(--atc-primary) 86%,#000);
  --atc-tint:color-mix(in srgb,var(--atc-primary) 9%,#fff);
  --atc-tint-2:color-mix(in srgb,var(--atc-primary) 16%,#fff);
  --atc-ring:color-mix(in srgb,var(--atc-primary) 18%,transparent);
  --atc-ink:#101828;
  --atc-text:#344054;
  --atc-muted:#667085;
  --atc-faint:#98a2b3;
  --atc-border:#e4e7ec;
  --atc-soft:#f5f7fa;
  --atc-bg:#f8fafc;
  --atc-radius:20px;
  --atc-shadow:0 24px 64px rgba(16,24,40,.18),0 4px 14px rgba(16,24,40,.06);
  --atc-font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  position:fixed;right:24px;bottom:24px;left:auto;top:auto;z-index:2147483000;
  display:flex;flex-direction:column;align-items:flex-end;gap:14px;
  font-family:var(--atc-font);font-size:14px;line-height:1.5;color:var(--atc-ink);
  text-align:left;letter-spacing:normal;text-transform:none;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  pointer-events:none;
}
#atc-root>*{pointer-events:auto}
#atc-root[data-position="left"]{right:auto;left:24px;align-items:flex-start}
#atc-root *,#atc-root *::before,#atc-root *::after{box-sizing:border-box}
#atc-root :where(button,input,textarea,select){font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:normal;text-transform:none;text-shadow:none;margin:0;min-height:0;min-width:0;max-width:100%;box-shadow:none;outline:none;-webkit-appearance:none;appearance:none}
#atc-root :where(button){background:none;border:0;padding:0;color:inherit;cursor:pointer;border-radius:0;font-weight:inherit;width:auto;height:auto;text-decoration:none}
#atc-root :where(p,h1,h2,h3,h4,h5,h6,ul,ol,dl,dd,figure,fieldset,blockquote){margin:0}
#atc-root :where(h1,h2,h3,h4,h5,h6){font-family:inherit;text-transform:none;letter-spacing:-.01em;color:var(--atc-ink);line-height:1.3}
#atc-root :where(img,svg){max-width:100%;border:0}
#atc-root :where(a){box-shadow:none}
#atc-root :where(input,textarea){padding:0;border-radius:0;float:none;position:static;opacity:1;vertical-align:middle}
#atc-root :where(button,a,input[type=radio],input[type=checkbox]):focus-visible{outline:2px solid var(--atc-primary);outline-offset:2px}
#atc-root :where(input:not([type=radio]):not([type=checkbox]),textarea):focus-visible{outline:none}
#atc-root .atc-ico{width:16px;height:16px;flex:none;display:inline-block;vertical-align:middle;fill:currentColor}
#atc-root [hidden],
#atc-root .atc-panel[hidden],#atc-root .atc-chat[hidden],#atc-root .atc-composer[hidden],#atc-root .atc-prechat[hidden],#atc-root .atc-typing[hidden]{display:none!important}

/* ===== 2. Launcher ===== */
#atc-root .atc-launch-wrap{display:flex;align-items:center;gap:12px}
#atc-root[data-position="left"] .atc-launch-wrap{flex-direction:row-reverse}
#atc-root .atc-launcher-label{background:#fff;color:var(--atc-ink);font-weight:700;font-size:14px;line-height:1.3;padding:11px 16px;border-radius:14px;box-shadow:0 10px 30px rgba(16,24,40,.14);max-width:220px;animation:atc-in .3s ease}
#atc-root .atc-launcher{position:relative;width:62px;height:62px;border-radius:50%;background:var(--atc-primary);color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px color-mix(in srgb,var(--atc-primary) 40%,transparent),0 0 0 5px #fff;transition:transform .2s ease,background .2s ease;animation:atc-pulse 3.4s infinite}
#atc-root .atc-launcher:hover{transform:translateY(-2px);background:var(--atc-primary-600)}
#atc-root .atc-launcher-icon{grid-area:1/1;display:grid;place-items:center;transition:transform .25s ease,opacity .2s ease}
#atc-root .atc-launcher-icon .atc-ico{width:28px;height:28px}
#atc-root .atc-launcher-shut{opacity:0;transform:rotate(-90deg) scale(.6)}
#atc-root.is-open .atc-launcher-open{opacity:0;transform:rotate(90deg) scale(.6)}
#atc-root.is-open .atc-launcher-shut{opacity:1;transform:none}
#atc-root.is-open .atc-launcher-label{display:none}
#atc-root.is-open .atc-launcher{animation:none}

/* ===== 3. Panel + header ===== */
#atc-root .atc-panel{width:min(400px,calc(100vw - 32px));height:min(680px,calc(100vh - 120px));height:min(680px,calc(100dvh - 120px));background:#fff;border:1px solid rgba(16,24,40,.08);border-radius:var(--atc-radius);box-shadow:var(--atc-shadow);overflow:hidden;display:flex;flex-direction:column;transform-origin:bottom right;animation:atc-in .22s ease}
#atc-root[data-position="left"] .atc-panel{transform-origin:bottom left}
#atc-root .atc-header{flex:none;min-height:66px;padding:12px 12px 12px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;color:var(--atc-ink);border-bottom:1px solid var(--atc-border)}
#atc-root .atc-brand{display:flex;align-items:center;gap:11px;min-width:0}
#atc-root .atc-brand-mark{width:40px;height:40px;border-radius:50%;flex:none;background:linear-gradient(135deg,var(--atc-primary),color-mix(in srgb,var(--atc-primary) 55%,#14b8a6));color:#fff;display:grid;place-items:center;box-shadow:0 0 0 3px var(--atc-tint)}
#atc-root .atc-brand-mark .atc-ico{width:20px;height:20px}
#atc-root .atc-brand-text{min-width:0;display:flex;flex-direction:column}
#atc-root .atc-brand-text strong{font-size:15px;font-weight:700;line-height:1.25;color:var(--atc-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#atc-root .atc-brand-text small{font-size:12px;line-height:1.3;color:var(--atc-muted);margin-top:1px}
#atc-root .atc-head-actions{display:flex;gap:2px;flex:none}
#atc-root .atc-icon-btn{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:var(--atc-muted);transition:background .15s,color .15s}
#atc-root .atc-icon-btn:hover{background:var(--atc-soft);color:var(--atc-ink)}
#atc-root .atc-icon-btn .atc-ico{width:20px;height:20px}
#atc-root .atc-body{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:#fff}

/* ===== 4. Pre-chat form ===== */
#atc-root .atc-prechat{padding:22px 20px 18px;overflow-y:auto;overscroll-behavior:contain}
#atc-root .atc-welcome{text-align:center;margin:2px 0 18px}
#atc-root .atc-welcome strong{display:block;font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--atc-ink)}
#atc-root .atc-welcome p{margin:6px auto 0;max-width:300px;color:var(--atc-muted);font-size:13px;line-height:1.5}
#atc-root .atc-field{display:flex;align-items:stretch;border:1px solid var(--atc-border);border-radius:12px;background:#fff;margin:0 0 10px;transition:border-color .15s,box-shadow .15s;cursor:text}
#atc-root .atc-field:focus-within{border-color:var(--atc-primary);box-shadow:0 0 0 3px var(--atc-ring)}
#atc-root .atc-field-icon{width:44px;flex:none;display:grid;place-items:center;color:var(--atc-muted);border-right:1px solid var(--atc-border)}
#atc-root .atc-field-icon .atc-ico{width:18px;height:18px}
#atc-root .atc-field-main{flex:1;min-width:0;display:flex;flex-direction:column;padding:7px 12px 6px}
#atc-root .atc-field-label{font-size:11px;font-weight:600;color:var(--atc-muted);line-height:1.3}
#atc-root .atc-field-label em,#atc-root .atc-consent em{font-style:normal;color:#d92d20}
#atc-root .atc-optional{font-weight:500;color:var(--atc-faint)}
#atc-root .atc-field input{display:block;width:100%;border:0;background:transparent;padding:2px 0 0;font-size:14px;line-height:1.4;height:auto;color:var(--atc-ink);border-radius:0}
#atc-root .atc-field input::placeholder{color:var(--atc-faint)}
#atc-root .atc-preference{border:0;padding:0;margin:16px 0 12px;min-width:0}
#atc-root .atc-preference legend{padding:0;font-size:13px;font-weight:700;color:var(--atc-ink);margin-bottom:9px}
#atc-root .atc-choice-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
#atc-root .atc-choice-row label{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--atc-border);border-radius:10px;padding:9px 8px;font-size:13px;font-weight:600;color:var(--atc-text);cursor:pointer;background:#fff;transition:border-color .15s,background .15s,color .15s}
#atc-root .atc-choice-row input{width:16px;height:16px;min-height:16px;padding:0;margin:0;border:2px solid #d0d5dd;border-radius:50%;background:#fff;flex:none;cursor:pointer;display:grid;place-items:center}
#atc-root .atc-choice-row input::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--atc-primary);transform:scale(0);transition:transform .15s}
#atc-root .atc-choice-row input:checked{border-color:var(--atc-primary)}
#atc-root .atc-choice-row input:checked::before{transform:scale(1)}
#atc-root .atc-choice-row label:has(input:checked){border-color:var(--atc-primary);background:var(--atc-tint);color:var(--atc-primary)}
#atc-root .atc-consent{display:flex;gap:10px;align-items:flex-start;margin:4px 0 16px;font-size:12.5px;line-height:1.5;color:var(--atc-text);cursor:pointer}
#atc-root .atc-consent input{width:18px;height:18px;min-height:18px;padding:0;flex:none;margin-top:1px;border:2px solid #d0d5dd;border-radius:5px;background:#fff;cursor:pointer;display:grid;place-items:center;transition:background .15s,border-color .15s}
#atc-root .atc-consent input::before{content:"";width:9px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px) scale(0);transition:transform .15s}
#atc-root .atc-consent input:checked{background:var(--atc-primary);border-color:var(--atc-primary)}
#atc-root .atc-consent input:checked::before{transform:rotate(-45deg) translate(1px,-1px) scale(1)}
#atc-root .atc-primary{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--atc-primary);color:#fff;border-radius:12px;padding:13px 16px;font-size:14.5px;font-weight:700;transition:background .15s,transform .15s}
#atc-root .atc-primary:hover{background:var(--atc-primary-600)}
#atc-root .atc-primary:active{transform:translateY(1px)}
#atc-root .atc-form-error{color:#d92d20;font-size:12px;line-height:1.4;min-height:0;margin:8px 0 0!important;text-align:center}
#atc-root .atc-form-error:empty{display:none}
#atc-root .atc-secure{display:flex;gap:8px;align-items:flex-start;margin-top:14px!important;font-size:11.5px;line-height:1.45;color:var(--atc-muted)}
#atc-root .atc-secure .atc-ico{width:14px;height:14px;margin-top:1px;color:var(--atc-faint)}

/* ===== 5. Chat area ===== */
#atc-root .atc-chat{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
#atc-root .atc-messages{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:16px 14px 8px;background:var(--atc-bg);scroll-behavior:smooth}
#atc-root .atc-row{display:flex;gap:8px;align-items:flex-start;margin:0 0 12px}
#atc-root .atc-row.user{justify-content:flex-end}
#atc-root .atc-col{display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:86%}
#atc-root .atc-row.user .atc-col{align-items:flex-end;max-width:82%}
#atc-root .atc-row-wide .atc-col{flex:1;max-width:calc(100% - 36px);align-items:stretch}
#atc-root .atc-row-wide .atc-time{align-self:flex-start}
#atc-root .atc-bot-avatar{width:28px;height:28px;flex:none;border-radius:50%;background:var(--atc-tint);color:var(--atc-primary);display:grid;place-items:center;margin-top:2px}
#atc-root .atc-bot-avatar .atc-ico{width:17px;height:17px}
#atc-root .atc-time{display:block;font-size:10.5px;line-height:1.2;color:var(--atc-faint);margin:5px 4px 0}
#atc-root .atc-msg{max-width:100%;margin:0;padding:10px 13px;border-radius:16px;font-size:13.5px;line-height:1.55;overflow-wrap:anywhere;word-break:normal}
#atc-root .atc-msg.user{background:var(--atc-primary);color:#fff;border-bottom-right-radius:5px;white-space:pre-wrap}
#atc-root .atc-msg.assistant{background:#fff;color:var(--atc-ink);border:1px solid var(--atc-border);border-bottom-left-radius:5px;box-shadow:0 1px 3px rgba(16,24,40,.04)}
#atc-root .atc-msg.assistant.is-structured{padding:13px 14px;width:100%}
#atc-root .atc-msg.system{font-size:12px;color:var(--atc-muted);text-align:center;background:transparent;margin:6px auto 12px}

/* ===== 6. Rich text content ===== */
#atc-root .atc-message-content{font-size:13.5px;line-height:1.6;color:#1d2939}
#atc-root .atc-message-content>*:first-child{margin-top:0!important}
#atc-root .atc-message-content>*:last-child{margin-bottom:0!important}
#atc-root .atc-message-content p{margin:0 0 10px}
#atc-root .atc-message-content p.atc-lead{color:var(--atc-ink)}
#atc-root .atc-message-content p.atc-followup{margin-top:12px;padding-top:10px;border-top:1px dashed var(--atc-border);color:var(--atc-text);font-weight:600}
#atc-root .atc-message-content strong{font-weight:700;color:inherit}
#atc-root .atc-message-content em{font-style:italic}
#atc-root .atc-message-content .atc-h{display:flex;align-items:center;gap:7px;margin:14px 0 8px;font-weight:700;line-height:1.3}
#atc-root .atc-message-content h3.atc-h{font-size:15px;color:var(--atc-ink)}
#atc-root .atc-message-content h4.atc-h{font-size:13.5px;color:var(--atc-primary)}
#atc-root .atc-message-content h4.atc-h::before{content:"";width:3px;height:14px;border-radius:3px;background:var(--atc-primary);flex:none}
#atc-root .atc-message-content ul,#atc-root .atc-message-content ol{margin:8px 0 12px;padding-left:20px}
#atc-root .atc-message-content ul.atc-list{list-style:none;padding:0;margin:6px 0 12px;display:grid;gap:6px}
#atc-root .atc-message-content ul.atc-list>li{position:relative;margin:0;padding:0 0 0 18px;line-height:1.5;list-style:none}
#atc-root .atc-message-content ul.atc-list>li::before{content:"";position:absolute;left:3px;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--atc-primary)}
#atc-root .atc-message-content ul.atc-list>li.has-icon{padding-left:28px}
#atc-root .atc-message-content ul.atc-list>li.has-icon::before{display:none}
#atc-root .atc-li-icon{position:absolute;left:0;top:0;width:22px;text-align:center;font-size:14px;line-height:1.5}
#atc-root .atc-li-label{font-weight:700;color:var(--atc-ink);margin-right:4px}
#atc-root .atc-li-label::after{content:":"}
#atc-root .atc-li-text{color:#475467}
#atc-root .atc-message-content ol.atc-steps{list-style:none;counter-reset:atc;padding:0;margin:6px 0 12px;display:grid;gap:8px}
#atc-root .atc-message-content ol.atc-steps>li{counter-increment:atc;position:relative;margin:0;padding:1px 0 0 30px;line-height:1.5;min-height:22px;list-style:none}
#atc-root .atc-message-content ol.atc-steps>li::before{content:counter(atc);position:absolute;left:0;top:0;width:21px;height:21px;border-radius:50%;background:var(--atc-tint-2);color:var(--atc-primary);font-size:11px;font-weight:800;line-height:21px;text-align:center}
#atc-root .atc-message-content ol.atc-steps>li.has-icon{padding-left:56px}
#atc-root .atc-message-content ol.atc-steps>li.has-icon .atc-li-icon{left:26px}
#atc-root .atc-message-content li::marker{color:var(--atc-primary)}
#atc-root .atc-message-content blockquote{margin:10px 0;padding:9px 12px;border-left:3px solid var(--atc-primary);background:var(--atc-tint);color:#3b4a62;border-radius:0 10px 10px 0;font-style:normal;quotes:none}
#atc-root .atc-message-content blockquote::before,#atc-root .atc-message-content blockquote::after{content:none}
#atc-root .atc-message-content a{color:var(--atc-primary);font-weight:600;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
#atc-root .atc-message-content code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;background:#eef2f6;color:#1d2939;padding:1px 5px;border-radius:5px}
#atc-root .atc-message-content pre{margin:10px 0;padding:10px 12px;overflow:auto;background:#101828;color:#eef3ff;border-radius:10px;white-space:pre-wrap;font-size:12px}
#atc-root .atc-message-content pre code{background:transparent;padding:0;color:inherit}
#atc-root .atc-message-content hr{border:0;border-top:1px solid var(--atc-border);margin:14px 0;height:0}
#atc-root .atc-table-wrap{max-width:100%;overflow-x:auto;margin:10px 0 12px;border:1px solid var(--atc-border);border-radius:10px;background:#fff}
#atc-root .atc-table{width:100%;min-width:240px;border-collapse:collapse;border:0;margin:0;font-size:12.5px;table-layout:auto}
#atc-root .atc-table th,#atc-root .atc-table td{padding:8px 10px;border:0;border-bottom:1px solid var(--atc-border);text-align:left;vertical-align:top;background:transparent}
#atc-root .atc-table th{background:var(--atc-tint);font-weight:700;color:var(--atc-ink);white-space:nowrap}
#atc-root .atc-table tr:last-child td{border-bottom:0}
#atc-root .atc-facts{margin:8px 0 12px;border:1px solid var(--atc-border);border-radius:12px;overflow:hidden;background:#fff}
#atc-root .atc-fact{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:10px;padding:8px 11px;border-bottom:1px solid var(--atc-border);font-size:12.5px;line-height:1.45}
#atc-root .atc-fact:nth-child(odd){background:#fafbfc}
#atc-root .atc-fact:last-child{border-bottom:0}
#atc-root .atc-fact dt{margin:0;color:var(--atc-muted);font-weight:600;display:flex;gap:6px;align-items:flex-start;overflow-wrap:anywhere}
#atc-root .atc-fact dd{margin:0;color:var(--atc-ink);font-weight:600;overflow-wrap:anywhere}
#atc-root .atc-fact-icon{font-size:13px}
#atc-root .atc-callout{display:flex;gap:9px;align-items:flex-start;background:#fffaeb;border:1px solid #fedf89;color:#7a4f01;border-radius:12px;padding:9px 11px;margin:10px 0}
#atc-root .atc-callout .atc-ico{color:#dc6803;margin-top:2px}
#atc-root .atc-message-content .atc-callout p{margin:0;font-size:12.5px;line-height:1.5}
#atc-root .atc-timeline{list-style:none;margin:8px 0 12px;padding:0;position:relative;display:grid;gap:8px}
#atc-root .atc-timeline>li{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;align-items:start;margin:0;padding:0;list-style:none}
#atc-root .atc-timeline>li::before{display:none}
#atc-root .atc-timeline>li:not(:last-child)::after{content:"";position:absolute;left:27px;top:22px;bottom:-8px;width:2px;background:var(--atc-tint-2)}
#atc-root .atc-tl-day{justify-self:stretch;text-align:center;background:var(--atc-primary);color:#fff;font-size:10.5px;font-weight:700;line-height:1;border-radius:999px;padding:5px 4px;margin-top:6px;white-space:nowrap;position:relative;z-index:1}
#atc-root .atc-tl-body{background:#fff;border:1px solid var(--atc-border);border-radius:10px;padding:7px 10px;font-size:12.5px;line-height:1.45;min-width:0}
#atc-root .atc-tl-body strong{display:block;color:var(--atc-ink);font-weight:700}
#atc-root .atc-tl-body span{color:#475467}
#atc-root .atc-price{display:inline-block;font-weight:700;color:#067647;background:#ecfdf3;border-radius:6px;padding:0 5px;white-space:nowrap}

/* ===== 7. Cards ===== */
#atc-root .atc-card{position:relative;border:1px solid var(--atc-border);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 4px 16px rgba(16,24,40,.06);margin:0 0 10px}
#atc-root .atc-card-img{display:block;width:100%;height:132px;object-fit:cover;border-radius:0;margin:0;background:var(--atc-soft)}
#atc-root .atc-card-body{padding:12px 13px 13px}
#atc-root .atc-card-body h4{font-size:14.5px;font-weight:700;margin:0 0 8px;color:var(--atc-ink);line-height:1.3}
#atc-root .atc-card-badge{position:absolute;top:10px;left:10px;background:#fff;color:var(--atc-primary);font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:999px;box-shadow:0 2px 8px rgba(0,0,0,.12)}
#atc-root .atc-meta{display:flex;gap:7px;align-items:flex-start;font-size:12px;line-height:1.4;color:#475467;margin:4px 0}
#atc-root .atc-meta .atc-ico{width:14px;height:14px;margin-top:1px;color:var(--atc-primary)}
#atc-root .atc-chips{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 2px}
#atc-root .atc-chip{display:inline-block;font-size:10.5px;font-weight:700;line-height:1.4;background:var(--atc-tint);color:var(--atc-primary);padding:3px 8px;border-radius:999px}
#atc-root .atc-card-body .atc-card-desc{font-size:12px;line-height:1.5;color:var(--atc-muted);margin:6px 0}
#atc-root .atc-card-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin:10px 0 2px;padding-top:9px;border-top:1px dashed var(--atc-border)}
#atc-root .atc-card-price span{font-size:11px;color:var(--atc-muted)}
#atc-root .atc-card-price strong{font-size:16px;font-weight:800;color:var(--atc-ink);letter-spacing:-.01em}
#atc-root .atc-card-price small{font-size:10.5px;color:var(--atc-faint)}
#atc-root .atc-card-actions{display:flex;gap:8px;margin-top:12px}
#atc-root .atc-card-actions>*{flex:1 1 0;min-width:0}
#atc-root .atc-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;border-radius:10px;padding:9px 10px;font-size:12.5px;font-weight:700;line-height:1.2;cursor:pointer;text-decoration:none;border:1.5px solid var(--atc-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s,color .15s}
#atc-root .atc-btn.ghost{background:#fff;color:var(--atc-primary)}
#atc-root .atc-btn.ghost:hover{background:var(--atc-tint)}
#atc-root .atc-btn.primary{background:var(--atc-primary);color:#fff}
#atc-root .atc-btn.primary:hover{background:var(--atc-primary-600);border-color:var(--atc-primary-600)}
#atc-root .atc-btn.block{display:flex;width:100%;margin-top:10px}
#atc-root .atc-feature-list{list-style:none;padding:0;margin:4px 0 6px;display:grid;gap:7px}
#atc-root .atc-feature-list li{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:1.45;color:var(--atc-text);list-style:none;margin:0;padding:0}
#atc-root .atc-feature-list .atc-ico{color:var(--atc-primary);margin-top:1px}
#atc-root .atc-feature-list .atc-li-icon{position:static;width:auto;font-size:13px}

/* carousel */
#atc-root .atc-carousel{position:relative;margin:0 0 6px;min-width:0}
#atc-root .atc-track{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;padding:2px 2px 12px;margin:0 -2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
#atc-root .atc-track::-webkit-scrollbar{display:none}
#atc-root .atc-track>.atc-card{flex:0 0 78%;max-width:250px;scroll-snap-align:start;margin:0;display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(16,24,40,.06)}
#atc-root .atc-track>.atc-card .atc-card-body{display:flex;flex-direction:column;flex:1}
#atc-root .atc-track>.atc-card .atc-card-actions{margin-top:auto;padding-top:12px}
#atc-root .atc-nav{position:absolute;top:calc(50% - 22px);z-index:2;width:32px;height:32px;border-radius:50%;border:1px solid var(--atc-border);background:#fff;color:var(--atc-ink);display:grid;place-items:center;box-shadow:0 4px 12px rgba(16,24,40,.16)}
#atc-root .atc-nav:hover{color:var(--atc-primary)}
#atc-root .atc-nav[hidden]{display:none!important}
#atc-root .atc-nav .atc-ico{width:20px;height:20px}
#atc-root .atc-nav.prev{left:-8px}.atc-nav.next{right:-8px}

/* itinerary */
#atc-root .atc-itin-head{display:flex;gap:11px;align-items:center;padding:13px 13px 0}
#atc-root .atc-itin-head .atc-card-img{width:72px;height:72px;border-radius:12px;flex:none}
#atc-root .atc-itin-head small{display:block;font-size:10.5px;color:var(--atc-muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
#atc-root .atc-itin-head h4{margin:2px 0 5px;font-size:15px;font-weight:700}
#atc-root .atc-itinerary .atc-timeline{margin-top:0}

/* summary / handoff */
#atc-root .atc-summary .atc-facts{margin-bottom:4px}
#atc-root .atc-success{display:flex;gap:10px;align-items:center;background:#ecfdf3;border:1px solid #abefc6;border-radius:12px;padding:10px 12px;margin-top:10px}
#atc-root .atc-success .atc-ico{width:24px;height:24px;padding:4px;border-radius:50%;background:#12b76a;color:#fff}
#atc-root .atc-success strong{display:block;font-size:12.5px;font-weight:700;color:#05603a}
#atc-root .atc-success span{display:block;font-size:11.5px;color:#067647}

/* options + menu tiles */
#atc-root .atc-options{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 6px}
#atc-root .atc-option{border:1px solid var(--atc-border);background:#fff;color:var(--atc-ink);border-radius:10px;padding:8px 14px;font-size:12.5px;font-weight:600;transition:background .15s,color .15s,border-color .15s}
#atc-root .atc-option:hover,#atc-root .atc-option:focus-visible{border-color:var(--atc-primary);background:var(--atc-primary);color:#fff}
#atc-root .atc-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#atc-root .atc-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2px;border:1px solid var(--atc-border);background:#fff;border-radius:14px;padding:14px 8px 12px;color:var(--atc-ink);min-height:96px;transition:border-color .15s,box-shadow .15s,transform .15s}
#atc-root .atc-tile:hover,#atc-root .atc-tile:focus-visible{border-color:var(--atc-primary);box-shadow:0 6px 18px rgba(16,24,40,.08);transform:translateY(-1px)}
#atc-root .atc-tile-icon{font-size:24px;line-height:1;margin-bottom:6px}
#atc-root .atc-tile strong{font-size:12.5px;font-weight:700;line-height:1.3}
#atc-root .atc-tile small{font-size:10.5px;line-height:1.3;color:var(--atc-muted)}

/* suggested actions + typing */
#atc-root .atc-actions{flex:none;padding:8px 12px;display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;background:#fff;border-top:1px solid var(--atc-border)}
#atc-root .atc-actions::-webkit-scrollbar{display:none}
#atc-root .atc-actions:empty{display:none}
#atc-root .atc-action{flex:none;white-space:nowrap;border:1px solid var(--atc-border);background:#fff;color:var(--atc-ink);border-radius:999px;padding:7px 12px;font-size:12px;font-weight:600;transition:border-color .15s,color .15s}
#atc-root .atc-action:hover{border-color:var(--atc-primary);color:var(--atc-primary)}
#atc-root .atc-typing{flex:none;padding:6px 18px 8px 50px;color:var(--atc-muted);display:flex;gap:4px;align-items:center;font-size:11px;background:var(--atc-bg)}
#atc-root .atc-typing span{width:6px;height:6px;background:var(--atc-primary);border-radius:50%;animation:atc-bounce 1s infinite}
#atc-root .atc-typing span:nth-child(2){animation-delay:.15s}
#atc-root .atc-typing span:nth-child(3){animation-delay:.3s}
#atc-root .atc-typing em{font-style:normal;margin-left:6px}

/* ===== 8. Composer ===== */
#atc-root .atc-composer{flex:none;padding:10px 12px 12px;border-top:1px solid var(--atc-border);display:flex;align-items:flex-end;gap:8px;background:#fff}
#atc-root .atc-composer textarea{flex:1;display:block;resize:none;width:auto;height:44px;min-height:44px;max-height:110px;border:1px solid var(--atc-border);border-radius:12px;padding:11px 14px;font-size:14px;line-height:20px;color:var(--atc-ink);background:var(--atc-soft);overflow-y:auto;transition:border-color .15s,box-shadow .15s,background .15s}
#atc-root .atc-composer textarea::placeholder{color:var(--atc-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#atc-root .atc-composer textarea:focus{border-color:var(--atc-primary);background:#fff;box-shadow:0 0 0 3px var(--atc-ring)}
#atc-root .atc-composer button{flex:none;width:44px;height:44px;border-radius:12px;background:var(--atc-primary);color:#fff;display:grid;place-items:center;transition:background .15s}
#atc-root .atc-composer button:hover{background:var(--atc-primary-600)}
#atc-root .atc-composer button .atc-ico{width:20px;height:20px}

/* ===== 9. Motion ===== */
@keyframes atc-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes atc-pulse{0%,100%{box-shadow:0 12px 30px color-mix(in srgb,var(--atc-primary) 40%,transparent),0 0 0 5px #fff,0 0 0 5px color-mix(in srgb,var(--atc-primary) 30%,transparent)}50%{box-shadow:0 12px 30px color-mix(in srgb,var(--atc-primary) 40%,transparent),0 0 0 5px #fff,0 0 0 14px transparent}}
@keyframes atc-bounce{50%{transform:translateY(-3px)}}

/* ===== 10. Responsive ===== */
@media (max-height:640px) and (min-width:601px){#atc-root .atc-panel{height:calc(100vh - 110px);height:calc(100dvh - 110px)}}
@media (max-width:600px){
  #atc-root,#atc-root[data-position="left"]{right:16px;left:auto;bottom:16px}
  #atc-root[data-position="left"]{right:auto;left:16px}
  #atc-root.is-open{inset:0;gap:0}
  #atc-root.is-open .atc-launch-wrap{display:none}
  #atc-root .atc-panel{width:100%;height:100%;max-height:none;border-radius:0;border:0;box-shadow:none}
  #atc-root .atc-header{padding-top:max(12px,env(safe-area-inset-top))}
  #atc-root .atc-composer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
  #atc-root .atc-launcher-label{font-size:13px;padding:9px 13px;max-width:170px}
  #atc-root .atc-launcher{width:56px;height:56px}
  #atc-root .atc-messages{padding:14px 12px 6px}
  #atc-root .atc-prechat{padding:20px 16px 16px}
  #atc-root .atc-col{max-width:90%}
  #atc-root .atc-track>.atc-card{flex-basis:80%}
  #atc-root .atc-composer textarea{font-size:16px}
  #atc-root .atc-field input{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  #atc-root *,#atc-root *::before,#atc-root *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
