/* =====================================================================
   WorkDispo — page d'une offre /job/{slug}, refonte 2026 (05/10/2026)
   Maquette Claude Design « Offre WorkDispo 2026.dc.html » : valeurs reprises telles quelles (couleurs, polices,
   tailles, rayons, ombres, animations). Ordinateur ≥ 900 px, mobile < 900 px ; tuiles en 3 colonnes à partir de
   1 180 px. Classes wdof-* ; l'en-tête commun prend la teinte sombre de la maquette sous body.wd-offre seulement.
   ===================================================================== */

body.wd-offre { background: #F4F6FB; color: #4C5772; }
body.wd-offre #wrapper { background: #F4F6FB; }

@keyframes wdofRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes wdofFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes wdofPulseG { 0%, 100% { box-shadow: 0 0 0 0 rgba(18,183,106,.5); } 50% { box-shadow: 0 0 0 7px rgba(18,183,106,0); } }
@keyframes wdofPulseR { 0%, 100% { box-shadow: 0 0 0 0 rgba(240,68,56,.55); } 50% { box-shadow: 0 0 0 7px rgba(240,68,56,0); } }
@keyframes wdofFloat { 0%, 100% { transform: translate(0,0) scale(1); } 50% { transform: translate(40px,30px) scale(1.08); } }
@keyframes wdofFloat2 { 0%, 100% { transform: translate(0,0); } 50% { transform: translate(-50px,-20px); } }
@keyframes wdofScan { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } }
@keyframes wdofSheet { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes wdofDrift { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(-40px); } }

