/* Flexivel's self-contained WhatsApp enquiry widget. */
.fab-whatsapp {
  background: #25d366; color: #fff; border: 0; cursor: pointer;
  animation: none; z-index: 81; bottom: max(20px, env(safe-area-inset-bottom));
}
.fab-whatsapp:hover { background: #128c4b; }
.fab-whatsapp iconify-icon { color: #fff; }
.fks-wa-badge {
  position: absolute; top: -7px; right: -5px; padding: 3px 7px;
  border: 2px solid #fff; border-radius: 20px; background: #075e43;
  color: #fff; font: 700 10px/1.3 Arial, sans-serif;
}
.fks-wa-panel {
  position: fixed; right: 20px; bottom: max(94px, calc(env(safe-area-inset-bottom) + 74px));
  z-index: 82; width: 370px; max-width: calc(100% - 24px);
  height: 560px; max-height: calc(100dvh - 116px);
  display: flex; flex-direction: column; overflow: hidden;
  border: 1px solid #dce6df; border-radius: 20px; background: #f5f7f2;
  box-shadow: 0 15px 60px #142a2440; color: #233c31;
  font: 14px/1.5 var(--font-body, Arial, sans-serif); text-align: left;
}
.fks-wa-panel[hidden] { display: none; }
.fks-wa-panel *, .fks-wa-launcher * { box-sizing: border-box; }
.fks-wa-panel button, .fks-wa-panel input { font: inherit; }
.fks-wa-header {
  display: flex; align-items: center; gap: 12px; flex-shrink: 0;
  padding: 18px 16px; background: #075e43; color: #fff;
}
.fks-wa-header iconify-icon { font-size: 32px; flex-shrink: 0; }
.fks-wa-header > div { min-width: 0; flex: 1; }
.fks-wa-header h2 { margin: 0; color: #fff; font: 700 17px/1.4 var(--font-body, Arial, sans-serif); }
.fks-wa-header p { margin: 4px 0 0; color: #dcfce7; font-size: 11px; }
.fks-wa-close { margin-left: auto; align-self: flex-start; }
.fks-wa-close, .fks-wa-reset {
  border: 0; background: none; color: inherit; cursor: pointer;
  min-width: 44px; min-height: 44px; padding: 8px;
}
.fks-wa-close { font-size: 28px !important; line-height: 1; flex: 0 0 40px; min-width: 40px; padding: 4px; }
.fks-wa-log { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 16px; }
.fks-wa-message {
  width: fit-content; max-width: 94%; margin: 0 0 12px; padding: 11px 13px;
  background: #fff; border: 1px solid #e1e7df; border-radius: 0 14px 14px;
  overflow-wrap: anywhere; white-space: pre-wrap;
}
.fks-wa-message.fks-wa-user { margin-left: auto; background: #dcf8c6; border-color: #cfe8be; border-radius: 14px 0 14px 14px; }
.fks-wa-message b { display: block; font-size: 10px; letter-spacing: .04em; margin-bottom: 4px; color: #3d654a; }
.fks-wa-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 0 12px; }
.fks-wa-choice {
  border: 1px solid #a3c7b1; background: #fff; color: #075e43;
  padding: 10px 12px; border-radius: 20px; cursor: pointer; min-height: 44px;
}
.fks-wa-choice:hover { background: #e4f5e8; }
.fks-wa-composer { display: flex; gap: 8px; padding: 12px 14px 0; background: #fff; }
.fks-wa-composer[hidden] { display: none; }
.fks-wa-input {
  min-width: 0; flex: 1; width: 100%; height: 44px; border: 1px solid #b6cbbd;
  border-radius: 9px; padding: 9px 10px; background: #fff; color: #233c31;
  font-size: 16px !important;
}
.fks-wa-submit { border: 0; border-radius: 9px; padding: 10px 13px; color: #fff; background: #075e43; cursor: pointer; }
.fks-wa-footer { background: #fff; padding: 12px 14px 10px; flex-shrink: 0; border-top: 1px solid #e1e7df; }
.fks-wa-handoff {
  display: flex; justify-content: center; align-items: center; gap: 8px;
  padding: 12px; border-radius: 10px; background: #128c4b; color: #fff;
  text-decoration: none; font-weight: 700; min-height: 46px;
}
.fks-wa-handoff:hover { background: #075e43; color: #fff; }
.fks-wa-handoff iconify-icon { font-size: 20px; }
.fks-wa-footer p { margin: 7px 0 0; font-size: 11px; color: #53665b; line-height: 1.5; }
.fks-wa-reset { display: block; margin: 0 auto; font-size: 12px !important; text-decoration: underline; min-height: 32px; padding: 5px 10px; color: #075e43; }
.fks-wa-panel :focus-visible, .fks-wa-launcher:focus-visible { outline: 3px solid #e6b447; outline-offset: 3px; }
.fks-wa-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 480px) {
  .fks-wa-panel { right: 12px; bottom: max(90px, calc(env(safe-area-inset-bottom) + 74px)); max-height: calc(100dvh - 104px); }
  .fks-wa-header { padding: 14px 12px; }
  .fks-wa-header h2 { font-size: 15px; }
  .fks-wa-choice { font-size: 12px !important; padding: 9px 6px; }
}
@media (max-height: 540px) {
  .fks-wa-panel { bottom: 8px; max-height: calc(100dvh - 16px); height: calc(100dvh - 16px); }
  .fks-wa-header { padding: 8px 12px; }
  .fks-wa-footer { padding-top: 8px; }
}
