
/* =========================================================
   Heda RP - Ultra Moderne (Thème Vert) - CSS
   ========================================================= */

:root{
  --bg0:#050708;
  --bg1:#060b0a;
  --glass: rgba(12, 18, 14, .55);
  --glass2: rgba(10, 16, 12, .35);
  --line: rgba(120, 255, 180, .12);
  --text: rgba(240,255,245,.92);
  --muted: rgba(240,255,245,.68);
  --green:#19ff7a;
  --green2:#00d4ff;
  --lime:#b6ff3a;
  --danger:#ff3a57;

  --shadow: 0 20px 60px rgba(0,0,0,.55);
  --shadow2: 0 18px 50px rgba(0,0,0,.45);
  --radius: 22px;
  --radius2: 18px;
  --maxw: 1120px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background:
    radial-gradient(1200px 800px at 20% 10%, rgba(25,255,122,.12), transparent 55%),
    radial-gradient(900px 600px at 85% 20%, rgba(0,212,255,.10), transparent 60%),
    radial-gradient(900px 700px at 50% 100%, rgba(182,255,58,.08), transparent 55%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  overflow-x:hidden;
}

/* Background grid */
.bg-grid{
  position:fixed;
  inset:-2px;
  pointer-events:none;
  opacity:.35;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: radial-gradient(500px 420px at 50% 20%, rgba(0,0,0,.85), transparent 75%);
  z-index:0;
}

/* Particles canvas */
#fx{
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
}

/* Subtle vignette */
.vignette{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background: radial-gradient(1200px 800px at 50% 20%, transparent 35%, rgba(0,0,0,.55) 100%);
  opacity:.85;
}

/* Layout */
.wrap{position:relative; z-index:1;}
.container{width:min(var(--maxw), calc(100% - 40px)); margin:0 auto;}

/* Header */
header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  background: linear-gradient(180deg, rgba(5,7,8,.85), rgba(5,7,8,.45));
  border-bottom: 1px solid rgba(25,255,122,.10);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:14px 0;
}
.logo{
  width:56px;
  height:56px;
  object-fit:contain;
  filter: drop-shadow(0 10px 25px rgba(25,255,122,.25));
  transform: translateZ(0);
}
.brand{
  display:flex;
  align-items:center;
  gap:14px;
}
.brand-title{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}
.brand-title strong{
  font-size:15px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(240,255,245,.88);
}
.brand-title span{
  font-size:12px;
  color:var(--muted);
}

/* Nav */
nav{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
nav a{
  position:relative;
  text-decoration:none;
  color:rgba(240,255,245,.82);
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(25,255,122,.10);
  background: rgba(8,12,10,.40);
  transition: transform .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease;
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
nav a:hover{
  transform: translateY(-2px);
  border-color: rgba(25,255,122,.28);
  background: rgba(10,16,12,.55);
  box-shadow: 0 18px 55px rgba(0,0,0,.35);
}
nav a.active{
  border-color: rgba(25,255,122,.55);
  background: linear-gradient(135deg, rgba(25,255,122,.18), rgba(0,212,255,.10));
}
nav a.active::after{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:999px;
  background: linear-gradient(135deg, rgba(25,255,122,.45), rgba(0,212,255,.25));
  filter: blur(14px);
  opacity:.55;
  z-index:-1;
}

/* Hero */
.hero{
  padding: 68px 0 26px;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:24px;
  align-items:stretch;
}
@media (max-width: 880px){
  .hero-grid{grid-template-columns:1fr; padding-top:10px}
}
.card{
  border-radius: var(--radius);
  background: linear-gradient(180deg, var(--glass), var(--glass2));
  border:1px solid rgba(25,255,122,.14);
  box-shadow: var(--shadow);
  position:relative;
  overflow:hidden;
}
.card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(500px 240px at var(--mx, 30%) var(--my, 10%), rgba(25,255,122,.16), transparent 60%);
  opacity:.95;
  pointer-events:none;
}
.card::after{
  content:"";
  position:absolute;
  inset:0;
  background-image: radial-gradient(600px 320px at 80% 0%, rgba(0,212,255,.12), transparent 60%);
  opacity:.65;
  pointer-events:none;
}
.card-inner{position:relative; padding:26px;}

.kicker{
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(182,255,58,.9);
}
h1{
  margin:10px 0 10px;
  font-size:46px;
  line-height:1.02;
  letter-spacing:-.03em;
}
@media (max-width: 560px){ h1{font-size:38px} }
.lead{
  font-size:15px;
  line-height:1.7;
  color:var(--muted);
  max-width: 60ch;
}
.badges{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;}
.badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(25,255,122,.14);
  background: rgba(6,10,8,.55);
  color:rgba(240,255,245,.84);
  font-size:13px;
}

