/* AIM Tech AI — engagement widget styles
   Click-to-chat float, scroll CTA bar, exit-intent modal.
   Brand palette: teal #0FC1B7, navy #2A354B. */

/* ============================================================
   1. Click-to-chat float
   ============================================================ */
#aim-chat-float {
  position: fixed;
  right: 22px;
  bottom: 95px;            /* above mobile bottom-dock + Ask AI bubble */
  z-index: 2147483600;
  font-family: ui-sans-serif, system-ui, sans-serif;
}
@media (max-width: 768px) {
  #aim-chat-float { bottom: 78px; right: 16px; }
}
.aim-cf-toggle {
  width: 48px; height: 48px; border-radius: 50%;
  background: #25D366;        /* WhatsApp green, recognizable trigger */
  color: #fff; border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 18px -4px rgba(37,211,102,0.55), 0 3px 8px rgba(0,0,0,.18);
  transition: transform .18s ease, box-shadow .25s ease;
}
.aim-cf-toggle:hover { transform: translateY(-2px) scale(1.04); }
.aim-cf-toggle.open  { transform: rotate(45deg); background: #2A354B; }
.aim-cf-menu {
  position: absolute; bottom: 60px; right: 0;
  background: #fff; border-radius: 12px; padding: 8px;
  min-width: 200px;
  box-shadow: 0 16px 40px -8px rgba(0,0,0,.25);
  display: flex; flex-direction: column; gap: 4px;
}
.aim-cf-link {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 14px; border-radius: 8px;
  color: #2A354B; text-decoration: none; font-weight: 500; font-size: .92rem;
  transition: background .15s;
}
.aim-cf-link:hover { background: rgba(15,193,183,.08); color: #0FC1B7; }
.aim-cf-wa svg { color: #25D366; }
.aim-cf-tg svg { color: #2AABEE; }
.aim-cf-bk svg { color: #0FC1B7; }

/* ============================================================
   2. Scroll CTA bar — slides up from bottom
   ============================================================ */
#aim-scroll-cta {
  position: fixed; left: 0; right: 0; bottom: 0;
  z-index: 2147483550;
  background: linear-gradient(90deg, #2A354B, #1f2939);
  color: #fff;
  transform: translateY(110%);
  transition: transform .35s cubic-bezier(.2,.8,.3,1.05);
  font-family: ui-sans-serif, system-ui, sans-serif;
  border-top: 2px solid #0FC1B7;
}
#aim-scroll-cta.open { transform: translateY(0); }
.aim-sc-inner {
  max-width: 1200px; margin: 0 auto;
  padding: 14px 22px;
  display: flex; gap: 18px; align-items: center;
}
.aim-sc-text {
  flex: 1 1 auto; font-size: .95rem; font-weight: 500; line-height: 1.4;
}
.aim-sc-form {
  display: flex; gap: 8px; flex: 0 0 auto;
}
.aim-sc-form input {
  padding: .55rem .8rem; border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.05); color: #fff;
  border-radius: 6px; font: inherit; font-size: .9rem; width: 220px;
}
.aim-sc-form input::placeholder { color: rgba(255,255,255,.45); }
.aim-sc-form input:focus { outline: none; border-color: #0FC1B7; }
.aim-sc-form button {
  padding: .55rem 1.1rem; border: none; border-radius: 6px;
  background: #0FC1B7; color: #fff; font-weight: 600; cursor: pointer;
  font-size: .9rem; transition: background .15s;
}
.aim-sc-form button:hover:not(:disabled) { background: #0DA89F; }
.aim-sc-form button:disabled { opacity: .6; cursor: wait; }
.aim-sc-close {
  background: transparent; border: none; color: rgba(255,255,255,.55);
  font-size: 1.4rem; cursor: pointer; padding: 0 4px; line-height: 1;
}
.aim-sc-close:hover { color: #fff; }
@media (max-width: 768px) {
  .aim-sc-inner { flex-direction: column; align-items: stretch; gap: 8px; padding: 12px 14px; }
  .aim-sc-form { width: 100%; }
  .aim-sc-form input { width: 100%; flex: 1; }
}

/* ============================================================
   3. Exit-intent modal
   ============================================================ */
#aim-exit-modal {
  position: fixed; inset: 0; z-index: 2147483646;
  display: flex; align-items: center; justify-content: center;
  padding: 22px;
  opacity: 0;
  transition: opacity .25s ease;
  font-family: ui-sans-serif, system-ui, sans-serif;
}
#aim-exit-modal.open { opacity: 1; }
.aim-em-backdrop {
  position: absolute; inset: 0;
  background: rgba(8,10,16,.78);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.aim-em-card {
  position: relative;
  width: 100%; max-width: 480px;
  background: #fff;
  border-radius: 16px;
  padding: 36px 30px 28px;
  box-shadow: 0 30px 80px -12px rgba(0,0,0,.5);
  transform: translateY(20px);
  transition: transform .3s cubic-bezier(.2,.8,.3,1.05);
  text-align: center;
}
#aim-exit-modal.open .aim-em-card { transform: translateY(0); }
.aim-em-close {
  position: absolute; top: 10px; right: 14px;
  background: transparent; border: none; color: #999;
  font-size: 1.6rem; cursor: pointer; line-height: 1; padding: 4px;
}
.aim-em-close:hover { color: #2A354B; }
.aim-em-headline {
  font-size: 1.4rem; font-weight: 700; color: #2A354B;
  line-height: 1.25; margin-bottom: 12px;
}
.aim-em-offer {
  font-size: .95rem; color: #555; line-height: 1.55;
  margin-bottom: 22px;
}
.aim-em-form {
  display: flex; flex-direction: column; gap: 10px;
}
.aim-em-form input {
  padding: .8rem 1rem; border: 1.5px solid #e0e0e0;
  border-radius: 8px; font: inherit; font-size: .95rem;
  transition: border-color .15s;
}
.aim-em-form input:focus { outline: none; border-color: #0FC1B7; }
.aim-em-form button {
  padding: .9rem 1rem; border: none; border-radius: 8px;
  background: #0FC1B7; color: #fff; font-weight: 700; font-size: .98rem;
  cursor: pointer; transition: background .15s, transform .12s;
}
.aim-em-form button:hover:not(:disabled) {
  background: #0DA89F; transform: translateY(-1px);
}
.aim-em-form button:disabled { opacity: .6; cursor: wait; }
.aim-em-foot {
  font-size: .75rem; color: #888;
  margin-top: 14px; line-height: 1.4;
}
@media (max-width: 480px) {
  .aim-em-card { padding: 30px 20px 22px; border-radius: 12px; }
  .aim-em-headline { font-size: 1.2rem; }
}
