/* W AI Product Advisor – intentionally strongly scoped against theme CSS. */
.w-aipa.w-aipa {
  position: relative;
  z-index: 999999;
  margin: 0;
  padding: 0;
  border: 0;
  color: #172033;
  background: transparent;
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: normal;
  text-align: left;
  text-transform: none;
  direction: ltr;
  isolation: isolate;
  box-sizing: border-box;
}

.w-aipa.w-aipa *,
.w-aipa.w-aipa *::before,
.w-aipa.w-aipa *::after {
  box-sizing: border-box;
}

.w-aipa.w-aipa--floating {
  position: fixed !important;
  z-index: 2147483000 !important;
  right: auto;
  bottom: 22px !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.w-aipa.w-aipa--right { right: 22px !important; left: auto !important; }
.w-aipa.w-aipa--left { left: 22px !important; right: auto !important; }

.w-aipa.w-aipa button,
.w-aipa.w-aipa input,
.w-aipa.w-aipa textarea,
.w-aipa.w-aipa select {
  width: auto;
  min-width: 0;
  min-height: 0;
  margin: 0;
  box-shadow: none;
  font: inherit;
  letter-spacing: normal;
  text-transform: none;
  -webkit-appearance: none;
  appearance: none;
}

.w-aipa.w-aipa button {
  border: 0;
  outline: 0;
  cursor: pointer;
}

.w-aipa.w-aipa a,
.w-aipa.w-aipa a:hover,
.w-aipa.w-aipa a:focus {
  box-shadow: none;
  text-decoration: none;
}

.w-aipa.w-aipa img {
  display: block;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  box-shadow: none;
}

.w-aipa.w-aipa p,
.w-aipa.w-aipa div,
.w-aipa.w-aipa section,
.w-aipa.w-aipa header,
.w-aipa.w-aipa footer,
.w-aipa.w-aipa article {
  margin-top: 0;
  margin-bottom: 0;
}

.w-aipa.w-aipa .w-aipa__launcher {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 62px !important;
  min-width: 62px !important;
  max-width: 62px !important;
  height: 62px !important;
  min-height: 62px !important;
  max-height: 62px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--waipa-primary, #111827) !important;
  color: #fff !important;
  font-size: 28px !important;
  line-height: 1 !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.22) !important;
}

