/* --- Light Design tokens --- */
:root{
  --background:transparent;
  --foreground:#0F172A;
  --muted:#64748B;
  --border:#E2E8F0;
  --card:#FFFFFF;
  --primary:#2563EB;
  --primary-600:#1D4ED8;
  --primary-foreground:#FFFFFF;
  --secondary:#FFFFFF;
}

/* Base */
html{scroll-behavior:smooth}
body{background:var(--background);color:var(--foreground);}

/* Utilities */
.bg-background{background:var(--background)}
.text-foreground{color:var(--foreground)}
.text-muted-foreground{color:var(--muted)}
.border-border{border-color:var(--border)}
.bg-card{background:var(--card)}
.bg-secondary{background:var(--secondary)}
.text-primary{color:var(--primary)}
.text-primary-foreground{color:var(--primary-foreground)}
.bg-primary{background:var(--primary)}
.hover\:bg-primary-600:hover{background:var(--primary-600)}
.container{max-width:1200px}

/* Animations */
@keyframes fade-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.animate-fade-in{animation:fade-in .6s ease both}

/* Buttons */
.btn-hero{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:.5rem;font-weight:600;height:2.75rem;padding:0 1.5rem;
  background:var(--primary);color:var(--primary-foreground);
  transition:opacity .2s ease;
}
.btn-hero:hover{opacity:.92}
.btn-outline{
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:.5rem;font-weight:600;height:2.75rem;padding:0 1.5rem;
  border:1px solid var(--border);background:transparent;
}
.btn-outline:hover{background:#ffffff}

/* Cards */
.card{
  background:var(--card);border:1px solid var(--border);border-radius:.875rem;
  transition:transform .3s ease, box-shadow .3s ease;
  box-shadow:0 2px 10px rgba(15,23,42,.06);
}
.card:hover{transform:translateY(-2px)}

/* Icon badge */
.icon-badge{
  width:3rem;height:3rem;border-radius:.75rem;
  background:var(--primary);display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 16px rgba(37,99,235,.25);
}
.badge-number{
  position:absolute;top:-.5rem;right:-.5rem;width:3rem;height:3rem;border-radius:9999px;
  background:#fff;border:2px solid var(--primary);
  display:flex;align-items:center;justify-content:center;
  font-weight:800;color:var(--primary);
}

/* Inputs */
.label{display:block;font-size:.95rem;font-weight:600;margin-bottom:.25rem}
.input,.textarea{
  width:100%;border-radius:.5rem;border:1px solid var(--border);
  background:#fff;padding:.6rem .75rem;outline:none;color:var(--foreground);
}
.input:focus,.textarea:focus{box-shadow:0 0 0 3px rgba(37,99,235,.2)}

/* Contact tiles */
.contact-tile{
  display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:.75rem;
  border:1px solid var(--border);background:#fff;transition:background .2s ease;
}
.contact-tile:hover{background:#f8fafc}
.tile-icon{
  width:3rem;height:3rem;border-radius:9999px;background:var(--primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;
}

/* Footer buttons */
.circle-btn{
  width:2.5rem;height:2.5rem;border-radius:9999px;background:var(--primary);
  display:flex;align-items:center;justify-content:center;transition:box-shadow .2s ease;
}
.circle-btn:hover{box-shadow:0 0 20px rgba(37,99,235,.45)}

.shadow-glow{box-shadow:0 0 25px rgba(37,99,235,.25)}

/* Banner section (same blue as icons) */
.banner-gradient {
  background: var(--primary); /* #2563EB */
}

/* --- Fond de site global --- */
body {
  background-image: url('https://pub-c5ba977ea4b64921b94cbfbd398e1369.r2.dev/site/banner/homepage');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  background-repeat: no-repeat;
}

/* --- Supprime TOUTES les couleurs de fond globales --- */
body,
main,
section {
  background: transparent !important;
}
