/* =====================================================================
   WorkDispo — page d'accueil 2026 (maquette « Accueil WorkDispo 2026 »)
   Feuille dédiée à templates/page/home.html.twig. Toutes les règles sont
   portées par des classes wd26-* ou par body.wd26-home : aucune autre page
   n'est touchée. Le thème Hireo (style.min.css) reste chargé pour l'en-tête,
   le pied de page, les modales et la recherche (bootstrap-select).
   ===================================================================== */

/* ---------- Jetons ---------- */
.wd26-home {
  --wd-ink: #0F1836;
  --wd-ink-2: #33405C;
  --wd-text: #4C5772;
  --wd-muted: #5A6685;
  --wd-muted-2: #8A96B0;
  --wd-blue: #2A41E8;
  --wd-blue-dark: #1E31C0;
  --wd-line: #E4E8F2;
  --wd-line-2: #E7EBF4;
  --wd-bg-soft: #F7F9FD;
  --wd-bg-blue: #F3F6FF;
  --wd-navy: #111A33;
  --wd-font-head: 'Space Grotesk', 'IBM Plex Sans', Helvetica, Arial, sans-serif;
  --wd-font-body: 'IBM Plex Sans', HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --wd-shadow-card: 0 1px 2px rgba(16,24,48,.04), 0 8px 26px rgba(16,24,48,.05);
  --wd-shadow-card-hover: 0 1px 2px rgba(16,24,48,.04), 0 22px 48px rgba(16,24,48,.12);
  --wd-ease: cubic-bezier(.2,.7,.3,1);
}

body.wd26-home {
  background: #fff;
  color: var(--wd-text);
  font-family: var(--wd-font-body);
  -webkit-font-smoothing: antialiased;
}
.wd26-home .wd26 *, .wd26-home .wd26 *::before, .wd26-home .wd26 *::after { box-sizing: border-box; }
.wd26-home .wd26 h1, .wd26-home .wd26 h2, .wd26-home .wd26 h3, .wd26-home .wd26 h4 {
  color: var(--wd-ink); margin: 0; font-family: var(--wd-font-head); line-height: 1.2;
}
.wd26-home .wd26 p { margin: 0; }
.wd26-home .wd26 a { color: var(--wd-blue); text-decoration: none; transition: transform .18s var(--wd-ease), box-shadow .18s var(--wd-ease), background-color .18s ease, border-color .18s ease, color .16s ease; }
.wd26-home .wd26 a:hover { color: var(--wd-blue-dark); }
.wd26-home .wd26 button, .wd26-home .wd26 input, .wd26-home .wd26 select { font-family: inherit; }
.wd26-home .wd26 input::placeholder { color: var(--wd-muted-2); }
.wd26-home .wd26 :is(input, select, button, a):focus-visible { outline: 2px solid var(--wd-blue); outline-offset: 2px; }
.wd26-home .wd26 img { max-width: 100%; height: auto; }
.wd26-accent { color: var(--wd-blue); }

/* Titres de section (mêmes h2 qu'avant, restylés) */
.wd26-home .wd26 .wd26-h2 {
  font-size: clamp(25px, 2.9vw, 34px); font-weight: 700; letter-spacing: -.025em; line-height: 1.2; text-wrap: balance;
}
.wd26-home .wd26 .wd26-h2--center { text-align: center; }
.wd26-wrap { max-width: 1200px; margin: 0 auto; padding-left: 20px; padding-right: 20px; }

