/* Le parcours de paiement compte désormais 5 étapes (au lieu de 6) */
.flow{grid-template-columns:repeat(5,1fr)}
@media (max-width:980px){
  .flow{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:650px){
  .flow{grid-template-columns:1fr}
}

/* ===== Bouton Portail (accès utilisateurs / développeurs) ===== */
.btn-portal{background:linear-gradient(135deg,#2fd66b,#0f9e4a);box-shadow:0 12px 28px rgba(20,180,90,.28);color:#fff}
.btn-portal:hover{transform:translateY(-2px)}

@media (max-width:1180px){
  .nav .links{gap:16px}
  .nav .links .btn{padding:10px 14px;font-size:13px}
}

/* ===== Menu mobile (hamburger) ===== */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.04);cursor:pointer;padding:0}
.nav-toggle span{display:block;width:18px;height:2px;margin:0 auto;background:#fff;border-radius:2px;transition:transform .25s ease,opacity .25s ease}
.nav.mobile-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.mobile-open .nav-toggle span:nth-child(2){opacity:0}
.nav.mobile-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media (max-width:980px){
  .nav-toggle{display:flex}
  .nav .links{
    display:none;
    position:absolute;
    left:0; right:0; top:100%;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:rgba(5,11,24,.98);
    backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(255,255,255,.08);
    padding:8px 0 18px;
  }
  .nav.mobile-open .links{display:flex}
  .nav .links a{padding:14px 24px;border-radius:0}
  .nav .links a.btn{margin:10px 24px 0}
}

/* ===== Carte Documentation (téléchargement PDF) ===== */
.doc-card{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:36px;
  align-items:center;
  background:linear-gradient(145deg,rgba(17,43,78,.75),rgba(8,22,42,.8));
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:36px;
}
.doc-card-text p{margin:14px 0 22px;color:var(--muted);font-size:15px;max-width:46ch}
.doc-card-visual{display:flex;justify-content:center}
.doc-thumb{
  width:180px;
  aspect-ratio:3/4;
  background:linear-gradient(160deg,#0d1c33,#0a1526);
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  padding:18px 16px;
  box-shadow:0 24px 50px rgba(0,0,0,.35);
  position:relative;
}
.doc-thumb-badge{
  display:inline-flex;
  align-items:center;justify-content:center;
  padding:4px 10px;
  border-radius:6px;
  background:linear-gradient(135deg,var(--blue),var(--cyan));
  color:#fff;font-weight:800;font-size:11px;letter-spacing:.04em;
  margin-bottom:16px;
}
.doc-thumb-line{height:7px;border-radius:4px;background:rgba(255,255,255,.12);margin-bottom:9px}
.doc-thumb-line--title{width:70%;height:10px;background:rgba(255,255,255,.28)}
.doc-thumb-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.doc-thumb-grid span{display:block;aspect-ratio:1;border-radius:6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}

@media (max-width:900px){
  .doc-card{grid-template-columns:1fr;text-align:center;padding:28px}
  .doc-card-text p{max-width:none;margin-left:auto;margin-right:auto}
  .doc-card-visual{order:-1}
  .doc-thumb{width:150px}
}

/* ===== Footer ===== */
.footer-inner a{color:#cbd8eb;text-decoration:underline;text-underline-offset:2px;font-weight:700}
.footer-inner a:hover{color:var(--cyan)}

/* ===== Coordonnées de contact ===== */
.contact-info-list{display:grid;gap:14px;margin-top:26px}
.contact-info-item{display:flex;gap:14px;align-items:flex-start}
.contact-info-icon{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#147eff,#13c9e5);font-size:18px}
.contact-info-icon--x{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff}
.contact-info-icon--telegram{background:linear-gradient(135deg,#42a7e0,#1c7fc4);color:#fff}
.contact-info-item b{display:block;font-size:13px;color:#cbd8eb;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.contact-info-item span, .contact-info-item a{display:block;color:var(--text);font-size:15px;font-weight:600}
.contact-info-item a{text-decoration:none}
.contact-info-item a:hover{color:var(--cyan)}
.contact-info-item .sub{color:var(--muted);font-weight:400;font-size:13px;margin-top:2px}

/* Éléments visuels absents de style.css (repris de la page d'origine) */
.skip-link{position:fixed;left:16px;top:-100px;z-index:9999;padding:10px 16px;border-radius:10px;background:#fff;color:#06152f;font-weight:800;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.skip-link:focus{top:16px}
.hero-badges{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.045);color:#cbd8eb;font-size:12px;font-weight:600}
.hero-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px rgba(0,196,255,.8)}
.platform-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.platform-item{padding:15px 14px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(255,255,255,.035);text-align:center}
.platform-item strong{display:block;color:#fff;font-size:14px}
.platform-item span{display:block;margin-top:4px;color:#8294ad;font-size:11px}

/* Formulaire de contact */
.contact-section{position:relative}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}
.contact-form{display:grid;gap:16px;background:linear-gradient(145deg,rgba(17,43,78,.8),rgba(8,22,42,.82));border:1px solid var(--line);border-radius:var(--radius);padding:28px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{display:grid;gap:6px}
.form-group label{font-size:13px;font-weight:700;color:#cbd8eb}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);font:inherit;font-size:14px}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:2px solid var(--blue);outline-offset:1px}
.form-group select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%238eeeff'%3E%3Cpath d='M5.5 7.5l4.5 4.5 4.5-4.5' stroke='%238eeeff' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:38px;cursor:pointer}
.form-group select option{background:#0a1526;color:var(--text)}
.form-group.hidden{display:none}

/* ===== Fenêtre modale "Portail bientôt disponible" ===== */
body.modal-open{overflow:hidden}
.modal-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(4,10,20,.72);backdrop-filter:blur(6px)}
.modal-overlay[aria-hidden="true"]{display:none}
.modal-box{position:relative;width:min(420px,100%);text-align:center;padding:34px 28px 28px;border-radius:22px;background:linear-gradient(160deg,rgba(19,47,88,.98),rgba(7,20,40,.98));border:1px solid rgba(255,255,255,.13);box-shadow:0 30px 80px rgba(0,0,0,.5);animation:modal-pop .18s ease-out}
@keyframes modal-pop{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.modal-icon{font-size:34px;margin-bottom:14px}
.modal-box h3{font-size:21px;margin-bottom:10px}
.modal-box p{color:var(--muted);font-size:14.5px;margin:0 0 24px}
.modal-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:#cbd8eb;font-size:18px;line-height:1;cursor:pointer}
.modal-close:hover{background:rgba(255,255,255,.1);color:#fff}
.modal-ok{width:100%}
.form-group textarea{resize:vertical;min-height:110px}
.captcha-group label{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.captcha-group span{font-weight:900;color:#fff}
.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden}
.contact-form button[type="submit"]{justify-self:start;cursor:pointer}
.contact-form button[type="submit"]:disabled{opacity:.6;cursor:not-allowed}
.form-feedback{font-size:14px;font-weight:700;min-height:20px}
.form-feedback.success{color:#58c96b}
.form-feedback.error{color:#ff6b6b}
.form-feedback-detail{margin-top:6px;font-size:12px;font-weight:500;color:#ffb37a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .form-row{grid-template-columns:1fr}
}

/* ===== Liens légaux du pied de page (partagés par toutes les pages) ===== */
.footer-inner{justify-content:center;text-align:center;flex-direction:column;gap:8px}
.footer-legal-links a{color:#8ea8c8;font-weight:600;text-decoration:underline;text-underline-offset:2px;font-size:12px}
.footer-legal-links a:hover{color:var(--cyan)}
