/* WizanCV — supplements on top of the Tailwind CDN. */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: #2348e633; }

/* Headings use the display face by default on marketing pages. */
h1, h2, h3 { font-family: "Bricolage Grotesque", Georgia, serif; }

/* Reveal-on-scroll */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s cubic-bezier(.22,1,.36,1), transform .7s cubic-bezier(.22,1,.36,1); }
.reveal.in { opacity: 1; transform: none; }

/* Floating hero mockups */
@keyframes floaty { 0%,100% { transform: translateY(0) rotate(var(--r,0deg)); } 50% { transform: translateY(-14px) rotate(var(--r,0deg)); } }
.float { --r: 3deg; animation: floaty 6s ease-in-out infinite; }
.float-slow { --r: -6deg; animation: floaty 8s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  .float, .float-slow { animation: none; }
}

/* CV document (print/PDF) */
.cv-doc table { border-collapse: collapse; }
@media print { .no-print { display: none !important; } }

/* Custom scrollbar in the builder panels */
.overflow-y-auto::-webkit-scrollbar { width: 10px; }
.overflow-y-auto::-webkit-scrollbar-thumb { background: #c9cbd6; border-radius: 9999px; border: 3px solid transparent; background-clip: content-box; }
.overflow-y-auto::-webkit-scrollbar-thumb:hover { background: #a7aabb; background-clip: content-box; }