/* Grilles et cartes communes */
.wd26-grid { display: grid; gap: 18px; }
.wd26-grid--4 { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.wd26-grid--3 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.wd26-grid--3w { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
@media (min-width: 1000px) {
  .wd26-grid--4 { grid-template-columns: repeat(4, 1fr); }
  .wd26-grid--3, .wd26-grid--3w { grid-template-columns: repeat(3, 1fr); }
}

/* Boutons */
.wd26-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 12px 20px; border-radius: 12px; border: 0; cursor: pointer;
  font-family: var(--wd-font-head); font-size: 14.5px; font-weight: 600; line-height: 1.2; white-space: nowrap;
}
.wd26-btn--primary {
  color: #fff !important; background: linear-gradient(180deg, #4055F0, #2436CE);
  box-shadow: 0 1px 0 rgba(255,255,255,.28) inset, 0 8px 20px rgba(42,65,232,.34);
}
.wd26-btn--primary:hover { background: linear-gradient(180deg, #2F45E4, #1B2BB5); transform: translateY(-1px); box-shadow: 0 1px 0 rgba(255,255,255,.28) inset, 0 12px 26px rgba(42,65,232,.4); }
.wd26-btn--ghost {
  color: var(--wd-blue) !important; background: var(--wd-bg-blue); border: 1px solid #C6D1FA; padding: 10px 16px;
  box-shadow: 0 1px 2px rgba(42,65,232,.06);
}
.wd26-btn--ghost:hover { border-color: var(--wd-line); color: var(--wd-ink-2) !important; background: #fff; transform: translateY(-1px); box-shadow: 0 8px 18px rgba(16,24,48,.10); }

/* ---------- En-tête (thème Hireo, surcharge scopée) ---------- */
body.wd26-home #header-container {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(255,255,255,.9); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  box-shadow: 0 1px 0 rgba(16,24,48,.05), 0 10px 28px rgba(16,24,48,.05);
}
body.wd26-home #header { background: transparent; box-shadow: none; font-family: var(--wd-font-head); }
body.wd26-home #header .right-side { background: transparent; }
body.wd26-home #logo { padding-right: 12px; margin-right: 8px; }
/* Boutons de droite aérés (8 px, 11 px à partir de 1 400 px) tout en tenant à 1 280 px sans chevaucher le menu. */
body.wd26-home .header-widget { padding: 0 8px !important; margin-left: 0; }
@media (min-width: 1400px) { body.wd26-home .header-widget { padding: 0 11px !important; } }
/* Ordre de la maquette : « Se connecter » puis « S'inscrire » tout à droite. Le thème flotte déjà le dernier widget (connexion) à droite ;
   on flotte aussi celui de l'inscription, qui le précède dans le HTML et se place donc à sa droite. */
body.wd26-home .header-widget:last-of-type { margin-right: 0; padding-right: 8px !important; }
@media (min-width: 1400px) { body.wd26-home .header-widget:last-of-type { padding-right: 11px !important; } }
body.wd26-home .header-widget:has(> a.log-in-button[href$="/inscription"]) { float: right; margin-right: 0; padding-right: 0 !important; }
body.wd26-home #navigation > ul > li > a {
  font-size: 14.5px; font-weight: 500; color: var(--wd-ink-2); padding: 8px 11px; border-radius: 10px; transition: background .18s ease, color .16s ease;
}
body.wd26-home #navigation > ul > li > a:not(.button):hover { background: #F2F4FC; color: var(--wd-blue); }
/* Membres : les entrées du menu sont des boutons du thème (fond bleu, texte blanc en ligne) : on ne les touche pas. */
body.wd26-home #navigation > ul > li > a.button { border-radius: 2rem; }
body.wd26-home #navigation > ul > li > a::after, body.wd26-home #navigation > ul > li > a::before { display: none !important; }
/* Gabarits de la maquette : contour 10/16, « Se connecter » 10/14, « S'inscrire » 12/20, police 14,5 px, même interligne pour les trois. */
body.wd26-home .header-widget .button,
body.wd26-home .header-widget a.button {
  display: inline-flex; align-items: center; margin: 0; padding: 10px 16px; border-radius: 12px; width: auto;
  font-family: var(--wd-font-head); font-size: 14.5px; font-weight: 600; line-height: 1.25; white-space: nowrap;
  color: var(--wd-blue) !important; background: var(--wd-bg-blue); border: 1px solid #C6D1FA; box-shadow: 0 1px 2px rgba(42,65,232,.06);
}
body.wd26-home .header-widget .button:hover, body.wd26-home .header-widget a.button:hover { background: #fff; border-color: var(--wd-line); color: var(--wd-ink-2) !important; transform: translateY(-1px); box-shadow: 0 8px 18px rgba(16,24,48,.10); }
body.wd26-home .header-widget .log-in-button { font-family: var(--wd-font-head); font-size: 14.5px; font-weight: 600; line-height: 1.25; color: var(--wd-ink) !important; padding: 10px 14px; border-radius: 12px; white-space: nowrap; }
body.wd26-home .header-widget .log-in-button:hover { color: var(--wd-blue) !important; background: #F2F4FC; }
body.wd26-home .header-widget .log-in-button i { display: none; }
/* « S'inscrire » : bouton principal (lien d'inscription du thème) */
body.wd26-home .header-widget a.log-in-button[href$="/inscription"] {
  color: #fff !important; padding: 12px 20px; background: linear-gradient(180deg, #4055F0, #2436CE);
  box-shadow: 0 1px 0 rgba(255,255,255,.28) inset, 0 8px 20px rgba(42,65,232,.34);
}
body.wd26-home .header-widget a.log-in-button[href$="/inscription"]:hover { background: linear-gradient(180deg, #2F45E4, #1B2BB5); color: #fff !important; }
/* Sous 1 400 px (portables 1 280/1 366) : mêmes proportions, un cran plus compact pour ne pas chevaucher le menu. */
@media (max-width: 1399px) {
  body.wd26-home .header-widget .button, body.wd26-home .header-widget a.button { font-size: 14px; padding: 10px 13px; }
  body.wd26-home .header-widget .log-in-button { font-size: 14px; padding: 10px 11px; }
  body.wd26-home .header-widget a.log-in-button[href$="/inscription"] { padding: 12px 17px; }
}

/* ---------- Héros ---------- */
.wd26-hero { position: relative; overflow: hidden; background: linear-gradient(180deg, #F1F4FE 0%, #F6F8FE 42%, #FFFFFF 100%); }
.wd26-hero-glow { position: absolute; pointer-events: none; border-radius: 50%; }
.wd26-hero-glow--l { top: -200px; left: -120px; width: 620px; height: 620px; background: radial-gradient(circle, rgba(42,65,232,.13), transparent 70%); }
.wd26-hero-glow--r { top: -140px; right: -140px; width: 560px; height: 560px; background: radial-gradient(circle, rgba(42,65,232,.09), transparent 70%); }
.wd26-hero-grid {
  position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(42,65,232,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(42,65,232,.05) 1px, transparent 1px);
  background-size: 60px 60px;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 20%, #000, transparent); mask-image: radial-gradient(ellipse 70% 60% at 50% 20%, #000, transparent);
}
.wd26-hero-in { position: relative; max-width: 1040px; margin: 0 auto; padding: 62px 20px 0; display: flex; flex-direction: column; align-items: center; text-align: center; }
.wd26-hero-title { max-width: 900px; margin: 8px 0 0; font-family: var(--wd-font-head); font-size: clamp(33px, 5vw, 54px); font-weight: 700; line-height: 1.04; letter-spacing: -.035em; color: var(--wd-ink); text-wrap: balance; }
.wd26-hero-title h1 { display: inline; font: inherit; color: inherit; margin: 0; letter-spacing: inherit; }
.wd26-hero-title h1 strong { font-weight: inherit; }

/* Formulaire de recherche (mêmes champs : location[] multiple + search) */
.wd26-search { margin-top: 32px; width: 100%; max-width: 960px; }
.wd26-search-box { display: flex; flex-wrap: wrap; gap: 8px; padding: 9px; border-radius: 22px; background: #fff; border: 1px solid var(--wd-line); box-shadow: 0 1px 2px rgba(16,24,48,.05), 0 22px 48px rgba(16,24,48,.12); }
.wd26-field { min-width: 0; display: flex; flex-direction: column; gap: 2px; padding: 11px 16px; border-radius: 15px; background: var(--wd-bg-soft); border: 1px solid #E9EDF6; text-align: left; }
.wd26-field--where { flex: 0 1 290px; }
.wd26-field--what { flex: 1 1 300px; }
.wd26-field label { margin: 0; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--wd-muted); line-height: 1.3; cursor: pointer; }
.wd26-field input[type="text"] { border: 0; background: transparent; box-shadow: none; font-size: 15.5px; font-weight: 600; color: var(--wd-ink); padding: 0; height: 24px; margin: 0; width: 100%; outline: none; }
/* bootstrap-select (le thème le rend en bouton .dropdown-toggle) rendu comme un champ nu */
.wd26-field .bootstrap-select { width: 100% !important; margin: 0; }
.wd26-field .bootstrap-select > .dropdown-toggle,
.wd26-field .bootstrap-select > .dropdown-toggle:hover,
.wd26-field .bootstrap-select > .dropdown-toggle:focus {
  height: 24px; line-height: 24px; padding: 0 22px 0 0; border: 0; background: transparent; box-shadow: none; border-radius: 0;
  font-size: 15.5px; font-weight: 600; color: var(--wd-ink); font-family: var(--wd-font-body);
}
.wd26-field .bootstrap-select > .dropdown-toggle .filter-option { line-height: 24px; color: var(--wd-ink); }
.wd26-field .bootstrap-select > .dropdown-toggle::after { right: 4px; }
.wd26-field .bootstrap-select .dropdown-menu { border-radius: 14px; border: 1px solid var(--wd-line); box-shadow: 0 18px 40px rgba(16,24,48,.14); }
.wd26-field select.selectpicker { border: 0; background: transparent; font-size: 15.5px; font-weight: 600; color: var(--wd-ink); padding: 0; height: 24px; width: 100%; }
.wd26-search-btn {
  flex: 0 0 auto; display: flex; align-items: center; justify-content: center; width: 66px; min-height: 66px; padding: 0; border: 0; border-radius: 16px; cursor: pointer;
  color: #fff !important; background: var(--wd-blue); box-shadow: 0 1px 0 rgba(255,255,255,.25) inset, 0 10px 24px rgba(42,65,232,.32);
  transition: transform .18s var(--wd-ease), box-shadow .18s var(--wd-ease), background-color .18s ease;
}
.wd26-search-btn:hover { background: var(--wd-blue-dark); color: #fff !important; transform: translateY(-1px); box-shadow: 0 14px 30px rgba(42,65,232,.4); }
.wd26-search-btn .wd26-lens { position: relative; display: block; width: 19px; height: 19px; border: 2.5px solid #fff; border-radius: 50%; }
.wd26-search-btn .wd26-lens::after { content: ''; position: absolute; right: -7px; bottom: -5px; width: 9px; height: 2.5px; border-radius: 2px; background: #fff; transform: rotate(45deg); }
@media (max-width: 640px) { .wd26-search-btn { width: 100%; min-height: 56px; } }

/* Pastilles flottantes */
.wd26-chips { position: relative; max-width: 1100px; margin: 0 auto; padding: 52px 20px 74px; display: flex; flex-wrap: wrap; gap: 18px; justify-content: center; align-items: center; }
.wd26-chip {
  display: flex; align-items: center; gap: 13px; padding: 15px 20px 15px 16px; border-radius: 18px;
  background: rgba(255,255,255,.92); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid #E7EBF7;
  box-shadow: 0 1px 2px rgba(16,24,48,.05), 0 18px 40px rgba(16,24,48,.13); animation: wd26Float 8s ease-in-out infinite;
}
.wd26-chip:nth-child(2) { animation-delay: 1.3s; }
.wd26-chip:nth-child(3) { animation-delay: 2.6s; }
.wd26-chip .wd26-chip-ico { flex-shrink: 0; width: 40px; height: 40px; border-radius: 13px; background: #EEF0FE; border: 1px solid #DCE1F8; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 700; color: var(--wd-blue); }
.wd26-chip > div > b { display: block; font-size: 15px; font-weight: 700; color: var(--wd-ink); line-height: 1.3; text-align: left; }
.wd26-chip > div > span { display: block; font-size: 13.5px; font-weight: 600; color: var(--wd-muted); line-height: 1.35; text-align: left; }
@keyframes wd26Float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-11px); } }
@media (prefers-reduced-motion: reduce) { .wd26-chip { animation: none; } }

/* ---------- Dernières missions (bloc masqué par IS_NOT_SHOW_HOME, conservé) ---------- */
.wd26-jobs { padding: 56px 20px 0; }
.wd26-jobs-head { display: flex; flex-wrap: wrap; gap: 14px; align-items: baseline; justify-content: space-between; }
.wd26-jobs .job-listing { margin-top: 18px; border-radius: 18px; border: 1px solid var(--wd-line-2); box-shadow: var(--wd-shadow-card); }

/* ---------- Villes ---------- */
.wd26-cities { padding: 72px 20px 8px; }
.wd26-cities .wd26-grid { margin-top: 36px; }
.wd26-city {
  position: relative; display: block; border-radius: 18px; overflow: hidden; aspect-ratio: 4 / 5; background: #E9EDF6; border: 1px solid var(--wd-line);
  box-shadow: 0 1px 2px rgba(16,24,48,.05), 0 8px 22px rgba(16,24,48,.07);
}
.wd26-city:hover { transform: translateY(-4px); box-shadow: 0 1px 2px rgba(16,24,48,.05), 0 20px 40px rgba(16,24,48,.16); }
.wd26-city img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.wd26-city-veil { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(9,14,32,0) 40%, rgba(9,14,32,.82) 100%); }
.wd26-city-text { position: absolute; left: 18px; right: 18px; bottom: 16px; pointer-events: none; }
.wd26-home .wd26 .wd26-city-text h3 { font-size: 20px; font-weight: 700; color: #fff; }
.wd26-city-text span { display: block; margin-top: 2px; font-size: 13.5px; font-weight: 700; color: #C9D3FF; }

/* ---------- Plateforme (pourquoi) ---------- */
.wd26-why { padding: 80px 20px; }
.wd26-why-in { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 52px; align-items: center; }
.wd26-why-media { min-width: 0; border-radius: 22px; overflow: hidden; border: 1px solid var(--wd-line); background: #EEF2FA; aspect-ratio: 4 / 3; box-shadow: 0 2px 6px rgba(16,24,48,.05), 0 24px 52px rgba(16,24,48,.12); }
.wd26-why-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.wd26-why-text { min-width: 0; }
.wd26-why-text p { margin-top: 20px; font-size: 17.5px; line-height: 1.72; color: var(--wd-text); text-wrap: pretty; }
.wd26-why-text p a { font-weight: 700; }

/* ---------- Étapes ---------- */
.wd26-steps { background: linear-gradient(180deg, #FFFFFF 0%, #F7F9FD 11%, #F7F9FD 89%, #FFFFFF 100%); }
.wd26-steps-in { padding: 76px 20px; }
.wd26-steps .wd26-grid { margin-top: 40px; }
.wd26-step {
  position: relative; display: flex; flex-direction: column; padding: 34px 28px 30px; border-radius: 24px; overflow: hidden;
  background: linear-gradient(180deg, #FFFFFF 0%, #FAFBFF 100%); border: 1px solid var(--wd-line-2); box-shadow: var(--wd-shadow-card);
  transition: border-color .18s ease, box-shadow .18s var(--wd-ease), transform .18s var(--wd-ease);
}
.wd26-step:hover { border-color: #C2CDFA; box-shadow: var(--wd-shadow-card-hover); transform: translateY(-3px); }
.wd26-step::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #2A41E8, #7B8BFF 60%, rgba(123,139,255,0)); }
.wd26-step-num { display: flex; align-items: baseline; gap: 12px; }
.wd26-step-num b { font-family: var(--wd-font-head); font-size: 44px; font-weight: 700; line-height: 1; letter-spacing: -.04em; background: linear-gradient(140deg, #1E31C0, #5B6FF0); -webkit-background-clip: text; background-clip: text; color: transparent; }
.wd26-step-num span { font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--wd-muted); }
.wd26-home .wd26 .wd26-step h3 { margin-top: 20px; font-size: 21px; font-weight: 700; letter-spacing: -.015em; }
.wd26-step p { margin-top: 10px; font-size: 15.5px; line-height: 1.62; color: var(--wd-muted); }
.wd26-step-link { margin-top: 20px; align-self: flex-start; display: inline-flex; align-items: center; gap: 7px; font-size: 15px; font-weight: 700; }

/* ---------- Profils ---------- */
.wd26-profiles { padding: 76px 20px 0; }
.wd26-sec-head { display: flex; flex-wrap: wrap; gap: 14px; align-items: baseline; justify-content: space-between; }
.wd26-sec-link { font-size: 15px; font-weight: 700; white-space: nowrap; }
.wd26-profiles .wd26-grid { margin-top: 28px; }
.wd26-profile {
  position: relative; display: flex; flex-direction: column; border-radius: 24px; overflow: hidden; background: #fff; border: 1px solid var(--wd-line-2); box-shadow: var(--wd-shadow-card);
  transition: border-color .18s ease, box-shadow .18s var(--wd-ease);
}
.wd26-profile:hover { border-color: #C2CDFA; box-shadow: var(--wd-shadow-card-hover); }
.wd26-profile::before { content: ''; position: absolute; top: -70px; right: -70px; width: 200px; height: 200px; pointer-events: none; background: radial-gradient(circle, rgba(42,65,232,.10), transparent 70%); }
.wd26-profile-top { position: relative; padding: 26px 26px 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.wd26-profile-id { min-width: 0; }
.wd26-home .wd26 .wd26-profile h3 { font-size: 22px; font-weight: 700; letter-spacing: -.02em; color: var(--wd-ink); line-height: 1.2; }
.wd26-profile-job { display: block; margin-top: 5px; font-size: 15px; font-weight: 600; color: var(--wd-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wd26-pill { flex-shrink: 0; display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; background: #E8F6EF; border: 1px solid #C6E9D8; font-size: 12.5px; font-weight: 700; color: #0B6B46; white-space: nowrap; }
.wd26-pill::before { content: ''; flex-shrink: 0; display: block; width: 13px; height: 13px; border: 1.8px solid #0B6B46; border-radius: 3px; border-top-width: 4px; }
.wd26-profile-mid { position: relative; margin-top: 22px; padding: 0 26px; display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; }
.wd26-tjm { display: flex; align-items: baseline; gap: 7px; }
.wd26-tjm b { font-family: var(--wd-font-head); font-size: 30px; font-weight: 700; line-height: 1; letter-spacing: -.03em; background: linear-gradient(140deg, #1E31C0, #5B6FF0); -webkit-background-clip: text; background-clip: text; color: transparent; }
.wd26-tjm span { font-size: 14.5px; font-weight: 700; color: var(--wd-muted); white-space: nowrap; }
.wd26-loc { display: flex; align-items: center; gap: 8px; font-size: 15.5px; font-weight: 700; color: var(--wd-ink); }
.wd26-loc::before { content: ''; flex-shrink: 0; display: block; width: 16px; height: 16px; background: var(--wd-blue); border-radius: 50% 50% 50% 0; transform: rotate(-45deg); box-shadow: inset 0 0 0 5px var(--wd-blue), inset 0 0 0 8px #fff; }
.wd26-profile-foot { position: relative; margin-top: 24px; padding: 20px 26px 26px; border-top: 1px solid #EEF1F8; }
.wd26-profile-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 18px; border-radius: 14px; font-size: 15px; font-weight: 700;
  color: var(--wd-blue); background: #F3F5FE; border: 1px solid #DCE1F8;
}
.wd26-profile-btn:hover { background: var(--wd-blue); color: #fff; border-color: var(--wd-blue); box-shadow: 0 10px 22px rgba(42,65,232,.3); }

/* ---------- Compétences ---------- */
.wd26-skills { padding: 76px 20px 0; }
.wd26-tags { margin-top: 32px; display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.wd26-tag { padding: 10px 16px; border-radius: 999px; font-size: 14.5px; font-weight: 700; color: #3B4763; background: var(--wd-bg-soft); border: 1px solid var(--wd-line-2); }
.wd26-tag:hover { background: #fff; border-color: #B9C2F5; color: var(--wd-blue); transform: translateY(-2px); box-shadow: 0 8px 18px rgba(42,65,232,.12); }

/* ---------- Blog ---------- */
.wd26-blog { padding: 76px 20px 80px; }
.wd26-blog .wd26-grid { margin-top: 34px; gap: 20px; }
.wd26-post {
  position: relative; display: block; border-radius: 20px; overflow: hidden; aspect-ratio: 300 / 380; background: var(--wd-ink); border: 1px solid var(--wd-line-2);
  box-shadow: 0 1px 2px rgba(16,24,48,.05), 0 8px 26px rgba(16,24,48,.07); color: #fff;
}
.wd26-post:hover { transform: translateY(-4px); box-shadow: 0 1px 2px rgba(16,24,48,.05), 0 22px 48px rgba(16,24,48,.16); color: #fff; }
.wd26-post img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.wd26-post-veil { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(9,14,32,.32) 0%, rgba(9,14,32,0) 30%, rgba(9,14,32,.78) 62%, rgba(9,14,32,.95) 100%); }
.wd26-post-tags { position: absolute; top: 16px; left: 16px; right: 16px; display: flex; flex-wrap: wrap; gap: 6px; pointer-events: none; }
.wd26-post-tag { padding: 5px 12px; border-radius: 999px; background: var(--wd-blue); color: #fff; font-size: 12px; font-weight: 700; line-height: 1.3; }
.wd26-post-text { position: absolute; left: 20px; right: 20px; bottom: 20px; pointer-events: none; }
.wd26-post-date { display: block; font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #C9D3FF; }
.wd26-home .wd26 .wd26-post h3 { margin-top: 8px; font-size: 18px; font-weight: 700; line-height: 1.32; color: #fff; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wd26-post p { margin-top: 8px; font-size: 14px; line-height: 1.5; color: #E4E9FA; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* ---------- FAQ (accordéon du thème : js-accordion, restylé) ---------- */
.wd26-faq { position: relative; overflow: hidden; background: linear-gradient(180deg, #FFFFFF 0%, #F4F6FE 20%, #F4F6FE 100%); }
.wd26-faq-glow { position: absolute; top: 20px; left: 50%; transform: translateX(-50%); width: 900px; height: 520px; pointer-events: none; background: radial-gradient(ellipse at center, rgba(42,65,232,.09), transparent 70%); }
.wd26-faq-in { position: relative; max-width: 900px; margin: 0 auto; padding: 80px 20px 88px; }
.wd26-home .wd26 .wd26-faq .wd26-h2 { font-size: clamp(25px, 2.9vw, 36px); }
.wd26-faq .accordion { margin-top: 40px; display: grid; gap: 14px; box-shadow: none; }
.wd26-faq .accordion__item {
  position: relative; margin: 0; border-radius: 22px; background: #fff; border: 1px solid var(--wd-line); overflow: hidden;
  box-shadow: 0 1px 2px rgba(16,24,48,.04), 0 8px 24px rgba(16,24,48,.06); transition: border-color .18s ease, box-shadow .18s var(--wd-ease);
}
.wd26-faq .accordion__item:hover { border-color: #C6D1FA; box-shadow: 0 1px 2px rgba(16,24,48,.04), 0 16px 38px rgba(16,24,48,.11); }
.wd26-faq .accordion__item.active::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, #4055F0, #5B6FF0); }
.wd26-faq .accordion-header {
  display: flex; gap: 20px; align-items: center; justify-content: space-between; padding: 24px 26px; margin: 0;
  background: transparent; border: 0; box-shadow: none; border-radius: 0; cursor: pointer; text-align: left;
}
.wd26-faq .accordion-header .carret, .wd26-faq .accordion-header::before, .wd26-faq .accordion-header::after { display: none !important; content: none !important; }
.wd26-home .wd26 .wd26-faq .accordion-header h3 { flex: 1 1 auto; margin: 0; font-size: 18px; font-weight: 700; line-height: 1.42; letter-spacing: -.015em; color: var(--wd-ink); transition: color .16s ease; }
.wd26-faq .accordion__item.active .accordion-header h3 { color: var(--wd-blue); }
.wd26-faq-chevron { flex-shrink: 0; width: 38px; height: 38px; border-radius: 50%; background: #F1F4FC; display: flex; align-items: center; justify-content: center; transition: background .18s ease, box-shadow .18s ease; }
.wd26-faq-chevron::after { content: ''; display: block; width: 9px; height: 9px; border-right: 2.2px solid var(--wd-blue); border-bottom: 2.2px solid var(--wd-blue); transform: translateY(-2px) rotate(45deg); transition: transform .18s ease, border-color .18s ease; }
.wd26-faq .accordion__item.active .wd26-faq-chevron { background: linear-gradient(180deg, #4055F0, #2436CE); box-shadow: 0 8px 18px rgba(42,65,232,.34); }
.wd26-faq .accordion__item.active .wd26-faq-chevron::after { border-color: #fff; transform: translateY(2px) rotate(-135deg); }
.wd26-faq .accordion-body { background: transparent; border: 0; }
.wd26-faq .accordion-body__contents { padding: 0 26px 28px; }
.wd26-faq .accordion-body__contents p { margin: 0; font-size: 16px; line-height: 1.78; color: var(--wd-text); }
.wd26-faq .accordion-body__contents a { font-weight: 700; }

/* ---------- Pied de page : règles dans public/css/footer-2026.css (chargée par base.html.twig, tout le site). Ici seulement la bande de transition de l'accueil. ---------- */
body.wd26-home .wd26-footer-cap { background: #F4F6FE; height: 44px; }

/* ---------- Modales du thème (connexion, mot de passe) : coins et boutons ---------- */
body.wd26-home .zoom-anim-dialog { border-radius: 22px; font-family: var(--wd-font-body); }
body.wd26-home .zoom-anim-dialog .popup-tabs-nav { border-radius: 22px 22px 0 0; }
body.wd26-home .zoom-anim-dialog .welcome-text h3 { font-family: var(--wd-font-head); }
body.wd26-home .zoom-anim-dialog input.input-text { border-radius: 13px; background: var(--wd-bg-soft); border-color: #E1E6F2; }
body.wd26-home .zoom-anim-dialog .button { border-radius: 13px; background: var(--wd-blue); box-shadow: 0 8px 20px rgba(42,65,232,.3); }
body.wd26-home .zoom-anim-dialog .button:hover { background: var(--wd-blue-dark); }

/* ---------- Réactifs ---------- */
@media (max-width: 767px) {
  .wd26-hero-in { padding-top: 40px; }
  .wd26-chips { padding: 36px 20px 56px; }
  .wd26-cities, .wd26-profiles, .wd26-skills { padding-top: 56px; }
  .wd26-why { padding: 56px 20px; }
  .wd26-steps-in { padding: 56px 20px; }
  .wd26-blog { padding: 56px 20px 60px; }
  .wd26-faq-in { padding: 60px 20px 64px; }
}
