/* Process — méthode interactive 8 étapes, alignée sur React ProcessSection */
.essik-process-section { padding: 5rem 1.25rem; background: rgba(248,250,252,.7); }
.essik-process-inner { max-width: 80rem; margin: 0 auto; }
.essik-process-header { text-align: center; max-width: 48rem; margin: 0 auto 2.5rem; }
.essik-process-eyebrow { display: inline-flex; align-items: center; gap: .5rem; padding: .25rem .75rem; border-radius: 9999px; background: #FFF2EB; color: #FF5500; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.essik-process-eyebrow-dot { font-size: .6rem; }
.essik-section-title { margin: .75rem 0 0; font-size: 1.875rem; line-height: 1.15; font-weight: 800; letter-spacing: -.02em; color: #0f172a; }
@media (min-width: 640px) { .essik-section-title { font-size: 2.25rem; } }
.essik-section-subtitle { margin: .75rem auto 0; font-size: 1rem; line-height: 1.7; color: #475569; max-width: 42rem; }
@media (min-width: 640px) { .essik-section-subtitle { font-size: 1.125rem; } }
.essik-process-steps { max-width: 80rem; margin: 0 auto 2.5rem; display: grid; gap: .5rem; grid-template-columns: repeat(4, 1fr); }
@media (min-width: 1024px) { .essik-process-steps { grid-template-columns: repeat(8, 1fr); } }
.essik-process-step { border-radius: .75rem; border: 1px solid #e2e8f0; background: #fff; padding: .75rem .25rem; text-align: center; cursor: pointer; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease; font: inherit; }
.essik-process-step:hover { border-color: rgba(255,85,0,.4); }
.essik-process-step.is-active { background: #FF5500; border-color: #FF5500; color: #fff; box-shadow: 0 10px 25px rgba(255,85,0,.25); transform: scale(1.03); }
.essik-process-num { display: block; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 900; font-size: .8rem; color: #FF5500; }
.essik-process-step.is-active .essik-process-num { color: #fff; }
.essik-process-name { display: block; font-size: .68rem; font-weight: 700; color: #334155; margin-top: .25rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.essik-process-step.is-active .essik-process-name { color: #fff; }
.essik-process-detail { max-width: 80rem; margin: 0 auto; border-radius: 1.5rem; background: #fff; border: 1px solid #e2e8f0; padding: 2rem; box-shadow: 0 20px 45px rgba(0,0,0,.08); display: grid; gap: 2rem; }
@media (min-width: 768px) { .essik-process-detail { padding: 2.5rem; } }
@media (min-width: 1024px) { .essik-process-detail { grid-template-columns: 8fr 4fr; align-items: center; } }
.essik-process-main { display: flex; flex-direction: column; gap: 1rem; }
.essik-process-card-head { display: flex; align-items: center; gap: .75rem; }
.essik-process-badge { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 900; font-size: 1.25rem; color: #FF5500; background: #FFF2EB; padding: .35rem .8rem; border-radius: .75rem; border: 1px solid #fed7aa; }
.essik-process-card-head h3 { margin: 0; font-size: 1.5rem; font-weight: 800; color: #0f172a; }
.essik-process-subtitle { font-size: .75rem; font-weight: 600; color: #94a3b8; }
.essik-process-desc { margin: 0; padding-top: .5rem; font-size: .95rem; color: #475569; line-height: 1.7; }
.essik-process-deliverables-wrap { padding-top: .75rem; }
.essik-process-deliverables-label { font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: #94a3b8; margin-bottom: .5rem; }
.essik-process-deliverables { display: grid; gap: .5rem; }
@media (min-width: 640px) { .essik-process-deliverables { grid-template-columns: repeat(3, 1fr); } }
.essik-process-deliverable { display: flex; align-items: center; gap: .5rem; font-size: .78rem; font-weight: 500; background: #f8fafc; border: 1px solid #f1f5f9; border-radius: .75rem; padding: .6rem .75rem; color: #1e293b; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.essik-process-deliverable::before { content: ""; width: .85rem; height: .85rem; flex-shrink: 0; border: 1.5px solid #FF5500; border-radius: 9999px; background: radial-gradient(circle, #FF5500 0 2px, transparent 3px); }
.essik-process-side { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; padding-top: 1rem; border-top: 1px solid #f1f5f9; }
@media (min-width: 1024px) { .essik-process-side { align-items: flex-end; text-align: right; padding-top: 0; padding-left: 2rem; border-top: 0; border-left: 1px solid #f1f5f9; } }
.essik-process-progress-label { font-size: .75rem; color: #94a3b8; }
.essik-process-progress-value { font-size: 1.25rem; font-weight: 800; color: #0f172a; margin-top: .15rem; }
.essik-process-nav { display: flex; align-items: center; gap: .5rem; }
.essik-process-btn { font: inherit; font-size: .75rem; font-weight: 800; padding: .55rem 1rem; border-radius: .75rem; border: 0; cursor: pointer; transition: background-color .15s ease, color .15s ease; }
.essik-process-btn.is-prev { background: #f1f5f9; color: #334155; }
.essik-process-btn.is-next { background: #FF5500; color: #fff; }
.essik-process-btn:disabled { opacity: .4; cursor: not-allowed; }
.essik-process-cta { font-size: .75rem; color: #FF5500; font-weight: 800; display: inline-flex; align-items: center; gap: .25rem; margin-top: .5rem; text-decoration: none; }
.essik-process-cta:hover { text-decoration: underline; }
