/* Fondation Infomaniak — formulaires (contact + projets) et page projets */

.ik-form-card{
  border:1px solid var(--grey-lines,#d0d0d0);
  border-radius:16px;
  background:#fff;
  padding:48px;
  width:100%;
  max-width:760px;
  margin:32px auto 0;
  box-sizing:border-box;
  text-align:left;
  font-family:Suisse,sans-serif;
}
@media (max-width:768px){ .ik-form-card{ padding:24px; } }

.ik-form-title{
  margin:0 0 8px;
  font-size:20px; line-height:26px; font-weight:500;
  color:var(--text-primary,#333);
}
.ik-form-intro{
  margin:0 0 28px;
  font-size:16px; line-height:24px;
  color:var(--text-secondary,#666);
}

.ik-form-grid{ display:grid; gap:20px; grid-template-columns:1fr 1fr; }
@media (max-width:640px){ .ik-form-grid{ grid-template-columns:1fr; } }

.ik-field{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.ik-field.full{ grid-column:1 / -1; }
.ik-field label{
  font-size:14px; line-height:20px; font-weight:500;
  color:var(--text-primary,#333);
}
.ik-field label .opt{ font-weight:400; color:var(--text-secondary,#666); }
.ik-field input,
.ik-field select,
.ik-field textarea{
  font:inherit; font-size:16px; line-height:24px;
  width:100%; box-sizing:border-box;
  padding:12px 14px;
  border:1px solid var(--grey-lines,#d0d0d0);
  border-radius:8px;
  background:#fff;
  color:var(--text-primary,#333);
  transition:border-color .15s, box-shadow .15s;
}
.ik-field input:focus,
.ik-field select:focus,
.ik-field textarea:focus{
  outline:none;
  border-color:var(--infomaniak,#0098ff);
  box-shadow:0 0 0 3px rgba(0,152,255,.18);
}
.ik-field.is-invalid input,
.ik-field.is-invalid select,
.ik-field.is-invalid textarea{ border-color:#c62828; }
.ik-field textarea{ min-height:140px; resize:vertical; }
.ik-field small{
  font-size:13px; line-height:18px;
  color:var(--text-secondary,#666);
  display:flex; justify-content:space-between; gap:12px;
}
.ik-field small .over{ color:#c62828; }

/* Champ piège : invisible pour un humain */
.ik-hp{ position:absolute !important; left:-10000px !important; top:auto; width:1px; height:1px; overflow:hidden; }

.ik-checks{ display:flex; flex-direction:column; gap:16px; margin:0 0 28px; }
.ik-check{
  display:flex; gap:12px; align-items:flex-start;
  font-size:16px; line-height:24px;
  color:var(--text-primary,#333);
  cursor:pointer;
}
.ik-check input{
  flex:none; width:18px; height:18px; margin:3px 0 0;
  accent-color:var(--infomaniak,#0098ff);
}
.ik-gate-hint{
  font-size:14px; line-height:20px;
  color:var(--text-secondary,#666);
  margin:0 0 8px;
}

.ik-form-actions{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:12px; }
.ik-form-btn{
  font-family:Suisse,sans-serif; font-size:16px; line-height:24px; font-weight:500;
  color:#fff; background:var(--infomaniak,#0098ff);
  border:0; border-radius:4px;
  padding:12px 28px;
  cursor:pointer;
  transition:background .15s, opacity .15s;
}
.ik-form-btn:hover{ background:#007fd6; }
.ik-form-btn:focus-visible{ outline:2px solid #005fcc; outline-offset:2px; }
.ik-form-btn[disabled]{ opacity:.55; cursor:default; }

.ik-form-status{ font-size:14px; line-height:20px; color:var(--text-secondary,#666); margin:0; }
.ik-form-status.is-error{ color:#c62828; }
.ik-form-status.is-success{
  color:var(--text-primary,#333); font-size:16px; line-height:24px;
  padding:16px 20px; border-radius:8px; background:#eaf7ef; border:1px solid #bfe6cd;
}
.ik-form-note{ font-size:13px; line-height:18px; color:var(--text-secondary,#666); margin:20px 0 0; }
.ik-form-note a{ color:inherit; }

/* Lien discret en fin de section « Agir » */
.ik-project-cta{
  margin:32px 0 0;
  font-size:16px; line-height:24px;
  color:var(--text-secondary,#666);
  text-align:center;
}
.ik-project-cta a{ color:var(--text-primary,#333); text-decoration:underline; text-underline-offset:3px; }
.ik-project-cta a:hover{ color:var(--infomaniak,#0098ff); }

/* Liens du pied de page */
.ik-footer-links{ margin-top:12px !important; }
.ik-footer-links a{ color:#fff; }
.ik-footer-links span{ color:rgba(255,255,255,.5); margin:0 8px; }

/* Page « Proposer un projet » */
.ik-page-section{ padding:96px 0 120px; background:var(--white,#fff); }
@media (max-width:768px){ .ik-page-section{ padding:56px 0 64px; } }
.ik-page-header{ max-width:760px; margin:0 auto; }
.ik-eyebrow{
  margin:0 0 12px;
  font-size:14px; line-height:20px; font-weight:500; letter-spacing:.04em; text-transform:uppercase;
  color:var(--infomaniak,#0098ff);
}
.ik-page-header h1{ margin:0 0 24px; color:var(--text-primary,#333); font-weight:500; }
.ik-page-text p{
  margin:0 0 16px;
  font-size:18px; line-height:28px;
  color:var(--text-primary,#333);
}
.ik-page-text p.muted{ color:var(--text-secondary,#666); font-size:16px; line-height:24px; }
.ik-page-text ul{ margin:0 0 16px; padding-left:22px; font-size:18px; line-height:28px; color:var(--text-primary,#333); }
.ik-page-text li{ margin:0 0 6px; }
.ik-page-header .ik-form-card{ margin-top:48px; }

/* Ancres sous l'en-tête collant */
#contact{ scroll-margin-top:88px; }

/* Menu : sur petit écran, le lien Contact est masqué (le formulaire reste accessible en bas de page) */
@media (max-width:599.98px){ .ik-nav-contact{ display:none !important; } }
