:root{
  --bg: #0a0a0a;
  --panel: #101010;
  --border: rgba(255,255,255,.12);
  --text: #ffffff;
  --muted: rgba(255,255,255,.72);

  --red: #db241e;         /* Rouge GT2i */
  --red-hover: #b81f1a;
}

.iti {
  --iti-path-flags-1x: url("/assets/vendor/intl-tel-input/img/flags.webp");
  --iti-path-flags-2x: url("/assets/vendor/intl-tel-input/img/flags@2x.webp");
}

html, body { height: 100%; }
body.gt2i-public{
  background: var(--bg);
  color: var(--text) !important;
}

.container{ max-width: 1100px; }

body.gt2i-public *{
  border-radius: 0 !important;
}

body.gt2i-public .gt2i-nav{
  background: #000 !important;
  border-bottom: 1px solid var(--border);
}
body.gt2i-public .gt2i-nav-accent{
  width: 100%;
  height: 2px;
  background: var(--red);
}

body.gt2i-public .text-muted,
body.gt2i-public .text-secondary,
body.gt2i-public .text-body-secondary{
  color: var(--muted) !important;
}

body.gt2i-public a{
  color: var(--text);
  text-decoration: none;
}
body.gt2i-public a:hover{
  color: var(--text);
  text-decoration: underline;
}

body.gt2i-public h1,
body.gt2i-public h2,
body.gt2i-public h3,
body.gt2i-public h4,
body.gt2i-public h5,
body.gt2i-public h6{
  color: var(--text) !important;
}

body.gt2i-public .gt2i-accent{
  width: 56px;
  height: 2px;
  background: var(--red);
  margin-bottom: 12px;
}

body.gt2i-public .card-gt2i{
  background: var(--panel);
  border: 1px solid var(--border);
  box-shadow: none;
}

body.gt2i-public .card-gt2i,
body.gt2i-public .card-gt2i *{
  color: inherit;
}

body.gt2i-public .form-label,
body.gt2i-public label{
  color: var(--text) !important;
}

body.gt2i-public .form-control,
body.gt2i-public .form-select{
  background: #0c0c0c !important;
  border: 1px solid var(--border) !important;
  color: var(--text) !important;
}

body.gt2i-public .form-control::placeholder{
  color: rgba(255,255,255,.45);
}

body.gt2i-public .form-control:focus,
body.gt2i-public .form-select:focus{
  border-color: var(--red) !important;
  box-shadow: none !important;
  outline: none !important;
}

body.gt2i-public select option{
  background: #0c0c0c;
  color: #fff;
}

body.gt2i-public .is-invalid,
body.gt2i-public .form-control.is-invalid,
body.gt2i-public .form-select.is-invalid{
  border-color: var(--red) !important;
  background: #0c0c0c !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.gt2i-public .invalid-feedback{
  color: rgba(220,53,69,.95) !important;
}

body.gt2i-public input:-webkit-autofill,
body.gt2i-public input:-webkit-autofill:hover,
body.gt2i-public input:-webkit-autofill:focus,
body.gt2i-public textarea:-webkit-autofill,
body.gt2i-public textarea:-webkit-autofill:hover,
body.gt2i-public textarea:-webkit-autofill:focus,
body.gt2i-public select:-webkit-autofill,
body.gt2i-public select:-webkit-autofill:hover,
body.gt2i-public select:-webkit-autofill:focus{
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 0 0px 1000px #0c0c0c inset !important;
  caret-color: #fff !important;
  transition: background-color 9999s ease-in-out 0s;
}

body.gt2i-public .btn-gt2i{
  background: var(--red);
  border: 1px solid var(--red);
  color: #fff !important;
  font-weight: 700;
  padding: .65rem 1rem;
}

body.gt2i-public .btn-gt2i:hover{
  background: var(--red-hover);
  border-color: var(--red-hover);
  color: #fff !important;
}

body.gt2i-public .btn-outline-light{
  border-color: rgba(255,255,255,.35) !important;
  color: var(--text) !important;
}
body.gt2i-public .btn-outline-light:hover{
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.55) !important;
  color: #fff !important;
}

body.gt2i-public .btn-outline-secondary{
  border-color: rgba(255,255,255,.25) !important;
  color: rgba(255,255,255,.85) !important;
}
body.gt2i-public .btn-outline-secondary:hover{
  background: rgba(255,255,255,.06) !important;
  border-color: rgba(255,255,255,.40) !important;
  color: #fff !important;
}

body.gt2i-public .badge-gt2i{
  background: transparent;
  border: 1px solid var(--red);
  color: #fff;
  font-weight: 700;
}

body.gt2i-public hr{
  border-color: var(--border);
  opacity: 1;
}

/* Alerts - Photo obligatoire (clair comme avant) */
body.gt2i-public .alert{
  color: #111 !important;
}
body.gt2i-public .alert strong{
  color: var(--red); !important;
}

div.text-muted.deadline-note {
  color: #111 !important;
}

.imgPreview {
  max-width: 100%;
  height: auto;
  border: 1px solid #ddd;
  padding: 6px;
  border-radius: 6px;
}

.photoPreviewWrapper { max-width: 520px; }

body.gt2i-public .alert h1,
body.gt2i-public .alert h2,
body.gt2i-public .alert h3,
body.gt2i-public .alert h4,
body.gt2i-public .alert h5,
body.gt2i-public .alert h6{
  color: #111 !important;
}