.invoice-brand-image {
  height: 2.5rem;
  width: auto;
}
.gradient-text {
  background: #1d1d1f;
  background-clip: text;
  -webkit-text-fill-color: rgba(0, 0, 0, 0);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  background-image: linear-gradient(
    108deg,
    #0894ff,
    #c959dd 34%,
    #ff2e54 68%,
    #ff9004
  );
}
.cursor-pointer {
  cursor: pointer !important;
}
.cursor-hover-scale {
  transition: transform 0.3s cubic-bezier(0, 0, 0.5, 1);
  transition: all 0.2s cubic-bezier(0, 0, 0.5, 1);
}
.cursor-hover-scale:hover {
  transform: scale(1.0161290323);
}
.hero-contact-bubble {
  width: 50% !important;
}
.hero-landing-img {
  width: 100% !important;
}
.hero-ai-bubble {
  height: 70% !important;
  width: auto !important;
}
@media (min-width: 992px) {
  .hero-contact-bubble {
    width: 25% !important;
  }
  .hero-landing-img {
    width: 100% !important;
  }
  .hero-ai-bubble {
    width: 65% !important;
  }
  .w-lg-auto {
    width: auto !important;
  }
  .border-lg-end {
    border-right: var(--tblr-border-width) var(--tblr-border-style)
      var(--tblr-border-color-translucent) !important;
  }
}
.w-fit-content {
  width: fit-content !important;
}
/* hide scrollbar but keep scrolling */
.scrollbar-hidden {
  overflow: auto; /* or overflow: scroll; as needed */
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}

/* Chrome, Safari, Opera */
.scrollbar-hidden::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
/* multi-line ellipsis */
.line-clamp-3 {
  display: -webkit-box; /* establish flexbox context for WebKit */
  -webkit-box-orient: vertical; /* vertical stacking of child lines */
  -webkit-line-clamp: 3; /* <-- maximum number of lines */
  overflow: hidden; /* hide the rest */
}
.gradient-text-nice {
  color: #0064e0 !important;
  background-image: -webkit-radial-gradient(
    circle,
    #0064e0 23%,
    #0069e6 50%,
    #0081fb 72%,
    #0080fa 50%
  ) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  text-fill-color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}
/* USER bubble */
.msg-sender,
.msg-receiver,
.msg-chatbot-sender,
.msg-chatbot-receiver {
  /* shared bubble look-&-feel */
  display: flex !important;
  flex-direction: column !important;
  font-size: 0.875rem !important;
  text-align: start !important;
  max-width: 65% !important;
  padding: 0.75rem 1rem !important;
  border-radius: var(--tblr-border-radius-xl) !important;

  /* keep long words / code from overflowing */
  overflow-wrap: break-word !important;
  word-break: break-all !important;

  /* preserve \n line-breaks from the AI/user */
  white-space: pre-wrap !important;

  /* ←–– space between bubbles */
  margin: 0.5rem 0 !important;
}

/* differentiate alignment / colours */
.msg-sender,
.msg-chatbot-sender {
  align-self: flex-end !important;
  background-color: color-mix(
    in srgb,
    var(--tblr-gray-950) calc(var(--tblr-bg-opacity) * 100%),
    transparent
  ) !important;
}

.msg-receiver,
.msg-chatbot-receiver {
  align-self: flex-start !important;
  padding: 0 !important;
  max-width: 80% !important;
}
.msg-chatbot-sender {
  background-color: color-mix(
    in srgb,
    var(--tblr-gray-800),
    transparent
  ) !important;
}
.msg-chatbot-receiver {
  padding-left: 0.5rem !important;
}

