/* =========================================================
   RACINE - FORMULAIRES DE PERMIS V2
   Charge en dernier pour uniformiser tous les formulaires Forminator
   enfants de /demande-de-permis/ sans modifier les formulaires eux-memes.
   ========================================================= */
body.racine-permit-form {
  --rpf-navy:#17324d;
  --rpf-blue:#276a8f;
  --rpf-green:#477b64;
  --rpf-gold:#e9bd58;
  --rpf-text:#253746;
  --rpf-muted:#667987;
  --rpf-line:#d9e4e9;
  --rpf-soft:#f5f8fa;
  --rpf-soft-green:#eef5f2;
  --rpf-white:#fff;
  background:#fff;
}

body.racine-permit-form .site-content,
body.racine-permit-form .ast-container,
body.racine-permit-form .content-area,
body.racine-permit-form #primary,
body.racine-permit-form .site-main {
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
}
body.racine-permit-form .widget-area{display:none!important;}

.racine-permit-form-page,
.racine-permit-form-page *{box-sizing:border-box;}
.racine-permit-form-page{
  width:100%;
  overflow:hidden;
  color:var(--rpf-text);
  background:#fff;
}
.racine-permit-form-page .permit-form-wrap{
  width:min(1180px,calc(100% - 40px));
  margin:0 auto;
}

