/* Maison GSD — Nous rejoindre V2
   Reproduction visuelle de l'ancienne page, layout isolé */
.join-v2-main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.join-v2-shell{width:min(1180px,calc(100% - 32px));margin:0 auto}

.join-v2-hero{padding:52px 0 34px}
.join-v2-hero-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:26px;align-items:end}
.join-v2-hero h1{
  font-size:clamp(38px,5vw,56px);line-height:1.04;letter-spacing:-.045em;
  margin:0 0 18px;color:var(--gsd-ink)
}
.join-v2-hero p{max-width:760px;margin:0;color:#5f5148;font-size:18px;line-height:1.65}
.join-v2-note{
  background:#fff;border:1px solid var(--gsd-line);border-radius:18px;padding:18px;
  display:grid;gap:5px;box-shadow:0 7px 22px rgba(58,39,27,.05);
  transform:translateX(-100px)
}
.join-v2-note strong{font-size:16px;color:var(--gsd-wine2)}
.join-v2-note span{font-size:14px;color:#64564c;line-height:1.45}
.join-v2-section{padding:44px 0 64px}
.join-v2-form-shell{max-width:760px}
.join-v2-card{
  width:100%;max-width:100%;min-width:0;background:var(--gsd-paper);border:1px solid var(--gsd-line);
  border-radius:20px;padding:28px;box-shadow:0 8px 26px rgba(58,39,27,.05);overflow:hidden
}
.join-v2-form{display:grid;gap:19px;width:100%;max-width:100%;min-width:0}
.join-v2-form>*{min-width:0;max-width:100%}
.join-v2-form label{display:grid;gap:7px;font-weight:800;font-size:14px;color:var(--gsd-ink)}
.join-v2-required{display:inline!important;color:var(--gsd-wine);font-weight:900;font-size:.9em}
.join-v2-form input,.join-v2-form textarea{
  width:100%;border:1.5px solid #d8c8b8;border-radius:13px;background:#fff;
  padding:12px 13px;color:var(--gsd-ink);font-size:16px
}
.join-v2-form input{min-height:50px}
.join-v2-form textarea{min-height:170px;resize:vertical}
.join-v2-form input:focus,.join-v2-form textarea:focus{
  border-color:var(--gsd-wine);outline:3px solid rgba(123,47,43,.12)
}

.join-v2-civility{margin:0;padding:0;border:0;min-width:0;max-width:100%}
.join-v2-civility legend{margin:0 0 7px;padding:0;font-weight:800;font-size:15px;color:var(--gsd-ink)}
.join-v2-civility-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;min-width:0;max-width:100%}
.join-v2-civility-button{position:relative;display:block!important;min-width:0;cursor:pointer}
.join-v2-civility-button input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  pointer-events:none!important;
}
.join-v2-civility-button span{
  display:flex!important;align-items:center;justify-content:center;
  width:100%;min-width:0;min-height:56px;padding:0 20px;
  border:2px solid #d7c5b5;border-radius:14px;background:#f3ebe2;
  color:#6a5548;font-size:16px;font-weight:800;transition:.15s ease
}
.join-v2-civility-button:hover span{background:#eadfd4;border-color:#cdb8a5}
.join-v2-civility-button input:checked+span{background:var(--gsd-wine);border-color:var(--gsd-wine);color:#fff}
.join-v2-civility-button input:focus-visible+span{outline:3px solid rgba(123,47,43,.12);outline-offset:2px}

.join-v2-file-picker{
  position:relative;display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);
  align-items:center;gap:8px;width:100%;max-width:100%;min-width:0;margin-top:7px;padding:8px;
  border:2px solid #d8c8b8;border-radius:14px;background:#fff;overflow:hidden
}
.join-v2-file-button{
  display:flex;align-items:center;justify-content:center;min-height:46px;padding:0 14px;
  max-width:100%;min-width:0;border-radius:11px;background:var(--gsd-wine);color:#fff;font-weight:800;white-space:nowrap
}
.join-v2-file-name{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#6a5d54;font-weight:500
}
.join-v2-file-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.join-v2-form small,.join-v2-form .gsd-optional,.join-v2-form-note{
  color:#6a5d54;font-weight:500;font-size:13px
}
.join-v2-form small{display:block;margin-top:6px}
.join-v2-form-note{margin:0;line-height:1.55}
.join-v2-submit{width:100%;min-height:50px;font-size:16px}

@media(max-width:800px){
  .join-v2-hero{padding:38px 0 26px}
  .join-v2-hero-grid{grid-template-columns:1fr;gap:24px}
  .join-v2-note{transform:none}
  .join-v2-hero p{font-size:17px}
  .join-v2-section{padding:44px 0 54px}
  .join-v2-form-shell{max-width:none}
}
@media(max-width:520px){
  .join-v2-shell{width:min(100% - 22px,1180px)}
  .join-v2-card{padding:24px}
  .join-v2-file-button{font-size:13px;padding:0 12px}
  .join-v2-file-name{font-size:13px}
}

/* V22 — shell candidature fluide comme le reste du site */
.join-v2-shell{
  width:calc(100% - clamp(22px,3vw,64px))!important;
  max-width:none!important;
}
@media(max-width:800px){
  .join-v2-shell{width:calc(100% - 22px)!important}
}

/* V24 — note compacte, bord droit aligné sur le formulaire */
@media(min-width:801px){
  .join-v2-hero-grid{
    position:static!important;
    grid-template-columns:minmax(0,1fr) 260px!important;
    gap:24px!important;
    align-items:end!important;
  }
  .join-v2-note{
    position:static!important;
    width:260px!important;
    max-width:260px!important;
    justify-self:end!important;
    transform:none!important;
  }
}

/* Libellés : astérisques et mentions restent sur la ligne du texte */
.join-v2-form>label{
  display:block!important;
  font-weight:800;
  font-size:14px;
  color:var(--gsd-ink);
}
.join-v2-form>label>.join-v2-required,
.join-v2-form>label>.gsd-optional{
  display:inline!important;
}
.join-v2-form>label>input,
.join-v2-form>label>textarea,
.join-v2-form>label>.join-v2-file-picker{
  display:block;
  margin-top:7px;
}
