/* =====================================================================
   WorkDispo — page de connexion 2026 (maquette « Connexion WorkDispo 2026 v2 »)
   Portée : UNIQUEMENT /connexion. Tout est préfixé .wdc- et la page porte
   body.wdc-page, donc aucune règle ne peut atteindre une autre page — en
   particulier la modale #sign-in-dialog des pages d'accueil et société, qui
   utilise un gabarit différent (templates/auth/form/login_form.twig) et reste
   telle quelle.
   Le thème Hireo (style.min.css) et le style commun (site-2026.css) restent
   chargés : l'en-tête et le pied de page du site sont conservés.
   ===================================================================== */

/* ---------- Jetons propres à la page ---------- */
.wdc-page {
  --wdc-nuit: #060A1A;
  --wdc-carte: rgba(12, 18, 44, .72);
  --wdc-halo: #7C8CFF;
  --wdc-ligne: #E1E6F2;
  --wdc-champ: #F7F9FD;
  --wdc-encre: #0F1836;
  --wdc-gris: #5A6685;
}

/* Le thème met un fond clair sur #wrapper ; la section est sombre de bord à bord. */
.wdc-page #wrapper { background: var(--wdc-nuit); }

/* =====================================================================
   1. Décor
   ===================================================================== */
.wdc-scene {
  position: relative;
  overflow: hidden;
  background: var(--wdc-nuit);
  padding: clamp(28px, 3.4vw, 56px) clamp(16px, 3vw, 32px) clamp(40px, 4.5vw, 72px);
  font-family: var(--wd-font-body);
}

/* Lueurs : trois disques flous qui dérivent lentement. */
.wdc-blob {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(70px);
}
.wdc-blob-1 {
  top: -18%; left: 8%;
  width: 46vw; height: 46vw; max-width: 720px; max-height: 720px;
  background: radial-gradient(circle, rgba(42, 65, 232, .75), transparent 65%);
  animation: wdcDriftA 18s ease-in-out infinite;
}
.wdc-blob-2 {
  top: -10%; right: 2%;
  width: 40vw; height: 40vw; max-width: 620px; max-height: 620px;
  background: radial-gradient(circle, rgba(110, 90, 255, .5), transparent 65%);
  animation: wdcDriftB 22s ease-in-out infinite;
}
.wdc-blob-3 {
  bottom: -20%; left: 30%;
  width: 50vw; height: 30vw; max-width: 800px;
  background: radial-gradient(closest-side, rgba(58, 85, 255, .35), transparent);
  animation: wdcDriftA 26s ease-in-out infinite reverse;
}