/* Buttons */
.actions{display:flex; gap:12px; margin-top:22px; flex-wrap:wrap;}
.btn{
  appearance:none;
  border:none;
  border-radius:999px;
  padding:12px 16px;
  font-weight:650;
  letter-spacing:.02em;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:10px;
  position:relative;
  transform: translateZ(0);
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
  user-select:none;
}
.btn-primary{
  color:#06110a;
  background: linear-gradient(135deg, rgba(25,255,122,1), rgba(182,255,58,1));
  box-shadow: 0 18px 45px rgba(25,255,122,.20);
}
.btn-primary:hover{transform: translateY(-2px); filter:saturate(1.05); box-shadow: 0 24px 65px rgba(25,255,122,.26);}
.btn-ghost{
  color:rgba(240,255,245,.90);
  border:1px solid rgba(25,255,122,.18);
  background: rgba(6,10,8,.40);
  box-shadow: 0 18px 45px rgba(0,0,0,.22);
}
.btn-ghost:hover{transform: translateY(-2px); border-color: rgba(25,255,122,.35);}

/* Ripple */
.ripple{
  position:absolute;
  border-radius:999px;
  transform: translate(-50%,-50%);
  pointer-events:none;
  background: radial-gradient(circle, rgba(255,255,255,.55), rgba(255,255,255,0) 60%);
  width:12px; height:12px;
  animation: ripple .7s ease-out forwards;
}
@keyframes ripple{
  to{opacity:0; width:280px; height:280px;}
}

/* Right panel (status/infos) */
.panel h2{
  margin:0 0 10px;
  font-size:18px;
  letter-spacing:-.01em;
}
.panel p{margin:0 0 16px; color:var(--muted); line-height:1.6;}
.stat{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  border-radius: var(--radius2);
  border:1px solid rgba(25,255,122,.12);
  background: rgba(6,10,8,.42);
  margin-bottom:10px;
}
.dot{
  width:10px; height:10px; border-radius:50%;
  background: rgba(25,255,122,.95);
  box-shadow: 0 0 0 6px rgba(25,255,122,.12), 0 0 30px rgba(25,255,122,.35);
}
.mini{font-size:12px; color:var(--muted);}

/* Sections */
.section{
  padding: 26px 0 54px;
}
.section-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin: 6px 0 18px;
}
.section-title h2{
  margin:0;
  font-size:26px;
  letter-spacing:-.02em;
}
.section-title span{color:var(--muted); font-size:13px;}

.grid-3{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:16px;
}
@media (max-width: 980px){ .grid-3{grid-template-columns:1fr} }

.feature{
  padding:18px;
  border-radius: var(--radius);
  border:1px solid rgba(25,255,122,.12);
  background: rgba(6,10,8,.38);
  box-shadow: var(--shadow2);
  transform-style:preserve-3d;
}
.feature h3{margin:4px 0 8px; font-size:16px}
.feature p{margin:0; color:var(--muted); line-height:1.6; font-size:13px}

/* Reveal animations */
.reveal{
  opacity:0;
  transform: translateY(18px);
  transition: opacity .8s cubic-bezier(.2,.75,.2,1), transform .8s cubic-bezier(.2,.75,.2,1);
}
.reveal.show{
  opacity:1;
  transform: translateY(0);
}
/* Stagger helper */
[data-delay]{ transition-delay: var(--d, 0ms); }

