/* =========================================================
   FPA PUBLIC V5.1.5.00
   Fondation visuelle des inscriptions publiques
   Scope strict : .fpa-public-registration-v51500
   ========================================================= */

.fpa-public-registration-v51500{
  --fpa-public-navy:#071a33;
  --fpa-public-navy-2:#0c3158;
  --fpa-public-orange:#ef5a1a;
  --fpa-public-orange-dark:#d94c10;
  --fpa-public-blue:#2563eb;
  --fpa-public-text:#0f172a;
  --fpa-public-muted:#64748b;
  --fpa-public-border:#dce3ec;
  --fpa-public-bg:#f3f6fa;
  --fpa-public-card:#ffffff;
  --fpa-public-radius:22px;
  --fpa-public-shadow:0 14px 38px rgba(15,23,42,.08);

  min-height:100vh;
  background:
    radial-gradient(circle at 8% 0%,rgba(239,90,26,.07),transparent 28%),
    radial-gradient(circle at 90% 12%,rgba(37,99,235,.055),transparent 30%),
    #f3f6fa;
  color:var(--fpa-public-text);
}

/* HEADER */
.fpa-public-registration-v51500 .registration-top-v51150{
  min-height:86px;
  padding:14px max(24px,calc((100vw - 1180px)/2));
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(148,163,184,.18);
  box-shadow:0 3px 16px rgba(15,23,42,.035);
  backdrop-filter:blur(14px);
}

.fpa-public-registration-v51500 .registration-logo-v51150 img{
  width:auto;
  height:50px;
  max-width:220px;
}

.fpa-public-registration-v51500 .registration-top-v51150 nav{
  gap:6px;
}

.fpa-public-registration-v51500 .registration-top-v51150 nav a{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  padding:9px 13px;
  border-radius:12px;
  font-size:.92rem;
  transition:.18s ease;
}

.fpa-public-registration-v51500 .registration-top-v51150 nav a:hover{
  background:#f1f5f9;
  color:var(--fpa-public-navy);
}

/* CONTENEUR */
.fpa-public-registration-v51500 .registration-shell-v51150{
  width:min(1180px,calc(100% - 32px));
  margin:26px auto 34px;
}

/* HERO */
.fpa-public-registration-v51500 .registration-hero-v51150{
  min-height:190px;
  padding:28px 30px;
  border-radius:28px;
  align-items:center;
  background:
    linear-gradient(118deg,#071a33 0%,#12355d 58%,#ef5a1a 100%);
  box-shadow:0 18px 46px rgba(7,26,51,.17);
}

.fpa-public-registration-v51500 .registration-hero-v51150:after{
  width:270px;
  height:270px;
  right:-82px;
  top:-115px;
  opacity:.7;
}

.fpa-public-registration-v51500 .registration-hero-v51150 span{
  padding:7px 12px;
  font-size:.72rem;
  letter-spacing:.09em;
}

.fpa-public-registration-v51500 .registration-hero-v51150 h1{
  margin:14px 0 8px;
  font-size:clamp(2.15rem,4vw,3.7rem);
  line-height:1;
  max-width:800px;
}

.fpa-public-registration-v51500 .registration-hero-v51150 p{
  max-width:720px;
  font-size:1rem;
  line-height:1.46;
}

.fpa-public-registration-v51500 .registration-hero-v51150>strong{
  min-width:160px;
  padding:13px 17px;
  border-radius:16px;
  font-size:.92rem;
}

/* LAYOUT */
.fpa-public-registration-v51500 .registration-layout-v51150{
  grid-template-columns:270px minmax(0,1fr);
  gap:18px;
  margin-top:18px;
}

/* COLONNE PROFIL */
.fpa-public-registration-v51500 .registration-side-v51150{
  top:104px;
  padding:19px;
  border-radius:22px;
  border:1px solid var(--fpa-public-border);
  box-shadow:var(--fpa-public-shadow);
}

.fpa-public-registration-v51500 .registration-side-v51150 h2{
  font-size:1.16rem;
  margin-bottom:7px;
}

.fpa-public-registration-v51500 .registration-side-v51150 p{
  font-size:.91rem;
  line-height:1.46;
  margin-bottom:12px;
}

.fpa-public-registration-v51500 .registration-switch-v51150{
  gap:7px;
  margin-top:13px;
  padding-top:13px;
}

.fpa-public-registration-v51500 .registration-switch-v51150 span{
  font-size:.72rem;
}

.fpa-public-registration-v51500 .registration-switch-v51150 a{
  min-height:40px;
  align-items:center;
  padding:9px 11px;
  border-radius:12px;
  font-size:.9rem;
  transition:.16s ease;
}

.fpa-public-registration-v51500 .registration-switch-v51150 a:hover{
  transform:translateX(2px);
  border-color:#bfdbfe;
  background:#eff6ff;
}

/* OFFRE PRO */
.fpa-public-registration-v51500 .registration-offer-box-v51150{
  margin:12px 0;
  padding:13px;
  border-radius:15px;
  box-shadow:none;
}

/* FORMULAIRE */
.fpa-public-registration-v51500 .registration-form-v51150{
  gap:13px;
}

.fpa-public-registration-v51500 .registration-form-card-v51150{
  padding:19px 20px;
  border-radius:22px;
  border:1px solid var(--fpa-public-border);
  box-shadow:0 10px 28px rgba(15,23,42,.055);
}

.fpa-public-registration-v51500 .registration-form-card-v51150 h2{
  margin:0 0 13px;
  font-size:1.18rem;
  letter-spacing:-.025em;
}

.fpa-public-registration-v51500 .registration-form-card-v51150 p{
  margin:0 0 13px;
  font-size:.9rem;
  line-height:1.45;
}

.fpa-public-registration-v51500 .registration-form-v51150 .grid.two{
  gap:12px;
}

.fpa-public-registration-v51500 .registration-form-v51150 label{
  gap:5px;
  font-size:.88rem;
  font-weight:850;
}

.fpa-public-registration-v51500 .registration-form-v51150 label small{
  font-size:.75rem;
  line-height:1.35;
}

/* INPUTS */
.fpa-public-registration-v51500 .registration-form-v51150 input,
.fpa-public-registration-v51500 .registration-form-v51150 select,
.fpa-public-registration-v51500 .registration-form-v51150 textarea{
  min-height:47px;
  padding:11px 13px;
  border-radius:13px;
  border:1px solid #d6dee9;
  background:#fff;
  box-shadow:none;
  font-size:.92rem;
  transition:border-color .15s ease,box-shadow .15s ease;
}

.fpa-public-registration-v51500 .registration-form-v51150 textarea{
  min-height:92px;
  line-height:1.45;
}

.fpa-public-registration-v51500 .registration-form-v51150 input:hover,
.fpa-public-registration-v51500 .registration-form-v51150 select:hover,
.fpa-public-registration-v51500 .registration-form-v51150 textarea:hover{
  border-color:#b8c5d6;
}

.fpa-public-registration-v51500 .registration-form-v51150 input:focus,
.fpa-public-registration-v51500 .registration-form-v51150 select:focus,
.fpa-public-registration-v51500 .registration-form-v51150 textarea:focus{
  outline:none;
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.10);
}

/* FICHIERS */
.fpa-public-registration-v51500 .registration-form-v51150 input[type="file"]{
  min-height:50px;
  padding:6px;
  background:#f8fafc;
  color:#475569;
  font-weight:700;
}

.fpa-public-registration-v51500
.registration-form-v51150 input[type="file"]::file-selector-button{
  min-height:36px;
  margin-right:10px;
  padding:8px 12px;
  border:0;
  border-radius:10px;
  background:#e9eef5;
  color:#0f172a;
  font-weight:850;
  cursor:pointer;
}

/* CHECKBOX GENERIQUE */
.fpa-public-registration-v51500 .registration-form-v51150 .check{
  display:flex;
  align-items:flex-start;
  gap:9px;
  font-size:.88rem;
  line-height:1.4;
}

.fpa-public-registration-v51500
.registration-form-v51150 .check input[type="checkbox"]{
  appearance:auto;
  width:18px;
  height:18px;
  min-height:18px;
  flex:0 0 18px;
  padding:0;
  margin:1px 0 0;
  box-shadow:none;
}

