/* It's Rugby — formulaire de contact public RGPD-compliant
   Variables (--teal, --vanilla...) viennent de itsrugby-common.css */

.its-contact-wrap { max-width:720px; margin:0 auto; padding:24px 16px 48px; }
.its-contact-form {
  background:var(--white);
  border:1px solid var(--border);
  padding:28px;
  display:flex; flex-direction:column; gap:20px;
  box-shadow:0 4px 12px rgba(28,61,52,.06);
}

.its-contact-hp { position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }

/* Sections numérotées */
.its-contact-section { display:flex; flex-direction:column; gap:14px; }
.its-contact-section + .its-contact-section { padding-top:20px; border-top:1px solid var(--vanilla-d); }
.its-contact-section-head { display:flex; align-items:center; gap:12px; }
.its-contact-step {
  flex:0 0 auto;
  width:32px; height:32px; border-radius:0;
  border:2px solid var(--teal);
  background:var(--white); color:var(--teal);
  font-family:var(--sans); font-size:14px; font-weight:800;
  display:inline-flex; align-items:center; justify-content:center;
  line-height:1;
}
.its-contact-section-title {
  margin:0; font-family:var(--sans); font-size:15px; font-weight:800;
  letter-spacing:0; text-transform:none; color:var(--teal);
}

/* Sujets — checkbox group */
.its-contact-subjects { border:0; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.its-contact-legend {
  display:flex; flex-direction:column; gap:2px;
  font-size:12px; font-weight:700; color:var(--teal); padding:0;
}
.its-contact-hint { font-size:12px; font-weight:500; color:var(--muted); }
.its-contact-subject-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:10px;
}
.its-contact-subject {
  display:flex; align-items:flex-start; gap:10px;
  padding:12px 14px; background:var(--white); border:1px solid var(--border);
  cursor:pointer; transition:border-color .15s ease, background .15s ease;
}
.its-contact-subject:hover { border-color:var(--teal); }
.its-contact-subject input[type="checkbox"] {
  flex:0 0 auto; width:18px; height:18px; margin-top:2px;
  accent-color:var(--teal); cursor:pointer;
}
.its-contact-subject:has(input:checked) {
  border-color:var(--teal); background:var(--sage-lt);
}
.its-contact-subject-body { display:flex; flex-direction:column; gap:3px; flex:1 1 auto; }
.its-contact-subject-label { font-size:14px; font-weight:700; color:var(--teal); line-height:1.2; }
.its-contact-subject-desc { font-size:12px; color:var(--muted); line-height:1.4; }

.its-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.its-contact-field { display:flex; flex-direction:column; gap:6px; }
.its-contact-field-full { grid-column:1 / -1; }
.its-contact-field span {
  font-size:12px; font-weight:700; color:var(--teal);
  display:flex; align-items:baseline; gap:6px;
}
.its-contact-req { color:var(--red); font-weight:800; }
.its-contact-field input,
.its-contact-field select,
.its-contact-field textarea {
  font-family:var(--sans);
  font-size:14px;
  padding:10px 12px;
  background:var(--white);
  border:1px solid var(--border);
  color:var(--ink);
  width:100%;
}
.its-contact-field input:focus,
.its-contact-field select:focus,
.its-contact-field textarea:focus { outline:2px solid var(--teal); outline-offset:-1px; }
.its-contact-field textarea { resize:vertical; min-height:120px; }

/* Bloc RGPD */
.its-contact-rgpd {
  background:var(--vanilla);
  border:1px solid var(--border);
  border-left:3px solid var(--teal);
}
.its-contact-rgpd summary {
  padding:12px 14px;
  cursor:pointer;
  list-style:none;
  display:flex; flex-direction:column; gap:2px;
  position:relative;
  padding-right:36px;
}
.its-contact-rgpd summary::-webkit-details-marker { display:none; }
.its-contact-rgpd summary strong { font-size:13px; font-weight:800; color:var(--teal); }
.its-contact-rgpd summary span { font-size:12px; color:var(--muted); }
.its-contact-rgpd summary::after {
  content:"+"; position:absolute; right:14px; font-size:18px; line-height:1; color:var(--teal);
}
.its-contact-rgpd[open] summary::after { content:"−"; }
.its-contact-rgpd-body { padding:0 14px 14px; display:flex; flex-direction:column; gap:8px; }
.its-contact-rgpd-body p { margin:0; font-size:12px; line-height:1.55; color:var(--ink); }
.its-contact-rgpd-body p strong { color:var(--teal); }
.its-contact-rgpd-body a { color:var(--teal) !important; text-decoration:underline; }

/* Consent box */
.its-contact-check {
  display:flex; align-items:flex-start; gap:10px;
  padding:12px 14px; background:var(--vanilla); border:1px solid var(--border);
  font-size:13px; color:var(--teal); line-height:1.5; cursor:pointer;
}
.its-contact-check input[type="checkbox"] {
  flex:0 0 auto; width:18px; height:18px; margin-top:2px;
  accent-color:var(--teal); cursor:pointer;
}
.its-contact-check span { flex:1 1 auto; }

/* Actions */
.its-contact-actions { display:flex; justify-content:flex-end; }
.its-contact-submit {
  background:var(--teal); color:var(--vanilla);
  font-family:var(--sans); font-size:14px; font-weight:800;
  letter-spacing:0; text-transform:none;
  padding:16px 32px;
  border:none; cursor:pointer;
  display:flex; align-items:center; gap:12px;
  transition:background .15s ease, gap .15s ease;
}
.its-contact-submit:hover:not(:disabled) { background:var(--teal-dk); gap:18px; }
.its-contact-submit:disabled { background:var(--muted); cursor:not-allowed; }

/* Result */
.its-contact-result { padding:14px 16px; font-size:14px; font-weight:600; border:1px solid var(--border); }
.its-contact-result.is-success { background:var(--sage-lt); border-color:var(--teal); color:var(--teal); }
.its-contact-result.is-error { background:var(--red-lt); border-color:var(--red); color:var(--red); }

/* Responsive */
@media (max-width: 720px) {
  .its-contact-wrap { padding:16px 12px 40px; }
  .its-contact-form { padding:18px; }
  .its-contact-grid { grid-template-columns:1fr; }
  .its-contact-subject-grid { grid-template-columns:1fr; }
}