/* Quadrillage estompé au centre. */
.wdc-grille {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(60% 55% at 50% 22%, #000 0%, rgba(0, 0, 0, .3) 60%, transparent 100%);
          mask-image: radial-gradient(60% 55% at 50% 22%, #000 0%, rgba(0, 0, 0, .3) 60%, transparent 100%);
}

/* Sol en perspective, bas de section. */
.wdc-sol {
  position: absolute;
  left: -10%; right: -10%; bottom: -2px;
  height: 46%;
  pointer-events: none;
  perspective: 520px;
  overflow: hidden;
}
.wdc-sol > span {
  position: absolute;
  inset: -40% 0 0 0;
  transform: rotateX(62deg);
  transform-origin: 50% 100%;
  background-image:
    linear-gradient(rgba(124, 140, 255, .22) 1px, transparent 1px),
    linear-gradient(90deg, rgba(124, 140, 255, .22) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: linear-gradient(to top, #000 10%, transparent 85%);
          mask-image: linear-gradient(to top, #000 10%, transparent 85%);
}

.wdc-filet {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(124, 140, 255, .6), transparent);
}

.wdc-inner {
  position: relative;
  max-width: 1120px;
  margin: 0 auto;
}

@keyframes wdcRise {
  from { opacity: 0; transform: translateY(18px) scale(.985); }
  to   { opacity: 1; transform: none; }
}
@keyframes wdcDriftA {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50%      { transform: translate(8%, 6%) scale(1.12); }
}
@keyframes wdcDriftB {
  0%, 100% { transform: translate(0, 0) scale(1.05); }
  50%      { transform: translate(-9%, -4%) scale(.94); }
}
@keyframes wdcSpin { to { transform: rotate(360deg); } }

/* =====================================================================
   2. Titre
   ===================================================================== */
.wdc-tete {
  display: grid;
  justify-items: center;
  gap: 12px;
  text-align: center;
  animation: wdcRise .6s cubic-bezier(.2, .8, .3, 1) both;
}
.wdc-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 14px 6px 6px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .14);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
  box-shadow: 0 0 0 1px rgba(124, 140, 255, .08), 0 8px 30px rgba(42, 65, 232, .25);
}
.wdc-badge > i {
  width: 24px; height: 24px;
  border-radius: 50%;
  background: linear-gradient(160deg, #7C8CFF, #2A41E8);
  box-shadow: 0 0 14px rgba(124, 140, 255, .7);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.wdc-badge > span {
  font-family: var(--wd-font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #C9D3FF;
}
.wdc-page .wdc-tete h1 {
  font-size: clamp(28px, 3.4vw, 46px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -.045em;
  color: #FFFFFF;
  max-width: 900px;
  margin: 0;
  padding: 0;
}
.wdc-tete h1 em {
  font-style: normal;
  background: linear-gradient(100deg, #FFFFFF 0%, #B9C4FF 40%, #6E86FF 75%, #A9B6FF 100%);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
.wdc-sous-titre {
  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.5;
  color: #A7B3D6;
  max-width: 620px;
  margin: 0;
}

/* =====================================================================
   3. Le bloc vitré : formulaire à gauche, inscription à droite
   ===================================================================== */
.wdc-bloc {
  margin-top: clamp(20px, 2.4vw, 32px);
  position: relative;
  animation: wdcRise .7s .08s cubic-bezier(.2, .8, .3, 1) both;
}
.wdc-bloc-liseré {
  position: absolute;
  inset: -1px;
  border-radius: 37px;
  pointer-events: none;
  background: conic-gradient(from 210deg at 50% 50%,
    rgba(124, 140, 255, 0), rgba(124, 140, 255, .7), rgba(255, 255, 255, .35),
    rgba(124, 140, 255, 0) 40%, rgba(124, 140, 255, 0) 70%,
    rgba(124, 140, 255, .55), rgba(124, 140, 255, 0));
  filter: blur(.3px);
}
.wdc-bloc-lueur {
  position: absolute;
  inset: 8% 10% -6%;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(closest-side, rgba(58, 85, 255, .45), transparent);
  filter: blur(40px);
}
.wdc-grid {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px;
  border-radius: 36px;
  background: var(--wdc-carte);
  -webkit-backdrop-filter: blur(24px);
          backdrop-filter: blur(24px);
  box-shadow: 0 40px 120px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .08);
}

/* ---------- Colonne gauche : la carte blanche ---------- */
.wdc-carte-form {
  flex: 1.4 1 480px;
  min-width: 0;
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  background: #FFFFFF;
  padding: clamp(22px, 3vw, 40px);
}
.wdc-carte-form::before {
  content: '';
  position: absolute;
  top: -180px; right: -140px;
  width: 420px; height: 420px;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(42, 65, 232, .09), transparent 68%);
}
.wdc-carte-inner { position: relative; }
.wdc-page .wdc-carte-form h2 {
  font-size: clamp(21px, 2vw, 28px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.035em;
  color: var(--wdc-encre);
  margin: 0;
  padding: 0;
}
.wdc-page .wdc-carte-form .wdc-accroche {
  margin: 8px 0 0;
  font-size: 15px;
  line-height: 1.5;
  color: var(--wdc-gris);
}

/* ---------- Boutons fournisseurs ---------- */
.wdc-fournisseurs {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}
.wdc-page a.wdc-fournisseur {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 60px;
  padding: 10px 14px;
  border-radius: 18px;
  background: #FFFFFF;
  border: 1px solid var(--wdc-ligne);
  color: var(--wdc-encre);
  box-shadow: 0 1px 2px rgba(16, 24, 48, .05);
  transition: transform .22s cubic-bezier(.2, .7, .3, 1), box-shadow .22s cubic-bezier(.2, .7, .3, 1), border-color .2s ease;
}
.wdc-page a.wdc-fournisseur:hover {
  color: var(--wdc-encre);
  transform: translateY(-2px);
  border-color: #C6CFEC;
  box-shadow: 0 0 0 4px rgba(42, 65, 232, .07), 0 14px 30px rgba(16, 24, 48, .10);
}
.wdc-page a.wdc-fournisseur-linkedin:hover {
  border-color: #0A66C2;
  box-shadow: 0 0 0 4px rgba(10, 102, 194, .08), 0 14px 30px rgba(16, 24, 48, .10);
}
.wdc-fournisseur-logo {
  flex-shrink: 0;
  width: 34px; height: 34px;
  border-radius: 11px;
  background: var(--wdc-champ);
  border: 1px solid #EAEEF7;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wdc-fournisseur-logo-in {
  background: #0A66C2;
  border-color: #0A66C2;
  font-family: var(--wd-font-body);
  font-size: 15px;
  font-weight: 700;
  color: #FFFFFF;
  letter-spacing: -.02em;
}
.wdc-fournisseur-texte {
  font-family: var(--wd-font-head);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
}
.wdc-fournisseur-texte small {
  display: block;
  font-family: var(--wd-font-body);
  font-size: 11.5px;
  font-weight: 500;
  color: var(--wdc-gris);
  letter-spacing: 0;
}

/* ---------- Séparateur ---------- */
.wdc-ou {
  margin: 16px 0;
  display: flex;
  align-items: center;
  gap: 14px;
}
.wdc-ou > span:first-child,
.wdc-ou > span:last-child { flex: 1; height: 1px; }
.wdc-ou > span:first-child { background: linear-gradient(90deg, rgba(225, 230, 242, 0), var(--wdc-ligne)); }
.wdc-ou > span:last-child  { background: linear-gradient(90deg, var(--wdc-ligne), rgba(225, 230, 242, 0)); }
.wdc-ou > b {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--wdc-gris);
}

/* ---------- Formulaire ---------- */
.wdc-form { display: grid; gap: 12px; }
.wdc-champ { position: relative; display: block; }
.wdc-champ > .wdc-etiquette {
  position: absolute;
  left: 52px; top: 11px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--wdc-gris);
  pointer-events: none;
  z-index: 2;
}
.wdc-champ > .wdc-icone {
  position: absolute;
  left: 12px; top: 50%;
  transform: translateY(-50%);
  width: 30px; height: 30px;
  border-radius: 9px;
  background: #FFFFFF;
  border: 1px solid #E6EAF4;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 2;
}
/* Le thème met une hauteur, des marges et une bordure sur .input-text : on les remet à plat. */
.wdc-page .wdc-champ input.wdc-input {
  width: 100%;
  height: 60px;
  padding: 22px 18px 8px 52px;
  border-radius: 16px;
  border: 1px solid var(--wdc-ligne);
  background: var(--wdc-champ);
  font-family: var(--wd-font-body);
  font-size: 15.5px;
  font-weight: 500;
  color: var(--wdc-encre);
  outline: none;
  margin: 0;
  box-shadow: none;
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.wdc-page .wdc-champ input.wdc-input:focus {
  border-color: var(--wd-blue);
  background: #FFFFFF;
  box-shadow: 0 0 0 4px rgba(42, 65, 232, .12);
}
.wdc-page .wdc-champ input.wdc-input::placeholder { color: #98A2BC; opacity: 1; }
.wdc-page .wdc-champ input.wdc-input-mdp { padding-right: 60px; }

/* Œil : c'est le .password-toogle du thème (public/js/custom.js), il doit rester
   enfant direct de .password-container pour que le script trouve le champ. */
.wdc-page .wdc-champ.password-container { display: block; }
.wdc-page .wdc-champ .password-toogle {
  position: absolute;
  right: 12px; top: 50%;
  transform: translateY(-50%);
  width: 38px; height: 38px;
  border-radius: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: var(--wdc-gris);
  cursor: pointer;
  z-index: 3;
  transition: background-color .2s ease, color .16s ease;
}
.wdc-page .wdc-champ .password-toogle:hover { background: #EAEEFB; color: var(--wd-blue); }

.wdc-oubli {
  display: flex;
  justify-content: flex-end;
}
.wdc-page a.wdc-oubli-lien {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--wd-blue);
}
.wdc-page a.wdc-oubli-lien:hover { color: var(--wd-blue-dark); }

/* ---------- Bouton principal ---------- */
.wdc-page button.wdc-submit {
  position: relative;
  overflow: hidden;
  margin-top: 4px;
  width: 100%;
  min-height: 62px;
  border: 0;
  border-radius: 18px;
  background: linear-gradient(180deg, #4A5EF5 0%, #2A41E8 55%, #2033C9 100%);
  font-family: var(--wd-font-head);
  font-size: 16.5px;
  font-weight: 600;
  letter-spacing: -.01em;
  color: #FFFFFF;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  line-height: 1.2;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), inset 0 -1px 0 rgba(0, 0, 0, .15),
              0 0 0 1px rgba(42, 65, 232, .4), 0 14px 34px rgba(42, 65, 232, .42);
  transition: transform .22s cubic-bezier(.2, .7, .3, 1), box-shadow .22s cubic-bezier(.2, .7, .3, 1);
}
.wdc-page button.wdc-submit:hover {
  transform: translateY(-2px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .35), inset 0 -1px 0 rgba(0, 0, 0, .15),
              0 0 0 1px rgba(42, 65, 232, .5), 0 20px 46px rgba(42, 65, 232, .55);
}
.wdc-submit::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, .16), transparent 50%);
  pointer-events: none;
}
.wdc-submit > span { position: relative; }
.wdc-submit-fleche {
  position: relative;
  width: 30px; height: 30px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .18);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* ---------- Colonne droite : inscription ---------- */
.wdc-carte-inscription {
  flex: 1 1 340px;
  min-width: 0;
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  background: linear-gradient(165deg, rgba(58, 85, 255, .28) 0%, rgba(20, 30, 90, .35) 45%, rgba(8, 13, 31, .2) 100%);
  border: 1px solid rgba(255, 255, 255, .08);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 28px;
  padding: clamp(22px, 3vw, 40px);
}
.wdc-carte-inscription::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, .14) 1px, transparent 1px);
  background-size: 18px 18px;
  -webkit-mask-image: radial-gradient(90% 60% at 100% 0%, #000, transparent);
          mask-image: radial-gradient(90% 60% at 100% 0%, #000, transparent);
}
.wdc-anneau {
  position: absolute;
  top: -160px; right: -160px;
  width: 360px; height: 360px;
  border-radius: 50%;
  pointer-events: none;
  background: conic-gradient(from 0deg, transparent 0 70%, rgba(160, 176, 255, .55) 85%, transparent 100%);
  -webkit-mask: radial-gradient(closest-side, transparent calc(100% - 1.5px), #000 calc(100% - 1px));
          mask: radial-gradient(closest-side, transparent calc(100% - 1.5px), #000 calc(100% - 1px));
  animation: wdcSpin 14s linear infinite;
}
.wdc-inscription-tete {
  position: relative;
  display: grid;
  gap: 12px;
}
.wdc-surtitre {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #9FB0FF;
}
.wdc-page .wdc-carte-inscription h2 {
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 700;
  line-height: 1.06;
  letter-spacing: -.04em;
  color: #FFFFFF;
  margin: 0;
  padding: 0;
}
.wdc-page .wdc-carte-inscription p {
  font-size: 14.5px;
  line-height: 1.5;
  color: #B7C2E4;
  margin: 0;
}
.wdc-choix-inscription {
  position: relative;
  display: grid;
  gap: 10px;
}
.wdc-page a.wdc-lien-inscription {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 68px;
  padding: 9px 14px 9px 10px;
  border-radius: 20px;
  background: #FFFFFF;
  color: var(--wdc-encre);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .35);
  transition: transform .22s cubic-bezier(.2, .7, .3, 1), box-shadow .22s cubic-bezier(.2, .7, .3, 1), background-color .2s ease, border-color .2s ease;
}
.wdc-page a.wdc-lien-inscription:hover {
  color: var(--wdc-encre);
  transform: translateY(-3px);
  box-shadow: 0 0 0 4px rgba(124, 140, 255, .25), 0 22px 44px rgba(0, 0, 0, .45);
}
.wdc-page a.wdc-lien-inscription-entreprise {
  background: rgba(255, 255, 255, .06);
  border: 1px solid rgba(255, 255, 255, .16);
  -webkit-backdrop-filter: blur(14px);
          backdrop-filter: blur(14px);
  color: #FFFFFF;
  box-shadow: none;
}
.wdc-page a.wdc-lien-inscription-entreprise:hover {
  background: rgba(255, 255, 255, .11);
  border-color: rgba(160, 176, 255, .5);
  color: #FFFFFF;
  box-shadow: 0 0 0 4px rgba(124, 140, 255, .14);
}
.wdc-vignette {
  flex-shrink: 0;
  width: 46px; height: 46px;
  border-radius: 14px;
  background: linear-gradient(160deg, #6E86FF, #2A41E8);
  box-shadow: 0 8px 20px rgba(42, 65, 232, .4);
  display: flex;
  align-items: center;
  justify-content: center;
}
.wdc-lien-inscription-entreprise .wdc-vignette {
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .18);
  box-shadow: none;
}
.wdc-lien-libelle {
  flex: 1;
  min-width: 0;
  font-family: var(--wd-font-head);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.25;
}
.wdc-lien-libelle small {
  display: block;
  font-family: var(--wd-font-body);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0;
  opacity: .72;
  margin-top: 2px;
}
.wdc-fleche {
  flex-shrink: 0;
  width: 36px; height: 36px;
  border-radius: 12px;
  background: #EEF1FE;
  display: flex;
  align-items: center;
  justify-content: center;
}
.wdc-lien-inscription-entreprise .wdc-fleche { background: rgba(255, 255, 255, .12); }

/* =====================================================================
   4. Messages (succès, erreur, retour Google)
   ===================================================================== */
.wdc-messages { display: grid; gap: 10px; margin-bottom: 16px; }
.wdc-message {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 13px 16px;
  border-radius: 14px;
  font-size: 14.5px;
  line-height: 1.45;
  white-space: pre-line;
}
.wdc-message-erreur {
  background: #FEF2F2;
  border: 1px solid #FBD5D5;
  color: #9B1C1C;
}
.wdc-message-succes {
  background: #F0FDF4;
  border: 1px solid #BBF7D0;
  color: #166534;
}
.wdc-message > svg { flex-shrink: 0; margin-top: 1px; }

/* =====================================================================
   5. Choix du type de compte après un retour Google sans compte
   ===================================================================== */
.wdc-aiguillage {
  position: relative;
  margin-top: clamp(20px, 2.4vw, 32px);
  border-radius: 28px;
  padding: clamp(22px, 3vw, 36px);
  background: #FFFFFF;
  box-shadow: 0 40px 120px rgba(0, 0, 0, .5);
  animation: wdcRise .6s cubic-bezier(.2, .8, .3, 1) both;
}
.wdc-page .wdc-aiguillage h2 {
  font-size: clamp(20px, 1.9vw, 26px);
  font-weight: 700;
  line-height: 1.12;
  letter-spacing: -.03em;
  color: var(--wdc-encre);
  margin: 10px 0 0;
  padding: 0;
}
.wdc-page .wdc-aiguillage p {
  margin: 8px 0 0;
  font-size: 15px;
  line-height: 1.5;
  color: var(--wdc-gris);
}
.wdc-aiguillage-mail {
  font-weight: 600;
  color: var(--wdc-encre);
  word-break: break-all;
}
.wdc-aiguillage-choix {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 12px;
  align-items: stretch;
}
.wdc-aiguillage-choix > form { display: flex; margin: 0; }
.wdc-page .wdc-voie {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 78px;
  padding: 12px 16px;
  border-radius: 20px;
  text-align: left;
  font-family: var(--wd-font-head);
  font-size: 16px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.01em;
  cursor: pointer;
  border: 1px solid transparent;
  transition: transform .22s cubic-bezier(.2, .7, .3, 1), box-shadow .22s cubic-bezier(.2, .7, .3, 1), background-color .2s ease, border-color .2s ease;
}
.wdc-page button.wdc-voie-candidat {
  background: linear-gradient(180deg, #4A5EF5 0%, #2A41E8 55%, #2033C9 100%);
  color: #FFFFFF;
  box-shadow: 0 14px 34px rgba(42, 65, 232, .35);
}
.wdc-page button.wdc-voie-candidat:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 44px rgba(42, 65, 232, .5);
}
.wdc-page a.wdc-voie-entreprise {
  background: #FFFFFF;
  border-color: var(--wdc-ligne);
  color: var(--wdc-encre);
}
.wdc-page a.wdc-voie-entreprise:hover {
  transform: translateY(-2px);
  border-color: #C6CFEC;
  color: var(--wdc-encre);
  box-shadow: 0 0 0 4px rgba(42, 65, 232, .07), 0 14px 30px rgba(16, 24, 48, .10);
}
.wdc-voie .wdc-vignette { box-shadow: none; }
.wdc-voie-candidat .wdc-vignette { background: rgba(255, 255, 255, .18); }
.wdc-voie-entreprise .wdc-vignette { background: #EEF1FE; }
.wdc-voie small {
  display: block;
  font-family: var(--wd-font-body);
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0;
  opacity: .78;
  margin-top: 3px;
}
.wdc-aiguillage-sortie {
  margin-top: 16px;
  font-size: 13.5px;
  color: var(--wdc-gris);
}
.wdc-page a.wdc-aiguillage-annuler { font-weight: 600; color: var(--wd-blue); }

/* =====================================================================
   6. Petits écrans
   ===================================================================== */
@media (max-width: 991px) {
  .wdc-grid { border-radius: 28px; }
  .wdc-carte-form, .wdc-carte-inscription { border-radius: 22px; }
  .wdc-bloc-liseré { border-radius: 29px; }
  .wdc-carte-inscription { gap: 20px; }
}
@media (max-width: 575px) {
  .wdc-scene { padding-left: 14px; padding-right: 14px; }
  .wdc-grid { padding: 6px; gap: 6px; }
  .wdc-fournisseurs { grid-template-columns: 1fr; }
  .wdc-page .wdc-champ input.wdc-input { font-size: 16px; } /* < 16px : iOS zoome au focus */
  .wdc-blob { filter: blur(52px); }
  .wdc-aiguillage-choix { grid-template-columns: 1fr; }
}

/* =====================================================================
   7. Mouvement réduit
   ===================================================================== */
@media (prefers-reduced-motion: reduce) {
  .wdc-scene *, .wdc-scene { animation: none !important; transition: none !important; }
}
