/* bentops · Programme partenaire — landing + candidature (FR/EN)
   Réutilise les tokens de styles.css. Sobre, pro, cohérent avec la marque. */

.pwrap { max-width: var(--wrap); margin-inline: auto; padding-inline: var(--gutter); }

/* Nav */
.pnav { display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  max-width: var(--wrap); margin-inline: auto; padding: 1.1rem var(--gutter); }
.pnav__brand { display: flex; align-items: center; gap: 0.55rem; font-family: var(--sans);
  font-weight: 600; font-size: 1.1rem; color: var(--ink-strong); text-decoration: none; }
.pnav__brand svg { width: 22px; height: 22px; }
.pnav__right { display: flex; align-items: center; gap: 1.2rem; }
.pnav__link { font-family: var(--sans); font-size: 0.9rem; color: var(--ink-muted); text-decoration: none; }
.pnav__link:hover { color: var(--ink-strong); }
.pnav__lang { font-family: var(--sans); font-size: 0.82rem; font-weight: 600; letter-spacing: 0.04em;
  color: var(--ink-strong); text-decoration: none; border: 1px solid var(--hairline);
  padding: 0.32rem 0.6rem; border-radius: 999px; }
.pnav__lang:hover { border-color: var(--sauge); }

/* Hero */
.phero { position: relative; overflow: hidden; }
.phero__media { position: absolute; inset: 0; }
.phero__media img { width: 100%; height: 100%; object-fit: cover; }
.phero__veil { position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(20,26,22,0.55) 0%, rgba(20,26,22,0.78) 100%); }
.phero__inner { position: relative; max-width: var(--wrap); margin-inline: auto;
  padding: clamp(4rem, 12vw, 8rem) var(--gutter); }
.phero__box { max-width: 40rem; }
.phero__kicker { font-family: var(--sans); font-size: 0.78rem; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--sauge-light); margin: 0 0 1rem; }
.phero h1 { font-family: var(--serif); font-weight: 400; color: #fff;
  font-size: clamp(2.4rem, 6vw, 4rem); line-height: 1.05; }
.phero__lead { font-family: var(--sans); color: rgba(255,255,255,0.86); font-size: 1.15rem;
  line-height: 1.6; margin: 1.3rem 0 1.8rem; max-width: 34rem; }
.phero__cta { display: flex; flex-wrap: wrap; gap: 0.8rem; align-items: center; }
.phero__note { font-family: var(--sans); font-size: 0.85rem; color: rgba(255,255,255,0.7); }

/* Sections */
.psec { padding: clamp(3.5rem, 8vw, 6rem) 0; }
.psec--tint { background: var(--paper); }
.psec--dark { background: var(--nuit); }
.psec__head { max-width: 42rem; margin-bottom: 2.5rem; }
.peyebrow { font-family: var(--sans); font-size: 0.75rem; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--sauge-text); margin: 0 0 0.9rem; }
.psec--dark .peyebrow { color: var(--sauge-light); }
.ph2 { font-family: var(--serif); font-weight: 400; font-size: clamp(1.9rem, 4vw, 2.8rem);
  line-height: 1.1; color: var(--ink-strong); }
.psec--dark .ph2 { color: var(--cream); }
.plead { font-family: var(--sans); font-size: 1.08rem; line-height: 1.65; color: var(--ink-muted);
  margin-top: 1rem; }
.psec--dark .plead { color: var(--cream-muted); }

/* Grille avantages */
.pgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.4rem; }
.pcard { background: var(--surface); border: 1px solid var(--hairline); border-radius: 16px;
  padding: 1.6rem; }
.pcard .ic { font-size: 1.9rem; color: var(--sauge-text); line-height: 1; }
.pcard b { display: block; font-family: var(--serif); font-weight: 500; font-size: 1.14rem;
  color: var(--ink-strong); margin: 0.8rem 0 0.35rem; }
.pcard p { font-family: var(--sans); font-size: 0.95rem; line-height: 1.55; color: var(--ink-muted); margin: 0; }

