/* Subliwear Qualification - tout est scopé sous .swq pour ne rien casser dans Avada */
.swq{
  --swq-ink:#0E1116; --swq-soft:#191F27; --swq-line:#2A313C;
  --swq-paper:#F5F6F7; --swq-muted:#8A94A2;
  --swq-c:#00A3E0; --swq-m:#E5007D; --swq-y:#FFD400;
  max-width:760px; margin:0 auto;
  background:var(--swq-ink); color:var(--swq-paper);
  padding:44px 44px 46px; border-radius:8px;
  font-size:16px; line-height:1.55;
}
.swq *{box-sizing:border-box}

/* --- en-tete --- */
.swq-head{margin-bottom:34px}
.swq-align-center .swq-head{text-align:center}
.swq-align-center .swq-head .swq-lead{margin-left:auto;margin-right:auto}

.swq .swq-eyebrow{
  font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--swq-muted); margin-bottom:10px;
}
.swq .swq-title{
  color:var(--swq-paper); font-size:40px; line-height:1.06; font-weight:700;
  letter-spacing:-.02em; margin:0 0 22px; padding:0; text-transform:none;
}
.swq .swq-lead{color:var(--swq-muted);max-width:54ch;margin:18px 0 0;font-size:15px}

/* signature : passe d'impression CMJN, un segment par etape */
.swq-pass{display:flex;gap:5px;margin:0}
.swq-pass span{height:5px;flex:1;background:var(--swq-line);border-radius:3px;transition:background .35s ease}
.swq-pass span.on:nth-child(1){background:var(--swq-c)}
.swq-pass span.on:nth-child(2){background:var(--swq-m)}
.swq-pass span.on:nth-child(3){background:var(--swq-y)}
.swq-pass span.on:nth-child(4){background:var(--swq-paper)}

/* --- etapes --- */
.swq fieldset.swq-step{border:0;padding:0;margin:0;display:none;min-inline-size:0}
.swq fieldset.swq-step.active{display:block}
.swq legend{display:none}

.swq-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.swq-field{display:flex;flex-direction:column;gap:7px;margin:0}
.swq-field.swq-full{grid-column:1/-1}
.swq label{
  font-size:12px;font-weight:600;color:var(--swq-muted);margin:0;
  text-transform:uppercase;letter-spacing:.07em;line-height:1.3;
}

.swq input[type=text],.swq input[type=email],.swq input[type=number],.swq input[type=date],
.swq input:not([type]),.swq select,.swq textarea{
  background:var(--swq-soft);border:1px solid var(--swq-line);color:var(--swq-paper);
  border-radius:5px;padding:13px 14px;font:inherit;font-size:15px;width:100%;height:auto;
  box-shadow:none;margin:0;-webkit-appearance:none;appearance:none;line-height:1.3;
}
.swq select{
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238A94A2' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;
}
.swq textarea{min-height:120px;resize:vertical}
.swq input:focus,.swq select:focus,.swq textarea:focus{
  outline:none;border-color:var(--swq-c);box-shadow:0 0 0 3px rgba(0,163,224,.18);
  background:var(--swq-soft);color:var(--swq-paper);
}
.swq input::placeholder,.swq textarea::placeholder{color:#5c6672}

.swq-hint{font-size:12px;color:var(--swq-muted);text-transform:none;letter-spacing:0}
.swq-err{color:var(--swq-m);font-size:13px;min-height:20px;margin-top:10px}

/* --- navigation --- */
.swq-nav{display:flex;gap:12px;margin-top:20px}
.swq-align-center .swq-nav{justify-content:center}
.swq button{
  font:inherit;font-weight:600;font-size:15px;border-radius:5px;padding:13px 26px;cursor:pointer;
  border:1px solid var(--swq-line);background:transparent;color:var(--swq-muted);
  text-transform:none;letter-spacing:0;height:auto;transition:opacity .2s ease;
}
.swq .swq-next,.swq .swq-send{background:var(--swq-paper);color:var(--swq-ink);border-color:var(--swq-paper)}
.swq button:hover{opacity:.88}
.swq button[disabled]{opacity:.5;cursor:default}

/* --- recapitulatif --- */
.swq-recap{background:var(--swq-soft);border:1px solid var(--swq-line);border-radius:6px;padding:22px;text-align:left}
.swq-recap dl{display:grid;grid-template-columns:auto 1fr;gap:10px 22px;margin:0;font-size:14px}
.swq-recap dt{color:var(--swq-muted);font-weight:400}
.swq-recap dd{margin:0;color:var(--swq-paper);font-weight:500}

.swq-hp{position:absolute!important;left:-9999px!important}

@media(max-width:680px){
  .swq{padding:28px 20px 30px;border-radius:6px}
  .swq .swq-title{font-size:29px}
  .swq-grid{grid-template-columns:1fr;gap:14px}
  .swq-nav{flex-direction:column-reverse}
  .swq button{width:100%}
}
@media(prefers-reduced-motion:reduce){.swq *{transition:none!important}}
