/* ===========================================
   THÈME CONCIERGERIE - VIVANT & MODERNE
   Palette: Turquoise + Corail + Touches dorées
   Ambiance: Chaleureuse, accueillante, professionnelle
   =========================================== */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&display=swap');

:root {
  /* Couleurs principales - Turquoise vibrant */
  --color-primary: #0d9488;
  --color-primary-dark: #0f766e;
  --color-primary-light: #ccfbf1;

  /* Couleurs secondaires - Corail chaleureux */
  --color-secondary: #f97316;
  --color-accent: #fb923c;
  --color-accent-light: #fff7ed;

  /* Texte - Contrastes WCAG 2.1 AA (4.5:1 minimum) */
  --color-text: #1e293b;         /* Contraste 12.6:1 sur blanc */
  --color-text-light: #475569;   /* Contraste 7.0:1 sur blanc (était #64748b = 4.5:1) */
  --color-text-dark: #0f172a;    /* Contraste 16.1:1 sur blanc */

  /* Fonds */
  --color-bg: #ffffff;
  --color-bg-alt: #f8fafc;
  --color-bg-warm: #fefce8;
  --color-bg-dark: #0f172a;

  /* Bordures */
  --color-border: #e2e8f0;
  --color-border-light: #f1f5f9;

  /* Arrondis */
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-full: 50%;

  /* Ombres */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 8px 24px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 16px 48px rgba(0, 0, 0, 0.12);
  --shadow-glow: 0 0 40px rgba(13, 148, 136, 0.15);

  /* Dégradés */
  --gradient-primary: linear-gradient(135deg, #0d9488 0%, #14b8a6 100%);
  --gradient-warm: linear-gradient(135deg, #f97316 0%, #fb923c 100%);
  --gradient-hero: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%);
}

/* Animations globales */
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 20px rgba(13, 148, 136, 0.3); }
  50% { box-shadow: 0 0 40px rgba(13, 148, 136, 0.5); }
}

@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

@keyframes bounce-in {
  0% { transform: scale(0.9); opacity: 0; }
  50% { transform: scale(1.02); }
  100% { transform: scale(1); opacity: 1; }
}

@keyframes slide-up {
  from { transform: translateY(30px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

@keyframes gradient-shift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* =========================================
   ACCESSIBILITÉ - WCAG 2.1 AA
   ========================================= */

/* Respect des préférences de mouvement réduit */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Amélioration des contrastes pour le texte sur fonds sombres */
.stats-bar .stat-label,
.footer-brand p,
.footer-links a,
.footer-contact p,
.footer-hours span,
.review-count {
  color: rgba(255, 255, 255, 0.75); /* Amélioration du contraste (était 0.6) */
}

/* Placeholder avec contraste suffisant */
::placeholder {
  color: #64748b; /* Contraste 4.5:1 minimum */
  opacity: 1;
}

/* Liens visibles avec soulignement au focus */
a:focus-visible {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
}

/* Boutons avec états visibles */
button:disabled,
input:disabled,
select:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Mode contraste élevé */
@media (prefers-contrast: more) {
  :root {
    --color-border: #94a3b8;
    --color-text-light: #334155;
  }

  a, button {
    text-decoration: underline;
  }
}
