/* LegalGurus.in — custom refinements on top of Tailwind utilities */

html { scroll-behavior: smooth; }

/* Disable the browser's native "drag this link" ghost-image behavior inside
   custom drag-scroll rows — without this, dragging a link with the mouse
   fights between the browser's built-in drag system and our JS scroll,
   which is what causes visible stutter. */
.cursor-grab, .cursor-grab * {
  -webkit-user-drag: none;
  user-drag: none;
  -webkit-user-select: none;
  user-select: none;
}
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

/* Signature motif: faint IPC/BNS section numbers as background texture.
   Ties the visual identity directly to the product's real subject matter
   (bare-act sections) instead of a generic gradient blob. */
.section-texture {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}
.section-texture span {
  position: absolute;
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 600;
  color: #0F4C81;
  opacity: 0.05;
  white-space: nowrap;
}

/* Typewriter caret for the AI drafting demo */
.caret {
  display: inline-block;
  width: 2px;
  background: #16A34A;
  margin-left: 2px;
  animation: blink 1s step-end infinite;
}
@keyframes blink { 50% { opacity: 0; } }

/* Card lift on hover, restrained (no scale, no glow) */
.lift {
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.lift:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(15, 76, 129, 0.08);
  border-color: #CBD5E1;
}

/* Basic prose styling for Quill-authored rich content (guides, question/answer
   bodies, service overviews) since Tailwind's base reset strips default
   heading/list styling that raw HTML from the rich text editor relies on. */
.prose-content h2 { font-family: 'Manrope', sans-serif; font-weight: 700; font-size: 22px; color: #111827; margin-top: 28px; margin-bottom: 12px; }
.prose-content h3 { font-family: 'Manrope', sans-serif; font-weight: 700; font-size: 18px; color: #111827; margin-top: 22px; margin-bottom: 10px; }
.prose-content p { margin-bottom: 14px; }
.prose-content ul, .prose-content ol { margin-bottom: 14px; padding-left: 22px; }
.prose-content ul { list-style: disc; }
.prose-content ol { list-style: decimal; }
.prose-content li { margin-bottom: 6px; }
.prose-content a { color: #0F4C81; font-weight: 600; text-decoration: underline; }
.prose-content strong { font-weight: 700; }
.prose-content em { font-style: italic; }

/* Safety net against horizontal page scroll on mobile — no content on this
   site is meant to scroll wider than the viewport, so this catches any
   element that occasionally overflows without silently masking a layout
   bug (nothing here is expected to legitimately need horizontal scroll). */
html, body { overflow-x: hidden; max-width: 100%; }

@media (prefers-reduced-motion: reduce) {
  .caret { animation: none; }
  .lift { transition: none; }
}