/* ---------- En-tête commun, version sombre de la maquette (page d'offre seulement) ---------- */
body.wd-offre #header-container {
  background: rgba(7,11,30,.84); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,255,255,.08); box-shadow: none;
}
body.wd-offre #header-container #header { background: transparent; }
/* Logo : le vrai logo du site (image à une seule encre), passé en blanc sur le fond sombre. */
body.wd-offre #logo img { filter: brightness(0) invert(1); }
body.wd-offre #navigation > ul > li > a { color: #C8CEEA; padding: 9px 13px; border-radius: 10px; font-family: 'Space Grotesk', 'IBM Plex Sans', sans-serif; font-weight: 500; font-size: 14.5px; }
body.wd-offre #navigation > ul > li > a:not(.button):hover { color: #FFFFFF; background: rgba(255,255,255,.06); }
body.wd-offre #navigation > ul > li > a[href$="/offres"] { color: #FFFFFF; background: rgba(126,142,255,.16); }
/* Membres : les entrées du menu sont des boutons du thème (fond bleu) ; sur le fond sombre, liens clairs comme la maquette. */
body.wd-offre #navigation > ul > li > a.button { background: transparent !important; box-shadow: none; border-radius: 10px; padding: 9px 13px !important; }
body.wd-offre #navigation > ul > li > a.button:hover { background: rgba(255,255,255,.06) !important; }
body.wd-offre #navigation > ul > li > a.button[href$="/offres"] { background: rgba(126,142,255,.16) !important; }
body.wd-offre #navigation.nav-disponibility > ul > li > a.button { background: rgba(255,255,255,.06) !important; border: 1px solid rgba(255,255,255,.12); }
body.wd-offre .header-widget > .button,
body.wd-offre .header-widget > a.button {
  min-height: 42px; padding: 0 15px; border-radius: 12px; border: 1px solid rgba(126,142,255,.45);
  background: rgba(126,142,255,.12); color: #FFFFFF !important; box-shadow: none; font-size: 14.5px;
}
body.wd-offre .header-widget > .button:hover,
body.wd-offre .header-widget > a.button:hover { background: rgba(126,142,255,.22); border-color: rgba(126,142,255,.45); color: #FFFFFF !important; box-shadow: none; }
body.wd-offre .header-widget .log-in-button { color: #FFFFFF !important; }
body.wd-offre .header-widget .log-in-button:hover { color: #9FB0FF !important; background: transparent; }
body.wd-offre .header-widget a.log-in-button[href$="/inscription"],
body.wd-offre .header-widget.hide-on-large > a.button[href$="/inscription"] {
  min-height: 40px; padding: 10px 16px; background: #FFFFFF; color: #0A1030 !important; border: 0; box-shadow: 0 10px 24px rgba(0,0,0,.3);
}
body.wd-offre .header-widget a.log-in-button[href$="/inscription"]:hover,
body.wd-offre .header-widget.hide-on-large > a.button[href$="/inscription"]:hover { background: #FFFFFF; color: #2A41E8 !important; transform: translateY(-1px); }
body.wd-offre .header-widget .log-in-button.text-black,
body.wd-offre .header-widget .log-in-button .text-blue { color: #FFFFFF !important; }
body.wd-offre .header-notifications-trigger a,
body.wd-offre .header-notifications-trigger a i { color: #FFFFFF; }
body.wd-offre .header-notifications-trigger a:hover { background: rgba(255,255,255,.08); }
body.wd-offre .mmenu-trigger { width: 44px; height: 44px; border-radius: 12px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.05); }
body.wd-offre .mmenu-trigger .hamburger-inner,
body.wd-offre .mmenu-trigger .hamburger-inner::before,
body.wd-offre .mmenu-trigger .hamburger-inner::after { background-color: #FFFFFF; }

/* ---------- Page ---------- */
.wdof { position: relative; min-height: 100%; background: #F4F6FB; overflow-x: clip; font-family: 'IBM Plex Sans', Helvetica, Arial, sans-serif; color: #4C5772; -webkit-font-smoothing: antialiased; line-height: normal; }
.wdof *, .wdof *::before, .wdof *::after { box-sizing: border-box; }
.wdof h1, .wdof h2, .wdof h3, .wdof h4 { margin: 0; font-family: 'Space Grotesk', 'IBM Plex Sans', sans-serif; text-transform: none; }
.wdof p, .wdof dl, .wdof dd { margin: 0; }
.wdof a { color: #2A41E8; text-decoration: none; }
.wdof a:hover { color: #1E31C0; }
.wdof button, .wdof input, .wdof select, .wdof textarea { font-family: inherit; }
.wdof button, .wdof a, .wdof input, .wdof select, .wdof textarea {
  transition: transform .18s cubic-bezier(.2,.7,.3,1), box-shadow .18s cubic-bezier(.2,.7,.3,1), background-color .18s ease, border-color .18s ease, color .16s ease, opacity .18s ease;
}
.wdof input::placeholder, .wdof textarea::placeholder { color: #8A96B0; }
.wdof input:focus-visible, .wdof select:focus-visible, .wdof button:focus-visible, .wdof a:focus-visible, .wdof textarea:focus-visible { outline: 2px solid #7E8EFF !important; outline-offset: 2px; }
.wdof select option { color: #0F1836; background: #FFFFFF; }
.wdof [hidden] { display: none !important; }

/* ---------- En-tête de l'offre (sombre) ---------- */
.wdof-hero { position: relative; overflow: hidden; isolation: isolate; background: #070B1E; color: #A9B3D6; }
.wdof-hero-trame {
  position: absolute; z-index: -1; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(80% 80% at 30% 0%, #000 30%, transparent 80%); mask-image: radial-gradient(80% 80% at 30% 0%, #000 30%, transparent 80%);
}
.wdof-hero-halo { position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; filter: blur(10px); }
.wdof-hero-halo-1 { top: -260px; left: -160px; width: 640px; height: 640px; background: radial-gradient(closest-side, rgba(64,85,240,.55), transparent); animation: wdofFloat 16s ease-in-out infinite; }
.wdof-hero-halo-2 { bottom: -280px; right: -200px; width: 620px; height: 620px; background: radial-gradient(closest-side, rgba(139,92,246,.36), transparent); animation: wdofFloat2 19s ease-in-out infinite; }
.wdof-hero-mot {
  position: absolute; z-index: -1; right: -24px; bottom: -44px; font: 700 230px/1 'Space Grotesk', sans-serif; letter-spacing: -.06em;
  color: transparent; -webkit-text-stroke: 1px rgba(159,176,255,.13); white-space: nowrap; pointer-events: none; user-select: none;
  animation: wdofDrift 22s ease-in-out infinite;
}
.wdof-hero-balayage { position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(126,142,255,.8), transparent); animation: wdofScan 6s ease-in-out infinite; }
.wdof-hero-in { position: relative; max-width: 1280px; margin: 0 auto; padding: 30px 32px 48px; }
.wdof-hero-col { max-width: calc(100% - 412px); }

.wdof-ariane { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font: 500 12px 'IBM Plex Mono', monospace; letter-spacing: .04em; color: #8C97BF; }
.wdof .wdof-ariane a { color: #C7CEFF; }
.wdof .wdof-ariane a:hover { color: #FFFFFF; }
.wdof-ariane > span[aria-hidden] { color: #5A6590; }
.wdof-ariane > span[aria-current] { color: #FFFFFF; overflow: hidden; text-overflow: ellipsis; }

.wdof-pastilles { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 8px; animation: wdofRise .5s both; }
.wdof-pastille { display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px; white-space: nowrap; font: 600 12.5px 'IBM Plex Sans', sans-serif; }
.wdof-pastille-ouverte { gap: 8px; background: rgba(18,183,106,.12); border: 1px solid rgba(108,224,168,.3); color: #6CE0A8; }
.wdof-pastille-fermee { gap: 8px; background: rgba(240,68,56,.14); border: 1px solid rgba(255,138,128,.35); color: #FFB4AC; }
.wdof-pastille-neutre { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); color: #C8CEEA; }
.wdof-pastille-bleue { background: rgba(126,142,255,.16); border: 1px solid rgba(126,142,255,.35); color: #DDE2FF; }
.wdof-pastille-ambre { background: rgba(255,184,76,.12); border: 1px solid rgba(255,184,76,.35); color: #FFD08A; }
.wdof-point { display: inline-block; flex-shrink: 0; width: 7px; height: 7px; border-radius: 50%; }
.wdof-point-vert { background: #12B76A; animation: wdofPulseG 2.4s infinite; }
.wdof-point-rouge { background: #F04438; animation: wdofPulseR 2.4s infinite; }

.wdof-h1 { margin-top: 16px !important; display: grid; gap: 10px; animation: wdofRise .6s .04s both; }
.wdof-h1-type {
  justify-self: start; white-space: nowrap; font: 600 12.5px 'IBM Plex Mono', monospace; letter-spacing: .14em; text-transform: uppercase;
  background: linear-gradient(100deg, #B9C3FF 10%, #8B7CFF 60%, #D6C9FF); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.wdof-h1-titre { font: 700 60px/1.03 'Space Grotesk', sans-serif; letter-spacing: -.04em; color: #FFFFFF; text-wrap: balance; overflow-wrap: anywhere; }
.wdof-h1-titre.est-long { font-size: 44px; }

.wdof-qui { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; animation: wdofRise .6s .1s both; }
.wdof-employeur { display: inline-flex; align-items: center; gap: 12px; padding: 8px 16px 8px 8px; border-radius: 18px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); color: #FFFFFF; max-width: 100%; }
.wdof a.wdof-employeur { color: #FFFFFF; }
.wdof a.wdof-employeur:hover { background: rgba(255,255,255,.1); color: #FFFFFF; }
.wdof-employeur-textes { display: grid; gap: 2px; min-width: 0; }
.wdof-employeur-nom { font: 600 16px 'Space Grotesk', sans-serif; overflow-wrap: anywhere; }
.wdof-employeur-sous { font-size: 13px; color: #A9B3D6; }
.wdof-logo {
  flex-shrink: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: 13px; background: #FFFFFF;
  box-shadow: 0 1px 0 rgba(255,255,255,.35) inset, 0 10px 22px -8px rgba(0,0,0,.5);
}
.wdof-logo img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }
.wdof-logo-initiales { font: 700 14px 'Space Grotesk', sans-serif; color: #FFFFFF; }
.wdof-logo-anonyme { background: rgba(255,255,255,.08); border: 1px dashed rgba(255,255,255,.22); color: #9FB0FF; box-shadow: none; }

.wdof-tuiles { margin-top: 26px !important; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; animation: wdofRise .6s .16s both; }
.wdof-tuile {
  padding: 15px 16px; border-radius: 18px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09); display: grid; gap: 5px; align-content: start;
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); transition: background-color .18s ease, border-color .18s ease;
}
.wdof-tuile:hover { background: rgba(255,255,255,.075); border-color: rgba(126,142,255,.38); }
.wdof-tuile dt { font: 500 10.5px 'IBM Plex Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: #9FB0FF; }
.wdof-tuile dd { font: 600 17px/1.25 'Space Grotesk', sans-serif; color: #FFFFFF; overflow-wrap: anywhere; }

/* ---------- Corps : deux colonnes ---------- */
.wdof-corps { max-width: 1280px; margin: 0 auto; padding: 28px 32px 80px; }
.wdof-deux { display: grid; grid-template-columns: minmax(0,1fr) 380px; gap: 32px; align-items: start; }
.wdof-principal { display: grid; gap: 16px; min-width: 0; }
/* Colonne d'action calée sur l'en-tête : 34 px sous son bord haut (hauteur mesurée par le script qui suit l'en-tête). */
.wdof-cote { position: sticky; top: 92px; z-index: 5; margin-top: calc(-1 * (var(--wdof-hero-h, 0px) - 6px)); display: grid; gap: 12px; }

.wdof-bandeau-ferme {
  position: relative; overflow: hidden; isolation: isolate; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; padding: 20px;
  border-radius: 22px; background: linear-gradient(135deg, #FFF3F2, #FFE4E1); border: 1px solid #F9C6C0;
}
.wdof-bandeau-halo { position: absolute; z-index: -1; right: -60px; top: -80px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(closest-side, rgba(240,68,56,.16), transparent); }
.wdof-bandeau-icone { flex-shrink: 0; width: 46px; height: 46px; border-radius: 14px; background: #FFFFFF; border: 1px solid #F9C6C0; color: #D92D20; display: flex; align-items: center; justify-content: center; }
.wdof-bandeau-textes { flex: 1 1 260px; display: grid; gap: 3px; }
.wdof-bandeau-textes strong { font: 600 17px 'Space Grotesk', sans-serif; color: #912018; }
.wdof-bandeau-textes span { font-size: 14.5px; line-height: 1.5; color: #912018; }
.wdof .wdof-bandeau-bouton {
  display: inline-flex; align-items: center; gap: 9px; min-height: 48px; padding: 0 18px; border-radius: 14px;
  background: linear-gradient(135deg, #4F63FF, #7B5CFF); color: #FFFFFF; font: 600 15px 'Space Grotesk', sans-serif; box-shadow: 0 12px 26px rgba(79,99,255,.35);
}
.wdof .wdof-bandeau-bouton:hover { transform: translateY(-2px); color: #FFFFFF; }

.wdof-apporteur { display: flex; gap: 14px; align-items: flex-start; padding: 18px; border-radius: 20px; background: #FFF7E8; border: 1px solid #FFE1A8; color: #6E4700; }
.wdof-apporteur-icone { flex-shrink: 0; width: 38px; height: 38px; border-radius: 12px; background: #FFE9C2; display: flex; align-items: center; justify-content: center; }
.wdof-apporteur-textes { display: grid; gap: 4px; font-size: 14.5px; line-height: 1.55; }
.wdof-apporteur-titre { font: 600 16px 'Space Grotesk', sans-serif; }

.wdof-carte {
  position: relative; overflow: hidden; isolation: isolate; padding: clamp(20px, 2.8vw, 32px); border-radius: 26px; background: #FFFFFF;
  border: 1px solid #E6EAF4; display: grid; gap: 16px;
}
.wdof-desc-carte { gap: 18px; box-shadow: 0 16px 36px rgba(16,24,48,.05); }
.wdof-carte-halo { position: absolute; z-index: -1; right: -90px; top: -120px; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(closest-side, rgba(64,85,240,.12), transparent); }
.wdof-titre-bloc { display: grid; gap: 4px; }
.wdof-sur-titre { font: 500 10.5px 'IBM Plex Mono', monospace; letter-spacing: .14em; text-transform: uppercase; color: #2A41E8; }
.wdof-titre-bloc h2 { font: 700 24px/1.15 'Space Grotesk', sans-serif; letter-spacing: -.025em; color: #0F1836; }
.wdof-desc-carte .wdof-titre-bloc h2 { font-size: 26px; }
.wdof-titre-bloc h3 { font: 700 22px/1.15 'Space Grotesk', sans-serif; letter-spacing: -.02em; color: #0F1836; }

/* Description : HTML de l'offre, nettoyé par liste blanche (p, listes, gras, titres, liens, tableaux). */
.wdof-desc { position: relative; }
.wdof-desc.est-repliee { max-height: 640px; overflow: hidden; }
.wdof-desc-fondu { display: none; position: absolute; left: 0; right: 0; bottom: 0; height: 180px; background: linear-gradient(180deg, rgba(255,255,255,0), #FFFFFF 88%); pointer-events: none; }
.wdof-desc.est-repliee .wdof-desc-fondu { display: block; }
.wdof-desc .job-desc-content-public { font-size: 16.5px; line-height: 1.72; color: #1D2742; text-wrap: pretty; overflow-wrap: anywhere; }
.wdof-desc .job-desc-content-public p { margin: 0 0 14px; font-size: 16.5px; line-height: 1.72; color: #1D2742; }
.wdof-desc .job-desc-content-public strong, .wdof-desc .job-desc-content-public b { font-weight: 600; color: #0F1836; }
.wdof-desc .job-desc-content-public h2, .wdof-desc .job-desc-content-public h3, .wdof-desc .job-desc-content-public h4 {
  margin: 8px 0 14px; font: 600 18px/1.35 'Space Grotesk', sans-serif; letter-spacing: -.01em; color: #0F1836;
}
.wdof-desc .job-desc-content-public ul { margin: 0 0 14px; padding: 0; list-style: none; display: grid; gap: 9px; }
.wdof-desc .job-desc-content-public ul > li { position: relative; padding-left: 20px; font-size: 16px; line-height: 1.62; color: #1D2742; }
.wdof-desc .job-desc-content-public ul > li::before {
  content: ''; position: absolute; left: 0; top: 9px; width: 7px; height: 7px; border-radius: 2px;
  background: linear-gradient(135deg, #4F63FF, #8B7CFF); transform: rotate(45deg);
}
.wdof-desc .job-desc-content-public ol { margin: 0 0 14px; padding-left: 22px; display: grid; gap: 9px; }
.wdof-desc .job-desc-content-public ol > li { font-size: 16px; line-height: 1.62; color: #1D2742; padding-left: 4px; }
.wdof-desc .job-desc-content-public ol > li::marker { font: 600 14px 'IBM Plex Mono', monospace; color: #2A41E8; }
.wdof-desc .job-desc-content-public li > ul, .wdof-desc .job-desc-content-public li > ol { margin: 9px 0 0; }
.wdof-desc .job-desc-content-public a { color: #2A41E8; text-decoration: underline; text-underline-offset: 2px; }
.wdof-desc .job-desc-content-public table { width: 100%; border-collapse: collapse; margin: 0 0 14px; font-size: 15px; display: block; overflow-x: auto; }
.wdof-desc .job-desc-content-public th, .wdof-desc .job-desc-content-public td { padding: 8px 10px; border: 1px solid #E6EAF4; text-align: left; vertical-align: top; }
.wdof-desc .job-desc-content-public blockquote { margin: 0 0 14px; padding: 10px 16px; border-left: 3px solid #CBD3FF; background: #F7F9FD; border-radius: 0 12px 12px 0; }
.wdof-desc .job-desc-content-public hr { border: 0; border-top: 1px dashed #E3E7F2; margin: 16px 0; }
.wdof-desc .job-desc-content-public > :last-child { margin-bottom: 0; }
/* Un <br> laissé par la source juste après un paragraphe, une liste, un titre ou un tableau ajoutait une ligne vide en plus
   de la marge : masqué (l'écart entre deux blocs reste celui de la maquette, 14 px). Après un <div>, il est gardé : les
   sources qui écrivent une ligne par <div> s'en servent comme ligne vide. */
.wdof-desc .job-desc-content-public :is(p, ul, ol, h2, h3, h4, table, blockquote, hr, dl) + br { display: none; }
.wdof-plus {
  justify-self: start; display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 0 16px; border-radius: 13px;
  border: 1px solid #DCE2FF; background: #F3F5FF; color: #1E31C0; font: 600 14.5px 'Space Grotesk', sans-serif; cursor: pointer;
}
.wdof-plus:hover { background: #E8ECFF; transform: translateY(-1px); }
.wdof-plus[aria-expanded="true"] svg { transform: rotate(180deg); }
.wdof-sans-desc { padding: 16px; border-radius: 16px; background: #F4F6FB; font-size: 15px; color: #5A6685; }
.wdof-source { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 14px; border-top: 1px dashed #E3E7F2; font: 500 12px 'IBM Plex Mono', monospace; color: #5A6685; }
.wdof-source-point { flex-shrink: 0; width: 6px; height: 6px; border-radius: 50%; background: #2A41E8; }
.wdof-source-texte { flex: 1 1 0; min-width: 0; }

/* Coordonnées du recruteur (choix de l'entreprise, offre ouverte) : codées, révélées au clic. */
.wdof-bouton-doux {
  justify-self: start; display: inline-flex; align-items: center; gap: 9px; min-height: 46px; padding: 0 18px; border-radius: 14px;
  border: 1px solid #DCE2FF; background: #F3F5FF; color: #1E31C0; font: 600 14.5px 'Space Grotesk', sans-serif; cursor: pointer;
}
.wdof-bouton-doux:hover { background: #E8ECFF; transform: translateY(-1px); }
.wdof-coordonnees-lignes { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.wdof-coordonnee { display: inline-flex; align-items: center; gap: 9px; font: 600 16px 'Space Grotesk', sans-serif; color: #0F1836; overflow-wrap: anywhere; }

/* Formations utiles */
.wdof-grille-formations { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 12px; }
.wdof .wdof-formation {
  position: relative; display: flex; flex-direction: column; gap: 12px; padding: 16px; border-radius: 18px;
  background: linear-gradient(180deg, #FAFBFE, #F4F6FC); border: 1px solid #EAEEF7; color: #0F1836;
}
.wdof .wdof-formation:hover { border-color: #CBD3FF; color: #0F1836; transform: translateY(-2px); box-shadow: 0 16px 30px -14px rgba(42,65,232,.35); }
.wdof-formation-cpf { align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: #EEF1FF; border: 1px solid #DCE2FF; font: 600 11.5px 'IBM Plex Sans', sans-serif; color: #1E31C0; }
.wdof-formation h3 {
  font: 600 16px/1.32 'Space Grotesk', sans-serif; letter-spacing: -.01em; color: #0F1836;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.wdof-formation-bas { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 12px; border-top: 1px dashed #E3E7F2; font-size: 13px; color: #33405C; }
.wdof-formation-lieu { display: inline-flex; align-items: center; gap: 6px; min-width: 0; }
.wdof-formation-lieu > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wdof-formation-lieu svg { flex-shrink: 0; }
.wdof-formation-plus { flex-shrink: 0; font: 600 13px 'Space Grotesk', sans-serif; color: #2A41E8; }
.wdof-mention { font-size: 12px; line-height: 1.55; color: #5A6685; }

/* Offres similaires */
.wdof-similaires { display: grid; gap: 14px; margin-top: 8px; }
.wdof-similaires-tete { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px; }
.wdof .wdof-lien-fort { font: 600 14px 'Space Grotesk', sans-serif; }
.wdof-similaires-sous { margin-top: 6px !important; font: 500 10.5px 'IBM Plex Mono', monospace; letter-spacing: .14em; text-transform: uppercase; color: #5A6685; }
.wdof-grille-similaires { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 12px; }
.wdof .wdof-similaire {
  position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 12px; padding: 18px; border-radius: 22px; background: #FFFFFF;
  border: 1px solid #E6EAF4; box-shadow: 0 1px 2px rgba(16,24,48,.04), 0 6px 20px rgba(16,24,48,.05); color: #0F1836;
}
.wdof .wdof-similaire:hover { border-color: #C2CDFA; color: #0F1836; transform: translateY(-3px); box-shadow: 0 20px 44px rgba(16,24,48,.11); }
.wdof-similaire-trait { position: absolute; left: 0; top: 18px; bottom: 18px; width: 3px; border-radius: 0 3px 3px 0; background: linear-gradient(180deg, #4F63FF, #8B7CFF); }
.wdof-similaire-haut { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.wdof-similaire-qui { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.wdof-similaire-qui .wdof-logo { border-radius: 12px; box-shadow: none; }
.wdof-similaire-nom { font: 600 14px 'Space Grotesk', sans-serif; color: #33405C; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wdof-similaire-contrat { flex-shrink: 0; padding: 4px 10px; border-radius: 999px; background: #F2F7FF; border: 1px solid #D5E3FF; font-size: 12px; font-weight: 700; color: #1245C8; }
.wdof-similaire h3 {
  font: 600 16.5px/1.3 'Space Grotesk', sans-serif; letter-spacing: -.015em; color: #0F1836;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.wdof-similaire-bas { margin-top: auto; display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; padding-top: 12px; border-top: 1px dashed #E3E7F2; }
.wdof-similaire-lieu { display: inline-flex; align-items: center; gap: 6px; min-width: 0; font-size: 13.5px; color: #33405C; }
.wdof-similaire-lieu svg { flex-shrink: 0; }
.wdof-similaire-lieu > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wdof-similaire-montant {
  font: 700 15px 'Space Grotesk', sans-serif; letter-spacing: -.02em; white-space: nowrap;
  background: linear-gradient(140deg, #1E31C0, #6B5CF0); -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* Alerte (visiteurs) */
.wdof-alerte {
  position: relative; overflow: hidden; isolation: isolate; margin-top: 8px; padding: clamp(22px, 3vw, 34px); border-radius: 26px;
  background: radial-gradient(120% 160% at 100% 0%, #2A3BB8 0%, #111A52 45%, #070B1E 100%); color: #C8CEEA;
  display: flex; flex-wrap: wrap; gap: 20px; align-items: center; justify-content: space-between; box-shadow: 0 30px 60px rgba(10,16,48,.2);
}
.wdof-alerte-points {
  position: absolute; z-index: -1; inset: 0; background-image: radial-gradient(rgba(200,210,255,.25) 1px, transparent 1.3px); background-size: 20px 20px;
  -webkit-mask-image: radial-gradient(60% 90% at 100% 0%, #000, transparent 75%); mask-image: radial-gradient(60% 90% at 100% 0%, #000, transparent 75%);
}
.wdof-alerte-textes { display: grid; gap: 8px; flex: 1 1 320px; max-width: 600px; font-size: 14.5px; line-height: 1.55; }
.wdof-alerte-sur { display: inline-flex; align-items: center; gap: 9px; font: 500 11px 'IBM Plex Mono', monospace; letter-spacing: .14em; text-transform: uppercase; color: #9FB0FF; }
.wdof-alerte-titre { font: 700 clamp(21px, 2.4vw, 27px)/1.2 'Space Grotesk', sans-serif; letter-spacing: -.025em; color: #FFFFFF; text-wrap: balance; overflow-wrap: anywhere; }
.wdof .wdof-alerte-bouton {
  display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 22px; border-radius: 15px; background: #FFFFFF; color: #0A1030;
  font: 600 15.5px 'Space Grotesk', sans-serif; white-space: nowrap; box-shadow: 0 16px 34px rgba(0,0,0,.3);
}
.wdof .wdof-alerte-bouton:hover { color: #2A41E8; transform: translateY(-2px); }

/* ---------- Colonne d'action ---------- */
.wdof-action { overflow: hidden; border-radius: 26px; background: #FFFFFF; border: 1px solid #E1E6F2; box-shadow: 0 30px 60px -20px rgba(16,24,48,.32); animation: wdofRise .6s .12s both; }
.wdof-montant {
  position: relative; overflow: hidden; isolation: isolate; padding: 22px; display: grid; gap: 6px;
  background: radial-gradient(120% 160% at 100% 0%, #3446D8 0%, #141E5C 50%, #0A1030 100%);
}
.wdof-montant-balayage { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, transparent, rgba(126,142,255,.16), transparent); animation: wdofScan 4.5s ease-in-out infinite; }
.wdof-montant-points {
  position: absolute; z-index: -1; inset: 0; background-image: radial-gradient(rgba(200,210,255,.22) 1px, transparent 1.3px); background-size: 18px 18px;
  -webkit-mask-image: radial-gradient(70% 100% at 100% 0%, #000, transparent 70%); mask-image: radial-gradient(70% 100% at 100% 0%, #000, transparent 70%);
}
.wdof-montant-libelle { font: 500 10.5px 'IBM Plex Mono', monospace; letter-spacing: .14em; text-transform: uppercase; color: #9FB0FF; }
.wdof-montant-valeur {
  font: 700 44px/1 'Space Grotesk', sans-serif; letter-spacing: -.045em; overflow-wrap: anywhere;
  background: linear-gradient(120deg, #FFFFFF 35%, #B9C3FF); -webkit-background-clip: text; background-clip: text; color: transparent;
}
.wdof-montant-selon { font: 700 30px/1.05 'Space Grotesk', sans-serif; letter-spacing: -.035em; color: #FFFFFF; }
.wdof-montant-note { font-size: 13px; color: #C7CEFF; }
.wdof-montant-ligne { margin-top: 8px; padding-top: 10px; border-top: 1px solid rgba(255,255,255,.12); display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.wdof-montant-ligne-l { font: 500 10.5px 'IBM Plex Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: #9FB0FF; }
.wdof-montant-ligne-v { font: 700 19px 'Space Grotesk', sans-serif; letter-spacing: -.02em; color: #FFFFFF; text-align: right; }
.wdof-montant-ligne-d { font: 600 16px 'Space Grotesk', sans-serif; color: #FFFFFF; text-align: right; }

.wdof-action-corps { padding: 20px; display: grid; gap: 14px; }
.wdof .wdof-cta {
  width: 100%; min-height: 58px; display: flex; align-items: center; justify-content: center; gap: 10px; border: 0; border-radius: 16px; cursor: pointer;
  background: linear-gradient(135deg, #4F63FF, #7B5CFF); color: #FFFFFF; font: 600 17px 'Space Grotesk', sans-serif; text-align: center;
  box-shadow: 0 14px 30px rgba(79,99,255,.4); padding: 0 16px;
}
.wdof .wdof-cta:hover { transform: translateY(-2px); color: #FFFFFF; box-shadow: 0 18px 36px rgba(79,99,255,.5); }
.wdof .wdof-cta.wdof-cta-54 { min-height: 54px; font-size: 16px; box-shadow: 0 14px 30px rgba(79,99,255,.35); }
.wdof-action-corps form { margin: 0; }
.wdof .wdof-bouton-second {
  width: 100%; min-height: 46px; display: flex; align-items: center; justify-content: center; border-radius: 14px; border: 1px solid #DCE2FF;
  background: #FFFFFF; color: #1E31C0; font: 600 14.5px 'Space Grotesk', sans-serif; cursor: pointer; text-align: center; padding: 0 14px;
}
.wdof .wdof-bouton-second:hover { background: #F3F5FF; color: #1E31C0; }
.wdof .wdof-bouton-neutre { border-color: #E1E6F2; color: #33405C; }
.wdof .wdof-bouton-neutre:hover { background: #F4F6FB; color: #33405C; }
.wdof .wdof-bouton-contour {
  width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 14px; border: 1.5px solid #2A41E8;
  background: #FFFFFF; color: #2A41E8; font: 600 15px 'Space Grotesk', sans-serif; cursor: pointer; text-align: center; padding: 0 14px;
}
.wdof .wdof-bouton-contour:hover { background: #F3F5FF; color: #2A41E8; }
.wdof-note { font-size: 13px; line-height: 1.5; color: #5A6685; text-align: center; }
.wdof-note-ok { font-size: 13.5px; color: #085D3A; }
.wdof .wdof-lien-centre { text-align: center; font: 600 14px 'Space Grotesk', sans-serif; }
.wdof-statut-ok { display: flex; gap: 12px; align-items: center; padding: 14px; border-radius: 16px; background: #ECFDF3; border: 1px solid #ABEFC6; }
.wdof-statut-ok-icone { flex-shrink: 0; width: 40px; height: 40px; border-radius: 12px; background: #12B76A; color: #FFFFFF; display: flex; align-items: center; justify-content: center; }
.wdof-statut-ok .wdof-statut-titre { color: #054F31; }
.wdof-statut-ok .wdof-statut-textes > span:last-child { color: #085D3A; }
.wdof-statut-textes { display: grid; gap: 2px; min-width: 0; font-size: 13.5px; color: #4C5772; }
.wdof-statut-titre { font: 600 15.5px 'Space Grotesk', sans-serif; color: #0F1836; }
.wdof-statut-info { display: flex; gap: 12px; align-items: center; padding: 14px; border-radius: 16px; background: #F3F5FF; border: 1px solid #DCE2FF; }
.wdof-statut-info-icone { flex-shrink: 0; width: 40px; height: 40px; border-radius: 12px; background: #0A1030; color: #FFFFFF; display: flex; align-items: center; justify-content: center; }
.wdof-statut-ferme { display: flex; gap: 12px; align-items: center; padding: 14px; border-radius: 16px; background: #FFF3F2; border: 1px solid #F9C6C0; }
.wdof-statut-ferme-point { width: 10px; height: 10px; margin: 0 6px; }
.wdof-statut-ferme .wdof-statut-textes { flex: 1; }
.wdof-statut-ferme .wdof-statut-titre, .wdof-statut-ferme .wdof-statut-textes > span:last-child { color: #912018; }
.wdof-proposes { display: grid; gap: 10px; padding: 14px; border-radius: 16px; background: #ECFDF3; border: 1px solid #ABEFC6; }
.wdof-proposes-titre { font: 500 10.5px 'IBM Plex Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: #067647; }
.wdof-propose { display: flex; gap: 10px; align-items: center; font-size: 14px; color: #054F31; }
.wdof-garanties { display: grid; gap: 8px; padding-top: 12px; border-top: 1px dashed #E3E7F2; font-size: 14px; color: #33405C; }
.wdof-garanties > span { display: flex; align-items: center; gap: 10px; }
.wdof-garanties svg { flex-shrink: 0; }
.wdof-partage { display: grid; gap: 8px; }
.wdof-partage-titre { font: 500 10.5px 'IBM Plex Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: #5A6685; }
.wdof-partage-boutons { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.wdof .wdof-partage-boutons > a, .wdof .wdof-partage-boutons > button {
  min-height: 46px; display: flex; align-items: center; justify-content: center; gap: 7px; border-radius: 13px; border: 1px solid #E1E6F2;
  background: #FFFFFF; font: 600 13px 'IBM Plex Sans', sans-serif; cursor: pointer; padding: 0 6px;
}
.wdof .wdof-partage-linkedin { color: #0A66C2; }
.wdof .wdof-partage-linkedin:hover { background: #0A66C2; border-color: #0A66C2; color: #FFFFFF; transform: translateY(-1px); }
.wdof .wdof-partage-whatsapp { color: #178A45; }
.wdof .wdof-partage-whatsapp:hover { background: #25D366; border-color: #25D366; color: #FFFFFF; transform: translateY(-1px); }
.wdof .wdof-partage-copier { color: #33405C; }
.wdof .wdof-partage-copier:hover { background: #0A1030; border-color: #0A1030; color: #FFFFFF; transform: translateY(-1px); }
.wdof-favori {
  min-height: 46px; display: flex; align-items: center; justify-content: center; gap: 9px; border-radius: 14px; border: 1px solid #E1E6F2;
  background: #FFFFFF; color: #33405C; font: 600 14.5px 'Space Grotesk', sans-serif; cursor: pointer;
}
.wdof-favori:hover { border-color: #FDE68A; background: #FFFBEB; color: #92400E; }
.wdof-favori.est-actif { border-color: #FDE68A; background: #FFFBEB; color: #92400E; }
.wdof-favori.est-actif svg { fill: #F5B300; stroke: #D97706; }
.wdof-favori:disabled { opacity: .7; cursor: progress; }

.wdof .wdof-societe { display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 20px; background: #FFFFFF; border: 1px solid #E6EAF4; color: #0F1836; }
.wdof .wdof-societe:hover { border-color: #CBD3FF; color: #0F1836; transform: translateY(-1px); }
.wdof-societe .wdof-logo { box-shadow: none; border: 1px solid #E6EAF4; }
.wdof-societe-textes { flex: 1; min-width: 0; display: grid; font-size: 12.5px; color: #5A6685; }
.wdof-societe-nom { font: 600 14.5px 'Space Grotesk', sans-serif; color: #0F1836; overflow-wrap: anywhere; }

/* ---------- Barre du bas (mobile, après défilement) ---------- */
.wdof-barre {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; padding: 10px 14px calc(12px + env(safe-area-inset-bottom));
  background: rgba(255,255,255,.94); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-top: 1px solid #E6EAF4;
  box-shadow: 0 -14px 30px rgba(16,24,48,.1); display: flex; align-items: center; gap: 12px; animation: wdofSheet .3s cubic-bezier(.2,.8,.2,1) both;
}
.wdof-barre-montant { min-width: 0; display: grid; gap: 1px; }
.wdof-barre-valeur { font: 700 18px/1.1 'Space Grotesk', sans-serif; letter-spacing: -.03em; color: #0F1836; white-space: nowrap; }
.wdof-barre-libelle { font-size: 12px; color: #5A6685; white-space: nowrap; }
.wdof .wdof-barre-cta {
  flex: 1; min-height: 50px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 14px; cursor: pointer;
  background: linear-gradient(135deg, #4F63FF, #7B5CFF); color: #FFFFFF; font: 600 15.5px 'Space Grotesk', sans-serif; text-align: center; padding: 4px 10px; line-height: 1.15;
  text-wrap: balance;
}
.wdof .wdof-barre-cta:hover { color: #FFFFFF; }
.wdof-barre-fait { flex: 1; min-height: 50px; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 14px; background: #ECFDF3; border: 1px solid #ABEFC6; color: #067647; font: 600 15px 'Space Grotesk', sans-serif; }
.wdof-barre-partage { width: 50px; height: 50px; flex-shrink: 0; border-radius: 14px; border: 1px solid #E1E6F2; background: #FFFFFF; color: #33405C; display: flex; align-items: center; justify-content: center; cursor: pointer; }

/* ---------- Fenêtres ---------- */
html.wdof-fenetre-ouverte { overflow: hidden; }
.wdof-voile {
  position: fixed; inset: 0; z-index: 1200; background: rgba(7,11,30,.62); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  display: flex; justify-content: center; align-items: center; padding: 24px; animation: wdofFade .2s both;
}
.wdof-fenetre {
  width: 100%; max-width: 520px; max-height: calc(100vh - 48px); overflow: auto; border-radius: 26px; background: #FFFFFF;
  box-shadow: 0 40px 90px rgba(0,0,0,.45); animation: wdofSheet .32s cubic-bezier(.2,.8,.2,1) both;
}
.wdof-fenetre-tete {
  position: relative; overflow: hidden; isolation: isolate; padding: 22px 22px 20px; display: flex; align-items: flex-start; gap: 14px;
  background: radial-gradient(120% 160% at 100% 0%, #3446D8 0%, #141E5C 50%, #0A1030 100%);
}
.wdof-fenetre-points {
  position: absolute; z-index: -1; inset: 0; background-image: radial-gradient(rgba(200,210,255,.2) 1px, transparent 1.3px); background-size: 18px 18px;
  -webkit-mask-image: radial-gradient(70% 100% at 100% 0%, #000, transparent 70%); mask-image: radial-gradient(70% 100% at 100% 0%, #000, transparent 70%);
}
.wdof-fenetre-titres { flex: 1; min-width: 0; display: grid; gap: 5px; }
.wdof-fenetre-sur { font: 500 10.5px 'IBM Plex Mono', monospace; letter-spacing: .12em; text-transform: uppercase; color: #9FB0FF; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wdof-fenetre-titre { font: 700 23px/1.15 'Space Grotesk', sans-serif; letter-spacing: -.025em; color: #FFFFFF; }
.wdof-fenetre-fermer { flex-shrink: 0; width: 40px; height: 40px; border-radius: 12px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); color: #FFFFFF; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.wdof-fenetre-fermer:hover { background: rgba(255,255,255,.14); }
.wdof-fenetre-corps { padding: 22px; display: grid; gap: 16px; margin: 0; }
.wdof-fenetre-texte { font-size: 14.5px; line-height: 1.5; color: #4C5772; }
.wdof-fenetre-texte-fort { font-size: 15px; line-height: 1.6; color: #1D2742; }
.wdof-fenetre-texte-fort strong { color: #0F1836; }
.wdof-fenetre-liste { display: grid; gap: 8px; padding: 14px; border-radius: 16px; background: #F4F6FB; font-size: 14px; color: #33405C; }
.wdof-fenetre-liste > span { display: flex; align-items: center; gap: 10px; }
.wdof-fenetre-liste svg { flex-shrink: 0; }
.wdof-champ { display: grid !important; gap: 7px; margin: 0; }
.wdof-champ-question { display: flex; gap: 10px; align-items: baseline; font: 600 14.5px 'Space Grotesk', sans-serif; color: #0F1836; }
.wdof-champ-numero { font: 600 11px 'IBM Plex Mono', monospace; color: #2A41E8; }
.wdof .wdof-champ textarea, .wdof .wdof-champ select {
  width: 100%; min-height: 52px; height: auto; margin: 0; padding: 13px 15px; border-radius: 14px; border: 1px solid #DCE2EE; background: #F7F9FD;
  font: 500 15px 'IBM Plex Sans', sans-serif; line-height: 1.45; color: #0F1836; outline: none; resize: vertical; box-shadow: none;
}
.wdof .wdof-champ select { appearance: auto; resize: none; }
.wdof .wdof-champ textarea:focus, .wdof .wdof-champ select:focus { border-color: #7E8EFF; background: #FFFFFF; }
.wdof .wdof-champ .est-erreur { border-color: #F04438; background: #FFF6F5; }
.wdof-champ-erreur { font-size: 13px; font-weight: 600; color: #B42318; }
.wdof-feuille-partage { padding: 16px; gap: 8px; }
.wdof .wdof-feuille-partage > a, .wdof .wdof-feuille-partage > button {
  min-height: 56px; display: flex; align-items: center; gap: 14px; padding: 0 16px; border-radius: 16px; border: 1px solid #E1E6F2;
  background: #FFFFFF; color: #0F1836; font: 600 15.5px 'Space Grotesk', sans-serif; cursor: pointer; text-align: left;
}
.wdof-feuille-icone { width: 36px; height: 36px; flex-shrink: 0; border-radius: 11px; color: #FFFFFF; display: flex; align-items: center; justify-content: center; }

.wdof-toast {
  position: fixed; top: 86px; left: 50%; transform: translateX(-50%); z-index: 1250; display: flex; align-items: center; gap: 10px; padding: 12px 18px;
  border-radius: 14px; background: #0A1030; color: #FFFFFF; font: 600 14.5px 'Space Grotesk', sans-serif; box-shadow: 0 20px 44px rgba(0,0,0,.35);
  white-space: nowrap; max-width: calc(100vw - 24px); animation: wdofRise .3s both;
}
.wdof-toast > span:last-child { overflow: hidden; text-overflow: ellipsis; }
.wdof-toast-coche { width: 22px; height: 22px; flex-shrink: 0; border-radius: 50%; background: #12B76A; display: flex; align-items: center; justify-content: center; }

/* ---------- Grand écran moyen : tuiles en 2 colonnes sous 1 180 px ---------- */
@media (max-width: 1179px) {
  .wdof-tuiles { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

/* ---------- Mobile (< 900 px) ---------- */
@media (max-width: 899px) {
  .wdof-hero-in { padding: 20px 16px 48px; }
  .wdof-hero-col { max-width: none; }
  .wdof-ariane { flex-wrap: nowrap; white-space: nowrap; overflow: hidden; }
  .wdof-hero-mot { font-size: 96px; bottom: -18px; }
  .wdof-h1-titre { font-size: 36px; }
  .wdof-h1-titre.est-long { font-size: 28px; }
  .wdof-tuiles { margin-top: 18px !important; gap: 8px; }
  .wdof-tuile { padding: 12px 13px; }
  .wdof-tuile dd { font-size: 15px; }
  .wdof-montant-valeur { font-size: 38px; }
  .wdof-corps { padding: 0 16px 120px; }
  .wdof-deux { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .wdof-cote { order: -1; position: relative; top: auto; margin-top: -26px; }
  .wdof-societe { display: none !important; }
  .wdof-grille-formations, .wdof-grille-similaires { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
  .wdof-voile { align-items: flex-end; padding: 0; }
  .wdof-fenetre { max-width: 100%; max-height: 92%; border-radius: 26px 26px 0 0; }
  .wdof-toast { white-space: normal; }
}
@media (min-width: 900px) {
  .wdof-barre { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .wdof *, .wdof *::before, .wdof *::after { animation: none !important; transition: none !important; }
}
