/* Corey and Sons demo. Built by Mecha Data LLC (mecha-data.com).
   Tailwind carries the layout. This file only holds what utilities cannot express. */

html { -webkit-text-size-adjust: 100%; }
body { overscroll-behavior-y: none; }

/* Bottom call bar clearance on mobile so the footer is never hidden behind it */
@media (max-width: 1023px) {
  footer { padding-bottom: 84px; }
}

/* Scroll reveal */
.js .reveal { opacity: 0; transform: translateY(18px); }
.js .reveal.in { opacity: 1; transform: none; transition: opacity .6s ease, transform .6s cubic-bezier(.2,.7,.3,1); }

/* Chat bubbles */
.chat-msg { max-width: 85%; padding: .6rem .85rem; border-radius: .9rem; line-height: 1.45; }
.chat-bot { background: #fff; border: 1px solid rgba(16,48,79,.12); color: #10304F; border-bottom-left-radius: .25rem; justify-self: start; }
.chat-user { background: #1F6FEB; color: #fff; border-bottom-right-radius: .25rem; justify-self: end; }
.chat-chip { border: 1px solid rgba(16,48,79,.18); color: #10304F; background: #fff; border-radius: 999px; padding: .4rem .75rem; font-size: 13px; font-weight: 600; }
.chat-chip:hover { border-color: #1F6FEB; color: #1F6FEB; }
.chat-typing span { display: inline-block; width: 6px; height: 6px; margin-right: 3px; border-radius: 50%; background: #10304F66; animation: blink 1.2s infinite; }
.chat-typing span:nth-child(2) { animation-delay: .2s; }
.chat-typing span:nth-child(3) { animation-delay: .4s; }
@keyframes blink { 0%, 80%, 100% { opacity: .25; } 40% { opacity: 1; } }

/* Lightbox zoom */
.lb-zoom img { transition: transform .18s ease-out; transform-origin: center center; pointer-events: none; }
.lb-zoom.zoomed img { transform: scale(2.5); }

body.no-scroll { overflow: hidden; }

@media (prefers-reduced-motion: reduce) {
  .js .reveal { opacity: 1; transform: none; transition: none; }
  .lb-zoom img { transition: none; }
  .lb-zoom.zoomed img { transform: none; }
  * { scroll-behavior: auto !important; }
}