/* Reglement tabs */
.tabs{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin: 14px 0 16px;
}
.tab{
  border:1px solid rgba(25,255,122,.14);
  background: rgba(6,10,8,.40);
  color:rgba(240,255,245,.88);
  padding:10px 14px;
  border-radius:999px;
  cursor:pointer;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.tab:hover{transform: translateY(-2px); border-color: rgba(25,255,122,.30);}
.tab.active{
  border-color: rgba(25,255,122,.55);
  background: linear-gradient(135deg, rgba(25,255,122,.18), rgba(0,212,255,.10));
}
.tabpanes .pane{
  display:none;
  padding:18px;
  border-radius: var(--radius);
  border:1px solid rgba(25,255,122,.12);
  background: rgba(6,10,8,.36);
}
.tabpanes .pane.active{display:block;}

/* Staff */
.staff-section{
  padding: 46px 0 66px;
}
.staff-section h1{
  font-size:34px;
  margin: 10px 0 18px;
}
.staff-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:14px;
}
@media (max-width: 980px){ .staff-grid{grid-template-columns:1fr 1fr} }
@media (max-width: 560px){ .staff-grid{grid-template-columns:1fr} }

.staff-card{
  padding:18px;
  border-radius: var(--radius);
  border:1px solid rgba(25,255,122,.12);
  background: rgba(6,10,8,.40);
  box-shadow: var(--shadow2);
  position:relative;
  overflow:hidden;
  transform-style:preserve-3d;
}
.staff-card::before{
  content:"";
  position:absolute;
  inset:-2px;
  background: radial-gradient(450px 220px at var(--mx, 40%) var(--my, 12%), rgba(25,255,122,.18), transparent 60%);
  opacity:.9;
  pointer-events:none;
}
.staff-card h2{
  margin:0 0 10px;
  font-size:14px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(182,255,58,.92);
}
.staff-card p{
  margin:0;
  font-size:18px;
  font-weight:750;
  letter-spacing:-.01em;
}
.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:rgba(240,255,245,.75);
  margin-top:12px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(25,255,122,.12);
  background: rgba(6,10,8,.38);
}

/* Footer */
footer{
  border-top: 1px solid rgba(25,255,122,.10);
  background: rgba(5,7,8,.55);
  padding: 18px 0;
  color: rgba(240,255,245,.72);
  backdrop-filter: blur(10px);
}
footer p{margin:0; font-size:13px;}

/* Accessibility */
:focus-visible{
  outline: 2px solid rgba(25,255,122,.75);
  outline-offset: 2px;
  border-radius: 10px;
}

/* ===== ILLÉGAL IMMERSIF ===== */

.illegal-pane {
  animation: fadeIn .6s ease;
}

/* WARNING BOX */
.illegal-warning {
  display: flex;
  gap: 14px;
  padding: 16px;
  margin-bottom: 22px;
  border-radius: 18px;
  background: linear-gradient(
    135deg,
    rgba(255, 58, 87, 0.18),
    rgba(25, 255, 122, 0.12)
  );
  border: 1px solid rgba(255, 58, 87, 0.45);
  box-shadow: 0 0 35px rgba(255, 58, 87, 0.35);
}

.illegal-warning .icon {
  font-size: 28px;
  animation: pulse 1.8s infinite;
}

.illegal-warning strong {
  color: #ff3a57;
}

.illegal-warning p {
  margin: 4px 0 0;
  font-size: 13px;
  color: rgba(240,255,245,.85);
}

/* CATÉGORIES */
.illegal-category {
  margin-bottom: 24px;
  padding: 18px;
  border-radius: 20px;
  background: rgba(6, 10, 8, 0.45);
  border: 1px solid rgba(25, 255, 122, 0.18);
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
}

.illegal-category h3 {
  margin: 0 0 10px;
  font-size: 18px;
  color: #ff3a57;
  text-shadow: 0 0 14px rgba(255, 58, 87, 0.45);
}

.illegal-category ul {
  margin: 0;
  padding-left: 18px;
}

.illegal-category li {
  margin-bottom: 8px;
  line-height: 1.6;
}

/* ANIMATIONS */
@keyframes pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.1); opacity: .7; }
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ===== GROUPES ILLÉGAUX ===== */

.illegal-groups-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
  margin-top: 24px;
}

.illegal-group-card {
  padding: 18px;
  border-radius: 22px;
  text-align: center;
  background: rgba(6,10,8,.45);
  border: 1px solid rgba(25,255,122,.18);
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
  transition: transform .3s ease, box-shadow .3s ease;
}

