/* eBankome Assistant — modern AI look built on the eBankome navy / gold palette */
.ebka{
  --ek-navy:#022D73;--ek-navy-700:#0B3A85;--ek-navy-900:#011A44;--ek-navy-950:#020E26;
  --ek-gold:#D3B066;--ek-gold-300:#E9D3A0;--ek-gold-600:#BF9A4C;--ek-sky:#5B8DEF;
  --ek-ink:#0E1A33;--ek-text:#3A4559;--ek-line:#E3E7EF;--ek-soft:#F5F7FB;
  --ek-grad:linear-gradient(135deg,#022D73 0%,#0B3A85 55%,#1F4FA8 100%);
  --ek-gold-grad:linear-gradient(135deg,#E9D3A0 0%,#D3B066 50%,#BF9A4C 100%);
  --ek-ease:cubic-bezier(.22,1,.36,1);--ek-spring:cubic-bezier(.34,1.56,.64,1);
  font-family:"Source Sans 3",Arial,sans-serif;color:var(--ek-ink);-webkit-font-smoothing:antialiased;line-height:1.5;font-size:15px;
}
.ebka *,.ebka *::before,.ebka *::after{box-sizing:border-box}
.ebka button,.ebka input,.ebka select,.ebka textarea{all:unset;box-sizing:border-box;font-family:inherit;font-size:inherit;color:inherit;line-height:1.4}
.ebka button{cursor:pointer}
.ebka button:focus-visible,.ebka a:focus-visible{outline:2px solid var(--ek-gold);outline-offset:3px;border-radius:12px}
.ebka svg{display:block;flex:none}
.ebka [hidden]{display:none!important}

/* ---------- Launcher ---------- */
.ebka .ebka-launch{position:fixed;right:24px;bottom:24px;z-index:99990;display:flex!important;align-items:center;gap:12px;height:60px;padding:0 24px 0 8px;border-radius:999px;background:var(--ek-grad);color:#fff;box-shadow:0 14px 36px rgba(2,45,115,.38),inset 0 1px 0 rgba(255,255,255,.18);transition:transform .35s var(--ek-spring),box-shadow .3s,opacity .25s;animation:ebka-in .7s var(--ek-spring) .3s both}
.ebka .ebka-launch::before{content:"";position:absolute;inset:-2px;border-radius:inherit;padding:2px;background:conic-gradient(from var(--ek-a,0deg),rgba(211,176,102,0) 0deg,var(--ek-gold) 70deg,rgba(91,141,239,.9) 160deg,rgba(211,176,102,0) 240deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:ebka-spin 4s linear infinite;pointer-events:none}
.ebka .ebka-launch:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 20px 44px rgba(2,45,115,.45),0 0 0 6px rgba(211,176,102,.14)}
.ebka .ebka-launch .ic{position:relative;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);color:var(--ek-gold)}
.ebka .ebka-launch .ic::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(211,176,102,.55);animation:ebka-pulse 2.6s ease-out infinite}
.ebka .ebka-launch .ic svg{width:24px;height:24px;animation:ebka-twinkle 3.2s ease-in-out infinite}
.ebka .ebka-launch .tx{font-size:15px;font-weight:600;letter-spacing:.02em;white-space:nowrap}
.ebka.is-open .ebka-launch{animation:none;transform:scale(.6);opacity:0;pointer-events:none}

/* Teaser bubble */
.ebka .ebka-teaser{position:fixed;right:24px;bottom:96px;z-index:99989;max-width:280px;display:flex;align-items:flex-start;gap:10px;padding:14px 38px 14px 16px;background:#fff;border-radius:18px 18px 6px 18px;box-shadow:0 18px 44px rgba(2,14,38,.18);font-size:14px;color:var(--ek-ink);cursor:pointer;animation:ebka-pop .55s var(--ek-spring) both}
.ebka .ebka-teaser b{display:block;color:var(--ek-navy);font-weight:700;margin-bottom:2px}
.ebka .ebka-teaser .x{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#8A93A6}
.ebka .ebka-teaser .x:hover{background:var(--ek-soft);color:var(--ek-navy)}
.ebka .ebka-teaser .x svg{width:11px;height:11px}
.ebka.is-open .ebka-teaser{display:none}

/* ---------- Panel ---------- */
.ebka .ebka-panel{position:fixed;right:24px;bottom:24px;z-index:99991;width:410px;height:min(680px,calc(100vh - 48px));display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);box-shadow:0 30px 80px rgba(2,14,38,.35),0 0 0 1px rgba(2,45,115,.06);transform-origin:bottom right;opacity:0;visibility:hidden;transform:translateY(24px) scale(.92);transition:opacity .25s,transform .45s var(--ek-spring),visibility 0s .45s}
.ebka.is-open .ebka-panel{opacity:1;visibility:visible;transform:none;transition:opacity .25s,transform .5s var(--ek-spring)}

/* Header with animated aurora */
.ebka .ebka-head{position:relative;flex:none;display:flex;align-items:center;gap:14px;padding:20px 64px 20px 20px;color:#fff;background:var(--ek-navy-900);overflow:hidden}
.ebka .ebka-head::before,.ebka .ebka-head::after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;filter:blur(40px);opacity:.55;pointer-events:none}
.ebka .ebka-head::before{background:radial-gradient(circle,#1F4FA8 0%,transparent 70%);top:-120px;left:-60px;animation:ebka-drift 9s ease-in-out infinite alternate}
.ebka .ebka-head::after{background:radial-gradient(circle,rgba(211,176,102,.85) 0%,transparent 70%);bottom:-150px;right:-40px;opacity:.38;animation:ebka-drift 11s ease-in-out infinite alternate-reverse}
.ebka .ebka-head>*{position:relative;z-index:1}
.ebka .ebka-orb{position:relative;width:46px;height:46px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ek-navy-900)}
.ebka .ebka-orb::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(from var(--ek-a,0deg),var(--ek-gold),#F4E6C3,var(--ek-sky),var(--ek-gold));animation:ebka-spin 6s linear infinite}
.ebka .ebka-orb::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--ek-gold-grad)}
.ebka .ebka-orb svg{position:relative;z-index:1;width:22px;height:22px;animation:ebka-twinkle 3.2s ease-in-out infinite}
.ebka .ebka-head .nm{font-size:17px;font-weight:700;letter-spacing:.01em}
.ebka .ebka-head .st{display:flex;align-items:center;gap:7px;margin-top:2px;font-size:13px;color:#C9D2E3}
.ebka .ebka-head .st i{width:8px;height:8px;border-radius:50%;background:#3DD68C;box-shadow:0 0 0 0 rgba(61,214,140,.6);animation:ebka-live 2s ease-out infinite}
.ebka .ebka-x{position:absolute!important;top:50%;right:16px;transform:translateY(-50%);z-index:2;width:36px;height:36px;border-radius:50%;display:flex!important;align-items:center;justify-content:center;color:#fff;background:rgba(255,255,255,.1);transition:background .2s,transform .3s var(--ek-spring)}
.ebka .ebka-x:hover{background:rgba(255,255,255,.2);transform:translateY(-50%) rotate(90deg)}
.ebka .ebka-x svg{width:14px;height:14px}

/* ---------- Messages ---------- */
.ebka .ebka-body{flex:1 1 auto;overflow-y:auto;padding:22px 18px 14px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth;background:radial-gradient(120% 60% at 100% 0%,rgba(211,176,102,.08),transparent 60%),radial-gradient(100% 60% at 0% 100%,rgba(91,141,239,.07),transparent 60%),var(--ek-soft)}
.ebka .ebka-body::-webkit-scrollbar{width:6px}.ebka .ebka-body::-webkit-scrollbar-thumb{background:rgba(2,45,115,.18);border-radius:6px}
.ebka .ebka-note{align-self:center;font-size:12px;color:var(--ek-text);background:rgba(211,176,102,.16);border-radius:999px;padding:5px 12px;text-align:center}
.ebka .ebka-msg{max-width:86%;padding:12px 16px;font-size:15px;line-height:1.55;word-wrap:break-word;overflow-wrap:anywhere;animation:ebka-rise .45s var(--ek-ease) both}
.ebka .ebka-msg.a{align-self:flex-start;background:#fff;color:var(--ek-ink);border-radius:18px 18px 18px 6px;box-shadow:0 4px 16px rgba(2,14,38,.06),0 0 0 1px rgba(2,45,115,.05)}
.ebka .ebka-msg.u{align-self:flex-end;background:var(--ek-grad);color:#fff;border-radius:18px 18px 6px 18px;box-shadow:0 8px 20px rgba(2,45,115,.25);max-width:80%}
.ebka .ebka-msg p{margin:0 0 8px}.ebka .ebka-msg p:last-child{margin:0}
.ebka .ebka-msg ul,.ebka .ebka-msg ol{margin:4px 0 8px;padding-inline-start:20px}.ebka .ebka-msg li{margin:3px 0}
.ebka .ebka-msg li::marker{color:var(--ek-gold-600)}
.ebka .ebka-msg a{color:var(--ek-navy);font-weight:600;text-decoration:none;background:linear-gradient(var(--ek-gold),var(--ek-gold)) 0 100%/100% 2px no-repeat;padding-bottom:1px;transition:background-size .25s}
.ebka .ebka-msg a:hover{background-size:100% 100%;color:var(--ek-navy-900)}
.ebka .ebka-msg.u a{color:#fff}
.ebka .ebka-msg strong{font-weight:700;color:var(--ek-navy-900)}
.ebka .ebka-msg.u strong{color:#fff}
.ebka .ebka-msg.err{box-shadow:0 0 0 1px rgba(179,38,30,.25)}
.ebka .ebka-msg .w{display:inline;opacity:0;animation:ebka-word .4s var(--ek-ease) forwards}

.ebka .ebka-typing{align-self:flex-start;display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border-radius:18px 18px 18px 6px;box-shadow:0 4px 16px rgba(2,14,38,.06);animation:ebka-rise .35s var(--ek-ease) both;font-size:13px;color:var(--ek-text)}
.ebka .ebka-typing .dots{display:flex;gap:5px}
.ebka .ebka-typing .dots i{width:7px;height:7px;border-radius:50%;background:var(--ek-gold-grad);animation:ebka-dot 1.1s infinite ease-in-out}
.ebka .ebka-typing .dots i:nth-child(2){animation-delay:.14s}.ebka .ebka-typing .dots i:nth-child(3){animation-delay:.28s}
.ebka .ebka-typing span{background:linear-gradient(90deg,#8A93A6 0%,var(--ek-navy) 50%,#8A93A6 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ebka-shimmer 1.6s linear infinite}

.ebka .ebka-starters{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.ebka .ebka-starters button{display:flex!important;align-items:center;gap:10px;padding:11px 14px;border-radius:14px;background:#fff;color:var(--ek-navy);font-size:14px;font-weight:600;text-align:start;box-shadow:0 0 0 1px rgba(2,45,115,.12);transition:transform .3s var(--ek-spring),box-shadow .25s,background .25s;animation:ebka-rise .5s var(--ek-ease) both}
.ebka .ebka-starters button:nth-child(2){animation-delay:.08s}.ebka .ebka-starters button:nth-child(3){animation-delay:.16s}.ebka .ebka-starters button:nth-child(4){animation-delay:.24s}
.ebka .ebka-starters button:hover{transform:translateX(4px);box-shadow:0 0 0 1.5px var(--ek-gold),0 8px 20px rgba(2,45,115,.12)}
.ebka .ebka-starters button span{flex:1 1 auto}
.ebka .ebka-starters svg{width:16px;height:16px;color:var(--ek-gold-600)}
.ebka .ebka-starters .go{width:14px;height:14px;color:var(--ek-navy);opacity:.35;transition:opacity .2s,transform .25s}
.ebka .ebka-starters button:hover .go{opacity:1;transform:translateX(2px)}

/* ---------- Composer ---------- */
.ebka .ebka-foot{flex:none;background:#fff;padding:12px 14px 0;box-shadow:0 -1px 0 var(--ek-line)}
.ebka .ebka-row{display:flex;align-items:flex-end;gap:8px;padding:5px 5px 5px 16px;border-radius:22px;background:var(--ek-soft);box-shadow:0 0 0 1px var(--ek-line);transition:box-shadow .25s,background .25s}
.ebka .ebka-row:focus-within{background:#fff;box-shadow:0 0 0 1.5px var(--ek-navy-700),0 0 0 6px rgba(11,58,133,.08)}
.ebka .ebka-row textarea{flex:1 1 auto;min-height:40px;max-height:120px;padding:9px 0;font-size:15px;color:var(--ek-ink);overflow-y:auto;resize:none;white-space:pre-wrap}
.ebka .ebka-row textarea::placeholder{color:#8A93A6}
.ebka .ebka-send{width:40px;height:40px;border-radius:50%;display:flex!important;align-items:center;justify-content:center;background:var(--ek-gold-grad);color:var(--ek-navy-900);box-shadow:0 6px 16px rgba(191,154,76,.4);transition:transform .3s var(--ek-spring),box-shadow .25s,opacity .2s}
.ebka .ebka-send:hover{transform:scale(1.08) rotate(-12deg)}
.ebka .ebka-send:active{transform:scale(.94)}
.ebka .ebka-send[disabled]{opacity:.45;cursor:default;transform:none}
.ebka .ebka-send svg{width:17px;height:17px}
.ebka .ebka-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 2px 8px}
.ebka .ebka-link{display:inline-flex!important;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;font-size:13px;font-weight:600;color:var(--ek-navy);background:rgba(2,45,115,.06);text-decoration:none;transition:background .2s,transform .3s var(--ek-spring)}
.ebka .ebka-link:hover{background:rgba(211,176,102,.22);transform:translateY(-1px)}
.ebka .ebka-link svg{width:14px;height:14px}
.ebka .ebka-link.wa svg{color:#1FA855}
.ebka .ebka-legal{padding:2px 2px 12px;font-size:11.5px;line-height:1.45;color:#8A93A6}

/* ---------- Enquiry form ---------- */
.ebka .ebka-form{flex:1 1 auto;overflow-y:auto;background:#fff;padding:22px 22px 24px;animation:ebka-rise .4s var(--ek-ease) both}
.ebka .ebka-form .eb{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:rgba(211,176,102,.18);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ek-navy)}
.ebka .ebka-form h3{margin:12px 0 6px;font-size:22px;line-height:1.2;font-weight:700;color:var(--ek-navy)}
.ebka .ebka-form .intro{margin:0 0 18px;font-size:14px;color:var(--ek-text)}
.ebka .ebka-f{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.ebka .ebka-f label{font-size:13px;font-weight:600;color:var(--ek-text)}
.ebka .ebka-f label em{color:var(--ek-gold-600);font-style:normal}
.ebka .ebka-f input,.ebka .ebka-f select,.ebka .ebka-f textarea{display:block;width:100%;min-height:46px;padding:11px 14px;border-radius:12px;background:var(--ek-soft);box-shadow:0 0 0 1px var(--ek-line);font-size:15px;color:var(--ek-ink);transition:box-shadow .2s,background .2s}
.ebka .ebka-f textarea{min-height:88px;white-space:pre-wrap}
.ebka .ebka-f select{padding-right:36px;background:var(--ek-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23022D73' stroke-width='1.6'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E") no-repeat right 14px center/12px;cursor:pointer}
.ebka .ebka-f input:focus,.ebka .ebka-f select:focus,.ebka .ebka-f textarea:focus{background-color:#fff;box-shadow:0 0 0 1.5px var(--ek-navy-700),0 0 0 5px rgba(11,58,133,.08)}
.ebka .ebka-f.bad input,.ebka .ebka-f.bad select{box-shadow:0 0 0 1.5px #D9483B;animation:ebka-shake .4s}
.ebka .ebka-2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.ebka .ebka-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ebka .ebka-consent{display:flex;align-items:flex-start;gap:10px;margin:4px 0 18px;font-size:13px;line-height:1.45;color:var(--ek-text);cursor:pointer}
.ebka .ebka-consent input{flex:none;width:20px!important;height:20px;min-height:0!important;margin-top:0;border-radius:6px;box-shadow:inset 0 0 0 1.5px #A9B2C4;background:#fff;position:relative;cursor:pointer;transition:background .2s,box-shadow .2s}
.ebka .ebka-consent input:checked{background:var(--ek-grad);box-shadow:none}
.ebka .ebka-consent input:checked::after{content:"";position:absolute;left:7px;top:3px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);animation:ebka-pop .3s var(--ek-spring)}
.ebka .ebka-consent a{color:var(--ek-navy)}
.ebka .ebka-consent.bad input{box-shadow:inset 0 0 0 1.5px #D9483B}
.ebka .ebka-submit{position:relative;overflow:hidden;display:flex!important;width:100%;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:14px;background:var(--ek-grad);color:#fff;font-size:15px;font-weight:600;letter-spacing:.02em;box-shadow:0 10px 24px rgba(2,45,115,.28);transition:transform .3s var(--ek-spring),box-shadow .25s}
.ebka .ebka-submit::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transform:skewX(-20deg);animation:ebka-sheen 3.5s ease-in-out infinite}
.ebka .ebka-submit:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(2,45,115,.34)}
.ebka .ebka-submit[disabled]{opacity:.65;cursor:default;transform:none}
.ebka .ebka-submit svg{width:16px;height:16px;color:var(--ek-gold)}
.ebka .ebka-back{display:inline-flex!important;align-items:center;gap:8px;margin-top:16px;padding:7px 12px;border-radius:999px;font-size:13px;font-weight:600;color:var(--ek-navy);transition:background .2s}
.ebka .ebka-back:hover{background:var(--ek-soft)}
.ebka .ebka-back svg{width:14px;height:14px}
.ebka .ebka-ferr{margin:0 0 12px;padding:10px 14px;border-radius:12px;background:#FDEDEB;font-size:13.5px;color:#8A1F17;animation:ebka-rise .3s var(--ek-ease)}
.ebka .ebka-done{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-top:12px}
.ebka .ebka-done .mk{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ek-gold-grad);color:var(--ek-navy-900);box-shadow:0 0 0 8px rgba(211,176,102,.18);animation:ebka-pop .6s var(--ek-spring) both}
.ebka .ebka-done .mk svg{width:30px;height:30px;stroke-dasharray:30;stroke-dashoffset:30;animation:ebka-draw .5s .35s ease forwards}
.ebka .ebka-done h3{margin:0}
.ebka .ebka-done p{margin:0;font-size:15px;color:var(--ek-text)}

/* ---------- Animations ---------- */
@property --ek-a{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes ebka-spin{to{--ek-a:360deg}}
@keyframes ebka-in{from{opacity:0;transform:translateY(30px) scale(.8)}to{opacity:1;transform:none}}
@keyframes ebka-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}
@keyframes ebka-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes ebka-word{from{opacity:0;filter:blur(3px)}to{opacity:1;filter:none}}
@keyframes ebka-pulse{0%{box-shadow:0 0 0 0 rgba(211,176,102,.55)}70%{box-shadow:0 0 0 14px rgba(211,176,102,0)}100%{box-shadow:0 0 0 0 rgba(211,176,102,0)}}
@keyframes ebka-live{0%{box-shadow:0 0 0 0 rgba(61,214,140,.6)}70%{box-shadow:0 0 0 7px rgba(61,214,140,0)}100%{box-shadow:0 0 0 0 rgba(61,214,140,0)}}
@keyframes ebka-twinkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.12) rotate(12deg)}}
@keyframes ebka-drift{from{transform:translate(0,0) scale(1)}to{transform:translate(60px,30px) scale(1.2)}}
@keyframes ebka-dot{0%,80%,100%{opacity:.35;transform:translateY(0) scale(.85)}40%{opacity:1;transform:translateY(-4px) scale(1)}}
@keyframes ebka-shimmer{to{background-position:-200% 0}}
@keyframes ebka-sheen{0%,60%{left:-60%}100%{left:130%}}
@keyframes ebka-shake{0%,100%{transform:none}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@keyframes ebka-draw{to{stroke-dashoffset:0}}

/* ---------- Mobile ---------- */
@media (max-width:600px){
  .ebka .ebka-launch{right:16px;bottom:16px;height:58px;padding:0 7px}
  .ebka .ebka-launch .tx{display:none}
  .ebka .ebka-teaser{right:16px;bottom:86px;max-width:240px}
  .ebka .ebka-panel{right:0;bottom:0;left:0;top:0;width:100%;height:100%;height:100dvh;border-radius:0;transform-origin:bottom center}
  .ebka .ebka-2{grid-template-columns:1fr}
  .ebka .ebka-row textarea,.ebka .ebka-f input,.ebka .ebka-f select,.ebka .ebka-f textarea{font-size:16px}
}
@media print{.ebka{display:none!important}}
@media (prefers-reduced-motion:reduce){
  .ebka *,.ebka *::before,.ebka *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .ebka .ebka-msg .w{opacity:1}
}