@media (max-width: 992px) {
  .msg-sender {
    max-width: 80% !important;
  }
  .msg-receiver {
    max-width: 80% !important;
  }
  .pt-m {
    padding-top: 1.5rem !important;
  }
}
.chat {
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
}
.chat.chat-sm {
  gap: 0.5rem !important;
}
/* Hide only the scrollbar arrow buttons in WebKit browsers */
.scrollbar-arrows-hidden::-webkit-scrollbar-button {
  display: none;
}
.thinking {
  /* subtle grey gradient for dark theme */
  background: radial-gradient(
    circle at 100%,
    #222222 0%,
    #333333 10%,
    #444444 20%,
    #555555 30%,
    #666666 40%,
    #777777 50%,
    #666666 60%,
    #555555 70%,
    #444444 80%,
    #333333 90%,
    #222222 100%
  );
  background-size: 200% auto;
  color: #000;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: animatedTextGradient 1.5s linear infinite;
}

@keyframes animatedTextGradient {
  to {
    background-position: 200% center;
  }
}
.partner-logo {
  height: 42px !important;
  width: auto !important;
}
.partner-ai-logo {
  max-height: 18px;
  max-width: fit-content !important;
}
.partner-hosting-logo {
  max-height: 24px;
  max-width: 30% !important;
}
.cybersecurity-badge {
  height: 42px;
  width: auto;
  max-width: 65%;
}
.section-subtitle-lg {
  font-size: 3.5rem;
  letter-spacing: -3.36px;
  line-height: 116.66%;
}

@media (max-width: 992px) {
  .section-subtitle-lg {
    font-size: 2.75rem;
  }
  .partner-logo {
    height: 42px !important;
    width: auto !important;
  }
  .partner-ai-logo {
    max-height: 18px;
    max-width: fit-content !important;
  }
  .partner-hosting-logo {
    max-height: auto;
    max-width: 65% !important;
  }
}

/* Animation */
@keyframes scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-1750px);
  }
}

.slider {
  background: transparent;
  box-shadow: 0 10px 20px -5px rgba(0, 0, 0, 0.125);
  height: 100px;
  margin: auto;
  overflow: hidden;
  position: relative;
  width: 960px;
}

.slider::before,
.slider::after {
  background: linear-gradient(
    to right,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 0) 100%
  );
  content: "";
  height: 100px;
  position: absolute;
  width: 100px;
  z-index: 2;
}

.slider::before {
  left: 0;
  top: 0;
}

.slider::after {
  right: 0;
  top: 0;
  transform: rotateZ(180deg);
}

.slider .slide-track {
  animation: scroll 40s linear infinite;
  display: flex;
  width: fit-content; /* 250px * 14 */
}

.slider .slide {
  height: 100px;
  width: 250px;
}
.cybersecurity-outline {
  color: #00123b;
  text-shadow: #0046ec 0px 0px 2px, #0046ec 0px 0px 2px, #0046ec 0px 0px 2px,
    #0046ec 0px 0px 2px, #0046ec 0px 0px 2px, #0046ec 0px 0px 2px;
}

/* total cycle = 6s (2s per item), infinite loop */
@keyframes slide-up-3 {
  0% {
    transform: translateY(-0.2em);
  }
  33.333% {
    transform: translateY(-1.4em);
  }
  66.666% {
    transform: translateY(-2.6em);
  }
  100% {
    transform: translateY(-0.2em);
  }
}

.animation-text-vertical {
  display: inline-block;
  /* run through 3 items (each 1.2em tall) */
  animation: slide-up-3 6s infinite ease-in-out;
}

.animation-text-vertical span {
  display: block;
  height: 1.2em;
  line-height: 1.2em;
}
#chatbot {
  width: 20vw;
  height: 60vh;
}
@media (max-width: 992px) {
  #chatbot {
    width: 100vw;
    height: 98vh;
  }
}
@media (min-width: 992px) and (max-width: 1440px) {
  #chatbot {
    width: 26vw;
    height: 60vh;
  }
}
.text-outline-primary {
  color: #041a2e;
  text-shadow: rgb(var(--tblr-primary-rgb)) 0 0 2px,
    rgb(var(--tblr-primary-rgb)) 0 0 2px, rgb(var(--tblr-primary-rgb)) 0 0 2px,
    rgb(var(--tblr-primary-rgb)) 0 0 2px, rgb(var(--tblr-primary-rgb)) 0 0 2px,
    rgb(var(--tblr-primary-rgb)) 0 0 2px;
}