/* Hero */
.racine-permit-form-page .permit-form-hero{
  position:relative;
  overflow:hidden;
  padding:62px 0 54px;
  color:#fff;
  background:linear-gradient(125deg,#17324d 0%,#235879 58%,#477b64 100%);
}
.racine-permit-form-page .permit-form-hero::before,
.racine-permit-form-page .permit-form-hero::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.racine-permit-form-page .permit-form-hero::before{
  width:340px;height:340px;right:-105px;top:-175px;
  border:58px solid rgba(255,255,255,.06);
}
.racine-permit-form-page .permit-form-hero::after{
  width:220px;height:220px;left:-115px;bottom:-150px;
  background:rgba(255,255,255,.035);
}
.racine-permit-form-page .permit-form-hero-inner{position:relative;z-index:1;max-width:940px;}
.racine-permit-form-page .permit-form-back{
  display:inline-flex;align-items:center;gap:7px;
  margin:0 0 20px;
  color:#e5f1f5!important;text-decoration:none!important;
  font-size:.92rem;font-weight:800;
}
.racine-permit-form-page .permit-form-back:hover{color:#fff!important;}
.racine-permit-form-page .permit-form-eyebrow{
  display:block;margin:0 0 10px;
  color:#cfe8dc;text-transform:uppercase;
  font-size:.76rem;font-weight:900;letter-spacing:.12em;
}
.racine-permit-form-page .permit-form-hero h1{
  max-width:930px;margin:0 0 18px!important;
  color:#fff!important;font-size:clamp(2.35rem,5vw,4.55rem)!important;
  line-height:1.04!important;letter-spacing:-.035em;
}
.racine-permit-form-page .permit-form-hero p{
  max-width:800px;margin:0!important;
  color:rgba(255,255,255,.88)!important;
  font-size:1.08rem;line-height:1.7;
}

/* Bande de reperes */
.racine-permit-form-page .permit-form-info-bar{
  position:relative;z-index:2;
  background:#fff;border-bottom:1px solid var(--rpf-line);
  box-shadow:0 10px 30px rgba(23,50,77,.05);
}
.racine-permit-form-page .permit-form-info-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
.racine-permit-form-page .permit-form-info-item{
  position:relative;padding:19px 24px 19px 44px;
  border-right:1px solid var(--rpf-line);
}
.racine-permit-form-page .permit-form-info-item:last-child{border-right:0;}
.racine-permit-form-page .permit-form-info-item::before{
  content:"";position:absolute;left:22px;top:25px;width:9px;height:9px;
  border-radius:50%;background:var(--rpf-green);box-shadow:0 0 0 5px rgba(71,123,100,.10);
}
.racine-permit-form-page .permit-form-info-item span{
  display:block;margin-bottom:3px;color:var(--rpf-green);
  text-transform:uppercase;font-size:.70rem;font-weight:900;letter-spacing:.08em;
}
.racine-permit-form-page .permit-form-info-item strong{
  display:block;color:var(--rpf-navy);font-size:.96rem;line-height:1.4;
}

/* Zone principale */
.racine-permit-form-page .permit-form-content{
  padding:56px 0 82px;
  background:linear-gradient(180deg,#f4f8fa 0,#fbfcfd 220px,#fff 520px);
}
.racine-permit-form-page .permit-form-grid{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:24px!important;align-items:start!important;
}
.racine-permit-form-page .permit-form-card{
  width:100%!important;max-width:none!important;min-width:0!important;
  margin:0!important;padding:0!important;overflow:visible!important;
  border:1px solid #d7e3e9!important;border-radius:24px!important;
  background:#fff!important;box-shadow:0 18px 52px rgba(23,50,77,.09)!important;
}
.racine-permit-form-page .permit-form-card::before{
  content:"Formulaire à remplir";
  display:block;padding:21px 34px;
  border-bottom:1px solid #dce6ea;border-radius:24px 24px 0 0;
  color:var(--rpf-navy);background:linear-gradient(135deg,#f7fafb,#eef5f2);
  font-size:.78rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase;
}
.racine-permit-form-page .permit-form-card>.entry-content{
  width:100%!important;max-width:none!important;min-width:0!important;
  margin:0!important;padding:32px 36px 36px!important;overflow:visible!important;
}
.racine-permit-form-page .permit-form-card>.entry-content>:first-child{margin-top:0!important;}
.racine-permit-form-page .permit-form-card>.entry-content>:last-child{margin-bottom:0!important;}

/* Premier titre du formulaire */
.racine-permit-form-page .permit-form-card>.entry-content>h1:first-child,
.racine-permit-form-page .permit-form-card>.entry-content>h2:first-child,
.racine-permit-form-page .permit-form-card>.entry-content>h3:first-child{
  margin:0 0 28px!important;padding:0 0 20px!important;
  border:0!important;border-bottom:1px solid var(--rpf-line)!important;border-radius:0!important;
  background:transparent!important;color:var(--rpf-navy)!important;
  text-align:left!important;font-size:clamp(1.6rem,2.7vw,2.15rem)!important;
  line-height:1.2!important;letter-spacing:-.02em!important;
}

/* Confinement general */
.racine-permit-form-page .entry-content,
.racine-permit-form-page .forminator-ui,
.racine-permit-form-page .forminator-custom-form,
.racine-permit-form-page .forminator-row,
.racine-permit-form-page .forminator-col,
.racine-permit-form-page .forminator-field,
.racine-permit-form-page .forminator-field-group,
.racine-permit-form-page .forminator-field-html,
.racine-permit-form-page .forminator-field-upload,
.racine-permit-form-page .forminator-file-upload,
.racine-permit-form-page .select2-container{
  min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
}
.racine-permit-form-page .forminator-ui,
.racine-permit-form-page .forminator-custom-form{
  width:100%!important;margin:0!important;padding:0!important;
  color:var(--rpf-text)!important;font-size:15px!important;overflow:visible!important;
}
.racine-permit-form-page .forminator-ui .forminator-row{
  width:100%!important;margin:0 0 18px!important;
}
.racine-permit-form-page .forminator-ui .forminator-col{
  min-width:0!important;max-width:100%!important;
}

/* Libelles */
.racine-permit-form-page .forminator-ui .forminator-label{
  display:block!important;margin:0 0 7px!important;padding:0!important;
  color:var(--rpf-navy)!important;font-size:.91rem!important;line-height:1.4!important;
  font-weight:800!important;letter-spacing:.005em!important;white-space:normal!important;
}
.racine-permit-form-page .forminator-ui .forminator-description,
.racine-permit-form-page .forminator-ui .forminator-field-description{
  display:block!important;margin-top:6px!important;padding:0!important;
  color:var(--rpf-muted)!important;font-size:.84rem!important;line-height:1.55!important;
  white-space:normal!important;
}

/* Champs */
.racine-permit-form-page .forminator-ui input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]),
.racine-permit-form-page .forminator-ui select,
.racine-permit-form-page .forminator-ui textarea,
.racine-permit-form-page .forminator-ui .select2-container,
.racine-permit-form-page .forminator-ui .select2-selection{
  width:100%!important;max-width:100%!important;
}
.racine-permit-form-page .forminator-ui input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="file"]),
.racine-permit-form-page .forminator-ui select,
.racine-permit-form-page .forminator-ui textarea,
.racine-permit-form-page .forminator-ui .select2-selection{
  min-height:48px!important;padding:11px 14px!important;
  border:1px solid #c7d6de!important;border-radius:10px!important;
  background:#fbfdfe!important;color:var(--rpf-text)!important;
  box-shadow:0 1px 2px rgba(23,50,77,.025)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.racine-permit-form-page .forminator-ui textarea{min-height:118px!important;resize:vertical!important;}
.racine-permit-form-page .forminator-ui input:not([type="checkbox"]):not([type="radio"]):focus,
.racine-permit-form-page .forminator-ui select:focus,
.racine-permit-form-page .forminator-ui textarea:focus,
.racine-permit-form-page .forminator-ui .select2-container--focus .select2-selection{
  outline:none!important;border-color:var(--rpf-blue)!important;background:#fff!important;
  box-shadow:0 0 0 3px rgba(39,106,143,.11)!important;
}

/* Titres internes Forminator : sobres et flexibles */
.racine-permit-form-page .forminator-ui .forminator-field-html h2,
.racine-permit-form-page .forminator-ui .forminator-field-html h3,
.racine-permit-form-page .forminator-ui .forminator-field-group-title,
.racine-permit-form-page .forminator-ui .forminator-title{
  max-width:100%!important;margin:30px 0 17px!important;padding:0 0 10px!important;
  border:0!important;border-bottom:2px solid #dce8e2!important;border-radius:0!important;
  background:transparent!important;color:var(--rpf-navy)!important;
  font-size:1.12rem!important;line-height:1.4!important;font-weight:850!important;
  white-space:normal!important;overflow:visible!important;
}
.racine-permit-form-page .forminator-ui .forminator-field-html h2::before,
.racine-permit-form-page .forminator-ui .forminator-field-html h3::before{
  content:"";display:inline-block;width:5px;height:18px;margin:0 9px -3px 0;
  border-radius:4px;background:var(--rpf-green);
}
.racine-permit-form-page .forminator-ui .forminator-field-html h2:first-child,
.racine-permit-form-page .forminator-ui .forminator-field-html h3:first-child{margin-top:10px!important;}
.racine-permit-form-page .forminator-ui .forminator-field-html p,
.racine-permit-form-page .forminator-ui .forminator-field-html li{
  color:#506574!important;line-height:1.62!important;
}
.racine-permit-form-page .forminator-ui hr,
.racine-permit-form-page .forminator-ui .forminator-separator{
  margin:24px 0!important;border:0!important;border-top:1px solid var(--rpf-line)!important;
}

/* Radios et cases : ne jamais sortir de la carte */
.racine-permit-form-page .forminator-ui .forminator-radio,
.racine-permit-form-page .forminator-ui .forminator-checkbox{
  display:inline-flex!important;align-items:center!important;gap:8px!important;
  width:auto!important;max-width:100%!important;min-height:40px!important;
  margin:4px 7px 4px 0!important;padding:8px 12px!important;
  border:1px solid #d7e2e7!important;border-radius:10px!important;
  background:#f8fafb!important;color:#31495b!important;
  line-height:1.4!important;white-space:normal!important;vertical-align:top!important;
}
.racine-permit-form-page .forminator-ui .forminator-radio:hover,
.racine-permit-form-page .forminator-ui .forminator-checkbox:hover{
  border-color:#b9cfd9!important;background:#f2f7f9!important;
}
.racine-permit-form-page .forminator-ui .forminator-radio input,
.racine-permit-form-page .forminator-ui .forminator-checkbox input{flex:0 0 auto!important;}

/* Televersement */
.racine-permit-form-page .forminator-ui .forminator-file-upload,
.racine-permit-form-page .forminator-ui .forminator-field-upload{
  width:100%!important;max-width:100%!important;padding:18px!important;
  border:1px dashed #aec6d2!important;border-radius:12px!important;background:#f7fafc!important;
}
.racine-permit-form-page .forminator-ui .forminator-button-upload{
  min-height:42px!important;padding:9px 16px!important;border:0!important;border-radius:9px!important;
  background:#e8f1f5!important;color:var(--rpf-navy)!important;font-weight:800!important;
}
.racine-permit-form-page .forminator-ui .forminator-uploaded-files{
  width:100%!important;max-width:100%!important;overflow-wrap:anywhere!important;
}

/* Bouton d'envoi */
.racine-permit-form-page .forminator-ui .forminator-button-submit{
  min-height:50px!important;padding:13px 26px!important;border:0!important;border-radius:10px!important;
  background:linear-gradient(135deg,#17324d,#245d7f)!important;color:#fff!important;
  font-size:.98rem!important;font-weight:850!important;box-shadow:0 9px 22px rgba(23,50,77,.17)!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.racine-permit-form-page .forminator-ui .forminator-button-submit:hover{
  transform:translateY(-1px)!important;background:linear-gradient(135deg,#245d7f,#477b64)!important;
  box-shadow:0 12px 26px rgba(23,50,77,.20)!important;
}
.racine-permit-form-page .forminator-ui .forminator-required,
.racine-permit-form-page .forminator-ui .forminator-error-message{color:#a5403d!important;}

/* Tables/repeaters/media */
.racine-permit-form-page .forminator-ui table{width:100%!important;max-width:100%!important;display:block!important;overflow-x:auto!important;}
.racine-permit-form-page .forminator-ui img,
.racine-permit-form-page .forminator-ui svg,
.racine-permit-form-page .forminator-ui canvas,
.racine-permit-form-page .forminator-ui iframe{max-width:100%!important;height:auto;}

/* Note sous formulaire */
.racine-permit-form-page .permit-form-footer-note{
  margin:0 36px 34px!important;padding:17px 19px!important;
  border:0!important;border-left:4px solid var(--rpf-gold)!important;border-radius:10px!important;
  background:#fff8e8!important;color:#5c5239!important;font-size:.93rem!important;line-height:1.55!important;
}

/* Aide */
.racine-permit-form-page .permit-form-side{
  position:static!important;display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;width:100%!important;
}
.racine-permit-form-page .permit-form-side-card{
  min-width:0;padding:24px!important;border:1px solid #d8e7ed!important;border-radius:18px!important;
  background:#eef5f8!important;box-shadow:none!important;
}
.racine-permit-form-page .permit-form-side-card.accent{background:#f7f4ec!important;border-color:#eadfca!important;}
.racine-permit-form-page .permit-form-side-card h2,
.racine-permit-form-page .permit-form-side-card h3{
  margin:0 0 10px!important;color:var(--rpf-navy)!important;font-size:1.16rem!important;line-height:1.3!important;
}
.racine-permit-form-page .permit-form-side-card p{
  margin:0 0 13px!important;color:#5f7180!important;font-size:.94rem!important;line-height:1.58!important;
}
.racine-permit-form-page .permit-form-side-card a{color:var(--rpf-blue)!important;font-weight:800!important;text-decoration:none!important;overflow-wrap:anywhere;}
.racine-permit-form-page .permit-form-help-btn{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:43px!important;padding:0 17px!important;border-radius:9px!important;
  background:var(--rpf-navy)!important;color:#fff!important;
}

@media (max-width:900px){
  .racine-permit-form-page .permit-form-info-inner{grid-template-columns:1fr;}
  .racine-permit-form-page .permit-form-info-item{border-right:0;border-bottom:1px solid var(--rpf-line);}
  .racine-permit-form-page .permit-form-info-item:last-child{border-bottom:0;}
  .racine-permit-form-page .forminator-ui .forminator-row{display:block!important;}
  .racine-permit-form-page .forminator-ui .forminator-col{width:100%!important;max-width:100%!important;margin-bottom:13px!important;}
}
@media (max-width:760px){
  .racine-permit-form-page .permit-form-side{grid-template-columns:1fr!important;}
}
@media (max-width:620px){
  .racine-permit-form-page .permit-form-wrap{width:min(100% - 28px,1180px);}
  .racine-permit-form-page .permit-form-hero{padding:46px 0 40px;}
  .racine-permit-form-page .permit-form-hero h1{font-size:2.25rem!important;}
  .racine-permit-form-page .permit-form-content{padding:34px 0 58px;}
  .racine-permit-form-page .permit-form-card{border-radius:18px!important;}
  .racine-permit-form-page .permit-form-card::before{padding:17px 18px;border-radius:18px 18px 0 0;}
  .racine-permit-form-page .permit-form-card>.entry-content{padding:24px 18px 26px!important;}
  .racine-permit-form-page .permit-form-footer-note{margin:0 18px 24px!important;}
  .racine-permit-form-page .forminator-ui .forminator-radio,
  .racine-permit-form-page .forminator-ui .forminator-checkbox{
    display:flex!important;width:100%!important;margin-right:0!important;
  }
  .racine-permit-form-page .forminator-ui .forminator-file-upload,
  .racine-permit-form-page .forminator-ui .forminator-field-upload{padding:14px!important;}
}
