/* ── Surgical reset: neutralise Elementor kit overrides inside widget ── */
/* Elementor kit (.elementor-kit-*) forces background-color, border-radius, font-size
   on all button/input elements. We override those here without nuking everything. */
#aica-chat button{
  background-color:transparent;
  border-radius:0;
  border:none;
  font-family:var(--aica-font);
  font-size:inherit;
  padding:0;
  color:inherit;
  line-height:inherit;
  cursor:pointer;
  box-shadow:none;
}
#aica-chat input{
  background-color:#fff;
  border-radius:0;
  font-family:var(--aica-font);
  font-size:inherit;
  box-shadow:none;
}

/* ─── AI Chat Advisor widget ─────────────────────────────────────────────── */
:root {
  --aica-primary: #1B3A6B;
  --aica-bubble-font: 1rem;
  --aica-accent:  #E8B84B;
  --aica-bg:      #F4F6FA;
  --aica-text:    #1a1a2e;
  --aica-muted:   #6b7280;
  --aica-border:  #e5e9f0;
  --aica-r:       14px;
  --aica-font:    'Fira Sans','Helvetica Neue',Arial,sans-serif;
  --aica-shadow:  0 8px 40px rgba(27,58,107,.18),0 2px 8px rgba(0,0,0,.08);
}

/* trigger */
#aica-trigger {
  position:fixed; bottom:28px; right:28px;
  width:58px; height:58px; border-radius:50%;
  background:var(--aica-primary); border:none; cursor:pointer; z-index:99998;
  color:#fff;
  box-shadow:0 4px 20px rgba(27,58,107,.40);
  display:flex; align-items:center; justify-content:center;
  transition:transform .2s,box-shadow .2s;
}
#aica-trigger:hover{transform:scale(1.07);box-shadow:0 6px 28px rgba(27,58,107,.52);}
#aica-trigger .aica-icon-close{display:none;}
#aica-trigger.aica-open .aica-icon-chat{display:none;}
#aica-trigger.aica-open .aica-icon-close{display:block;}
#aica-trigger:not(.aica-open){animation:ks-pulse 3.5s ease-in-out infinite;}
@keyframes ks-pulse{
  0%,100%{box-shadow:0 4px 20px rgba(27,58,107,.40),0 0 0 0 rgba(27,58,107,.25);}
  55%    {box-shadow:0 4px 20px rgba(27,58,107,.40),0 0 0 12px rgba(27,58,107,0);}
}

/* panel */
#aica-chat{
  position:fixed; bottom:100px; right:28px;
  width:400px; max-width:calc(100vw - 36px);
  height:580px; max-height:calc(100vh - 130px);
  background:#fff; border-radius:18px; box-shadow:var(--aica-shadow);
  display:flex; flex-direction:column; overflow:hidden; z-index:99999;
  font-family:var(--aica-font);
  transform:scale(.9) translateY(16px); opacity:0; pointer-events:none;
  transform-origin:bottom right;
  transition:transform .26s cubic-bezier(.34,1.46,.64,1),opacity .2s;
}
#aica-chat.aica-visible{transform:scale(1) translateY(0);opacity:1;pointer-events:all;}

