/* Ask WHIPS chat widget */
.ask-whips {
   --aw-teal: #00838f;      /* darker brand teal: passes contrast with white text */
   --aw-teal-light: #e0f7fa;
   --aw-green: #9bd230;
   --aw-dark: #212331;
   --aw-grey: #f3f5f7;
   font-family: 'Open Sans', sans-serif;
}

/* Launcher button */
.ask-whips__launcher {
   position: fixed;
   right: 20px;
   bottom: 20px;
   z-index: 1700;
   display: flex;
   align-items: center;
   gap: 8px;
   height: 52px;
   padding: 0 20px;
   border: 0;
   border-radius: 26px;
   background: var(--aw-teal);
   color: #fff;
   font-size: 15px;
   font-weight: 600;
   box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
   cursor: pointer;
}
.ask-whips__launcher .fas {
   font-size: 20px;
}
.ask-whips__launcher:hover,
.ask-whips__launcher:focus-visible {
   background: #006d77;
}
.ask-whips button:focus-visible,
.ask-whips textarea:focus-visible,
.ask-whips a:focus-visible {
   outline: 3px solid var(--aw-green);
   outline-offset: 2px;
}

/* Keep the back-to-top arrow clear of the launcher */
.back-top {
   bottom: 90px;
}

/* Panel */
.ask-whips__panel {
   position: fixed;
   right: 20px;
   bottom: 86px;
   z-index: 1700;
   display: flex;
   flex-direction: column;
   width: 370px;
   height: min(580px, calc(100vh - 110px));
   background: #fff;
   border-radius: 14px;
   box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
   overflow: hidden;
}

.ask-whips__header {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 12px;
   padding: 16px 18px;
   background: var(--aw-teal);
   border-bottom: 4px solid var(--aw-green);
   color: #fff;
}
.ask-whips__title {
   margin: 0;
   color: #fff;
   font-family: 'Raleway', sans-serif;
   font-size: 18px;
   font-weight: 700;
}
.ask-whips__subtitle {
   margin: 2px 0 0;
   color: #fff;
   font-size: 13px;
   line-height: 1.4;
}
.ask-whips__close {
   flex: none;
   display: flex;
   align-items: center;
   justify-content: center;
   width: 32px;
   height: 32px;
   border: 0;
   border-radius: 50%;
   background: rgba(255, 255, 255, 0.15);
   color: #fff;
   font-size: 16px;
   cursor: pointer;
}
.ask-whips__close:hover {
   background: rgba(255, 255, 255, 0.3);
}

/* Messages */
.ask-whips__log {
   flex: 1;
   overflow-y: auto;
   padding: 16px;
   display: flex;
   flex-direction: column;
   gap: 10px;
}
.ask-whips__msg {
   max-width: 85%;
   padding: 10px 14px;
   border-radius: 14px;
   color: var(--aw-dark);
   font-size: 14px;
   line-height: 1.5;
   white-space: pre-wrap;
   overflow-wrap: anywhere;
}
.ask-whips__msg--assistant {
   align-self: flex-start;
   background: var(--aw-grey);
   border-bottom-left-radius: 4px;
}
.ask-whips__msg--user {
   align-self: flex-end;
   background: var(--aw-teal-light);
   border-bottom-right-radius: 4px;
}
.ask-whips__msg a {
   color: var(--aw-teal);
   text-decoration: underline;
}
.ask-whips__msg.is-error {
   background: #fdecea;
   color: #8a1c1c;
}

/* Typing indicator */
.ask-whips__msg.is-typing::after {
   content: "";
   display: inline-block;
   width: 36px;
   height: 10px;
   background:
      radial-gradient(circle, var(--aw-teal) 45%, transparent 50%) 0 50% / 10px 10px no-repeat,
      radial-gradient(circle, var(--aw-teal) 45%, transparent 50%) 13px 50% / 10px 10px no-repeat,
      radial-gradient(circle, var(--aw-teal) 45%, transparent 50%) 26px 50% / 10px 10px no-repeat;
   animation: ask-whips-pulse 1.2s ease-in-out infinite;
}
@keyframes ask-whips-pulse {
   0%, 100% { opacity: 0.35; }
   50% { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
   .ask-whips__msg.is-typing::after { animation: none; }
}

/* Suggested questions */
.ask-whips__suggestions {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   gap: 8px;
}
.ask-whips__suggestion {
   padding: 7px 14px;
   border: 1px solid var(--aw-teal);
   border-radius: 18px;
   background: #fff;
   color: var(--aw-teal);
   font-size: 13px;
   text-align: left;
   cursor: pointer;
}
.ask-whips__suggestion:hover {
   background: var(--aw-teal-light);
}

/* Input */
.ask-whips__form {
   display: flex;
   align-items: flex-end;
   gap: 8px;
   padding: 10px 12px;
   border-top: 1px solid #e6e8eb;
}
.ask-whips__input {
   flex: 1;
   min-height: 42px;
   max-height: 120px;
   padding: 10px 12px;
   border: 1px solid #c9cdd2;
   border-radius: 10px;
   color: var(--aw-dark);
   font-size: 14px;
   line-height: 1.4;
   resize: none;
}
.ask-whips__send {
   flex: none;
   display: flex;
   align-items: center;
   justify-content: center;
   width: 42px;
   height: 42px;
   border: 0;
   border-radius: 50%;
   background: var(--aw-teal);
   color: #fff;
   font-size: 16px;
   cursor: pointer;
}
.ask-whips__send:disabled {
   opacity: 0.5;
   cursor: default;
}
.ask-whips__note {
   margin: 0;
   padding: 0 14px 10px;
   color: #5f6368;
   font-size: 11px;
   line-height: 1.4;
}

/* Phones: full-screen panel, icon-only launcher */
@media (max-width: 480px) {
   .ask-whips__panel {
      inset: 0;
      width: auto;
      height: auto;
      border-radius: 0;
   }
   .ask-whips__launcher {
      width: 56px;
      height: 56px;
      padding: 0;
      justify-content: center;
      border-radius: 50%;
   }
   .ask-whips__launcher-label {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
   }
   .ask-whips.is-open .ask-whips__launcher {
      display: none;
   }
   .ask-whips__input {
      font-size: 16px; /* stops iOS zooming in on focus */
   }
}