.text-outline-secondary {
  color: var(--tblr-secondary);
  text-shadow: rgb(var(--tblr-secondary-rgb)) 0 0 2px,
    rgb(var(--tblr-secondary-rgb)) 0 0 2px,
    rgb(var(--tblr-secondary-rgb)) 0 0 2px,
    rgb(var(--tblr-secondary-rgb)) 0 0 2px,
    rgb(var(--tblr-secondary-rgb)) 0 0 2px,
    rgb(var(--tblr-secondary-rgb)) 0 0 2px;
}

.text-outline-success {
  color: var(--tblr-success);
  text-shadow: rgb(var(--tblr-success-rgb)) 0 0 2px,
    rgb(var(--tblr-success-rgb)) 0 0 2px, rgb(var(--tblr-success-rgb)) 0 0 2px,
    rgb(var(--tblr-success-rgb)) 0 0 2px, rgb(var(--tblr-success-rgb)) 0 0 2px,
    rgb(var(--tblr-success-rgb)) 0 0 2px;
}

.text-outline-info {
  color: var(--tblr-info);
  text-shadow: rgb(var(--tblr-info-rgb)) 0 0 2px,
    rgb(var(--tblr-info-rgb)) 0 0 2px, rgb(var(--tblr-info-rgb)) 0 0 2px,
    rgb(var(--tblr-info-rgb)) 0 0 2px, rgb(var(--tblr-info-rgb)) 0 0 2px,
    rgb(var(--tblr-info-rgb)) 0 0 2px;
}

.text-outline-warning {
  color: #332305;
  text-shadow: rgb(var(--tblr-warning-rgb)) 0 0 2px,
    rgb(var(--tblr-warning-rgb)) 0 0 2px, rgb(var(--tblr-warning-rgb)) 0 0 2px,
    rgb(var(--tblr-warning-rgb)) 0 0 2px, rgb(var(--tblr-warning-rgb)) 0 0 2px,
    rgb(var(--tblr-warning-rgb)) 0 0 2px;
}

.text-outline-danger {
  color: var(--tblr-danger);
  text-shadow: rgb(var(--tblr-danger-rgb)) 0 0 2px,
    rgb(var(--tblr-danger-rgb)) 0 0 2px, rgb(var(--tblr-danger-rgb)) 0 0 2px,
    rgb(var(--tblr-danger-rgb)) 0 0 2px, rgb(var(--tblr-danger-rgb)) 0 0 2px,
    rgb(var(--tblr-danger-rgb)) 0 0 2px;
}

.text-outline-light {
  color: #313131;
  text-shadow: rgb(var(--tblr-light-rgb)) 0 0 2px,
    rgb(var(--tblr-light-rgb)) 0 0 2px, rgb(var(--tblr-light-rgb)) 0 0 2px,
    rgb(var(--tblr-light-rgb)) 0 0 2px, rgb(var(--tblr-light-rgb)) 0 0 2px,
    rgb(var(--tblr-light-rgb)) 0 0 2px;
}

.text-outline-dark {
  color: var(--tblr-dark);
  text-shadow: rgb(var(--tblr-dark-rgb)) 0 0 2px,
    rgb(var(--tblr-dark-rgb)) 0 0 2px, rgb(var(--tblr-dark-rgb)) 0 0 2px,
    rgb(var(--tblr-dark-rgb)) 0 0 2px, rgb(var(--tblr-dark-rgb)) 0 0 2px,
    rgb(var(--tblr-dark-rgb)) 0 0 2px;
}