/* header */
.aica-header{
  background:var(--aica-primary); padding:15px 18px;
  display:flex; align-items:center; gap:10px; flex-shrink:0;
}
.aica-header-info{flex:1; min-width:0; display:flex; align-items:center; gap:8px;}
.aica-header-title{color:#fff; font-size:1.1rem; font-weight:700;}
.aica-online-indicator{display:flex; align-items:center; flex-shrink:0;}
.aica-online-dot{width:8px;height:8px;background:#3ecf6e;border-radius:50%;flex-shrink:0;}
/* close button: transparent bg, just the X icon */
/* Override Elementor kit which forces all buttons to accent color + border-radius */
#aica-chat .aica-close-btn{
  background:transparent !important; border:none !important; cursor:pointer;
  display:flex !important; align-items:center !important; justify-content:center !important;
  width:28px !important; height:28px !important; border-radius:6px !important;
  color:#fff !important; flex-shrink:0; padding:0 !important;
  transition:background .15s; box-shadow:none !important;
}
#aica-chat .aica-close-btn:hover{background:rgba(255,255,255,.18) !important;}
#aica-chat .aica-close-btn svg{display:block;}

/* messages */
.aica-messages{
  flex:1; overflow-y:auto; padding:18px 16px 8px;
  display:flex; flex-direction:column; gap:10px; scroll-behavior:smooth;
}
.aica-messages::-webkit-scrollbar{width:4px;}
.aica-messages::-webkit-scrollbar-thumb{background:var(--aica-border);border-radius:2px;}

/* bubbles */
.aica-bubble{
  max-width:88%; padding:11px 15px; border-radius:var(--aica-r);
  font-size:var(--aica-bubble-font, 1rem); line-height:1.6; animation:ks-in .22s ease forwards;
}
@keyframes ks-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.aica-bubble.aica-bot{
  background:var(--aica-bg); color:var(--aica-text);
  border-bottom-left-radius:3px; align-self:flex-start;
}
.aica-bubble.aica-bot strong{color:var(--aica-primary);font-weight:700;}
.aica-bubble.aica-bot a{
  color:var(--aica-primary);font-weight:600;text-decoration:none;
  border-bottom:1.5px solid rgba(27,58,107,.25);
}
.aica-bubble.aica-bot a:hover{border-color:var(--aica-primary);}
.aica-bubble.aica-user{
  background:var(--aica-primary); color:#fff;
  border-bottom-right-radius:3px; align-self:flex-end;
}

/* notice */
.aica-notice{
  font-size:.82rem; color:var(--aica-muted);
  background:rgba(27,58,107,.05); border:1px solid rgba(27,58,107,.1);
  border-radius:8px; padding:7px 11px; align-self:stretch; line-height:1.4;
  animation:ks-in .2s ease forwards;
}
.aica-notice strong{color:var(--aica-primary);}

/* typing */
.aica-typing{
  display:flex; gap:5px; padding:13px 16px;
  background:var(--aica-bg); border-radius:var(--aica-r); border-bottom-left-radius:3px;
  width:fit-content; align-self:flex-start; animation:ks-in .18s ease forwards;
}
.aica-typing span{
  width:7px;height:7px;background:var(--aica-primary);
  border-radius:50%;opacity:.4;animation:ks-dot 1.25s ease-in-out infinite;
}
.aica-typing span:nth-child(2){animation-delay:.18s;}
.aica-typing span:nth-child(3){animation-delay:.36s;}
@keyframes ks-dot{0%,60%,100%{transform:none;opacity:.4}30%{transform:translateY(-5px);opacity:1}}

/* chips */
.aica-chips{
  display:none; flex-wrap:wrap; gap:7px; padding:4px 16px 10px;
}
#aica-chat .aica-chip{
  background:none !important; border:none !important; border-radius:0 !important;
  color:var(--aica-primary); padding:2px 0; font-size:.82rem;
  font-family:var(--aica-font); font-weight:500; cursor:pointer;
  text-align:left; white-space:normal; box-shadow:none !important;
  text-decoration:underline; text-underline-offset:2px;
  text-decoration-color:rgba(27,58,107,.3);
  transition:color .15s, text-decoration-color .15s;
  display:block; width:100%;
  animation:ks-in .25s ease forwards;
}
#aica-chat .aica-chip:hover{color:#0f2547 !important; background:none !important; text-decoration-color:var(--aica-primary) !important;}

/* input */
.aica-input-row{
  padding:10px 12px 8px; border-top:1px solid var(--aica-border);
  display:flex; gap:8px; align-items:flex-end; flex-shrink:0;
}
#aica-input{
  flex:1; border:1.5px solid var(--aica-border); border-radius:10px;
  padding:10px 13px; font-family:var(--aica-font); font-size:.975rem;
  color:var(--aica-text); resize:none; outline:none; line-height:1.4;
  max-height:90px; background:var(--aica-bg); transition:border-color .2s;
}
#aica-input:focus{border-color:var(--aica-primary);background:#fff;}
#aica-input::placeholder{color:#9ca3af;}
#aica-input:disabled{opacity:.5;cursor:not-allowed;}
#aica-send{
  width:42px !important;height:42px !important;border-radius:10px !important;background:var(--aica-primary) !important;
  border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;
  color:#fff !important;
  flex-shrink:0;transition:background .15s,transform .1s;
}
#aica-send:hover{background:#15305a;}
#aica-send:active{transform:scale(.93);}
#aica-send:disabled{background:var(--aica-border);cursor:not-allowed;}

