/* pafi-inscription.css - page CMS Planete Air (genere le 28/10/2026 depuis formulaires/inscription-installateur.html).
   Tout est limite a .pafi-insc : ne touche pas au theme. */
.pafi-insc-page{
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background:#eef1f6;
  margin:0;
  padding:2rem;
  color:#1f2937;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2rem;
}
.pafi-insc .pafi-back-btn-wrapper{
  width:100%;
  max-width:900px;
  margin:0 auto 0.5rem;
  text-align:left;
}
.pafi-insc .pafi-back-btn{
  display:inline-block;
  background:linear-gradient(90deg,#1b4e9b,#0078ff);
  color:#fff;
  font-size:.85rem;
  font-weight:600;
  padding:.6rem 1rem;
  border-radius:.5rem;
  text-decoration:none;
  transition:background .2s ease, transform .2s ease;
  box-shadow:0 4px 10px rgba(0,0,0,.2);
}
.pafi-insc .pafi-back-btn:hover{
  background:linear-gradient(90deg,#0078ff,#1b4e9b);
  transform:translateY(-2px);
}
.pafi-insc .pafi-card-wrapper{
  position:relative;
  background:#fff;
  border-radius:1rem;
  box-shadow:0 20px 40px rgba(0,0,0,.08);
  padding:2rem 1.5rem 2.5rem;
  max-width:900px;
  width:100%;
  display:flex;
  flex-direction:column;
  gap:1.5rem;
}
.pafi-insc .pafi-site-header{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:.75rem;
}
.pafi-insc .pafi-brand-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.75rem;
  flex-wrap:wrap;
}
.pafi-insc .pafi-brand-line img{
  height:90px;
  width:auto;
  object-fit:contain;
}
.pafi-insc .pafi-brand-name{
  display:none;
}
.pafi-insc .pafi-page-headline{
  font-size:1.4rem;
  font-weight:600;
  margin:0;
  text-align:center;
  color:#111;
}
@media(max-width:480px){
.pafi-insc-page{
  padding:1rem;
}
.pafi-insc .pafi-card-wrapper{
  padding:1.5rem 1rem 2rem;
}
.pafi-insc .pafi-page-headline{
  font-size:1.25rem;
}
.pafi-insc .pafi-brand-line img{
  height:70px;
}
}
.pafi-insc{
  --bg:#f6f8fb;
  --card:#ffffff;
  --text:#0b1e2d;
  --muted:#5b6b7b;
  --primary:#1d7af0;
  --border:#e5e9ef;
  --ok:#118d57;
  --warn:#b76e00;
  --map-bg:#eef2f8;
  --map-stroke:#94a3b8;
  --map-hover:#cfe5ff;
  --map-active:#1d7af0;
  --map-active-stroke:#0b3d86;
  --error:#b71c1c;
  --error-bg:#fdecea;
  --error-border:#f5c6cb;
}
.pafi-insc *{
  box-sizing:border-box
}
.pafi-insc-page{
  margin:0;
  background:var(--bg);
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  color:var(--text);
  -webkit-font-smoothing:antialiased;
}
.pafi-insc .pafi-container{
  max-width:860px;
  margin:32px auto;
  padding:0 16px;
}
.pafi-insc .pafi-brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
}
.pafi-insc .pafi-brand img{
  height:42px;
  border-radius:4px;
  object-fit:contain;
  background:#fff;
}
.pafi-insc .pafi-card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:0 6px 30px rgba(16,24,40,.06);
  overflow:hidden;
}
.pafi-insc .pafi-header{
  padding:20px 24px;
  background:#0b1e2d;
  color:#fff;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  flex-wrap:wrap;
  row-gap:12px;
}
.pafi-insc .pafi-header small{
  opacity:.8;
  font-size:12px;
  line-height:1.4;
}
.pafi-insc h1{
  font-size:22px;
  margin:0 0 6px;
  line-height:1.2;
  font-weight:600;
  color:#fff;
}
.pafi-insc p.pafi-lead{
  margin:6px 0 18px;
  color:#cdd6df;
  font-size:14px;
  line-height:1.4;
  max-width:480px;
}
.pafi-insc .pafi-content{
  padding:24px;
}
.pafi-insc .pafi-launch{
  background:#e9f3ff;
  color:#0b3d86;
  border:1px solid #cfe5ff;
  padding:12px 14px;
  border-radius:10px;
  margin:12px 0 18px;
  font-weight:600;
  font-size:14px;
  line-height:1.4;
}
.pafi-insc .pafi-download-card{
  background:#f7fafc;
  border:1px dashed var(--border);
  padding:12px 14px;
  border-radius:12px;
  margin-bottom:12px;
  font-size:14px;
  line-height:1.4;
  color:var(--text);
  position:relative;
}
.pafi-insc .pafi-download-card .pafi-btn.pafi-small{
  font-weight:600;
}
.pafi-insc .pafi-contract-status{
  font-size:13px;
  line-height:1.4;
  margin-top:8px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
}
.pafi-insc .pafi-badge-ok{
  background:#e8f9ef;
  color:#118d57;
  border:1px solid #bdeecf;
  border-radius:8px;
  padding:4px 8px;
  font-size:12px;
  line-height:1.2;
  font-weight:600;
}
.pafi-insc .pafi-form-error-box{
  grid-column:1/-1;
  background:var(--error-bg);
  border:1px solid var(--error-border);
  border-radius:10px;
  color:var(--error);
  font-size:13px;
  line-height:1.4;
  padding:10px 12px;
  display:none;
  font-weight:500;
}
.pafi-insc form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.pafi-insc fieldset{
  grid-column:1/-1;
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px 14px 6px;
  margin:6px 0;
  background:#fff;
}
.pafi-insc .pafi-fieldset-options{
  padding:14px;
}
.pafi-insc legend{
  padding:0 8px;
  font-weight:700;
  color:#223;
  font-size:14px;
  line-height:1.4;
}
.pafi-insc label{
  display:block;
  font-size:13px;
  color:var(--muted);
  margin:6px 0;
  line-height:1.4;
  font-weight:400;
}
.pafi-insc input,
.pafi-insc select,
.pafi-insc textarea{
  width:100%;
  padding:12px 12px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
  font-size:14px;
  line-height:1.4;
  font-family:inherit;
  color:var(--text);
}
.pafi-insc input:focus,
.pafi-insc select:focus,
.pafi-insc textarea:focus,
.pafi-insc button:focus{
  outline:2px solid var(--primary);
  outline-offset:2px;
}
.pafi-insc .pafi-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.pafi-insc .pafi-hint{
  font-size:12px;
  color:#6b7b8c;
  line-height:1.4;
}
.pafi-insc .pafi-files-hint{
  font-size:12px;
  color:#6b7b8c;
  line-height:1.4;
  margin-top:12px;
}
.pafi-insc .pafi-cta{
  grid-column:1/-1;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:12px;
}
.pafi-insc .pafi-btn{
  appearance:none;
  border:0;
  border-radius:12px;
  padding:14px 18px;
  background:var(--primary);
  color:#fff;
  font-weight:700;
  cursor:pointer;
  font-size:14px;
  line-height:1.2;
}
.pafi-insc .pafi-btn.pafi-secondary{
  background:#e9eef6;
  color:#123;
  border:1px solid var(--border);
}
.pafi-insc .pafi-btn.pafi-small{
  padding:10px 12px;
  font-size:13px;
  line-height:1.2;
  border-radius:10px;
  font-weight:600;
}
.pafi-insc .pafi-btn.pafi-outline{
  background:#fff;
  color:var(--text);
  border:1px solid var(--border);
}
.pafi-insc .pafi-btn[disabled],
.pafi-insc .pafi-btn[disabled]:hover{
  background:#cfd8e6;
  border-color:#cfd8e6;
  color:#6b7b8c;
  cursor:not-allowed;
}
.pafi-insc .pafi-policy{
  grid-column:1/-1;
  font-size:12px;
  color:#6b7b8c;
  line-height:1.4;
}
.pafi-insc .pafi-tier-badge{
  display:inline-block;
  background:#f2e6d9;
  color:#7a4a21;
  border-radius:999px;
  padding:6px 10px;
  font-weight:700;
  margin-left:6px;
  font-size:12px;
  line-height:1.2;
}
.pafi-insc .pafi-ok{
  color:var(--ok)
}
.pafi-insc .pafi-warn{
  color:var(--warn)
}
@media (max-width:760px){
.pafi-insc form,
.pafi-insc .pafi-row{
  grid-template-columns:1fr;
}
}
.pafi-insc hr{
  margin:28px 0;
  border:0;
  border-top:1px dashed var(--border);
}
.pafi-insc .pafi-zone-block > label{
  font-size:13px;
  font-weight:600;
  color:var(--text);
  margin-bottom:8px;
  display:block;
}
.pafi-insc .pafi-zone-wrapper{
  margin-top:8px;
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:16px;
  display:grid;
  grid-template-columns:1fr 240px;
  gap:16px;
}
@media (max-width:760px){
.pafi-insc .pafi-zone-wrapper{
  grid-template-columns:1fr;
}
}
.pafi-insc .pafi-zone-map-block{
  background:var(--map-bg);
  border:1px solid var(--border);
  border-radius:12px;
  padding:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:260px;
}
.pafi-insc .pafi-fr-map{
  width:100%;
  max-width:360px;
}
.pafi-insc .pafi-fr-map svg{
  display:block;
  width:100%;
  height:auto;
}
.pafi-insc .dept-shape,
.pafi-insc .departement{
  fill:var(--card);
  stroke:var(--map-stroke);
  stroke-width:.7;
  cursor:pointer;
  transition:fill .15s,stroke .15s,stroke-width .15s;
}
.pafi-insc .dept-shape:hover,
.pafi-insc .departement:hover{
  fill:var(--map-hover);
  stroke:var(--primary);
  stroke-width:1;
}
.pafi-insc .dept-shape.active,
.pafi-insc .departement.active{
  fill:var(--map-active);
  stroke:var(--map-active-stroke);
  stroke-width:1.2;
}
.pafi-insc .pafi-zone-side{
  display:flex;
  flex-direction:column;
  gap:12px;
  font-size:13px;
  line-height:1.4;
  color:var(--text);
  max-width:260px;
  flex:0 0 260px;
  font-family:system-ui,sans-serif;
}
.pafi-insc .pafi-zone-side h4{
  font-size:14px;
  font-weight:600;
  color:var(--text);
  margin:0;
  line-height:1.4;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:8px;
}
.pafi-insc .pafi-selected-box{
  background:#f7fafc;
  border:1px solid var(--border);
  border-radius:10px;
  padding:10px;
  min-height:60px;
  max-height:140px;
  overflow:auto;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:12px;
  line-height:1.4;
  color:#384655;
  word-break:break-word;
  white-space:pre-wrap;
}
.pafi-insc .pafi-zone-chips-line{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.pafi-insc .pafi-chip{
  background:#e9f3ff;
  border:1px solid #cfe5ff;
  color:#0b3d86;
  font-size:12px;
  line-height:1.2;
  padding:4px 8px;
  border-radius:999px;
  font-weight:600;
  display:flex;
  align-items:center;
  gap:4px;
  white-space:nowrap;
}
.pafi-insc .pafi-chip button{
  border:0;
  background:none;
  font-size:12px;
  line-height:1;
  cursor:pointer;
  color:inherit;
  padding:0;
}
.pafi-insc .pafi-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.pafi-insc .pafi-zone-hint{
  font-size:12px;
  color:var(--muted);
  line-height:1.4;
}
.pafi-insc a{
  color:var(--primary);
}
.pafi-insc a:hover{
  text-decoration:none;
}
.pafi-insc .pafi-checkline{
  display:flex;
  flex-wrap:nowrap;
  align-items:flex-start;
  gap:8px;
  margin:8px 0;
  padding:0;
  font-size:13px;
  line-height:1.4;
  font-weight:400;
  color:var(--text);
}
.pafi-insc .pafi-checkline input[type="checkbox"]{
  margin-top:2px;
  flex-shrink:0;
  width:auto;
}
.pafi-insc .pafi-checkline span{
  line-height:1.4;
  color:var(--text);
}
.pafi-insc .pafi-modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.5);
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px;
  z-index:1000;
}
.pafi-insc .pafi-modal-backdrop.active{
  display:flex;
}
.pafi-insc .pafi-modal-card{
  background:#fff;
  border-radius:16px;
  max-width:720px;
  width:100%;
  max-height:90vh;
  display:flex;
  flex-direction:column;
  box-shadow:0 30px 80px rgba(0,0,0,.4);
  border:1px solid var(--border);
}
.pafi-insc .pafi-modal-head{
  padding:16px 20px;
  border-bottom:1px solid var(--border);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
  row-gap:8px;
}
.pafi-insc .pafi-modal-head h2{
  margin:0;
  font-size:16px;
  line-height:1.3;
  font-weight:600;
  color:var(--text);
}
.pafi-insc .pafi-modal-close-btn{
  background:none;
  border:0;
  font-size:14px;
  line-height:1;
  cursor:pointer;
  color:var(--muted);
  padding:6px 8px;
}
.pafi-insc .pafi-modal-body{
  padding:16px 20px;
  overflow:auto;
  font-size:13px;
  line-height:1.4;
  color:#1a2a3a;
  flex:1;
}
.pafi-insc .pafi-contract-scroll{
  border:1px solid var(--border);
  border-radius:8px;
  padding:12px;
  max-height:40vh;
  overflow:auto;
  background:#fdfdfd;
  font-size:12px;
  line-height:1.45;
  color:#1a2a3a;
  white-space:pre-line;
}
.pafi-insc .pafi-modal-footer{
  padding:16px 20px;
  border-top:1px solid var(--border);
  display:flex;
  flex-direction:column;
  gap:12px;
}
.pafi-insc .pafi-modal-footer .pafi-checkline{
  margin:0;
  font-size:13px;
}
.pafi-insc .pafi-modal-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  justify-content:flex-end;
}
/* --- ajustements pour l'affichage dans le site (neutralise Bootstrap du theme) --- */
.pafi-insc legend{
  width:auto;
  max-width:100%;
  margin-bottom:0;
  float:none;
}
.pafi-insc fieldset{
  min-width:0;
}
.pafi-insc label{
  text-align:left;
}
.pafi-insc-page{
  border-radius:1rem;
}
.pafi-insc-modal-root{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
  color:var(--text);
}
@media(max-width:480px){
  .pafi-insc-page{padding:.5rem;}
}
/* pa-sans-cadre 28/10/2026 : pas de double cadre dans la page du site */
.pafi-insc-page{background:none !important;padding:0 !important;border-radius:0 !important;}
.pafi-insc .pafi-card-wrapper{background:none !important;box-shadow:none !important;border-radius:0 !important;padding:0 !important;}
