/* ==========================================================
   FPA Actin — brand.css
   Tokens + overrides calqués sur actin-pro.thedrim.xyz
   ========================================================== */

:root {
  /* Palette — Actin Campus Pro (corrigée après extraction CSS prod) */
  --fpa-actin-blue:         #003399;
  --fpa-actin-blue-hover:   #0A1E6E;   /* ⚠️ corrigé — plus foncé que l'accent */
  --fpa-actin-blue-accent:  #1A43A4;   /* mid-stop gradient */
  --fpa-actin-blue-deep:    #0A1C4D;   /* logo deep */
  --fpa-actin-blue-light:   #EFF6FF;   /* blue-50 Tailwind */
  --fpa-actin-gold:         #FACC15;
  --fpa-success:           #22C55E;
  --fpa-warning:           #F59E0B;
  --fpa-error:             #EF4444;

  --fpa-slate-900: #0F172A;
  --fpa-slate-800: #1E293B;
  --fpa-slate-700: #334155;
  --fpa-slate-500: #64748B;
  --fpa-slate-400: #94A3B8;
  --fpa-slate-300: #CBD5E1;
  --fpa-slate-200: #E2E8F0;
  --fpa-slate-100: #F1F5F9;
  --fpa-slate-50:  #F8FAFC;

  /* Shadows — valeurs exactes extraites du bundle Campus Pro */
  --fpa-shadow-soft:     0 8px 30px rgba(0, 0, 0, 0.04);           /* default cards */
  --fpa-shadow-sober:    0 4px 20px rgba(0, 0, 0, 0.03);           /* hover de soft */
  --fpa-shadow-floating: 0 20px 40px rgba(0, 51, 153, 0.05);       /* modals, teinté bleu */
  --fpa-shadow-sm:       0 1px 2px 0 rgba(0, 0, 0, 0.04);
  --fpa-shadow-md:       0 4px 10px -2px rgba(0, 0, 0, 0.06);

  /* Rayons (dominants Campus Pro) */
  --fpa-radius-sm:   8px;    /* rounded-lg — dense controls */
  --fpa-radius-md:   12px;   /* rounded-xl — boutons/inputs (hégémonique) */
  --fpa-radius-lg:   16px;   /* rounded-2xl — cards, modals */
  --fpa-radius-xl:   24px;
  --fpa-radius-pill: 9999px; /* pills, avatars, badges */

  /* Motion */
  --fpa-ease:      cubic-bezier(0.2, 0.8, 0.2, 1);
  --fpa-dur-fast:  150ms;
  --fpa-dur:       250ms;
  --fpa-dur-slow:  400ms;
}

/* --- Base typography tweaks ------------------------------- */
body {
  font-feature-settings: "ss01", "cv11";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* --- Boutons — recette Campus Pro (rounded-xl + shadow-soft + scale press) -- */
.wp-block-button .wp-block-button__link,
.wp-element-button {
  border-radius: var(--fpa-radius-md);  /* rounded-xl 12px par défaut */
  font-weight: 700;                     /* font-bold */
  padding: 0.625rem 1.25rem;            /* py-2.5 px-5 */
  box-shadow: var(--fpa-shadow-soft);
  transition: background-color var(--fpa-dur) var(--fpa-ease),
              transform var(--fpa-dur-fast) var(--fpa-ease),
              box-shadow var(--fpa-dur) var(--fpa-ease);
}
.wp-block-button .wp-block-button__link:hover,
.wp-element-button:hover {
  background-color: var(--fpa-actin-blue-hover);
}
.wp-block-button .wp-block-button__link:active,
.wp-element-button:active {
  transform: scale(0.98);  /* signature Campus Pro */
}

/* Variante "outline" (border-2 border-actin-blue) */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--fpa-actin-blue) !important;
  border: 2px solid var(--fpa-actin-blue) !important;
  box-shadow: none !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: rgba(0, 51, 153, 0.05) !important;  /* bg-actin-blue/5 */
  color: var(--fpa-actin-blue) !important;
}

/* Variante "pill" pour CTA marketing (optionnel) */
.wp-block-button.is-style-pill .wp-block-button__link {
  border-radius: var(--fpa-radius-pill);
}

/* Variante "ghost" (texte seul, souligne au hover) */
.wp-block-button.is-style-ghost .wp-block-button__link {
  background: transparent !important;
  color: var(--fpa-actin-blue) !important;
  padding: 0.5rem 0.75rem !important;
  box-shadow: none !important;
}

/* --- Cards (rounded-2xl + shadow-soft — recette Campus Pro) ---------- */
.is-style-card,
.wp-block-group.is-style-card {
  background: #fff;
  border: 1px solid var(--fpa-slate-100);   /* border-slate-100 */
  border-radius: var(--fpa-radius-lg);       /* rounded-2xl */
  box-shadow: var(--fpa-shadow-soft);         /* 0 8px 30px rgba(0,0,0,.04) */
  padding: clamp(1rem, 2.5vw, 2rem);
  overflow: hidden;
  transition: box-shadow var(--fpa-dur) var(--fpa-ease),
              transform var(--fpa-dur) var(--fpa-ease);
}
.is-style-card:hover {
  box-shadow: var(--fpa-shadow-md);
  transform: translateY(-1px);                 /* hover:translate-y-[-1px] */
}
.is-style-card:active {
  transform: scale(0.97);                       /* active:scale-[0.97] */
}

/* --- Sections hero / contrast ----------------------------- */
.has-actin-blue-background-color {
  background: linear-gradient(135deg, #003399 0%, #1A43A4 100%) !important;
  color: #fff;
}
.has-actin-blue-background-color h1,
.has-actin-blue-background-color h2,
.has-actin-blue-background-color h3,
.has-actin-blue-background-color p {
  color: #fff;
}

/* --- Badges / pills ------------------------------------- */
.fpa-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.75rem;
  border-radius: var(--fpa-radius-pill);
  background: var(--fpa-slate-100);
  color: var(--fpa-actin-blue);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

/* --- Inputs (formulaires) --------------------------------- */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="search"],
textarea,
select {
  border: 1px solid var(--fpa-slate-300);
  border-radius: var(--fpa-radius-sm);
  padding: 0.75rem 1rem;
  font-family: inherit;
  font-size: 1rem;
  background: #fff;
  transition: border-color var(--fpa-dur) var(--fpa-ease),
              box-shadow var(--fpa-dur) var(--fpa-ease);
}
input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: rgba(0, 51, 153, 0.3);                /* focus:border-actin-blue/30 */
  box-shadow: 0 0 0 4px rgba(0, 51, 153, 0.05);       /* focus:ring-4 ring-actin-blue/5 */
}

/* --- Focus visible global (a11y) — recette Campus Pro ----- */
*:focus-visible {
  outline: 3px solid rgba(0, 51, 153, 0.5);
  outline-offset: 2px;
  border-radius: 8px;
}

/* --- Sélection texte ------------------------------------- */
::selection {
  background: var(--fpa-actin-blue);
  color: #fff;
}
