/*
 * RelaisImmo — présentation commune LOGIN / REGISTER.
 * Structure de page de référence : register.php.
 * Référence visuelle et dimension du bloc animé : login.php (726 x 259).
 */
body.ri-login-body .ri-register-main{
  width:min(1366px,calc(100% - 54px));
  grid-template-columns:minmax(0,726px) minmax(420px,534px);
  justify-content:space-between;
  gap:clamp(36px,5vw,86px);
  align-items:flex-start;
  padding:38px 0 30px;
}
body.ri-login-body .ri-register-showcase{
  width:100%;
  max-width:726px;
  padding:0 0 18px;
  color:#0a1b58;
}
body.ri-login-body .ri-register-kicker{
  display:block;color:#1545ec;font-size:14px;line-height:1;font-weight:900;
  letter-spacing:.01em;margin:1px 0 16px;text-transform:uppercase;
}
body.ri-login-body .ri-register-showcase h1{
  max-width:726px;margin:0 0 14px;color:#0a1b58;font-size:46px;line-height:1.08;
  letter-spacing:-.045em;font-weight:900;
}
body.ri-login-body .ri-register-subtitle{
  max-width:720px;margin:0;color:#1545ec;font-size:28px;line-height:1.18;
  letter-spacing:-.025em;font-weight:850;
}
body.ri-login-body .ri-register-greenline{
  display:block;width:58px;height:3px;border-radius:999px;background:#35c58a;margin:20px 0 18px;
}
body.ri-login-body .ri-register-intro{
  max-width:726px!important;margin:0 0 24px!important;color:#42506d!important;
  font-size:16px!important;line-height:1.55!important;
}
body.ri-login-body .ri-register-benefits{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0 0 26px;
}
body.ri-login-body .ri-register-benefits article{
  display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:start;min-width:0;
}
body.ri-login-body .ri-register-benefit-icon{
  width:54px;height:54px;border-radius:15px;display:block;background-position:center;
  background-repeat:no-repeat;background-size:100% 100%;overflow:hidden;
}
body.ri-login-body .ri-register-benefits article:nth-child(1) .ri-register-benefit-icon{background-image:url('register-login-benefit-search.png?v=20260831-v7')}
body.ri-login-body .ri-register-benefits article:nth-child(2) .ri-register-benefit-icon{background-image:url('register-login-benefit-network.png?v=20260831-v7')}
body.ri-login-body .ri-register-benefits article:nth-child(3) .ri-register-benefit-icon{background-image:url('register-login-benefit-handshake.png?v=20260831-v7')}
body.ri-login-body .ri-register-benefits strong{display:block;color:#0a1b58;font-size:14px;line-height:1.25;margin:2px 0 5px;font-weight:850}
body.ri-login-body .ri-register-benefits p{margin:0;color:#4d5d7b;font-size:12.5px;line-height:1.45}

/* Animation multi-process commune LOGIN / REGISTER — 726 x 259. */
body.ri-login-body .ri-register-process{
  position:relative;display:block;width:100%;max-width:726px;aspect-ratio:726/259;min-height:0;
  margin:0 0 18px;padding:0;border:1px solid rgba(21,69,236,.08);border-radius:18px;
  box-shadow:0 12px 32px rgba(21,45,105,.06);background:linear-gradient(180deg,#fff,#fbfcff);
  overflow:hidden;isolation:isolate;
}
body.ri-login-body .ri-process-slide{
  position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(4px);
}
body.ri-login-body .ri-process-slide.is-active{
  opacity:1;visibility:visible;transform:translateY(0);z-index:2;
  animation:ri-process-slide-in 220ms cubic-bezier(.4,0,.2,1) both;
}
@keyframes ri-process-slide-in{
  from{opacity:0;transform:translateY(4px)}
  to{opacity:1;transform:translateY(0)}
}
body.ri-login-body .ri-process-label{
  position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:8;
  display:flex;align-items:center;gap:8px;white-space:nowrap;
  padding:6px 11px;border-radius:999px;background:rgba(245,248,255,.96);
  border:1px solid rgba(21,69,236,.10);box-shadow:0 6px 18px rgba(21,45,105,.06);
}
body.ri-login-body .ri-process-label span{
  color:#6b7ed4;font-size:9px;line-height:1;font-weight:900;letter-spacing:.13em;
}
body.ri-login-body .ri-process-label strong{
  color:#1545ec;font-size:11px;line-height:1;font-weight:900;
}
body.ri-login-body .ri-process-flow{
  position:absolute;left:26px;right:26px;top:45px;bottom:28px;
  display:grid;grid-template-columns:138px minmax(64px,1fr) 123px minmax(64px,1fr) 138px;
  align-items:start;column-gap:7px;
}
body.ri-login-body .ri-process-actor{
  position:relative;z-index:4;text-align:center;min-width:0;color:#0a1b58;
}
body.ri-login-body .ri-process-visual{
  position:relative;display:block;width:102px;height:102px;margin:0 auto 6px;
  background-position:center;background-repeat:no-repeat;background-size:contain;
  border-radius:50%;transform:scale(.97);
}
body.ri-login-body .ri-process-actor-preneur .ri-process-visual{background-image:url('process-actor-preneur.png?v=20260831-v21')}
body.ri-login-body .ri-process-actor-relais .ri-process-visual{width:92px;height:92px;margin-top:5px;margin-bottom:11px;background-image:url('process-actor-relais.png?v=20260831-v21')}
body.ri-login-body .ri-process-actor-bien .ri-process-visual{background-image:url('process-actor-bien.png?v=20260831-v21')}
body.ri-login-body .ri-process-actor-search .ri-process-visual,
body.ri-login-body .ri-process-actor-handshake .ri-process-visual{
  width:84px;height:84px;margin-top:9px;margin-bottom:15px;border-radius:22px;background-size:54px 54px;
  background-color:#f4f7ff;box-shadow:inset 0 0 0 1px rgba(21,69,236,.05);
}
body.ri-login-body .ri-process-actor-search .ri-process-visual{background-image:url('register-login-benefit-search.png?v=20260831-v7')}
body.ri-login-body .ri-process-actor-handshake .ri-process-visual{background-image:url('register-login-benefit-handshake.png?v=20260831-v7');background-color:#f7f2ff}
body.ri-login-body .ri-process-actor strong{
  display:block;min-height:29px;padding:0 2px;font-size:12px;line-height:1.18;font-weight:900;letter-spacing:-.01em;
}
body.ri-login-body .ri-process-actor small{
  display:block;margin:3px auto 0;max-width:138px;color:#4d5d7b;font-size:9.5px;line-height:1.28;font-weight:650;
}
body.ri-login-body .ri-process-arrow{
  position:relative;height:102px;z-index:3;
}
body.ri-login-body .ri-process-arrow::before{
  content:"";position:absolute;left:0;right:0;top:50px;height:2px;
  background:repeating-linear-gradient(90deg,#c2cee4 0 6px,transparent 6px 10px);
}
body.ri-login-body .ri-process-arrow::after{
  content:"";position:absolute;right:0;top:44px;width:10px;height:10px;
  border-top:2px solid #99abc9;border-right:2px solid #99abc9;transform:rotate(45deg);
}
body.ri-login-body .ri-process-target{
  position:absolute;left:0;top:51px;width:15px;height:15px;z-index:5;
  border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.78);
  background:
    radial-gradient(circle,#2851e6 0 18%,#fff 20% 35%,#2851e6 37% 48%,transparent 50%),
    linear-gradient(#2851e6,#2851e6) center/1px 100% no-repeat,
    linear-gradient(#2851e6,#2851e6) center/100% 1px no-repeat;
  box-shadow:0 0 0 4px rgba(40,81,230,.08),0 3px 10px rgba(21,45,105,.14);
}
body.ri-login-body .ri-process-slide.is-active .ri-process-arrow-one .ri-process-target{
  animation:ri-process-target-one 6.4s cubic-bezier(.4,0,.2,1) both;
}
body.ri-login-body .ri-process-slide.is-active .ri-process-arrow-two .ri-process-target{
  animation:ri-process-target-two 6.4s cubic-bezier(.4,0,.2,1) both;
}
body.ri-login-body .ri-process-slide.is-active .ri-process-actor:nth-child(1) .ri-process-visual{
  animation:ri-process-actor-left 6.4s cubic-bezier(.4,0,.2,1) both;
}
body.ri-login-body .ri-process-slide.is-active .ri-process-actor:nth-child(3) .ri-process-visual{
  animation:ri-process-actor-center 6.4s cubic-bezier(.4,0,.2,1) both;
}
body.ri-login-body .ri-process-slide.is-active .ri-process-actor:nth-child(5) .ri-process-visual{
  animation:ri-process-actor-right 6.4s cubic-bezier(.4,0,.2,1) both;
}
body.ri-login-body .ri-process-switcher{
  position:absolute;right:14px;bottom:10px;z-index:12;display:flex;gap:6px;align-items:center;
}
body.ri-login-body .ri-process-switcher button{
  appearance:none;border:0;padding:0;width:7px;height:7px;border-radius:999px;background:#cbd5e7;cursor:pointer;
  transition:width 180ms cubic-bezier(.4,0,.2,1),background 180ms cubic-bezier(.4,0,.2,1),transform 180ms cubic-bezier(.4,0,.2,1);
}
body.ri-login-body .ri-process-switcher button:hover{transform:scale(1.18)}
body.ri-login-body .ri-process-switcher button.is-active{width:22px;background:#2851e6}
body.ri-login-body .ri-process-switcher button:focus-visible{outline:2px solid #2851e6;outline-offset:3px}
@keyframes ri-process-target-one{
  0%,13%{left:0;opacity:0;transform:translate(-50%,-50%) scale(.72)}
  17%{left:0;opacity:1;transform:translate(-50%,-50%) scale(1)}
  34%{left:100%;opacity:1;transform:translate(-50%,-50%) scale(1)}
  38%,100%{left:100%;opacity:0;transform:translate(-50%,-50%) scale(.72)}
}
@keyframes ri-process-target-two{
  0%,57%{left:0;opacity:0;transform:translate(-50%,-50%) scale(.72)}
  61%{left:0;opacity:1;transform:translate(-50%,-50%) scale(1)}
  78%{left:100%;opacity:1;transform:translate(-50%,-50%) scale(1)}
  82%,100%{left:100%;opacity:0;transform:translate(-50%,-50%) scale(.72)}
}
@keyframes ri-process-actor-left{
  0%{transform:scale(.96);filter:saturate(.88)} 5%{transform:scale(1.025);filter:saturate(1.08)}
  12%,100%{transform:scale(1);filter:saturate(1)}
}
@keyframes ri-process-actor-center{
  0%,35%{transform:scale(.97)} 42%{transform:scale(1.035);filter:drop-shadow(0 6px 10px rgba(21,45,105,.12))}
  55%,100%{transform:scale(1);filter:none}
}
@keyframes ri-process-actor-right{
  0%,78%{transform:scale(.97);filter:saturate(.90)} 84%{transform:scale(1.025);filter:saturate(1.08)}
  94%,100%{transform:scale(1);filter:saturate(1)}
}
body.ri-login-body .ri-register-assurance{
  display:flex;align-items:center;gap:12px;min-height:54px;padding:8px 14px;border-radius:12px;
  background:linear-gradient(90deg,#e9f0ff,#f3f6ff);border:1px solid #dbe5fb;color:#0a1b58;
}
body.ri-login-body .ri-register-assurance-icon{
  width:46px;height:46px;border-radius:11px;display:block;flex:0 0 auto;overflow:hidden;
  background:url('register-login-assurance-shield.png?v=20260831-v7') center/100% 100% no-repeat;
}
body.ri-login-body .ri-register-assurance strong{font-size:13px;line-height:1.35;font-weight:850}
body.ri-login-body .ri-register-assurance-card{margin-top:22px}
body.ri-login-body .ri-register-card .ri-register-assurance-card{margin-top:24px}

/* La carte conserve la structure de register.php sur les deux pages. */
body.ri-login-body .ri-register-card{width:100%;max-width:534px}
body.ri-login-body .ri-login-card-auth{margin-top:0}
body.ri-login-body .ri-login-password-wrap{display:block;position:relative}
body.ri-login-body .ri-login-password-wrap input{padding-right:46px}
body.ri-login-body .ri-login-password-toggle{
  position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:transparent;
  color:#607395;cursor:pointer;padding:6px;font-size:18px;line-height:1;
}

@media(max-width:1100px){
  body.ri-login-body .ri-register-main{grid-template-columns:1fr;gap:24px;width:min(900px,calc(100% - 36px))}
  body.ri-login-body .ri-register-showcase{max-width:726px}
  body.ri-login-body .ri-register-card{max-width:726px}
}
@media(max-width:760px){
  body.ri-login-body .ri-register-main{width:min(100% - 28px,680px);grid-template-columns:1fr;gap:24px;padding-top:28px}
  body.ri-login-body .ri-register-showcase{padding:0;max-width:none}
  body.ri-login-body .ri-register-showcase h1{font-size:34px}
  body.ri-login-body .ri-register-subtitle{font-size:24px}
  body.ri-login-body .ri-register-benefits{grid-template-columns:1fr;gap:14px}
  body.ri-login-body .ri-register-process{width:100%;max-width:726px}
  body.ri-login-body .ri-process-flow{left:14px;right:14px;grid-template-columns:112px minmax(40px,1fr) 100px minmax(40px,1fr) 112px;column-gap:4px}
  body.ri-login-body .ri-process-visual{width:86px;height:86px}
  body.ri-login-body .ri-process-actor-relais .ri-process-visual{width:78px;height:78px}
  body.ri-login-body .ri-process-actor strong{font-size:10.5px}
  body.ri-login-body .ri-process-actor small{font-size:8.5px}
}
@media(prefers-reduced-motion:reduce){
  body.ri-login-body .ri-process-slide,
  body.ri-login-body .ri-process-slide.is-active,
  body.ri-login-body .ri-process-slide.is-active .ri-process-target,
  body.ri-login-body .ri-process-slide.is-active .ri-process-visual{animation:none!important;transition:none!important}
}


/* Bandeau bénéfices inférieur restauré depuis la maquette LOGIN de référence.
   Source exacte : bande y=915..1024 de login-target-20260808-flat.png (1536 x 109). */
body.ri-login-body .ri-login-bottom-benefits{
  display:block;
  width:100%;
  aspect-ratio:1536/109;
  margin:0;
  padding:0;
  border:0;
  background:#f5f7fc url('login-bottom-benefits-reference-v10.png?v=20260831-v11') center/100% 100% no-repeat;
}
@media(max-width:760px){
  body.ri-login-body .ri-login-bottom-benefits{
    /* Conserve l'intégralité du bandeau et ses proportions sur mobile. */
    aspect-ratio:1536/109;
    min-height:0;
  }
}

/* LOGIN — ajustements validés 18/09/2026.
   Scope volontairement limité à login.php pour ne pas modifier register.php. */
body.ri-login-body .ri-login-page .ri-register-showcase h1{
  font-size:40px;
}
body.ri-login-body .ri-login-page .ri-register-subtitle{
  font-size:20px;
  line-height:1.28;
  margin-bottom:22px;
}
body.ri-login-body .ri-login-page .ri-register-process{
  aspect-ratio:726/292;
  min-height:292px;
}
body.ri-login-body .ri-login-page .ri-process-flow{
  top:45px;
  bottom:44px;
}
body.ri-login-body .ri-login-page .ri-process-switcher{
  bottom:12px;
}
@media(max-width:760px){
  body.ri-login-body .ri-login-page .ri-register-subtitle{font-size:20px}
  body.ri-login-body .ri-login-page .ri-register-process{aspect-ratio:auto;min-height:300px}
}


/* REGISTER — ajustements validés 18/09/2026.
   Même direction visuelle que la page de connexion, scope limité à register.php. */
body.ri-login-body .ri-register-page .ri-register-showcase h1{
  font-size:40px;
}
body.ri-login-body .ri-register-page .ri-register-subtitle{
  font-size:20px;
  line-height:1.28;
  margin-bottom:22px;
}
body.ri-login-body .ri-register-page .ri-register-process{
  aspect-ratio:726/292;
  min-height:292px;
}
body.ri-login-body .ri-register-page .ri-process-flow{
  top:45px;
  bottom:44px;
}
body.ri-login-body .ri-register-page .ri-process-switcher{
  bottom:12px;
}
@media(max-width:760px){
  body.ri-login-body .ri-register-page .ri-register-showcase h1{font-size:34px}
  body.ri-login-body .ri-register-page .ri-register-subtitle{font-size:20px}
  body.ri-login-body .ri-register-page .ri-register-process{aspect-ratio:auto;min-height:300px}
}


/* AUTH PAGES — nettoyage navigation haute + visuels process non tronqués.
   18/09/2026 v29.10 */
body.ri-login-body .ri-login-topbar{
  justify-content:flex-start;
}
body.ri-login-body .ri-login-topbar .ri-brand{
  margin-right:auto;
}
body.ri-login-body .ri-process-actor-preneur .ri-process-visual,
body.ri-login-body .ri-process-actor-relais .ri-process-visual,
body.ri-login-body .ri-process-actor-bien .ri-process-visual{
  border-radius:0;
  background-size:100% 100%;
}
body.ri-login-body .ri-forgot-page .ri-register-process,
body.ri-login-body .ri-reset-page .ri-register-process,
body.ri-login-body .ri-login-page .ri-register-process,
body.ri-login-body .ri-register-page .ri-register-process{
  overflow:visible;
}
body.ri-login-body .ri-forgot-page .ri-process-flow,
body.ri-login-body .ri-reset-page .ri-process-flow,
body.ri-login-body .ri-login-page .ri-process-flow,
body.ri-login-body .ri-register-page .ri-process-flow{
  bottom:48px;
}