.illegal-group-card:hover {
  transform: translateY(-6px);
}

.illegal-group-card img {
  width: 90px;
  height: 90px;
  object-fit: contain;
  margin-bottom: 12px;
  filter: drop-shadow(0 0 18px rgba(25,255,122,.35));
}

.illegal-group-card h3 {
  margin: 6px 0;
  font-size: 18px;
}

.group-type {
  display: inline-block;
  margin-bottom: 10px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* TYPES */
.illegal-group-card.gang {
  border-color: rgba(255,58,87,.45);
  box-shadow: 0 0 40px rgba(255,58,87,.35);
}
.illegal-group-card.gang .group-type {
  background: rgba(255,58,87,.2);
  color: #ff3a57;
}

.illegal-group-card.mc {
  border-color: rgba(255,165,0,.45);
  box-shadow: 0 0 40px rgba(255,165,0,.35);
}
.illegal-group-card.mc .group-type {
  background: rgba(255,165,0,.2);
  color: orange;
}

.illegal-group-card.orga {
  border-color: rgba(138,43,226,.45);
  box-shadow: 0 0 40px rgba(138,43,226,.35);
}
.illegal-group-card.orga .group-type {
  background: rgba(138,43,226,.2);
  color: #9f7aea;
}

/* ===== LÉGAL IMMERSIF ===== */

.legal-pane {
  animation: fadeIn .6s ease;
}

.legal-category {
  margin-bottom: 22px;
  padding: 18px;
  border-radius: 20px;
  background: rgba(6, 12, 10, 0.45);
  border: 1px solid rgba(25, 255, 122, 0.25);
  box-shadow: 0 10px 35px rgba(0,0,0,.3);
}

.legal-category h3 {
  margin: 0 0 10px;
  font-size: 18px;
  color: var(--green);
  text-shadow: 0 0 12px rgba(25,255,122,.35);
}

.legal-category ul {
  margin: 0;
  padding-left: 18px;
}

.legal-category li {
  margin-bottom: 8px;
  line-height: 1.6;
}

/* ===== STAFF AVATARS ===== */

.staff-avatar {
  width: 96px;
  height: 96px;
  margin: 0 auto 14px;
  border-radius: 50%;
  padding: 4px;
  position: relative;
  background: linear-gradient(135deg, rgba(25,255,122,.6), rgba(0,212,255,.4));
  box-shadow: 0 0 35px rgba(25,255,122,.35);
}

.staff-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  background: #000;
}

/* Hover animation */
.staff-card:hover .staff-avatar {
  transform: scale(1.06);
  box-shadow: 0 0 55px rgba(25,255,122,.55);
  transition: all .3s ease;
}

/* RÔLES */
.staff-avatar.founder {
  background: linear-gradient(135deg, gold, orange);
  box-shadow: 0 0 45px rgba(255,215,0,.6);
}

.staff-avatar.admin {
  background: linear-gradient(135deg, #ff3a57, #ff7a18);
  box-shadow: 0 0 45px rgba(255,58,87,.6);
}

.staff-avatar.mod {
  background: linear-gradient(135deg, #00d4ff, #19ff7a);
}

.staff-avatar.helper {
  background: linear-gradient(135deg, #19ff7a, #b6ff3a);
}

/* ===== STAFF ALIGNEMENT ===== */

.staff-card {
  text-align: center;
}

.staff-card h2 {
  text-align: center;
  margin-top: 6px;
}

.staff-card p {
  text-align: center;
  margin: 4px 0 6px;
  font-size: 18px;
  font-weight: 700;
}

/* ===== ENTREPRISES À REPRENDRE ===== */

.companies-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 16px;
  margin-top: 24px;
}

.company-card {
  padding: 18px;
  border-radius: 20px;
  background: rgba(6,10,8,.45);
  border: 1px solid rgba(25,255,122,.2);
  text-align: center;
  box-shadow: 0 14px 45px rgba(0,0,0,.4);
  transition: transform .25s ease, box-shadow .25s ease;
}

.company-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 0 45px rgba(25,255,122,.45);
}

.company-card h3 {
  margin: 0 0 8px;
  font-size: 18px;
}

.company-type {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  background: rgba(25,255,122,.15);
  color: var(--green);
}

/* Institutions */
.company-card.state {
  border-color: rgba(0, 255, 106, 0.45);
  box-shadow: 0 0 40px rgba(0, 255, 34, 0.35);
}

.company-card.state .company-type {
  background: rgba(0,212,255,.2);
  color: #00d4ff;
}

/* ===== ENTREPRISES ===== */

.companies-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 18px;
  margin-top: 24px;
}