/* footer */
.aica-footer-bar{
  display:flex;align-items:center;justify-content:center;gap:5px;
  padding:5px 12px 10px;flex-shrink:0;flex-wrap:nowrap;overflow:hidden;
}
#aica-chat .aica-human-btn{
  all:unset !important;
  display:block !important;
  cursor:pointer !important;
  color:#8898aa !important;
  font-size:11px !important;
  line-height:1.3 !important;
  font-weight:400 !important;
  font-family:var(--aica-font) !important;
  text-decoration:underline !important;
  text-underline-offset:2px !important;
  text-decoration-color:rgba(0,0,0,.25) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  flex-shrink:1 !important;
  min-width:0 !important;
  max-width:100% !important;
  box-shadow:none !important;
  background:none !important;
  border:none !important;
}
#aica-chat .aica-human-btn:hover{ color:var(--aica-primary) !important; }
#aica-chat .aica-footer-sep{ color:#ddd; font-size:11px; flex-shrink:0; }
#aica-chat .aica-footer-bar > a{
  color:#bbb; font-size:11px; text-decoration:none; flex-shrink:0;
  font-family:var(--aica-font);
  white-space:nowrap;
}
#aica-chat .aica-footer-bar > a.aica-powered-by{
  color:var(--aica-accent); font-weight:600;
}
#aica-chat .aica-footer-bar > a:hover{ color:var(--aica-primary); }

/* ── Contact form: fully scoped to beat Elementor kit overrides ── */
#aica-chat .aica-contact-form{
  background:#f6f8fb !important;border:1px solid #dde3ef !important;
  border-radius:12px !important;padding:14px !important;margin:0 0 4px !important;
  animation:ks-in .25s ease forwards;box-shadow:none !important;
}
#aica-chat .aica-contact-intro{
  font-size:.84rem !important;color:var(--aica-primary) !important;
  background:rgba(27,58,107,.07) !important;border-radius:7px !important;
  padding:8px 10px !important;margin-bottom:11px !important;
  line-height:1.45 !important;font-weight:500 !important;
  font-family:var(--aica-font) !important;
}
#aica-chat .aica-field{margin-bottom:8px !important;}
#aica-chat .aica-field label{
  display:block !important;font-size:.78rem !important;font-weight:600 !important;
  color:#374151 !important;margin-bottom:3px !important;
  font-family:var(--aica-font) !important;text-transform:none !important;
  background:none !important;padding:0 !important;letter-spacing:normal !important;
}
#aica-chat .aica-field label span{color:#e55 !important;}
#aica-chat .aica-field input,
#aica-chat .aica-field input[type="text"],
#aica-chat .aica-field input[type="email"],
#aica-chat .aica-field input[type="tel"]{
  all:unset !important;
  display:block !important;width:100% !important;box-sizing:border-box !important;
  border:1.5px solid #d1d9e8 !important;border-radius:7px !important;
  padding:8px 11px !important;font-family:var(--aica-font) !important;
  font-size:.88rem !important;color:#1a1a2e !important;background:#fff !important;
  line-height:1.4 !important;height:auto !important;
  outline:none !important;box-shadow:none !important;
  -webkit-appearance:none !important;transition:border-color .2s;
}
#aica-chat .aica-field input:focus{
  border-color:var(--aica-primary) !important;
  box-shadow:0 0 0 2px rgba(27,58,107,.1) !important;
}
#aica-chat .aica-field input::placeholder{color:#adb5c4 !important;opacity:1 !important;}
#aica-chat .aica-privacy-note{
  font-size:.72rem !important;color:#8898aa !important;
  margin:8px 0 11px !important;line-height:1.4 !important;
  font-family:var(--aica-font) !important;
}
#aica-chat .aica-submit-btn{
  all:unset !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  width:100% !important;box-sizing:border-box !important;
  background:var(--aica-primary) !important;color:#fff !important;
  border:none !important;border-radius:8px !important;padding:10px 14px !important;
  font-family:var(--aica-font) !important;font-size:.9rem !important;
  font-weight:600 !important;cursor:pointer !important;
  line-height:1.3 !important;gap:6px !important;
  transition:background .15s !important;
}
#aica-chat .aica-submit-btn:hover  {background:#15305a !important;}
#aica-chat .aica-submit-btn:active {transform:scale(.98) !important;}
#aica-chat .aica-submit-btn:disabled{background:#9bacc8 !important;cursor:not-allowed !important;}
.aica-form-error{color:#d9534f;font-size:.82rem;margin-top:6px;min-height:14px;font-weight:500;}
.aica-spinner{
  display:inline-block;width:13px;height:13px;
  border:2px solid rgba(255,255,255,.3);border-top-color:#fff;
  border-radius:50%;animation:ks-spin .7s linear infinite;
  margin-right:6px;flex-shrink:0;
}
@keyframes ks-spin{to{transform:rotate(360deg)}}

@media(max-width:480px){
  #aica-chat{right:10px;bottom:86px;width:calc(100vw - 20px);}
  #aica-trigger{right:16px;bottom:18px;}
}