/* Étapes */
.psteps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.2rem; counter-reset: step; }
.pstep { position: relative; }
.pstep__n { font-family: var(--serif); font-size: 2rem; color: var(--sauge); line-height: 1; }
.pstep b { display: block; font-family: var(--sans); font-weight: 600; font-size: 1rem;
  color: var(--ink-strong); margin: 0.5rem 0 0.3rem; }
.psec--dark .pstep b { color: var(--cream); }
.pstep p { font-family: var(--sans); font-size: 0.9rem; line-height: 1.5; color: var(--ink-muted); margin: 0; }
.psec--dark .pstep p { color: var(--cream-muted); }

/* Transparence */
.ptrans { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem 2.5rem; }
.ptrans li { display: flex; gap: 0.7rem; font-family: var(--sans); font-size: 0.98rem;
  line-height: 1.55; color: var(--ink); list-style: none; }
.ptrans .ic { color: var(--sauge-text); font-size: 1.15rem; flex: none; margin-top: 0.15rem; }
.ptrans b { color: var(--ink-strong); font-weight: 600; }

/* Bandeau commission */
.pcommission { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.6rem 1rem;
  background: var(--surface); border: 1px solid var(--hairline); border-radius: 18px;
  padding: 1.6rem 1.8rem; margin-top: 1.6rem; }
.pcommission__big { font-family: var(--serif); font-size: clamp(2.6rem, 6vw, 3.6rem);
  color: var(--sauge-text); line-height: 1; }
.pcommission__txt { font-family: var(--sans); color: var(--ink-muted); font-size: 1rem; }

/* Formulaire */
.pform { max-width: 44rem; display: grid; gap: 1rem; margin-top: 1.8rem; }
.prow { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.pfield { display: grid; gap: 0.4rem; }
.plabel { font-family: var(--sans); font-size: 0.9rem; color: var(--ink-strong); font-weight: 500; }
.phint { color: var(--ink-subtle); font-weight: 400; }
.pinput, .pselect, .ptext { width: 100%; font-family: var(--sans); font-size: 0.98rem;
  color: var(--ink-strong); background: var(--surface); border: 1px solid var(--hairline);
  border-radius: 10px; padding: 0.72rem 0.9rem; }
.pinput:focus, .pselect:focus, .ptext:focus { outline: none; border-color: var(--sauge); }
.ptext { resize: vertical; min-height: 6rem; }
.pchips { display: flex; flex-wrap: wrap; gap: 0.55rem; }
.pchip { display: inline-flex; align-items: center; gap: 0.4rem; font-family: var(--sans);
  font-size: 0.9rem; color: var(--ink); cursor: pointer; padding: 0.34rem 0.8rem;
  border: 1px solid var(--hairline); border-radius: 999px; background: var(--surface); }
.pchip input { accent-color: var(--sauge); }
.psubmit { justify-self: start; margin-top: 0.4rem; }
.pconsent { font-family: var(--sans); font-size: 0.82rem; color: var(--ink-subtle); margin: 0.2rem 0 0; max-width: 44rem; }
.pmsg { max-width: 44rem; font-family: var(--sans); font-size: 0.98rem; line-height: 1.55;
  border-radius: 12px; padding: 1rem 1.2rem; margin-bottom: 1.4rem;
  background: color-mix(in srgb, var(--sauge) 16%, var(--surface)); border: 1px solid var(--sauge); color: var(--sauge-text); }
.pmsg--erreur { background: rgba(200,112,63,0.10); border-color: var(--flow-warm); color: var(--flow); }
.pmsg strong { color: var(--ink-strong); }

/* Pied */
.pfoot { padding: 2rem var(--gutter); text-align: center; font-family: var(--sans);
  font-size: 0.85rem; color: var(--ink-subtle); }
.pfoot a { color: var(--sauge-text); text-decoration: none; }

@media (max-width: 900px) {
  .pgrid { grid-template-columns: 1fr; }
  .psteps { grid-template-columns: 1fr 1fr; }
  .ptrans { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .prow { grid-template-columns: 1fr; }
  .psteps { grid-template-columns: 1fr; }
}
