@tailwind base;
@tailwind components;
@tailwind utilities;

:root {
  --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
  --font-serif: 'Playfair Display', serif;
}

@layer base {
  html {
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  body {
    @apply bg-slate-50 text-slate-900;
  }
}

@layer utilities {
  .text-balance {
    text-wrap: balance;
  }

  .glass {
    @apply bg-white/70 backdrop-blur-xl border border-white/20 shadow-xl;
  }

  .glass-dark {
    @apply bg-slate-900/80 backdrop-blur-xl border border-white/10 shadow-2xl;
  }
}

/* Custom Animations */
@keyframes float {
  0% {
    transform: translateY(0px);
  }

  50% {
    transform: translateY(-20px);
  }

  100% {
    transform: translateY(0px);
  }
}

.animate-float {
  animation: float 6s ease-in-out infinite;
}

@keyframes fade-in-up {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in-up {
  animation: fade-in-up 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.delay-100 {
  animation-delay: 100ms;
}

.delay-200 {
  animation-delay: 200ms;
}

.delay-300 {
  animation-delay: 300ms;
}

/* Resume Preview Specifics */
.resume-preview-shadow {
  box-shadow:
    0 4px 6px -1px rgba(0, 0, 0, 0.1),
    0 2px 4px -1px rgba(0, 0, 0, 0.06),
    0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

/* --- PAGED.JS CONFIGURATION --- */

@page {
  size: A4;
  margin: 10mm;
  /* Marge de sécurité par défaut pour le texte */
}

/* Classe pour forcer le plein bord (Full Bleed) */
.full-bleed-bg {
  position: absolute;
  top: -10mm;
  /* Compense la marge @page */
  left: -10mm;
  right: -10mm;
  bottom: -10mm;
  z-index: -1;
  pointer-events: none;
}

/* Éviter les coupures au milieu des blocs */
.resume-section {
  break-inside: avoid;
  margin-bottom: 5mm;
}

/* Assurer que le conteneur principal prend toute la page pagedjs */
.pagedjs_page_content {
  overflow: visible !important;
}