/* ==========================================================================
   CLEANBIOCIDE - MODERN CSS (Tailwind First)
   ========================================================================== */

/* 1. ANIMATIONS & KEYFRAMES */
@keyframes pulse-subtle {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.05); opacity: 0.9; }
}

@keyframes pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

.animate-pulse-subtle {
  animation: pulse-subtle 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

/* 2. SPECIFIC UI COMPONENTS (Non-Tailwind or complex) */
.pulse-dot {
  width: 8px;
  height: 8px;
  background: #dc2626; /* red-600 */
  border-radius: 50%;
  animation: blink 1.5s infinite;
}

/* Safari support for backdrop-blur */
.backdrop-blur-md {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}

/* 3. BASE OVERRIDES & UTILITIES */
html {
  scroll-behavior: smooth;
}

body {
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Base State des éléments animés.
   IMPORTANT : on ne masque QUE si la classe "anim-ready" est présente sur <html>
   (posée par JS uniquement quand la librairie d'animation GSAP est bien chargée).
   Sans elle, le contenu reste visible par défaut — jamais de page noire. */
html.anim-ready .service-card,
html.anim-ready .testimonial,
html.anim-ready .feature-card {
  opacity: 0;
  transform: translateY(20px);
}

/* Éléments masqués à l'ouverture puis révélés par animation (hero, cartes).
   Même filet de sécurité : masqués seulement si GSAP est prêt. */
html.anim-ready .js-hide {
  opacity: 0;
}

/* 4. SEO & CONTENT HELPERS */
.text-balance {
  text-wrap: balance;
}

/* Legacy Support (Remplace gradualment par Tailwind) */
.bg-teal-gradient {
  background: linear-gradient(180deg, #111818 0%, #0f1616 100%);
}

/* ============================================================
   PROTECTION CONTENU — anti-sélection texte + protection images
   ============================================================ */

/* Empêche de surligner / sélectionner le texte sur tout le site */
body {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* MAIS on autorise la saisie/sélection dans les formulaires (sinon impossible d'écrire) */
input,
textarea,
select,
[contenteditable="true"] {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

/* Protection des images et photos :
   - pas de glisser-déposer vers le bureau
   - pas de menu "enregistrer l'image" au appui long (mobile)
   - pas de sélection */
img {
  -webkit-user-drag: none;
  -khtml-user-drag: none;
  -moz-user-drag: none;
  -o-user-drag: none;
  user-drag: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