.w-aipa.w-aipa .w-aipa__launcher:hover,
.w-aipa.w-aipa .w-aipa__launcher:focus {
  color: #fff !important;
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.w-aipa.w-aipa .w-aipa__panel {
  display: flex !important;
  flex-direction: column !important;
  width: min(390px, calc(100vw - 24px)) !important;
  min-width: 0 !important;
  max-width: calc(100vw - 24px) !important;
  height: min(650px, calc(100dvh - 105px)) !important;
  min-height: 420px;
  max-height: calc(100dvh - 105px) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 18px !important;
  background: #fff !important;
  color: #172033 !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.2) !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.w-aipa.w-aipa .w-aipa__panel[hidden] { display: none !important; }

.w-aipa.w-aipa--floating .w-aipa__panel {
  position: absolute !important;
  bottom: 74px !important;
  top: auto !important;
}

.w-aipa.w-aipa--right .w-aipa__panel { right: 0 !important; left: auto !important; }
.w-aipa.w-aipa--left .w-aipa__panel { left: 0 !important; right: auto !important; }

.w-aipa.w-aipa--inline {
  width: 100% !important;
  max-width: 100% !important;
}

.w-aipa.w-aipa--inline .w-aipa__panel {
  position: relative !important;
  width: 100% !important;
  max-width: 760px !important;
  height: min(680px, 80dvh) !important;
  margin: 0 auto !important;
}

.w-aipa.w-aipa .w-aipa__header {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  min-height: 70px !important;
  margin: 0 !important;
  padding: 14px 16px !important;
  border: 0 !important;
  background: var(--waipa-primary, #111827) !important;
  color: #fff !important;
}

.w-aipa.w-aipa .w-aipa__header strong,
.w-aipa.w-aipa .w-aipa__header small {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  font-family: inherit !important;
  text-transform: none !important;
}

.w-aipa.w-aipa .w-aipa__header strong { font-size: 16px !important; font-weight: 700 !important; line-height: 1.25 !important; }
.w-aipa.w-aipa .w-aipa__header small { margin-top: 2px !important; font-size: 12px !important; font-weight: 400 !important; line-height: 1.3 !important; opacity: .78; }
.w-aipa.w-aipa .w-aipa__header-actions { display: flex !important; align-items: center !important; gap: 3px !important; flex: 0 0 auto !important; }

.w-aipa.w-aipa .w-aipa__close,
.w-aipa.w-aipa .w-aipa__reset {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #fff !important;
  line-height: 1 !important;
}

.w-aipa.w-aipa .w-aipa__close { font-size: 30px !important; font-weight: 300 !important; }
.w-aipa.w-aipa .w-aipa__reset { font-size: 21px !important; }
.w-aipa.w-aipa .w-aipa__close:hover,
.w-aipa.w-aipa .w-aipa__reset:hover { background: rgba(255,255,255,.12) !important; }

.w-aipa.w-aipa .w-aipa__messages {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 16px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  border: 0 !important;
  background: #f7f8fb !important;
  color: #172033 !important;
  scrollbar-width: thin;
}

.w-aipa.w-aipa .w-aipa__message {
  display: block !important;
  width: fit-content !important;
  max-width: 88% !important;
  margin: 0 0 10px !important;
  padding: 10px 13px !important;
  border-radius: 14px !important;
  color: #172033 !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: normal !important;
  text-align: left !important;
  overflow-wrap: anywhere;
  word-break: normal;
}

.w-aipa.w-aipa .w-aipa__message--bot {
  margin-right: auto !important;
  border: 1px solid #e5e7eb !important;
  border-bottom-left-radius: 4px !important;
  background: #fff !important;
}

.w-aipa.w-aipa .w-aipa__message--user {
  margin-left: auto !important;
  margin-right: 0 !important;
  border: 0 !important;
  border-bottom-right-radius: 4px !important;
  background: var(--waipa-accent, #2563eb) !important;
  color: #fff !important;
}

.w-aipa.w-aipa .w-aipa__loading { opacity: .65; }
.w-aipa.w-aipa .w-aipa__loading::after { content: '•••'; display: inline-block; margin-left: 5px; letter-spacing: 2px; animation: waipaPulse 1.1s infinite; }
@keyframes waipaPulse { 50% { opacity: .25; } }

.w-aipa.w-aipa .w-aipa__products {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 4px 0 16px !important;
  padding: 0 !important;
}

.w-aipa.w-aipa .w-aipa__product {
  display: grid !important;
  grid-template-columns: 78px minmax(0,1fr) !important;
  gap: 11px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: #172033 !important;
  box-shadow: none !important;
}

.w-aipa.w-aipa .w-aipa__image {
  display: block !important;
  width: 78px !important;
  min-width: 78px !important;
  height: 78px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #fff !important;
}

.w-aipa.w-aipa .w-aipa__image img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
}

.w-aipa.w-aipa .w-aipa__title,
.w-aipa.w-aipa .w-aipa__title:hover,
.w-aipa.w-aipa .w-aipa__title:focus {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #172033 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}

.w-aipa.w-aipa .w-aipa__price {
  display: block !important;
  margin: 5px 0 !important;
  padding: 0 !important;
  color: #172033 !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.3 !important;
}

.w-aipa.w-aipa .w-aipa__price del { opacity: .55; }
.w-aipa.w-aipa .w-aipa__price ins { color: inherit !important; background: transparent !important; text-decoration: none !important; }

.w-aipa.w-aipa .w-aipa__product button,
.w-aipa.w-aipa .w-aipa__product > div > a:not(.w-aipa__title) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 34px !important;
  margin: 2px 0 0 !important;
  padding: 7px 10px !important;
  border: 0 !important;
  border-radius: 7px !important;
  background: var(--waipa-accent, #2563eb) !important;
  color: #fff !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.w-aipa.w-aipa .w-aipa__product button:hover,
.w-aipa.w-aipa .w-aipa__product > div > a:not(.w-aipa__title):hover { filter: brightness(.94); }
.w-aipa.w-aipa .w-aipa__product button:disabled { cursor: wait; opacity: .65; }
.w-aipa.w-aipa .w-aipa__product button.is-added { background: #15803d !important; }

.w-aipa.w-aipa .w-aipa__quick {
  display: flex !important;
  flex: 0 0 auto !important;
  gap: 7px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 9px 12px 0 !important;
  overflow-x: auto !important;
  background: #fff !important;
}

.w-aipa.w-aipa .w-aipa__quick button {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  white-space: nowrap !important;
  border: 1px solid #dbe1ea !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: #273349 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

.w-aipa.w-aipa .w-aipa__form {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: flex-end !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 0 !important;
  background: #fff !important;
}

.w-aipa.w-aipa .w-aipa__form textarea {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  max-height: 100px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  resize: none !important;
  overflow-y: auto !important;
  border: 1px solid #cfd6e1 !important;
  border-radius: 11px !important;
  outline: 0 !important;
  background: #fff !important;
  color: #172033 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
}

.w-aipa.w-aipa .w-aipa__form textarea:focus {
  border-color: var(--waipa-accent, #2563eb) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--waipa-accent, #2563eb) 18%, transparent) !important;
}

.w-aipa.w-aipa .w-aipa__form textarea::placeholder { color: #768196 !important; opacity: 1 !important; }

.w-aipa.w-aipa .w-aipa__form > button {
  display: flex !important;
  flex: 0 0 44px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  min-width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: var(--waipa-accent, #2563eb) !important;
  color: #fff !important;
  font-size: 19px !important;
  line-height: 1 !important;
}

.w-aipa.w-aipa .w-aipa__form.is-loading > button { opacity: .55; pointer-events: none; }

.w-aipa.w-aipa footer {
  display: block !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 10px 9px !important;
  border: 0 !important;
  background: #fff !important;
  color: #758096 !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  text-align: center !important;
}

.w-aipa.w-aipa footer a,
.w-aipa.w-aipa footer a:hover { color: #758096 !important; text-decoration: underline !important; }

.w-aipa.w-aipa [hidden] { display: none !important; }

.w-aipa.w-aipa .w-aipa__lead {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 20px 18px !important;
  overflow-y: auto !important;
  border: 0 !important;
  background: #f7f8fb !important;
  color: #172033 !important;
}

.w-aipa.w-aipa .w-aipa__lead[hidden] { display: none !important; }
.w-aipa.w-aipa--lead-gate .w-aipa__messages { flex:0 0 auto !important; max-height:105px !important; }
.w-aipa.w-aipa .w-aipa__lead > strong { display:block !important; margin:0 0 4px !important; color:#172033 !important; font-size:18px !important; line-height:1.3 !important; }
.w-aipa.w-aipa .w-aipa__lead > p { margin:0 0 16px !important; color:#5b6577 !important; font-size:14px !important; }
.w-aipa.w-aipa .w-aipa__lead > label:not(.w-aipa__consent) { display:block !important; margin:0 0 11px !important; }
.w-aipa.w-aipa .w-aipa__lead > label > span { display:block !important; margin:0 0 4px !important; color:#273349 !important; font-size:13px !important; font-weight:600 !important; }

.w-aipa.w-aipa .w-aipa__lead input[type="text"],
.w-aipa.w-aipa .w-aipa__lead input[type="email"],
.w-aipa.w-aipa .w-aipa__lead input[type="tel"] {
  display:block !important;
  width:100% !important;
  min-height:44px !important;
  margin:0 !important;
  padding:9px 11px !important;
  border:1px solid #cfd6e1 !important;
  border-radius:9px !important;
  outline:0 !important;
  background:#fff !important;
  color:#172033 !important;
  font-size:16px !important;
  line-height:1.35 !important;
}

.w-aipa.w-aipa .w-aipa__lead input:focus { border-color:var(--waipa-accent,#2563eb) !important; box-shadow:0 0 0 3px rgba(37,99,235,.13) !important; }
.w-aipa.w-aipa .w-aipa__consent { display:grid !important; grid-template-columns:20px minmax(0,1fr) !important; gap:8px !important; align-items:start !important; margin:14px 0 !important; }
.w-aipa.w-aipa .w-aipa__consent input { display:block !important; width:18px !important; min-width:18px !important; height:18px !important; min-height:18px !important; margin:2px 0 0 !important; border:1px solid #9aa5b5 !important; border-radius:4px !important; background:#fff !important; appearance:auto !important; }
.w-aipa.w-aipa .w-aipa__consent span { margin:0 !important; font-size:12px !important; font-weight:400 !important; line-height:1.4 !important; }
.w-aipa.w-aipa .w-aipa__consent a { color:var(--waipa-accent,#2563eb) !important; text-decoration:underline !important; }
.w-aipa.w-aipa .w-aipa__lead > div { display:flex !important; flex-wrap:wrap !important; gap:8px !important; margin:0 !important; }
.w-aipa.w-aipa .w-aipa__lead button { display:inline-flex !important; align-items:center !important; justify-content:center !important; min-height:42px !important; margin:0 !important; padding:9px 13px !important; border:0 !important; border-radius:9px !important; background:var(--waipa-accent,#2563eb) !important; color:#fff !important; font-size:14px !important; font-weight:650 !important; line-height:1.2 !important; }
.w-aipa.w-aipa .w-aipa__lead .w-aipa__lead-skip { border:1px solid #cfd6e1 !important; background:#fff !important; color:#273349 !important; }
.w-aipa.w-aipa .w-aipa__lead > small { display:block !important; margin:8px 0 0 !important; color:#758096 !important; font-size:11px !important; }
.w-aipa.w-aipa .w-aipa__lead.is-loading { opacity:.65; pointer-events:none; }

.w-aipa.w-aipa .w-aipa__sources {
  display:flex !important;
  flex-wrap:wrap !important;
  gap:5px 8px !important;
  width:100% !important;
  margin:-3px 0 13px !important;
  padding:0 2px !important;
  font-size:11px !important;
  line-height:1.35 !important;
}
.w-aipa.w-aipa .w-aipa__sources span { width:100% !important; color:#758096 !important; }
.w-aipa.w-aipa .w-aipa__sources a { color:var(--waipa-accent,#2563eb) !important; text-decoration:underline !important; }

@media (max-width: 600px) {
  .w-aipa.w-aipa--floating {
    right: 12px !important;
    left: auto !important;
    bottom: 12px !important;
  }

  .w-aipa.w-aipa .w-aipa__launcher {
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }

  .w-aipa.w-aipa--floating .w-aipa__panel {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  .w-aipa.w-aipa .w-aipa__header {
    padding-top: max(14px, env(safe-area-inset-top)) !important;
  }

  .w-aipa.w-aipa footer {
    padding-bottom: max(9px, env(safe-area-inset-bottom)) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .w-aipa.w-aipa *,
  .w-aipa.w-aipa *::before,
  .w-aipa.w-aipa *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