.company-card {
  padding: 18px;
  border-radius: 20px;
  background: rgba(6,10,8,.45);
  border: 1px solid rgba(25,255,122,.25);
  text-align: center;
  box-shadow: 0 14px 45px rgba(0,0,0,.4);
}

.company-status {
  display: inline-block;
  margin: 8px 0;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12px;
}

.company-card.available .company-status {
  background: rgba(25,255,122,.2);
  color: #19ff7a;
}

.company-card.pending .company-status {
  background: rgba(255,193,7,.2);
  color: #ffc107;
}

.company-card.taken .company-status {
  background: rgba(255,58,87,.2);
  color: #ff3a57;
}

/* ===== FORMULAIRE ===== */

.apply-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.75);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 999;
}

.apply-modal.active {
  display: flex;
}

.apply-content {
  background: rgba(6,10,8,.95);
  border-radius: 22px;
  padding: 26px;
  width: min(480px, 90%);
  border: 1px solid rgba(25,255,122,.3);
}

.apply-content label {
  display: block;
  margin-top: 12px;
}

.apply-content input,
.apply-content textarea {
  width: 100%;
  margin-top: 6px;
  padding: 10px;
  border-radius: 10px;
  border: 1px solid rgba(25,255,122,.3);
  background: rgba(0,0,0,.4);
  color: white;
}

.form-actions {
  display: flex;
  gap: 10px;
  margin-top: 16px;
}

/* ===== FORMULAIRE MODERNE ===== */

.field {
  margin-top: 16px;
}

.field label {
  font-size: 13px;
  color: rgba(240,255,245,.85);
}

.field input,
.field textarea {
  width: 100%;
  margin-top: 6px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(25,255,122,.25);
  background: rgba(0,0,0,.45);
  color: white;
  font-size: 14px;
  transition: all .25s ease;
}

.field textarea {
  min-height: 90px;
  resize: vertical;
}

/* Focus animation */
.field input:focus,
.field textarea:focus {
  outline: none;
  border-color: #19ff7a;
  box-shadow: 0 0 0 3px rgba(25,255,122,.25);
  background: rgba(0,0,0,.65);
}

/* Placeholder */
.field input::placeholder,
.field textarea::placeholder {
  color: rgba(240,255,245,.35);
}

/* Modal animation */
.apply-modal.active .apply-content {
  animation: modalIn .35s ease;
}

@keyframes modalIn {
  from {
    transform: translateY(20px) scale(.96);
    opacity: 0;
  }
  to {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}

/* ===== FORMULAIRE ULTRA MODERNE ===== */

.modern-form {
  margin-top: 20px;
}

.floating-field {
  position: relative;
  margin-bottom: 22px;
}

.floating-field input,
.floating-field textarea {
  width: 100%;
  padding: 16px 14px;
  border-radius: 16px;
  border: 1px solid rgba(25,255,122,.25);
  background: rgba(8,12,10,.65);
  color: #fff;
  font-size: 14px;
  transition: all .25s ease;
}

.floating-field textarea {
  min-height: 110px;
  resize: none;
}

.floating-field label {
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translateY(-50%);
  font-size: 13px;
  color: rgba(240,255,245,.55);
  pointer-events: none;
  transition: all .25s ease;
  background: linear-gradient(
    to bottom,
    rgba(6,10,8,0),
    rgba(6,10,8,.85),
    rgba(6,10,8,.85)
  );
  padding: 0 6px;
}

/* Animation label */
.floating-field input:focus + label,
.floating-field textarea:focus + label,
.floating-field input:valid + label,
.floating-field textarea:valid + label {
  top: -7px;
  font-size: 11px;
  color: #19ff7a;
}

/* Focus effect */
.floating-field input:focus,
.floating-field textarea:focus {
  outline: none;
  border-color: #19ff7a;
  box-shadow: 0 0 0 3px rgba(25,255,122,.25);
  background: rgba(8,14,10,.85);
}

/* Boutons */
.form-actions {
  display: grid;
  gap: 12px;
}

.btn.full {
  width: 100%;
}

.apply-content {
  backdrop-filter: blur(18px);
  background: linear-gradient(
    180deg,
    rgba(8,12,10,.95),
    rgba(6,10,8,.95)
  );
}


/* ===== MESSAGE DE SUCCÈS ===== */

.success-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.75);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.success-overlay.active {
  display: flex;
}

