.clinic-assistant {
  position: fixed;
  right: 100px !important;
  bottom: 60px !important;
  z-index: 90;
  display: flex;
  max-width: calc(100vw - 40px);
  align-items: flex-end;
  flex-direction: column;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.clinic-assistant .clinic-assistant__trigger {
  position: relative;
  isolation: isolate;
  display: flex;
  width: 88px;
  height: 88px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  color: #2d6fa3;
  background: #fff;
  box-shadow: 0 16px 48px rgba(45, 111, 163, 0.18);
  cursor: pointer;
  backdrop-filter: blur(18px);
}

.clinic-assistant .clinic-assistant__trigger::before {
  position: absolute;
  z-index: -1;
  width: 132px;
  height: 132px;
  border-radius: 50%;
  content: "";
  background: radial-gradient(circle, #fff 0 48%, rgba(255, 255, 255, 0.96) 60%, rgba(255, 255, 255, 0) 74%);
  pointer-events: none;
}

.clinic-assistant .clinic-assistant__trigger span { font-size: 24px; font-weight: 700; }
.clinic-assistant .clinic-assistant__trigger small,
.clinic-assistant .clinic-assistant__trigger span + span { color: #31343b; font-size: 11px; }
.clinic-assistant.is-open .clinic-assistant__trigger {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.clinic-assistant__panel {
  position: fixed;
  right: 22px;
  bottom: 22px;
  display: flex;
  width: min(410px, calc(100vw - 40px));
  max-height: min(78vh, 720px);
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 80px rgba(45, 111, 163, 0.24);
  backdrop-filter: blur(22px);
  flex-direction: column;
  animation: clinic-assistant-enter 480ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.clinic-assistant__panel[hidden] { display: none; }

.clinic-assistant__header {
  display: flex;
  padding: 20px 20px 16px;
  align-items: flex-start;
  justify-content: space-between;
  border-bottom: 1px solid rgba(45, 111, 163, 0.12);
  background: linear-gradient(135deg, rgba(234, 245, 251, 0.95), rgba(255, 240, 246, 0.94));
}

.clinic-assistant__header h2 {
  margin: 0;
  color: #31343b;
  font-family: "Iowan Old Style", Baskerville, Georgia, serif;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.1;
}

.clinic-assistant__header p { margin: 5px 0 0; color: #666b75; font-size: 12px; }
.clinic-assistant__close { min-width: 42px; min-height: 42px; border: 1px solid rgba(45,111,163,.12); border-radius: 50%; color: #2d6fa3; background: rgba(255,255,255,.75); font-size: 26px; cursor: pointer; }
.clinic-assistant__messages { display: flex; min-height: 170px; padding: 18px; gap: 10px; overflow-y: auto; overscroll-behavior: contain; flex: 1 1 auto; flex-direction: column; }
.clinic-assistant__message { max-width: 88%; padding: 11px 14px; border-radius: 17px; color: #626670; background: #f3f6fa; font-size: 14px; line-height: 1.55; white-space: pre-wrap; }
.clinic-assistant__message--user { align-self: flex-end; color: #fff; background: linear-gradient(135deg, #e94b8a, #d44880); border-bottom-right-radius: 6px; }
.clinic-assistant__message--assistant { align-self: flex-start; border-bottom-left-radius: 6px; }
.clinic-assistant__message-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.clinic-assistant__message-actions a,
.clinic-assistant__quick-actions button { min-height: 36px; padding: 8px 12px; border: 1px solid rgba(45,111,163,.16); border-radius: 999px; color: #2d6fa3; background: #fff; font-size: 12px; font-weight: 600; cursor: pointer; }
.clinic-assistant__quick-actions { display: flex; padding: 0 18px 12px; gap: 7px; overflow-x: auto; }
.clinic-assistant__quick-actions button { flex: 0 0 auto; }
.clinic-assistant__form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; padding: 12px 18px; border-top: 1px solid rgba(45,111,163,.12); }
.clinic-assistant__form textarea { width: 100%; min-height: 44px; max-height: 100px; padding: 11px 13px; resize: vertical; border: 1px solid rgba(45,111,163,.18); border-radius: 16px; color: #31343b; background: #fff; font: inherit; }
.clinic-assistant__form button { min-width: 64px; min-height: 44px; border: 0; border-radius: 16px; color: #fff; background: #e94b8a; font-weight: 700; cursor: pointer; }
.clinic-assistant__form button:disabled { opacity: .55; cursor: wait; }
.clinic-assistant__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 0 18px 10px; }
.clinic-assistant__actions a,
.clinic-assistant__reset { display: flex; min-height: 40px; padding: 8px 10px; align-items: center; justify-content: center; border-radius: 14px; font-size: 12px; font-weight: 700; text-align: center; }
.clinic-assistant__book { color: #fff; background: #e94b8a; }
.clinic-assistant__whatsapp { color: #126a38; background: #e9f8ef; }
.clinic-assistant__reset { grid-column: 1 / -1; border: 0; color: #7b8190; background: transparent; cursor: pointer; }
.clinic-assistant__disclaimer { margin: 0; padding: 0 18px 14px; color: #7b8190; font-size: 10px; line-height: 1.4; }

@keyframes clinic-assistant-enter {
  from { opacity: 0; transform: translateY(18px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 767px) {
  body[data-php-site="true"] main div:has(#sequence-end) > section {
    min-height: 88vh !important;
    min-height: 88svh !important;
  }

  .clinic-assistant { right: 16px !important; bottom: 16px !important; max-width: calc(100vw - 32px); }
  .clinic-assistant .clinic-assistant__trigger { width: 74px; height: 74px; }
  .clinic-assistant .clinic-assistant__trigger::before { width: 108px; height: 108px; }
  .clinic-assistant .clinic-assistant__trigger span { font-size: 21px; }
  .clinic-assistant .clinic-assistant__trigger small,
  .clinic-assistant .clinic-assistant__trigger span + span { font-size: 10px; }
  .clinic-assistant__panel { position: fixed; right: 10px; bottom: 10px; left: 10px; width: auto; max-height: calc(100dvh - 20px); margin: 0; border-radius: 26px; }
  .clinic-assistant-open { overflow: hidden; }
}

@media (prefers-reduced-motion: reduce) {
  .clinic-assistant__panel { animation: none; }
}
