/* lab.ai Identity Platform — shared custom styles (complements Tailwind CDN) */

html { scroll-padding-top: 5rem; }
body { -webkit-font-smoothing: antialiased; }

/* Fade-in on scroll */
.fade-in {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.7s ease-out, transform 0.7s ease-out;
}
.fade-in.visible { opacity: 1; transform: translateY(0); }
.fade-in-delay-1 { transition-delay: 0.08s; }
.fade-in-delay-2 { transition-delay: 0.16s; }
.fade-in-delay-3 { transition-delay: 0.24s; }
.fade-in-delay-4 { transition-delay: 0.32s; }

/* Iris glow accents */
.iris-glow { box-shadow: 0 0 60px rgba(108,92,255,0.18), 0 0 140px rgba(108,92,255,0.06); }
.grid-bg {
  background-image:
    radial-gradient(60% 60% at 50% 0%, rgba(108,92,255,0.14), transparent 70%),
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: auto, 44px 44px, 44px 44px;
  background-position: center top, center, center;
}

/* Card hover */
.card-hover { transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s; }
.card-hover:hover {
  border-color: rgba(108,92,255,0.45);
  transform: translateY(-4px);
  box-shadow: 0 10px 34px rgba(108,92,255,0.10);
}

/* Search field */
.search-shell { transition: border-color 0.2s, box-shadow 0.2s; }
.search-shell:focus-within {
  border-color: rgba(108,92,255,0.6);
  box-shadow: 0 0 0 4px rgba(108,92,255,0.12);
}

/* Result panel entrance */
.result-in { animation: resultIn 0.35s ease-out; }
@keyframes resultIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Long-form prose (trust / legal pages) */
.prose-lab { color: #c3c7d1; line-height: 1.75; }
.prose-lab h2 { color: #fff; font-weight: 700; font-size: 1.6rem; margin: 2.6rem 0 1rem; }
.prose-lab h3 { color: #fff; font-weight: 600; font-size: 1.2rem; margin: 2rem 0 0.75rem; }
.prose-lab p { margin: 0 0 1.1rem; }
.prose-lab ul { margin: 0 0 1.1rem; padding-left: 1.25rem; list-style: disc; }
.prose-lab li { margin: 0 0 0.5rem; }
.prose-lab strong { color: #fff; font-weight: 600; }
.prose-lab a { color: #9488ff; text-decoration: underline; text-underline-offset: 3px; }
.prose-lab a:hover { color: #c9c3ff; }
.prose-lab code { font-family: '"JetBrains Mono"', ui-monospace, monospace; background: rgba(108,92,255,0.12); color: #b9b1ff; padding: 0.1em 0.4em; border-radius: 5px; font-size: 0.9em; }
.prose-lab hr { border: 0; border-top: 1px solid rgba(255,255,255,0.08); margin: 2.4rem 0; }
.prose-lab table { width: 100%; border-collapse: collapse; margin: 0 0 1.4rem; font-size: 0.92rem; }
.prose-lab th { text-align: left; color: #fff; font-weight: 600; border-bottom: 1px solid rgba(255,255,255,0.12); padding: 0.6rem 0.75rem; background: rgba(255,255,255,0.02); }
.prose-lab td { border-top: 1px solid rgba(255,255,255,0.06); padding: 0.6rem 0.75rem; vertical-align: top; }
.prose-lab blockquote { border-left: 3px solid rgba(108,92,255,0.5); padding: 0.4rem 0 0.4rem 1.1rem; margin: 0 0 1.2rem; color: #9aa0ad; font-style: italic; }

/* Hide CookieYes floating "revisit consent" badge — we expose a
   "Cookie Settings" link in the footer instead (GDPR consent-withdrawal path). */
.cky-btn-revisit-wrapper { display: none !important; }

/* ── CookieYes banner — restyle to match lab.ai (iris purple, rounded) ──────
   Free-plan-proof: overrides CookieYes's injected banner via our own CSS
   (not CookieYes "Custom CSS" Pro feature). Tokens: iris #6c5cff / light #9488ff.
   Doubled class selectors (0,2,0) beat CookieYes's own (0,1,0) !important rules
   which load AFTER our stylesheet. */
.cky-btn.cky-btn { border-radius: 10px !important; font-weight: 600 !important; }
.cky-btn-accept.cky-btn-accept {
  background: #6c5cff !important; color: #fff !important; border-color: #6c5cff !important;
}
.cky-btn-accept.cky-btn-accept:hover { background: #9488ff !important; border-color: #9488ff !important; }
.cky-btn-reject.cky-btn-reject {
  background: transparent !important; color: #6c5cff !important; border: 1px solid #6c5cff !important;
}
.cky-btn-reject.cky-btn-reject:hover { background: rgba(108,92,255,0.12) !important; }
.cky-btn-customize.cky-btn-customize,
.cky-btn-preferences.cky-btn-preferences,
.cky-show-desc-btn.cky-show-desc-btn { color: #6c5cff !important; }
.cky-consent-bar.cky-consent-bar,
.cky-preference-center.cky-preference-center { border-radius: 16px !important; }