.success-box {
  background: linear-gradient(
    180deg,
    rgba(8,14,10,.95),
    rgba(6,10,8,.95)
  );
  border-radius: 26px;
  padding: 34px;
  text-align: center;
  border: 1px solid rgba(25,255,122,.4);
  box-shadow: 0 0 80px rgba(25,255,122,.55);
  animation: successPop .45s ease;
}

.checkmark {
  width: 74px;
  height: 74px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: #19ff7a;
  color: #06110a;
  font-size: 42px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 40px rgba(25,255,122,.8);
  animation: checkBounce .6s ease;
}

.success-box h3 {
  margin: 0 0 8px;
  font-size: 20px;
}

.success-box p {
  margin: 0;
  font-size: 14px;
  color: rgba(240,255,245,.85);
}

/* Animations */
@keyframes successPop {
  from { transform: scale(.85); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

@keyframes checkBounce {
  0% { transform: scale(.2); }
  60% { transform: scale(1.15); }
  100% { transform: scale(1); }
}

.success-overlay.active {
  display: flex;
}

/* ===== MESSAGE DE SUCCÈS ===== */

.success-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.75);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.success-overlay.active {
  display: flex;
}

.success-box {
  background: linear-gradient(
    180deg,
    rgba(8,14,10,.95),
    rgba(6,10,8,.95)
  );
  border-radius: 26px;
  padding: 36px;
  text-align: center;
  border: 1px solid rgba(25,255,122,.4);
  box-shadow: 0 0 80px rgba(25,255,122,.55);
  animation: successPop .45s ease;
}

.checkmark {
  width: 72px;
  height: 72px;
  margin: 0 auto 16px;
  border-radius: 50%;
  background: #19ff7a;
  color: #06110a;
  font-size: 42px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 40px rgba(25,255,122,.8);
  animation: checkBounce .6s ease;
}

@keyframes successPop {
  from { transform: scale(.85); opacity: 0; }
  to { transform: scale(1); opacity: 1; }
}

@keyframes checkBounce {
  0% { transform: scale(.2); }
  60% { transform: scale(1.15); }
  100% { transform: scale(1); }
}

/* ===== LOGOS ENTREPRISES ===== */

.company-logo {
  width: 80px;
  height: 80px;
  margin: 0 auto 12px;
  border-radius: 18px;
  background: rgba(0,0,0,.45);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 25px rgba(25,255,122,.35);
}

.company-logo img {
  max-width: 70%;
  max-height: 70%;
  object-fit: contain;
  filter: drop-shadow(0 0 10px rgba(25,255,122,.35));
}

/* ===== LOADER BOUTON ===== */
.btn.loading .btn-text {
  display: none;
}
.btn.loading .loader {
  display: inline-block;
}
.loader {
  display: none;
  width: 18px;
  height: 18px;
  border: 3px solid rgba(255,255,255,.3);
  border-top: 3px solid white;
  border-radius: 50%;
  animation: spin .8s linear infinite;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}

/* ===== DÉTAIL ENTREPRISE ===== */
.company-detail {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.75);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 999;
}
.company-detail.active {
  display: flex;
}
.company-detail-box {
  background: #0b140f;
  padding: 30px;
  border-radius: 22px;
  max-width: 420px;
  text-align: center;
  box-shadow: 0 0 50px rgba(25,255,122,.45);
}


.success-overlay {
  pointer-events: none;
  opacity: 0;
}

.success-overlay.active {
  pointer-events: auto;
  opacity: 1;
}

.modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.75);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 999;
}

.modal.active {
  display: flex;
}