/* SERVICES TRANSITAIRE */
.fpa-public-registration-v51500 .registration-check-grid-v51154{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin:10px 0 15px;
}

.fpa-public-registration-v51500 .registration-check-grid-v51154 label{
  min-height:52px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid #dce3ec;
  border-radius:13px;
  background:#f8fafc;
  cursor:pointer;
  transition:.15s ease;
}

.fpa-public-registration-v51500 .registration-check-grid-v51154 label:hover{
  border-color:#93c5fd;
  background:#eff6ff;
}

.fpa-public-registration-v51500
.registration-check-grid-v51154 input[type="checkbox"]{
  appearance:auto;
  width:18px!important;
  height:18px!important;
  min-height:18px!important;
  flex:0 0 18px;
  padding:0!important;
  margin:0!important;
  box-shadow:none!important;
}

.fpa-public-registration-v51500 .registration-check-grid-v51154 span{
  font-size:.88rem;
  line-height:1.25;
  font-weight:800;
}

/* VALIDATION */
.fpa-public-registration-v51500 .registration-agent-note-v51150{
  padding:10px 12px;
  border-radius:12px;
  font-size:.87rem;
}

.fpa-public-registration-v51500 .registration-submit-v51150{
  min-height:50px;
  margin-top:3px;
  border-radius:13px;
  background:linear-gradient(135deg,#ff651d,#e84d0e);
  border:0;
  box-shadow:0 10px 22px rgba(239,90,26,.20);
}

.fpa-public-registration-v51500 .registration-submit-v51150:hover{
  background:linear-gradient(135deg,#ef5a1a,#d94c10);
  transform:translateY(-1px);
}

/* FOOTER */
.fpa-public-registration-v51500 .registration-footer-v51150{
  padding:20px 16px 28px;
  gap:16px;
  font-size:.86rem;
}

/* TABLETTE */
@media(max-width:980px){
  .fpa-public-registration-v51500 .registration-top-v51150{
    min-height:76px;
    padding:12px 20px;
  }

  .fpa-public-registration-v51500 .registration-layout-v51150{
    grid-template-columns:1fr;
  }

  .fpa-public-registration-v51500 .registration-side-v51150{
    position:relative;
    top:auto;
  }

  .fpa-public-registration-v51500 .registration-switch-v51150{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }

  .fpa-public-registration-v51500 .registration-switch-v51150>span{
    grid-column:1/-1;
  }

  .fpa-public-registration-v51500 .registration-switch-v51150 a{
    justify-content:center;
    text-align:center;
  }
}

/* MOBILE */
@media(max-width:680px){
  .fpa-public-registration-v51500 .registration-top-v51150{
    position:sticky;
    min-height:68px;
    padding:9px 12px;
    gap:8px;
  }

  .fpa-public-registration-v51500 .registration-logo-v51150 img{
    height:36px;
    max-width:145px;
  }

  .fpa-public-registration-v51500 .registration-top-v51150 nav{
    gap:2px;
  }

  .fpa-public-registration-v51500 .registration-top-v51150 nav a{
    min-height:34px;
    padding:7px 8px;
    font-size:.78rem;
  }

  .fpa-public-registration-v51500 .registration-shell-v51150{
    width:calc(100% - 16px);
    margin:10px auto 22px;
    padding-top:0;
  }

  .fpa-public-registration-v51500 .registration-hero-v51150{
    min-height:auto;
    padding:20px;
    border-radius:20px;
    gap:14px;
  }

  .fpa-public-registration-v51500 .registration-hero-v51150 h1{
    font-size:2rem;
    line-height:1.02;
    margin:11px 0 8px;
  }

  .fpa-public-registration-v51500 .registration-hero-v51150 p{
    font-size:.9rem;
  }

  .fpa-public-registration-v51500 .registration-hero-v51150>strong{
    width:auto;
    min-width:0;
    justify-self:start;
    padding:10px 13px;
  }

  .fpa-public-registration-v51500 .registration-layout-v51150{
    gap:11px;
    margin-top:11px;
  }

  .fpa-public-registration-v51500 .registration-side-v51150,
  .fpa-public-registration-v51500 .registration-form-card-v51150{
    padding:15px;
    border-radius:18px;
  }

  .fpa-public-registration-v51500 .registration-side-v51150 p{
    font-size:.86rem;
  }

  .fpa-public-registration-v51500 .registration-switch-v51150{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .fpa-public-registration-v51500 .registration-switch-v51150 a{
    font-size:.82rem;
    padding:8px;
  }

  .fpa-public-registration-v51500
  .registration-form-v51150 .grid.two,
  .fpa-public-registration-v51500
  .registration-form-v51150 .grid.three{
    grid-template-columns:1fr!important;
    gap:9px;
  }

  .fpa-public-registration-v51500 .registration-form-v51150{
    gap:10px;
  }

  .fpa-public-registration-v51500 .registration-form-card-v51150 h2{
    font-size:1.08rem;
    margin-bottom:11px;
  }

  .fpa-public-registration-v51500 .registration-form-v51150 input,
  .fpa-public-registration-v51500 .registration-form-v51150 select,
  .fpa-public-registration-v51500 .registration-form-v51150 textarea{
    min-height:45px;
    border-radius:12px;
  }

  .fpa-public-registration-v51500 .registration-check-grid-v51154{
    grid-template-columns:1fr;
    gap:7px;
  }

  .fpa-public-registration-v51500 .registration-check-grid-v51154 label{
    min-height:46px;
    padding:9px 11px;
  }

  .fpa-public-registration-v51500 .registration-submit-v51150{
    position:static;
    min-height:48px;
    margin-top:5px;
  }
}
/* FPA_PUBLIC_V51501_PREMIUM_FINISH */

.fpa-public-registration-v51500{
  background:
    radial-gradient(circle at 8% 0%,rgba(239,90,26,.085),transparent 29%),
    radial-gradient(circle at 92% 10%,rgba(37,99,235,.075),transparent 31%),
    linear-gradient(180deg,#eef3f8 0%,#e8eef5 100%);
}

.fpa-public-registration-v51500 .registration-form-card-v51150,
.fpa-public-registration-v51500 .registration-side-v51150{
  border-color:#cfd9e6;
  box-shadow:
    0 14px 34px rgba(15,23,42,.075),
    0 2px 4px rgba(15,23,42,.025);
}

.fpa-public-registration-v51500 .registration-form-card-v51150{
  position:relative;
  overflow:hidden;
}

.fpa-public-registration-v51500 .registration-form-card-v51150:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:4px;
  height:44px;
  border-radius:0 0 6px 0;
  background:linear-gradient(180deg,#ef5a1a,#ff7a32);
}

.fpa-public-registration-v51500 .registration-form-card-v51150 h2{
  color:#08172d;
  font-weight:1000;
}

.fpa-public-registration-v51500 .registration-side-v51150{
  background:
    linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);
}

.fpa-public-registration-v51500 .registration-side-v51150 h2{
  color:#071a33;
}

.fpa-public-registration-v51500 .registration-switch-v51150 a{
  border-color:#d7e0eb;
  background:linear-gradient(180deg,#ffffff,#f5f8fb);
}

.fpa-public-registration-v51500 .registration-switch-v51150 a:hover{
  border-color:#93b6e3;
  background:#eef5ff;
  color:#123d73;
}

.fpa-public-registration-v51500
.registration-switch-v51150 a[href*="inscription_particulier"],
.fpa-public-registration-v51500
.registration-switch-v51150 a[href*="inscription_gp"],
.fpa-public-registration-v51500
.registration-switch-v51150 a[href*="inscription_professionnel"],
.fpa-public-registration-v51500
.registration-switch-v51150 a[href*="inscription_transitaire"]{
  position:relative;
}

.fpa-public-registration-v51500 .registration-form-v51150 input,
.fpa-public-registration-v51500 .registration-form-v51150 select,
.fpa-public-registration-v51500 .registration-form-v51150 textarea{
  background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);
  border-color:#cfd9e6;
}

.fpa-public-registration-v51500 .registration-form-v51150 input:hover,
.fpa-public-registration-v51500 .registration-form-v51150 select:hover,
.fpa-public-registration-v51500 .registration-form-v51150 textarea:hover{
  border-color:#aebdce;
}

.fpa-public-registration-v51500 .registration-form-v51150 input:focus,
.fpa-public-registration-v51500 .registration-form-v51150 select:focus,
.fpa-public-registration-v51500 .registration-form-v51150 textarea:focus{
  background:#fff;
  border-color:#1f65d6;
  box-shadow:
    0 0 0 3px rgba(37,99,235,.11),
    0 8px 18px rgba(37,99,235,.06);
}

.fpa-public-registration-v51500 .registration-check-grid-v51154 label{
  border-color:#d5deea;
  background:linear-gradient(180deg,#fbfcfe,#f5f7fa);
}

.fpa-public-registration-v51500 .registration-check-grid-v51154 label:hover{
  border-color:#93b6e3;
  background:#edf5ff;
}

.fpa-public-registration-v51500
.registration-check-grid-v51154 label:has(input:checked){
  border-color:#2563eb;
  background:linear-gradient(180deg,#eff6ff,#e8f1ff);
  box-shadow:0 0 0 2px rgba(37,99,235,.08);
}

.fpa-public-registration-v51500
.registration-check-grid-v51154 label:has(input:checked) span{
  color:#123d73;
}

.fpa-public-registration-v51500 .registration-form-v51150 input[type="file"]{
  border-color:#ccd7e4;
  background:#f4f7fa;
}

.fpa-public-registration-v51500
.registration-form-v51150 input[type="file"]::file-selector-button{
  background:#e3eaf2;
  color:#0a1b34;
}

.fpa-public-registration-v51500
.registration-form-v51150 input[type="file"]::file-selector-button:hover{
  background:#d8e2ed;
}

.fpa-public-registration-v51500 .registration-submit-v51150{
  background:linear-gradient(135deg,#ff651d 0%,#ef5a1a 52%,#db470c 100%);
  box-shadow:
    0 12px 24px rgba(239,90,26,.22),
    inset 0 1px 0 rgba(255,255,255,.22);
}

.fpa-public-registration-v51500 .registration-submit-v51150:hover{
  box-shadow:
    0 15px 28px rgba(239,90,26,.27),
    inset 0 1px 0 rgba(255,255,255,.22);
}

.fpa-public-registration-v51500 .registration-hero-v51150{
  box-shadow:
    0 20px 44px rgba(7,26,51,.19),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.fpa-public-registration-v51500 .registration-hero-v51150>strong{
  background:rgba(255,255,255,.17);
  border-color:rgba(255,255,255,.28);
}

.fpa-public-registration-v51500 .registration-footer-v51150{
  color:#566579;
}

@media(max-width:680px){
  .fpa-public-registration-v51500 .registration-form-card-v51150:before{
    width:3px;
    height:34px;
  }
}

/* =========================================================
   FPA_PUBLIC_V51502_CLEAN_REDESIGN
   Refonte epuree des inscriptions publiques
   ========================================================= */

/* FOND GLOBAL PLUS SOBRE */
.fpa-public-registration-v51500{
  background:#f4f6f9!important;
}

/* HEADER */
.fpa-public-registration-v51500 .registration-top-v51150{
  min-height:72px!important;
  padding-top:10px!important;
  padding-bottom:10px!important;
  background:#fff!important;
  box-shadow:none!important;
  border-bottom:1px solid #e7ebf0!important;
}

.fpa-public-registration-v51500 .registration-logo-v51150 img{
  height:43px!important;
}

.fpa-public-registration-v51500 .registration-top-v51150 nav a{
  background:transparent!important;
  border-radius:10px!important;
  padding:8px 10px!important;
}

/* CONTENEUR */
.fpa-public-registration-v51500 .registration-shell-v51150{
  width:min(1080px,calc(100% - 32px))!important;
  margin:20px auto 30px!important;
}

/* HERO COMPACT */
.fpa-public-registration-v51500 .registration-hero-v51150{
  min-height:auto!important;
  padding:23px 26px!important;
  border-radius:22px!important;
  box-shadow:0 12px 28px rgba(7,26,51,.13)!important;
  background:
    linear-gradient(118deg,#071a33 0%,#12365c 62%,#ef5a1a 100%)!important;
}

.fpa-public-registration-v51500 .registration-hero-v51150:after{
  width:210px!important;
  height:210px!important;
  right:-58px!important;
  top:-90px!important;
}

.fpa-public-registration-v51500 .registration-hero-v51150 span{
  padding:6px 10px!important;
  font-size:.68rem!important;
}

.fpa-public-registration-v51500 .registration-hero-v51150 h1{
  font-size:clamp(2rem,3.4vw,3rem)!important;
  line-height:1.02!important;
  margin:10px 0 6px!important;
  letter-spacing:-.045em!important;
}

.fpa-public-registration-v51500 .registration-hero-v51150 p{
  max-width:700px!important;
  font-size:.92rem!important;
  line-height:1.4!important;
}

.fpa-public-registration-v51500 .registration-hero-v51150>strong{
  min-width:0!important;
  padding:10px 13px!important;
  border-radius:13px!important;
  font-size:.82rem!important;
}

/* =========================================================
   LE LAYOUT DEVIENT UNE COLONNE UNIQUE
   ========================================================= */

.fpa-public-registration-v51500 .registration-layout-v51150{
  display:block!important;
  margin-top:12px!important;
}

/* ANCIENNE SIDEBAR => BARRE DE PROFILS */
.fpa-public-registration-v51500 .registration-side-v51150{
  position:static!important;
  top:auto!important;
  width:100%!important;
  padding:0!important;
  margin:0 0 10px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Texte lateral devenu inutile */
.fpa-public-registration-v51500 .registration-side-v51150>h2,
.fpa-public-registration-v51500 .registration-side-v51150>p{
  display:none!important;
}

/* Offre professionnelle conservee si presente */
.fpa-public-registration-v51500 .registration-offer-box-v51150{
  max-width:520px!important;
  margin:0 0 10px!important;
  box-shadow:none!important;
}

/* SWITCH PROFILS HORIZONTAL */
.fpa-public-registration-v51500 .registration-switch-v51150{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}

.fpa-public-registration-v51500 .registration-switch-v51150>span{
  width:auto!important;
  margin-right:3px!important;
  font-size:.69rem!important;
  color:#718096!important;
}

.fpa-public-registration-v51500 .registration-switch-v51150 a{
  min-height:35px!important;
  padding:8px 12px!important;
  border:1px solid #dce3eb!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#344054!important;
  font-size:.82rem!important;
  font-weight:850!important;
  box-shadow:none!important;
  transform:none!important;
}

.fpa-public-registration-v51500 .registration-switch-v51150 a:hover{
  border-color:#9cb3ce!important;
  background:#f8fafc!important;
  color:#071a33!important;
}

/* PROFIL ACTIF */
.fpa-registration-profile-particulier
.registration-switch-v51150 a[href*="inscription_particulier"],

.fpa-registration-profile-gp
.registration-switch-v51150 a[href*="inscription_gp"],

.fpa-registration-profile-professionnel
.registration-switch-v51150 a[href*="inscription_professionnel"],

.fpa-registration-profile-transitaire
.registration-switch-v51150 a[href*="inscription_transitaire"]{
  border-color:#ef5a1a!important;
  background:#fff4ed!important;
  color:#b8430c!important;
}

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

.fpa-public-registration-v51500 .registration-form-v51150{
  display:block!important;
  margin-top:12px!important;
  padding:0 22px!important;
  border:1px solid #e0e6ed!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 10px 26px rgba(15,23,42,.055)!important;
  overflow:hidden!important;
}

/* Les anciennes cartes deviennent de simples sections */
.fpa-public-registration-v51500 .registration-form-card-v51150{
  margin:0!important;
  padding:22px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}

/* Suppression barre orange precedente */
.fpa-public-registration-v51500
.registration-form-card-v51150:before{
  display:none!important;
}

/* Separateur discret */
.fpa-public-registration-v51500
.registration-form-card-v51150
+ .registration-form-card-v51150{
  border-top:1px solid #edf0f4!important;
}

/* TITRES */
.fpa-public-registration-v51500
.registration-form-card-v51150 h2{
  margin:0 0 14px!important;
  font-size:1.12rem!important;
  line-height:1.2!important;
  font-weight:950!important;
  color:#071a33!important;
}

/* Petite ligne orange */
.fpa-public-registration-v51500
.registration-form-card-v51150 h2:after{
  content:"";
  display:block;
  width:26px;
  height:2px;
  margin-top:7px;
  border-radius:999px;
  background:#ef5a1a;
}

/* TEXTES AIDES */
.fpa-public-registration-v51500
.registration-form-card-v51150>p{
  margin:-4px 0 14px!important;
  font-size:.85rem!important;
  line-height:1.42!important;
  color:#667085!important;
}

/* GRILLES */
.fpa-public-registration-v51500
.registration-form-v51150 .grid.two{
  gap:11px!important;
}

/* LABELS */
.fpa-public-registration-v51500
.registration-form-v51150 label{
  gap:5px!important;
  font-size:.85rem!important;
  font-weight:850!important;
  color:#1d2939!important;
}

/* CHAMPS PLUS PLATS */
.fpa-public-registration-v51500
.registration-form-v51150 input,

.fpa-public-registration-v51500
.registration-form-v51150 select,

.fpa-public-registration-v51500
.registration-form-v51150 textarea{
  min-height:45px!important;
  padding:10px 12px!important;
  border:1px solid #d8dee7!important;
  border-radius:11px!important;
  background:#fbfcfd!important;
  box-shadow:none!important;
  font-size:.9rem!important;
}

.fpa-public-registration-v51500
.registration-form-v51150 textarea{
  min-height:86px!important;
}

.fpa-public-registration-v51500
.registration-form-v51150 input:focus,

.fpa-public-registration-v51500
.registration-form-v51150 select:focus,

.fpa-public-registration-v51500
.registration-form-v51150 textarea:focus{
  background:#fff!important;
  border-color:#4d7fbd!important;
  box-shadow:0 0 0 3px rgba(37,99,235,.08)!important;
}

/* FICHIERS */
.fpa-public-registration-v51500
.registration-form-v51150 input[type="file"]{
  min-height:46px!important;
  padding:5px!important;
  background:#f8fafc!important;
}

.fpa-public-registration-v51500
.registration-form-v51150
input[type="file"]::file-selector-button{
  min-height:34px!important;
  border-radius:8px!important;
  background:#e8edf3!important;
  color:#182230!important;
  padding:7px 10px!important;
}

/* =========================================================
   SERVICES TRANSITAIRE
   ========================================================= */

.fpa-public-registration-v51500
.registration-check-grid-v51154{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:10px 0 16px!important;
}

.fpa-public-registration-v51500
.registration-check-grid-v51154 label{
  width:auto!important;
  min-height:36px!important;
  padding:7px 10px!important;
  border:1px solid #dce3eb!important;
  border-radius:999px!important;
  background:#f9fafb!important;
  box-shadow:none!important;
}

.fpa-public-registration-v51500
.registration-check-grid-v51154 label span{
  font-size:.8rem!important;
  font-weight:800!important;
}

.fpa-public-registration-v51500
.registration-check-grid-v51154 input[type="checkbox"]{
  width:16px!important;
  height:16px!important;
  min-height:16px!important;
  flex-basis:16px!important;
}

.fpa-public-registration-v51500
.registration-check-grid-v51154 label:has(input:checked){
  border-color:#ef5a1a!important;
  background:#fff4ed!important;
  box-shadow:none!important;
}

.fpa-public-registration-v51500
.registration-check-grid-v51154 label:has(input:checked) span{
  color:#a63c0b!important;
}

/* VALIDATION */
.fpa-public-registration-v51500
.registration-submit-v51150{
  min-height:48px!important;
  border-radius:11px!important;
  margin-top:8px!important;
  box-shadow:none!important;
}

/* FOOTER */
.fpa-public-registration-v51500
.registration-footer-v51150{
  padding:18px 12px 26px!important;
  font-size:.82rem!important;
}

/* =========================================================
   TABLETTE
   ========================================================= */

@media(max-width:800px){

  .fpa-public-registration-v51500
  .registration-shell-v51150{
    width:calc(100% - 22px)!important;
  }

  .fpa-public-registration-v51500
  .registration-switch-v51150{
    gap:6px!important;
  }

  .fpa-public-registration-v51500
  .registration-switch-v51150>span{
    width:100%!important;
  }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:680px){

  .fpa-public-registration-v51500
  .registration-top-v51150{
    min-height:60px!important;
    padding:8px 10px!important;
  }

  .fpa-public-registration-v51500
  .registration-logo-v51150 img{
    height:34px!important;
  }

  .fpa-public-registration-v51500
  .registration-top-v51150 nav a{
    font-size:.75rem!important;
    padding:6px 7px!important;
  }

  .fpa-public-registration-v51500
  .registration-shell-v51150{
    width:calc(100% - 14px)!important;
    margin-top:8px!important;
  }

  .fpa-public-registration-v51500
  .registration-hero-v51150{
    padding:17px!important;
    border-radius:17px!important;
  }

  .fpa-public-registration-v51500
  .registration-hero-v51150 h1{
    font-size:1.75rem!important;
  }

  .fpa-public-registration-v51500
  .registration-hero-v51150 p{
    font-size:.84rem!important;
  }

  .fpa-public-registration-v51500
  .registration-hero-v51150>strong{
    display:none!important;
  }

  .fpa-public-registration-v51500
  .registration-switch-v51150{
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    padding-bottom:3px!important;
    scrollbar-width:none;
  }

  .fpa-public-registration-v51500
  .registration-switch-v51150::-webkit-scrollbar{
    display:none;
  }

  .fpa-public-registration-v51500
  .registration-switch-v51150>span{
    display:none!important;
  }

  .fpa-public-registration-v51500
  .registration-switch-v51150 a{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    min-height:33px!important;
    padding:7px 10px!important;
    font-size:.78rem!important;
  }

  .fpa-public-registration-v51500
  .registration-form-v51150{
    margin-top:9px!important;
    padding:0 14px!important;
    border-radius:17px!important;
  }

  .fpa-public-registration-v51500
  .registration-form-card-v51150{
    padding:18px 0!important;
  }

  .fpa-public-registration-v51500
  .registration-form-card-v51150 h2{
    font-size:1.02rem!important;
    margin-bottom:12px!important;
  }

  .fpa-public-registration-v51500
  .registration-form-v51150 .grid.two,
  .fpa-public-registration-v51500
  .registration-form-v51150 .grid.three{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .fpa-public-registration-v51500
  .registration-check-grid-v51154{
    gap:6px!important;
  }

  .fpa-public-registration-v51500
  .registration-check-grid-v51154 label{
    min-height:34px!important;
    padding:6px 9px!important;
  }

}

/* =========================================================
   FPA_PUBLIC_V51503_FINAL_POLISH
   Finition finale inscriptions publiques
   ========================================================= */

.fpa-public-registration-v51500{
  background:#f3f5f8!important;
}

/* HERO */
.fpa-public-registration-v51500 .registration-hero-v51150{
  box-shadow:0 10px 24px rgba(7,26,51,.12)!important;
}

/* PROFILS PLUS PROCHES DU FORMULAIRE */
.fpa-public-registration-v51500 .registration-side-v51150{
  margin-bottom:6px!important;
}

.fpa-public-registration-v51500 .registration-switch-v51150{
  gap:6px!important;
}

.fpa-public-registration-v51500 .registration-switch-v51150 a{
  min-height:33px!important;
  padding:7px 11px!important;
  font-size:.8rem!important;
}

/* FORMULAIRE */
.fpa-public-registration-v51500 .registration-form-v51150{
  margin-top:8px!important;
  border-color:#dfe4eb!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
}

/* SECTIONS */
.fpa-public-registration-v51500 .registration-form-card-v51150{
  padding:19px 0!important;
}

.fpa-public-registration-v51500
.registration-form-card-v51150
+ .registration-form-card-v51150{
  border-top-color:#e9edf2!important;
}

.fpa-public-registration-v51500
.registration-form-card-v51150 h2{
  margin-bottom:12px!important;
  color:#07172c!important;
}

.fpa-public-registration-v51500
.registration-form-card-v51150 h2:after{
  width:22px!important;
  height:2px!important;
  margin-top:6px!important;
}

/* CHAMPS PLUS BLANCS */
.fpa-public-registration-v51500
.registration-form-v51150 input,

.fpa-public-registration-v51500
.registration-form-v51150 select,

.fpa-public-registration-v51500
.registration-form-v51150 textarea{
  background:#ffffff!important;
  border-color:#d5dce6!important;
}

.fpa-public-registration-v51500
.registration-form-v51150 input:hover,

.fpa-public-registration-v51500
.registration-form-v51150 select:hover,

.fpa-public-registration-v51500
.registration-form-v51150 textarea:hover{
  border-color:#b8c4d2!important;
}

.fpa-public-registration-v51500
.registration-form-v51150 input:focus,

.fpa-public-registration-v51500
.registration-form-v51150 select:focus,

.fpa-public-registration-v51500
.registration-form-v51150 textarea:focus{
  border-color:#2f6fb8!important;
  box-shadow:0 0 0 3px rgba(47,111,184,.09)!important;
}

/* PLACEHOLDERS */
.fpa-public-registration-v51500
.registration-form-v51150 input::placeholder,

.fpa-public-registration-v51500
.registration-form-v51150 textarea::placeholder{
  color:#98a2b3!important;
  opacity:1!important;
}

/* LABEL */
.fpa-public-registration-v51500
.registration-form-v51150 label{
  color:#172033!important;
}

/* AIDES */
.fpa-public-registration-v51500
.registration-form-v51150 .muted,

.fpa-public-registration-v51500
.registration-form-v51150 label small{
  color:#7a8699!important;
}

/* UPLOADS */
.fpa-public-registration-v51500
.registration-form-v51150 input[type="file"]{
  background:#f8fafc!important;
  border-color:#d7dee8!important;
}

.fpa-public-registration-v51500
.registration-form-v51150
input[type="file"]::file-selector-button{
  background:#e9eef4!important;
  border:0!important;
  color:#172033!important;
  font-weight:850!important;
}

.fpa-public-registration-v51500
.registration-form-v51150
input[type="file"]::file-selector-button:hover{
  background:#dde5ee!important;
}

/* SERVICES TRANSITAIRE */
.fpa-public-registration-v51500
.registration-check-grid-v51154{
  gap:6px!important;
}

.fpa-public-registration-v51500
.registration-check-grid-v51154 label{
  min-height:34px!important;
  padding:6px 10px!important;
  background:#fafbfc!important;
  border-color:#dbe2ea!important;
}

.fpa-public-registration-v51500
.registration-check-grid-v51154 label:hover{
  background:#f4f7fa!important;
  border-color:#b9c7d7!important;
}

.fpa-public-registration-v51500
.registration-check-grid-v51154 label:has(input:checked){
  border-color:#ef5a1a!important;
  background:#fff5ef!important;
}

.fpa-public-registration-v51500
.registration-check-grid-v51154 label span{
  font-size:.78rem!important;
}

/* CHECKBOX VALIDATION */
.fpa-public-registration-v51500
.registration-form-v51150 .check{
  font-size:.84rem!important;
  line-height:1.4!important;
}

/* BOUTON FINAL */
.fpa-public-registration-v51500
.registration-submit-v51150{
  min-height:46px!important;
  margin-top:7px!important;
  background:#ef5a1a!important;
  box-shadow:none!important;
}

.fpa-public-registration-v51500
.registration-submit-v51150:hover{
  background:#dc4d0d!important;
  transform:none!important;
}

/* MOT DE PASSE : garder interface discrete */
.fpa-public-registration-v51500
label:has(input[type="password"]){
  position:relative;
}

.fpa-public-registration-v51500
label:has(input[type="password"]) input[type="password"]{
  padding-right:48px!important;
}

/* FOOTER */
.fpa-public-registration-v51500 .registration-footer-v51150{
  color:#667085!important;
}

/* MOBILE */
@media(max-width:680px){

  .fpa-public-registration-v51500
  .registration-hero-v51150{
    box-shadow:0 7px 18px rgba(7,26,51,.11)!important;
  }

  .fpa-public-registration-v51500
  .registration-form-v51150{
    padding:0 13px!important;
    box-shadow:0 5px 16px rgba(15,23,42,.045)!important;
  }

  .fpa-public-registration-v51500
  .registration-form-card-v51150{
    padding:16px 0!important;
  }

  .fpa-public-registration-v51500
  .registration-form-v51150 input,

  .fpa-public-registration-v51500
  .registration-form-v51150 select,

  .fpa-public-registration-v51500
  .registration-form-v51150 textarea{
    min-height:44px!important;
  }

  .fpa-public-registration-v51500
  .registration-switch-v51150 a{
    min-height:32px!important;
    padding:7px 9px!important;
    font-size:.76rem!important;
  }

}


/* ============================================================
   FPA_V51669_REGISTER_ORANGE_FOCUS
   Particulier / GP / Transporteur
   Présentation conservée - focus orange uniquement
   ============================================================ */

.fpa-public-registration-v51500
.registration-form-v51150
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus,

.fpa-public-registration-v51500
.registration-form-v51150
select:focus,

.fpa-public-registration-v51500
.registration-form-v51150
textarea:focus,

.fpa-public-registration-v51500
.registration-form-v51150
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):focus-visible,

.fpa-public-registration-v51500
.registration-form-v51150
select:focus-visible,

.fpa-public-registration-v51500
.registration-form-v51150
textarea:focus-visible{
    border-color:#ff641e !important;
    outline:none !important;
    box-shadow:
        0 0 0 3px rgba(255,100,30,.14),
        0 4px 12px rgba(255,100,30,.06)
        !important;
}


/* ============================================================
   FPA_V51671B_TRANSITAIRE_UNIFIED_STYLE
   Formulaire unifié - Transitaire uniquement
   ============================================================ */

.fpa-transitaire-step-v51671b{
    position:relative !important;
    margin-top:18px !important;
    padding:24px 22px 22px !important;

    background:#fff !important;
    border:1px solid #e2e8f0 !important;
    border-radius:18px !important;

    box-shadow:0 8px 24px rgba(15,39,72,.045) !important;
}

/* Numérotation */
.fpa-transitaire-step-v51671b::before{
    position:absolute !important;
    top:20px !important;
    left:22px !important;

    width:42px !important;
    height:42px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    border-radius:50% !important;
    background:#ff641e !important;
    color:#fff !important;

    border:3px solid #fff !important;
    outline:1px solid rgba(255,100,30,.25) !important;

    box-shadow:0 5px 14px rgba(255,100,30,.24) !important;

    font-size:17px !important;
    font-weight:900 !important;
    z-index:2 !important;
}

.fpa-transitaire-step-1-v51671b::before{content:"1" !important;}
.fpa-transitaire-step-2-v51671b::before{content:"2" !important;}
.fpa-transitaire-step-3-v51671b::before{content:"3" !important;}

.fpa-transitaire-step-v51671b::after{
    content:"" !important;

    position:absolute !important;
    top:0 !important;
    left:22px !important;

    width:58px !important;
    height:3px !important;

    background:#ff641e !important;
    border-radius:0 0 4px 4px !important;
}

.fpa-transitaire-step-v51671b > h2{
    display:flex !important;
    align-items:center !important;

    min-height:42px !important;

    margin:0 0 20px !important;
    padding:0 0 0 58px !important;

    color:#10233d !important;
    font-size:18px !important;
    line-height:1.25 !important;
    font-weight:900 !important;
}

/* Grille */
.fpa-transitaire-step-v51671b .grid.two{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:18px 20px !important;
    align-items:start !important;
}

.fpa-transitaire-step-v51671b .grid.two > label{
    min-width:0 !important;
}

/* Labels */
.fpa-transitaire-step-v51671b label{
    display:flex !important;
    flex-direction:column !important;
    gap:7px !important;
    margin:0 !important;

    color:#10233d !important;
    font-size:14px !important;
    line-height:1.35 !important;
    font-weight:800 !important;
}

.fpa-transitaire-step-v51671b label small,
.fpa-transitaire-step-v51671b .muted{
    color:#75839a !important;
    font-size:12px !important;
    line-height:1.4 !important;
    font-weight:600 !important;
}

/* INPUT + SELECT strictement identiques */
.fpa-transitaire-step-v51671b
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),

.fpa-transitaire-step-v51671b select{
    display:block !important;

    width:100% !important;

    height:54px !important;
    min-height:54px !important;
    max-height:54px !important;

    block-size:54px !important;
    min-block-size:54px !important;
    max-block-size:54px !important;

    box-sizing:border-box !important;

    margin:0 !important;
    padding:0 16px !important;

    border:1px solid #d8e1ec !important;
    border-radius:13px !important;

    background-color:#fff !important;
    color:#10233d !important;

    font-family:inherit !important;
    font-size:15px !important;
    line-height:normal !important;
    font-weight:700 !important;

    outline:none !important;
    box-shadow:none !important;
}

/* Désactive le petit select natif Safari/Chrome */
.fpa-transitaire-step-v51671b select{
    -webkit-appearance:none !important;
    -moz-appearance:none !important;
    appearance:none !important;

    padding-right:44px !important;

    background-image:
        linear-gradient(45deg,transparent 50%,#64748b 50%),
        linear-gradient(135deg,#64748b 50%,transparent 50%) !important;

    background-position:
        calc(100% - 20px) 23px,
        calc(100% - 15px) 23px !important;

    background-size:5px 5px,5px 5px !important;
    background-repeat:no-repeat !important;

    cursor:pointer !important;
}

/* Focus orange */
.fpa-transitaire-step-v51671b
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):focus,

.fpa-transitaire-step-v51671b select:focus,

.fpa-transitaire-step-v51671b textarea:focus,

.fpa-transitaire-step-v51671b
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):focus-visible,

.fpa-transitaire-step-v51671b select:focus-visible,

.fpa-transitaire-step-v51671b textarea:focus-visible{
    border-color:#ff641e !important;

    outline:none !important;

    box-shadow:
        0 0 0 3px rgba(255,100,30,.14),
        0 4px 12px rgba(255,100,30,.06)
        !important;
}

/* Textarea */
.fpa-transitaire-step-v51671b textarea{
    width:100% !important;
    min-height:120px !important;

    box-sizing:border-box !important;

    padding:14px 16px !important;

    border:1px solid #d8e1ec !important;
    border-radius:13px !important;

    background:#fff !important;
    color:#10233d !important;

    font:inherit !important;

    outline:none !important;
}

/* Checkbox */
.fpa-transitaire-step-v51671b input[type="checkbox"]{
    width:18px !important;
    height:18px !important;
    accent-color:#ff641e !important;
}

/* Mobile */
@media(max-width:820px){

    .fpa-transitaire-step-v51671b{
        padding:20px 14px 16px !important;
        border-radius:15px !important;
    }

    .fpa-transitaire-step-v51671b::before{
        left:14px !important;
        width:40px !important;
        height:40px !important;
    }

    .fpa-transitaire-step-v51671b::after{
        left:14px !important;
    }

    .fpa-transitaire-step-v51671b > h2{
        padding-left:54px !important;
        font-size:17px !important;
    }

    .fpa-transitaire-step-v51671b .grid.two{
        grid-template-columns:1fr !important;
        gap:15px !important;
    }

    .fpa-transitaire-step-v51671b
    input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),

    .fpa-transitaire-step-v51671b select{
        height:52px !important;
        min-height:52px !important;
        max-height:52px !important;

        block-size:52px !important;
        min-block-size:52px !important;
        max-block-size:52px !important;
    }

    .fpa-transitaire-step-v51671b select{
        background-position:
            calc(100% - 20px) 22px,
            calc(100% - 15px) 22px !important;
    }
}


/* ============================================================
   FPA_V51673C_TRANSITAIRE_FLUID_STYLE
   Parcours Transitaire homogène avec les autres inscriptions
   ============================================================ */

.fpa-public-registration-v51500
.fpa-tr-fluid-v51673c::before,

.fpa-public-registration-v51500
.fpa-tr-fluid-v51673c::after{
    content:none !important;
    display:none !important;
}

.fpa-public-registration-v51500
.fpa-tr-fluid-v51673c{
    margin:0 0 18px !important;
    padding:22px !important;

    background:#fff !important;

    border:1px solid #e2e8f0 !important;
    border-radius:18px !important;

    box-shadow:0 8px 24px rgba(15,39,72,.045) !important;
}

.fpa-public-registration-v51500
.fpa-tr-fluid-v51673c > h2{
    display:flex !important;
    align-items:center !important;
    gap:14px !important;

    min-height:auto !important;

    margin:0 0 22px !important;
    padding:0 !important;
}

.fpa-public-registration-v51500
.fpa-tr-fluid-v51673c > h2::after{
    content:none !important;
    display:none !important;
}

.fpa-public-registration-v51500
.fpa-tr-num-v51673c{
    flex:0 0 42px !important;

    width:42px !important;
    height:42px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    border-radius:50% !important;

    background:#ff641e !important;
    color:#fff !important;

    font-size:17px !important;
    font-weight:900 !important;

    box-shadow:0 5px 14px rgba(255,100,30,.22) !important;
}

.fpa-public-registration-v51500
.fpa-tr-heading-v51673c{
    display:block !important;
}

.fpa-public-registration-v51500
.fpa-tr-heading-v51673c strong{
    display:block !important;

    margin:0 0 3px !important;

    color:#10233d !important;

    font-size:18px !important;
    line-height:1.2 !important;
    font-weight:900 !important;
}

.fpa-public-registration-v51500
.fpa-tr-heading-v51673c small{
    display:block !important;

    color:#78869a !important;

    font-size:12px !important;
    line-height:1.35 !important;
    font-weight:600 !important;
}

/* Grilles */
.fpa-public-registration-v51500
.fpa-tr-fluid-v51673c .grid.two{
    display:grid !important;

    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;

    gap:17px 20px !important;

    align-items:start !important;
}

.fpa-public-registration-v51500
.fpa-tr-fluid-v51673c .grid.two > *{
    min-width:0 !important;
}

/* Champs */
.fpa-public-registration-v51500
.fpa-tr-fluid-v51673c
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),

.fpa-public-registration-v51500
.fpa-tr-fluid-v51673c select{
    width:100% !important;

    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;

    box-sizing:border-box !important;

    padding:0 15px !important;

    border:1px solid #d7e0ea !important;
    border-radius:12px !important;

    background:#fff !important;

    color:#10233d !important;

    font-size:14px !important;
    font-weight:700 !important;

    outline:none !important;
}

.fpa-public-registration-v51500
.fpa-tr-fluid-v51673c select{
    -webkit-appearance:none !important;
    -moz-appearance:none !important;
    appearance:none !important;

    padding-right:42px !important;

    background-image:
        linear-gradient(45deg,transparent 50%,#64748b 50%),
        linear-gradient(135deg,#64748b 50%,transparent 50%)
        !important;

    background-position:
        calc(100% - 19px) 22px,
        calc(100% - 14px) 22px
        !important;

    background-size:5px 5px,5px 5px !important;
    background-repeat:no-repeat !important;
}

.fpa-public-registration-v51500
.fpa-tr-fluid-v51673c
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]):focus,

.fpa-public-registration-v51500
.fpa-tr-fluid-v51673c select:focus,

.fpa-public-registration-v51500
.fpa-tr-fluid-v51673c textarea:focus{
    border-color:#ff641e !important;

    box-shadow:0 0 0 3px rgba(255,100,30,.13) !important;

    outline:none !important;
}

/* Textareas */
.fpa-public-registration-v51500
.fpa-tr-fluid-v51673c textarea{
    width:100% !important;
    min-height:105px !important;

    box-sizing:border-box !important;

    padding:13px 15px !important;

    border:1px solid #d7e0ea !important;
    border-radius:12px !important;

    background:#fff !important;

    color:#10233d !important;

    font-size:14px !important;
    font-weight:700 !important;
}

/* Services */
.fpa-registration-profile-transitaire
.fpa-tr-fluid-v51673c
.registration-check-grid-v51154{
    display:flex !important;
    flex-wrap:wrap !important;

    gap:8px !important;

    margin:14px 0 20px !important;
}

.fpa-registration-profile-transitaire
.fpa-tr-fluid-v51673c
.registration-check-grid-v51154 label{
    display:inline-flex !important;
    flex-direction:row !important;
    align-items:center !important;

    width:auto !important;

    gap:7px !important;

    padding:9px 12px !important;

    border:1px solid #dfe6ef !important;
    border-radius:999px !important;

    background:#fff !important;

    font-size:12px !important;
    font-weight:800 !important;
}

/* Documents */
.fpa-registration-profile-transitaire
.fpa-tr-documents-v51673c
input[type="file"]{
    width:100% !important;

    min-height:52px !important;

    padding:8px !important;

    box-sizing:border-box !important;

    border:1px solid #d7e0ea !important;
    border-radius:12px !important;

    background:#f8fafc !important;
}

/* Validation */
.fpa-registration-profile-transitaire
.fpa-tr-validation-v51673c label{
    display:flex !important;
    flex-direction:row !important;
    align-items:flex-start !important;

    gap:10px !important;
}

.fpa-registration-profile-transitaire
.fpa-tr-validation-v51673c input[type="checkbox"]{
    width:18px !important;
    height:18px !important;
    min-height:18px !important;

    accent-color:#ff641e !important;
}

/* Mobile */
@media(max-width:820px){

    .fpa-public-registration-v51500
    .fpa-tr-fluid-v51673c{
        padding:18px 14px !important;
    }

    .fpa-public-registration-v51500
    .fpa-tr-fluid-v51673c .grid.two{
        grid-template-columns:1fr !important;
    }

    .fpa-public-registration-v51500
    .fpa-tr-fluid-v51673c
    input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),

    .fpa-public-registration-v51500
    .fpa-tr-fluid-v51673c select{
        height:50px !important;
        min-height:50px !important;
        max-height:50px !important;
    }
}


/* ============================================================
   FPA_V51674_REGISTRATION_WIZARD_STYLE
   Wizard Transitaire + stabilisation Continuer
   ============================================================ */

/* ------------------------------------------------------------
   STABILISATION DES BOUTONS CONTINUER EXISTANTS
   Particulier / GP / Transporteur
   ------------------------------------------------------------ */

.fpa-public-registration-v51500
.registration-form-card-v51150.fpa-register-has-continue-v51674{
    padding-bottom:24px !important;
}

.fpa-public-registration-v51500
.fpa-register-continue-v51674{
    min-height:48px !important;

    margin-top:18px !important;
    margin-bottom:0 !important;

    padding-left:24px !important;
    padding-right:24px !important;

    border-radius:12px !important;
}

/* ------------------------------------------------------------
   WIZARD TRANSITAIRE
   ------------------------------------------------------------ */

.fpa-registration-profile-transitaire
.fpa-tr-wizard-v51674{
    display:block !important;
}

/* Barre de progression */
.fpa-registration-profile-transitaire
.fpa-tr-progress-v51674{
    margin:0 0 18px !important;
    padding:15px 18px 14px !important;

    background:#ffffff !important;

    border:1px solid #e1e7ef !important;
    border-radius:15px !important;

    box-shadow:
        0 8px 24px rgba(15,39,72,.05)
        !important;
}

.fpa-registration-profile-transitaire
.fpa-tr-progress-head-v51674{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    gap:18px !important;

    margin-bottom:11px !important;
}

.fpa-registration-profile-transitaire
.fpa-tr-progress-head-v51674 span{
    color:#f45b19 !important;

    font-size:12px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.03em !important;
}

.fpa-registration-profile-transitaire
.fpa-tr-progress-head-v51674 strong{
    color:#10233d !important;

    font-size:14px !important;
    line-height:1.2 !important;
    font-weight:900 !important;

    text-align:right !important;
}

.fpa-registration-profile-transitaire
.fpa-tr-progress-track-v51674{
    position:relative !important;

    width:100% !important;
    height:7px !important;

    overflow:hidden !important;

    border-radius:999px !important;

    background:#e7edf4 !important;
}

.fpa-registration-profile-transitaire
.fpa-tr-progress-track-v51674 i{
    display:block !important;

    width:20%;
    height:100% !important;

    border-radius:999px !important;

    background:linear-gradient(
        90deg,
        #ff5a17,
        #ff7629
    ) !important;

    transition:width .25s ease !important;
}

/* Une seule étape visible */
.fpa-registration-profile-transitaire
.fpa-tr-fluid-v51673c{
    margin-bottom:0 !important;
}

.fpa-registration-profile-transitaire
.fpa-tr-step-active-v51674{
    animation:
        fpaTrStepInV51674 .20s ease-out
        both;
}

@keyframes fpaTrStepInV51674{
    from{
        opacity:.35;
        transform:translateY(5px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* ------------------------------------------------------------
   ZONE D'ACTIONS STABILISEE
   C'est la correction demandée pour Continuer.
   ------------------------------------------------------------ */

.fpa-registration-profile-transitaire
.fpa-tr-step-actions-v51674{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    gap:14px !important;

    width:100% !important;

    box-sizing:border-box !important;

    margin-top:28px !important;

    padding-top:18px !important;
    padding-bottom:4px !important;

    border-top:1px solid #e5eaf0 !important;
}

/*
 * Espace réel sous les actions :
 * le bouton ne colle plus au bord de la carte.
 */
.fpa-registration-profile-transitaire
.fpa-tr-step-active-v51674{
    padding-bottom:22px !important;
}

.fpa-registration-profile-transitaire
.fpa-tr-action-spacer-v51674{
    display:block !important;
    width:1px !important;
    height:1px !important;
}

/* Retour */
.fpa-registration-profile-transitaire
.fpa-tr-back-v51674{
    min-height:48px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    gap:7px !important;

    padding:0 20px !important;

    border:1px solid #dce3ec !important;
    border-radius:12px !important;

    background:#f4f7fa !important;
    color:#10233d !important;

    font-family:inherit !important;
    font-size:14px !important;
    font-weight:900 !important;

    cursor:pointer !important;

    transition:
        background .15s ease,
        border-color .15s ease,
        transform .15s ease
        !important;
}

.fpa-registration-profile-transitaire
.fpa-tr-back-v51674:hover{
    background:#edf2f7 !important;
    border-color:#cbd6e2 !important;
}

/* Continuer */
.fpa-registration-profile-transitaire
.fpa-tr-next-v51674{
    min-width:142px !important;
    min-height:48px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    gap:7px !important;

    margin:0 !important;
    padding:0 22px !important;

    border:0 !important;
    border-radius:12px !important;

    background:linear-gradient(
        135deg,
        #ff5a17,
        #ff6b20
    ) !important;

    color:#ffffff !important;

    font-family:inherit !important;
    font-size:14px !important;
    font-weight:900 !important;

    box-shadow:
        0 8px 18px rgba(255,90,23,.18)
        !important;

    cursor:pointer !important;

    transition:
        transform .15s ease,
        box-shadow .15s ease
        !important;
}

.fpa-registration-profile-transitaire
.fpa-tr-next-v51674:hover{
    transform:translateY(-1px) !important;

    box-shadow:
        0 10px 22px rgba(255,90,23,.22)
        !important;
}

/* Bouton final */
.fpa-registration-profile-transitaire
.fpa-tr-final-submit-v51674{
    width:auto !important;
    min-width:230px !important;
    min-height:48px !important;

    margin:0 !important;

    padding:0 22px !important;

    border-radius:12px !important;
}

/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media(max-width:820px){

    .fpa-registration-profile-transitaire
    .fpa-tr-progress-v51674{
        padding:14px !important;
        margin-bottom:14px !important;
    }

    .fpa-registration-profile-transitaire
    .fpa-tr-progress-head-v51674{
        gap:10px !important;
    }

    .fpa-registration-profile-transitaire
    .fpa-tr-progress-head-v51674 strong{
        font-size:13px !important;
    }

    .fpa-registration-profile-transitaire
    .fpa-tr-step-actions-v51674{
        margin-top:24px !important;

        padding-top:16px !important;
        padding-bottom:6px !important;
    }

    .fpa-registration-profile-transitaire
    .fpa-tr-back-v51674,

    .fpa-registration-profile-transitaire
    .fpa-tr-next-v51674{
        min-height:48px !important;
    }

    .fpa-registration-profile-transitaire
    .fpa-tr-final-submit-v51674{
        min-width:0 !important;
        flex:1 1 auto !important;
    }
}

@media(max-width:560px){

    .fpa-registration-profile-transitaire
    .fpa-tr-step-actions-v51674{
        display:grid !important;

        grid-template-columns:
            minmax(0,1fr)
            minmax(0,1fr)
            !important;
    }

    .fpa-registration-profile-transitaire
    .fpa-tr-action-spacer-v51674{
        display:block !important;
    }

    .fpa-registration-profile-transitaire
    .fpa-tr-back-v51674,

    .fpa-registration-profile-transitaire
    .fpa-tr-next-v51674,

    .fpa-registration-profile-transitaire
    .fpa-tr-final-submit-v51674{
        width:100% !important;
        min-width:0 !important;
    }
}


/* ============================================================
   FPA_V51675_PUBLIC_WIZARDS_STYLE
   Particulier / GP / Transporteur uniquement
   Transitaire exclu
   ============================================================ */

/* ------------------------------------------------------------
   NUMERO DE L'ETAPE
   ------------------------------------------------------------ */

body.fpa-public-registration-v51500:not(
    .fpa-registration-profile-transitaire
)
.fpa-step-heading-v51675{
    display:flex !important;
    align-items:center !important;

    gap:12px !important;

    min-height:40px !important;

    margin-bottom:18px !important;
}

body.fpa-public-registration-v51500:not(
    .fpa-registration-profile-transitaire
)
.fpa-step-number-v51675{
    flex:0 0 38px !important;

    width:38px !important;
    height:38px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    margin:0 !important;
    padding:0 !important;

    border-radius:50% !important;

    background:#ff641e !important;
    color:#fff !important;

    font-size:16px !important;
    line-height:1 !important;
    font-weight:900 !important;

    box-shadow:
        0 5px 13px rgba(255,100,30,.20)
        !important;
}

/*
 * L'ancien petit trait orange du titre devient inutile
 * lorsqu'un vrai numéro est présent.
 */
body.fpa-public-registration-v51500:not(
    .fpa-registration-profile-transitaire
)
.fpa-step-heading-v51675::after{
    display:none !important;
    content:none !important;
}

/* ------------------------------------------------------------
   ESPACE DE BAS DE CARTE
   ------------------------------------------------------------ */

body.fpa-public-registration-v51500:not(
    .fpa-registration-profile-transitaire
)
.registration-form-card-v51150{
    padding-bottom:26px !important;
}

/* ------------------------------------------------------------
   ZONE D'ACTIONS
   ------------------------------------------------------------ */

body.fpa-public-registration-v51500:not(
    .fpa-registration-profile-transitaire
)
.fpa-actions-stable-v51675{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;

    gap:14px !important;

    width:100% !important;

    box-sizing:border-box !important;

    margin-top:26px !important;

    padding-top:18px !important;
    padding-bottom:0 !important;

    border-top:1px solid #e5eaf0 !important;
}

/*
 * Quand Retour et Continuer sont présents ensemble.
 */
body.fpa-public-registration-v51500:not(
    .fpa-registration-profile-transitaire
)
.fpa-actions-stable-v51675:has(
    .fpa-back-stable-v51675
){
    justify-content:space-between !important;
}

/* Fallback si le bouton est directement dans la carte */
body.fpa-public-registration-v51500:not(
    .fpa-registration-profile-transitaire
)
.fpa-card-actions-stable-v51675{
    padding-bottom:28px !important;
}

/* ------------------------------------------------------------
   CONTINUER
   ------------------------------------------------------------ */

body.fpa-public-registration-v51500:not(
    .fpa-registration-profile-transitaire
)
.fpa-continue-stable-v51675{
    min-width:142px !important;
    min-height:48px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    margin-top:18px !important;
    margin-bottom:0 !important;

    padding:0 22px !important;

    border-radius:12px !important;
}

/*
 * Si le bouton est déjà dans une vraie zone d'actions,
 * pas besoin d'un deuxième margin-top.
 */
body.fpa-public-registration-v51500:not(
    .fpa-registration-profile-transitaire
)
.fpa-actions-stable-v51675
.fpa-continue-stable-v51675{
    margin:0 !important;
}

/* ------------------------------------------------------------
   RETOUR
   ------------------------------------------------------------ */

body.fpa-public-registration-v51500:not(
    .fpa-registration-profile-transitaire
)
.fpa-back-stable-v51675{
    min-height:48px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    margin:0 !important;

    padding:0 20px !important;

    border-radius:12px !important;
}

/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media(max-width:820px){

    body.fpa-public-registration-v51500:not(
        .fpa-registration-profile-transitaire
    )
    .registration-form-card-v51150{
        padding-bottom:22px !important;
    }

    body.fpa-public-registration-v51500:not(
        .fpa-registration-profile-transitaire
    )
    .fpa-step-number-v51675{
        flex-basis:36px !important;

        width:36px !important;
        height:36px !important;

        font-size:15px !important;
    }

    body.fpa-public-registration-v51500:not(
        .fpa-registration-profile-transitaire
    )
    .fpa-actions-stable-v51675{
        margin-top:22px !important;

        padding-top:16px !important;
    }
}

@media(max-width:560px){

    body.fpa-public-registration-v51500:not(
        .fpa-registration-profile-transitaire
    )
    .fpa-actions-stable-v51675{
        display:grid !important;

        grid-template-columns:
            minmax(0,1fr)
            minmax(0,1fr)
            !important;
    }

    body.fpa-public-registration-v51500:not(
        .fpa-registration-profile-transitaire
    )
    .fpa-continue-stable-v51675,

    body.fpa-public-registration-v51500:not(
        .fpa-registration-profile-transitaire
    )
    .fpa-back-stable-v51675{
        width:100% !important;
        min-width:0 !important;
    }
}


/* ============================================================
   FPA_V51676_STABLE_ACTIONS_STYLE
   Particulier / GP / Transporteur uniquement
   ============================================================ */

body.fpa-public-registration-v51500:not(
    .fpa-registration-profile-transitaire
)
.fpa-card-footer-v51676{
    padding-bottom:22px !important;
}

body.fpa-public-registration-v51500:not(
    .fpa-registration-profile-transitaire
)
.fpa-actions-footer-v51676{
    position:static !important;

    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;

    gap:14px !important;

    width:100% !important;

    box-sizing:border-box !important;

    margin:28px 0 0 !important;

    padding:
        18px
        0
        2px
        !important;

    border-top:
        1px solid #e5eaf0
        !important;
}

/* Retour à gauche lorsque présent */
body.fpa-public-registration-v51500:not(
    .fpa-registration-profile-transitaire
)
.fpa-actions-footer-v51676
.fpa-back-footer-v51676:first-child{
    margin-right:auto !important;
}

/* Neutralisation complète des anciennes positions */
body.fpa-public-registration-v51500:not(
    .fpa-registration-profile-transitaire
)
.fpa-actions-footer-v51676
.fpa-next-footer-v51676,

body.fpa-public-registration-v51500:not(
    .fpa-registration-profile-transitaire
)
.fpa-actions-footer-v51676
.fpa-back-footer-v51676{
    position:static !important;

    inset:auto !important;

    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;

    float:none !important;

    transform:none !important;

    margin-top:0 !important;
    margin-bottom:0 !important;
}

/* Continuer */
body.fpa-public-registration-v51500:not(
    .fpa-registration-profile-transitaire
)
.fpa-next-footer-v51676{
    min-width:142px !important;
    min-height:48px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    padding:0 22px !important;

    border-radius:12px !important;
}

/* Retour */
body.fpa-public-registration-v51500:not(
    .fpa-registration-profile-transitaire
)
.fpa-back-footer-v51676{
    min-height:48px !important;

    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;

    padding:0 20px !important;

    border-radius:12px !important;
}

/* Mobile */
@media(max-width:560px){

    body.fpa-public-registration-v51500:not(
        .fpa-registration-profile-transitaire
    )
    .fpa-actions-footer-v51676{
        display:grid !important;

        grid-template-columns:
            minmax(0,1fr)
            minmax(0,1fr)
            !important;

        gap:10px !important;

        margin-top:24px !important;

        padding-top:16px !important;
    }

    body.fpa-public-registration-v51500:not(
        .fpa-registration-profile-transitaire
    )
    .fpa-next-footer-v51676,

    body.fpa-public-registration-v51500:not(
        .fpa-registration-profile-transitaire
    )
    .fpa-back-footer-v51676{
        width:100% !important;
        min-width:0 !important;
    }
}
