/* DEH Jobs — agrégateur d'offres (fond clair, cartes blanches, accents bleu/emerald) */
.deh-jobs{--deh-bg:#F8FAFC;--deh-card:#FFFFFF;--deh-ink:#0F172A;--deh-muted:#64748B;--deh-line:#E2E8F0;--deh-blue:#2563EB;--deh-blue-soft:#DBEAFE;--deh-emerald:#10B981;--deh-emerald-soft:#D1FAE5;--deh-violet:#7C3AED;--deh-violet-soft:#EDE9FE;--deh-amber-soft:#FEF3C7;--deh-radius:16px;
  background:var(--deh-bg);color:var(--deh-ink);border-radius:24px;padding:28px clamp(16px,3vw,36px) 32px;font-family:inherit;box-sizing:border-box;text-align:left}
.deh-jobs *{box-sizing:border-box}
.deh-jobs__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin-bottom:18px}
.deh-jobs__tabs{display:flex;flex-wrap:wrap;gap:8px;background:#fff;padding:6px;border-radius:999px;box-shadow:0 1px 2px rgba(15,23,42,.06),0 0 0 1px var(--deh-line)}
.deh-jobs__tab{appearance:none;border:0;background:transparent;color:var(--deh-muted);font:inherit;font-weight:600;font-size:.95rem;padding:10px 18px;border-radius:999px;cursor:pointer;transition:background .18s,color .18s,transform .18s;line-height:1}
.deh-jobs__tab:hover{color:var(--deh-ink);background:var(--deh-bg)}
.deh-jobs__tab.is-active{color:#fff;background:var(--deh-blue);box-shadow:0 6px 16px rgba(37,99,235,.28)}
.deh-jobs__tab--sans-diplome.is-active{background:var(--deh-emerald);box-shadow:0 6px 16px rgba(16,185,129,.28)}
.deh-jobs__tab--experimente.is-active{background:var(--deh-violet);box-shadow:0 6px 16px rgba(124,58,237,.28)}
.deh-jobs__tab--all.is-active{background:var(--deh-ink)}
.deh-jobs__meta{margin:0;color:var(--deh-muted);font-size:.95rem}
.deh-jobs__meta strong{color:var(--deh-ink);font-weight:700}
.deh-jobs__filters{display:grid;grid-template-columns:minmax(220px,2fr) auto repeat(3,minmax(140px,1fr));gap:10px;align-items:center;margin-bottom:22px}
.deh-jobs__filters[hidden]{display:none}
.deh-jobs__filters input[type=search],.deh-jobs__filters select{width:100%;height:46px;border:1px solid var(--deh-line);border-radius:12px;background:#fff;color:var(--deh-ink);padding:0 14px;font:inherit;font-size:.95rem;outline:none;transition:border-color .15s,box-shadow .15s}
.deh-jobs__filters input[type=search]:focus,.deh-jobs__filters select:focus{border-color:var(--deh-blue);box-shadow:0 0 0 3px var(--deh-blue-soft)}
.deh-jobs__check{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 14px;border:1px solid var(--deh-line);border-radius:12px;background:#fff;font-size:.95rem;white-space:nowrap;cursor:pointer;color:var(--deh-ink)}
.deh-jobs__check input{accent-color:var(--deh-emerald);width:16px;height:16px;margin:0}
.deh-jobs__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.deh-jobs__empty{grid-column:1/-1;text-align:center;color:var(--deh-muted);padding:40px 0;margin:0}
.deh-card{background:var(--deh-card);border-radius:var(--deh-radius);padding:20px 20px 16px;box-shadow:0 1px 2px rgba(15,23,42,.05),0 10px 30px -18px rgba(15,23,42,.25);border:1px solid var(--deh-line);display:flex;flex-direction:column;gap:12px;transition:transform .18s,box-shadow .18s;min-width:0;position:relative}
.deh-card:hover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(15,23,42,.06),0 22px 40px -20px rgba(37,99,235,.35);border-color:#CBD5E1}
.deh-card__top{display:flex;gap:14px;align-items:flex-start}
.deh-card__logo,.deh-card__initials{flex:0 0 48px;width:48px;height:48px;border-radius:12px;object-fit:contain;background:#fff;border:1px solid var(--deh-line)}
.deh-card__initials{display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:1.05rem;letter-spacing:.02em;color:#fff;border:0;background:linear-gradient(135deg,hsl(var(--h,220) 80% 55%),hsl(calc(var(--h,220) + 40) 80% 45%))}
.deh-card__titles{min-width:0}
.deh-card__title{margin:0 0 3px;font-size:1.05rem;line-height:1.3;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.deh-card__title a{color:var(--deh-ink);text-decoration:none}
.deh-card__title a:hover{color:var(--deh-blue)}
.deh-card__company{margin:0;color:var(--deh-muted);font-size:.92rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.deh-card__badges{display:flex;flex-wrap:wrap;gap:6px}
.deh-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.02em;line-height:1.2;text-transform:uppercase}
.deh-badge--sans-diplome{background:var(--deh-emerald-soft);color:#047857}
.deh-badge--junior{background:var(--deh-blue-soft);color:#1D4ED8}
.deh-badge--experimente{background:var(--deh-violet-soft);color:#6D28D9}
.deh-badge--remote{background:var(--deh-amber-soft);color:#B45309}
.deh-badge--type{background:#F1F5F9;color:#334155}
.deh-card__place,.deh-card__salary{margin:0;font-size:.92rem;color:var(--deh-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.deh-card__salary{color:#047857;font-weight:600}
.deh-card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:12px;border-top:1px dashed var(--deh-line);flex-wrap:wrap}
.deh-card__ago{font-size:.8rem;color:var(--deh-muted)}
.deh-card__actions{display:inline-flex;gap:8px;align-items:center}
.deh-card__details{font-size:.85rem;font-weight:600;color:var(--deh-blue);text-decoration:none}
.deh-card__details:hover{text-decoration:underline}
.deh-card__apply,.deh-jobs__btn{display:inline-flex;align-items:center;justify-content:center;background:var(--deh-blue);color:#fff!important;font-weight:700;font-size:.85rem;padding:9px 16px;border-radius:10px;text-decoration:none;border:0;cursor:pointer;font-family:inherit;transition:background .15s,transform .15s;line-height:1}
.deh-card__apply:hover,.deh-jobs__btn:hover{background:#1D4ED8;transform:translateY(-1px)}
.deh-jobs__more{text-align:center;margin:24px 0 0}
.deh-jobs__more [hidden]{display:none}
.deh-jobs__btn{padding:13px 26px;font-size:.95rem;background:var(--deh-ink)}
.deh-jobs__btn:hover{background:#1E293B}
.deh-jobs__sources{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:26px;padding-top:18px;border-top:1px solid var(--deh-line);font-size:.82rem;color:var(--deh-muted)}
.deh-jobs__source{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:#fff;border:1px solid var(--deh-line);color:var(--deh-ink);text-decoration:none;font-weight:600}
.deh-jobs__source::before{content:"";width:7px;height:7px;border-radius:50%;background:#CBD5E1}
.deh-jobs__source--ok::before{background:var(--deh-emerald)}
.deh-jobs__source--ko::before{background:#EF4444}
.deh-jobs__source:hover{border-color:var(--deh-blue);color:var(--deh-blue)}
.deh-jobs.is-loading .deh-jobs__grid{opacity:.55;pointer-events:none}
.deh-jobs__error{grid-column:1/-1;background:#FEF2F2;color:#991B1B;border:1px solid #FECACA;border-radius:12px;padding:14px 16px;margin:0}
@media (max-width:1024px){.deh-jobs__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.deh-jobs__filters{grid-template-columns:1fr 1fr}.deh-jobs__filters .deh-jobs__search{grid-column:1/-1}}
@media (max-width:640px){.deh-jobs{padding:20px 14px 24px;border-radius:18px}.deh-jobs__grid{grid-template-columns:1fr}.deh-jobs__filters{grid-template-columns:1fr}.deh-jobs__tab{padding:9px 13px;font-size:.88rem}.deh-jobs__head{flex-direction:column;align-items:flex-start}}
/* Fiche */
.deh-single__head{background:#F8FAFC;border:1px solid #E2E8F0;border-radius:16px;padding:22px 24px;margin:0 0 28px}
.deh-single__facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px 22px;margin:16px 0 18px}
.deh-single__facts div{margin:0}.deh-single__facts dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#64748B;font-weight:700;margin:0 0 3px}.deh-single__facts dd{margin:0;font-weight:600;color:#0F172A}
.deh-single__cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:0}
.deh-single__cta .deh-card__apply{padding:13px 22px;font-size:.98rem}
.deh-single__attribution{margin:36px 0 0;padding:16px 18px;background:#F8FAFC;border-left:4px solid #10B981;border-radius:10px;font-size:.92rem;color:#475569}
.deh-single__attribution p{margin:0}
/* Archive */
.deh-archive{background:#fff}
.deh-archive__inner{max-width:1240px;margin:0 auto;padding:clamp(28px,5vw,64px) clamp(16px,3vw,32px)}
.deh-archive__hero{text-align:center;max-width:820px;margin:0 auto 34px}
.deh-archive__eyebrow{color:#10B981;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;margin:0 0 10px}
.deh-archive__title{font-size:clamp(1.8rem,3.6vw,2.7rem);line-height:1.15;margin:0 0 14px;color:#0F172A}
.deh-archive__lead{color:#475569;font-size:1.08rem;margin:0}
/* Ticker */
.deh-ticker{overflow:hidden;background:#fff;border:1px solid #E2E8F0;border-radius:12px;padding:10px 0;margin:0 0 18px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.deh-ticker__track{display:inline-flex;gap:36px;white-space:nowrap;animation:deh-ticker 60s linear infinite;padding-left:100%}
.deh-ticker:hover .deh-ticker__track{animation-play-state:paused}
.deh-ticker__item{color:#0F172A;text-decoration:none;font-weight:600;font-size:.92rem}
.deh-ticker__item em{color:#64748B;font-style:normal;font-weight:500}
.deh-ticker__item:hover{color:#2563EB}
@keyframes deh-ticker{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.deh-ticker__track{animation:none;padding-left:0;flex-wrap:wrap;white-space:normal}.deh-card,.deh-jobs__tab{transition:none}}
