/* ============ PAYWALL ============ */
.pw{ max-width:600px; margin:min(5vh,50px) auto 0; }

.pw-head{ text-align:center; margin-bottom:1.6em; }
.pw-badge{
  display:inline-block; padding:.4em 1.1em; border-radius:var(--r-pill);
  background:var(--violet-soft); border:1px solid rgba(155,107,255,.45); color:#C6A9FF;
  font-family:var(--f-title); font-weight:800; font-size:var(--fs-xs);
  letter-spacing:.15em; text-transform:uppercase;
}
.pw-h{ font-size:clamp(1.7rem,5vw,2.4rem); font-weight:900; letter-spacing:-.03em; margin:.6em 0 .3em; }
.pw-lead{ color:var(--txt-2); font-size:var(--fs-lg); }
.pw-lead b{ color:var(--txt); }

/* --- rappel de tes carrières --- */
.pw-runs{ display:flex; gap:.5em; justify-content:center; flex-wrap:wrap; margin-bottom:1.8em; }
.pw-run{
  background:rgba(255,255,255,.05); border:1px solid var(--line); border-radius:var(--r-sm);
  padding:.6em .9em; min-width:96px; text-align:center;
}
.pw-run b{ display:block; font-family:var(--f-title); font-weight:800; font-size:var(--fs-sm); }
.pw-run span{ font-size:.7rem; color:var(--txt-3); letter-spacing:.08em; text-transform:uppercase; }

/* --- le bloc d'offre --- */
.pw-offer{
  border-radius:var(--r-xl); padding:clamp(24px,4.5vw,36px);
  background:linear-gradient(165deg,rgba(155,107,255,.15),rgba(20,17,32,.96) 60%);
  border:1px solid rgba(155,107,255,.42); box-shadow:0 28px 80px rgba(0,0,0,.55);
}
.pw-price{ text-align:center; margin-bottom:1.4em; }
.pw-price b{
  display:block; font-family:var(--f-title); font-weight:900; font-size:clamp(2.6rem,8vw,3.6rem);
  line-height:1; letter-spacing:-.03em;
  background:linear-gradient(140deg,#fff,var(--violet));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.pw-price span{ font-size:var(--fs-md); color:var(--txt-3); font-weight:600; }

.pw-list{ list-style:none; padding:0; margin:0 0 1.6em; display:flex; flex-direction:column; gap:1em; }
.pw-list li{ display:flex; gap:.9em; align-items:flex-start; text-align:left; }
.pw-ic{
  flex:none; display:grid; place-items:center; width:2.2em; height:2.2em; border-radius:12px;
  background:rgba(255,255,255,.07); border:1px solid var(--line); font-size:1.15rem;
}
.pw-list b{ display:block; font-family:var(--f-title); font-weight:800; font-size:var(--fs-md); }
.pw-list em{ display:block; font-style:normal; font-size:var(--fs-sm); color:var(--txt-2); margin-top:.15em; line-height:1.55; }

.pw-cta{ text-align:center; }
.pw-fine{ font-size:var(--fs-xs); color:var(--txt-3); margin-top:.9em; }
.pw-checkout{ margin-top:1.2em; }

/* --- portes de sortie --- */
.pw-foot{
  display:flex; gap:.7em; justify-content:center; align-items:center;
  margin-top:1.6em; font-size:var(--fs-sm); color:var(--txt-3);
}
.pw-foot button{
  background:none; border:none; color:var(--txt-3); cursor:pointer; font-size:inherit;
  text-decoration:underline; text-underline-offset:3px; padding:.2em;
}
.pw-foot button:hover{ color:var(--violet); }

.pw-key{ display:flex; gap:.5em; margin:1em auto 0; max-width:460px; }
.pw-key input{
  flex:1; padding:.75em 1em; border-radius:var(--r-pill); background:rgba(255,255,255,.06);
  border:1px solid var(--line-strong); color:var(--txt); font:inherit; font-size:var(--fs-sm);
}
.pw-key input:focus{ outline:none; border-color:var(--violet); }
.pw-msg{ font-size:var(--fs-sm); margin-top:.8em; min-height:1.4em; text-align:center; }
.pw-msg.ok{ color:var(--good); } .pw-msg.ko{ color:var(--bad); }
.pw-msg code{ background:rgba(255,255,255,.08); padding:.1em .4em; border-radius:5px; color:#C6A9FF; }
