/* Pass Pro 3D — page de vente de la licence */
.vp-pass{--pp-blue:#29669d;--pp-deep:#1f4f7d;--pp-ink:#13283d;--pp-gold:#b9a16b;--pp-gold-2:#e8dcbc;--pp-soft:#eef3f8;color:#33465a;overflow:hidden}
.vp-pass section{padding-block:clamp(48px,7vw,96px)}
.vp-pass h1,.vp-pass h2,.vp-pass h3{color:var(--pp-ink)}
.pp-kicker{font:600 .74rem/1.2 Jost,system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--pp-gold);margin:0 0 14px}
.pp-lead{font-size:1.08rem;line-height:1.65;max-width:56ch}
.pp-sec-head{text-align:center;max-width:640px;margin:0 auto clamp(28px,4vw,48px)}
.pp-sec-head h2{font-size:clamp(1.8rem,3.6vw,2.6rem);margin:0}
.pp-small{font-size:.88rem;opacity:.8}

.pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 26px;border:0;border-radius:999px;background:var(--pp-deep);color:#fff;font:600 1rem/1 Jost,system-ui,sans-serif;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:transform .15s,background .2s,box-shadow .2s;box-shadow:0 12px 26px -14px rgba(31,79,125,.8)}
.pp-btn:hover{background:var(--pp-blue);color:#fff;transform:translateY(-1px)}
.pp-btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}
.pp-btn-ghost{background:#fff;color:var(--pp-deep);box-shadow:inset 0 0 0 1.5px #c9d6e3}
.pp-btn-ghost:hover{background:var(--pp-soft);color:var(--pp-deep)}
.pp-btn-wa{background:#1fa855;box-shadow:0 12px 26px -14px rgba(31,168,85,.8)}.pp-btn-wa:hover{background:#178a45}
.pp-btn-block{width:100%}
.pp-btn.is-busy{pointer-events:none;opacity:.75}
.pp-btn.is-busy:after{content:"";width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pp-spin .7s linear infinite}
@keyframes pp-spin{to{transform:rotate(360deg)}}
.pp-link{color:var(--pp-deep);font-weight:600;text-underline-offset:4px}
.pp-linkbtn{background:none;border:0;padding:0;color:var(--pp-deep);text-decoration:underline;cursor:pointer;font:inherit}

/* Hero */
.pp-hero{background:radial-gradient(1200px 500px at 85% -10%,rgba(41,102,157,.18),transparent 60%),linear-gradient(180deg,#f7f9fb,#eef3f8)}
.pp-hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,5vw,72px);align-items:center}
.pp-title{font-size:clamp(2.3rem,5.4vw,4.1rem);line-height:1.05;margin:0 0 20px;letter-spacing:-.02em}
.pp-title em{font-style:italic;color:var(--pp-deep)}
.pp-hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin:28px 0 22px}
.pp-trust{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:0;font-size:.9rem}
.pp-trust li{display:inline-flex;align-items:center;gap:7px}.pp-trust svg{color:var(--pp-blue)}
.pp-active-pill{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border-radius:999px;background:#e7f5ec;color:#1f6b3d;font-weight:600}

/* Étiquette tissée (carte licence) */
.pp-hero-card{position:relative;perspective:1200px;display:flex;justify-content:center}
.pp-label{position:relative;width:min(420px,100%);aspect-ratio:1.62;border-radius:18px;padding:22px 24px;color:var(--pp-gold-2);display:flex;flex-direction:column;justify-content:space-between;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 2px,transparent 2px 4px),repeating-linear-gradient(0deg,rgba(0,0,0,.08) 0 1px,transparent 1px 3px),linear-gradient(140deg,#2a6aa3 0%,#1f4f7d 45%,#163a5d 100%);
  box-shadow:0 40px 60px -30px rgba(19,40,61,.6),0 0 0 1px rgba(255,255,255,.06) inset;transform:rotate(-4deg);animation:pp-float 6s ease-in-out infinite}
.pp-label:before{content:"";position:absolute;inset:9px;border:1.5px dashed rgba(232,220,188,.55);border-radius:12px;pointer-events:none}
.pp-label:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.16) 45%,transparent 60%);background-size:250% 100%;animation:pp-shine 5s ease-in-out infinite;pointer-events:none}
@keyframes pp-float{50%{transform:rotate(-2deg) translateY(-8px)}}
@keyframes pp-shine{0%,40%{background-position:120% 0}100%{background-position:-120% 0}}
.pp-label-top,.pp-label-bot{display:flex;justify-content:space-between;align-items:center;font:600 .7rem/1 Jost,sans-serif;letter-spacing:.22em;text-transform:uppercase}
.pp-label-top span:first-child{font-size:.82rem;letter-spacing:.32em;color:#fff}
.pp-label-mid b{display:block;font:500 clamp(1.5rem,3vw,2rem)/1 Cardo,Georgia,serif;color:#fff;letter-spacing:.04em}
.pp-label-mid small{font-size:.8rem;letter-spacing:.08em;opacity:.85}
.pp-code{font:700 clamp(1rem,2.3vw,1.3rem)/1 "JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;letter-spacing:.14em;color:#fff}
.pp-price{font-size:1rem!important;letter-spacing:.06em!important;color:var(--pp-gold)!important;background:rgba(0,0,0,.2);padding:6px 10px;border-radius:999px}
.pp-stitch{position:absolute;inset:auto 12% -18px;height:30px;background:radial-gradient(closest-side,rgba(19,40,61,.25),transparent);filter:blur(6px);z-index:-1}

/* Avant / après */
.pp-ba{position:relative;max-width:560px;margin:0 auto;aspect-ratio:1;border-radius:24px;overflow:hidden;box-shadow:0 30px 60px -32px rgba(19,40,61,.55);user-select:none;touch-action:pan-y}
.pp-ba-img,.pp-ba-img svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.pp-ba-before{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.pp-ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 0 1px rgba(19,40,61,.15);pointer-events:none}
.pp-ba-handle span{position:absolute;top:50%;left:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#fff;box-shadow:0 6px 18px rgba(19,40,61,.3)}
.pp-ba-handle span:before{content:"‹ ›";position:absolute;inset:0;display:grid;place-items:center;font:700 18px/1 Jost,sans-serif;color:var(--pp-deep);letter-spacing:4px}
.pp-ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.pp-ba-tag{position:absolute;top:16px;padding:6px 12px;border-radius:999px;font:600 .74rem/1 Jost,sans-serif;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}
.pp-ba-tag-l{left:16px;background:rgba(255,255,255,.9);color:#5d6874}
.pp-ba-tag-r{right:16px;background:var(--pp-deep);color:#fff}

/* Avantages / étapes */
.pp-benefits{padding-top:0!important}
.pp-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,28px)}
.pp-benefits article,.pp-steplist li{background:#fff;border:1px solid #e3e9ef;border-radius:20px;padding:26px 24px}
.pp-benefits h3,.pp-steplist h3{font-size:1.3rem;margin:14px 0 8px}
.pp-benefits p,.pp-steplist p{margin:0;line-height:1.6;font-size:.96rem}
.pp-ico{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--pp-soft);color:var(--pp-deep)}
.pp-steps{background:var(--pp-soft)}
.pp-steplist{list-style:none;padding:0;margin:0;counter-reset:s}
.pp-steplist li{position:relative}
.pp-steplist b{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--pp-deep);color:#fff;font:600 1rem/1 Jost,sans-serif}

/* Achat */
.pp-buy{background:linear-gradient(180deg,#1f4f7d,#163a5d);color:#d9e4ef}
.pp-buy-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,72px);align-items:start}
.pp-offer h2{color:#fff;font-size:clamp(2rem,4vw,2.8rem);margin:0 0 6px}
.pp-big{font:500 clamp(2.6rem,6vw,3.6rem)/1 Cardo,Georgia,serif;color:var(--pp-gold-2);margin:0 0 24px}
.pp-big small{font:400 .95rem Jost,sans-serif;color:#b7c8d9;margin-left:6px}
.pp-checks{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:12px}
.pp-checks li{position:relative;padding-left:30px}
.pp-checks li:before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--pp-gold) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 12.5l4 4 8-9' fill='none' stroke='%2313283d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/12px no-repeat}
.pp-offer .pp-small{color:#b7c8d9}
.pp-form{background:#fff;color:#33465a;border-radius:24px;padding:clamp(22px,3vw,34px);box-shadow:0 40px 70px -40px rgba(0,0,0,.6)}
.pp-form h3{font-size:1.6rem;margin:0 0 4px}
.pp-form-sub{margin:0 0 20px;font-size:.92rem}
.pp-form label{display:block;margin-bottom:14px}
.pp-form label>span:first-child{display:block;font-size:.84rem;font-weight:600;color:var(--pp-ink);margin-bottom:6px}
.vp-pass input[type=text],.vp-pass input:not([type]),.vp-pass input[type=email],.vp-pass input[type=tel]{width:100%;height:52px;border:1.5px solid #d3dde7;border-radius:14px;padding:0 15px;font:400 1rem Jost,system-ui,sans-serif;color:var(--pp-ink);background:#fff;transition:border-color .2s,box-shadow .2s}
.vp-pass input:focus{outline:0;border-color:var(--pp-blue);box-shadow:0 0 0 4px rgba(41,102,157,.14)}
.pp-tel{display:flex;align-items:stretch}
.pp-tel em{display:grid;place-items:center;padding:0 14px;border:1.5px solid #d3dde7;border-right:0;border-radius:14px 0 0 14px;background:var(--pp-soft);font-style:normal;font-weight:600;color:var(--pp-deep)}
.pp-tel input{border-radius:0 14px 14px 0!important}
.pp-form label.pp-terms{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;line-height:1.5;margin:6px 0 18px}
.pp-terms input{width:18px;height:18px;margin-top:2px;accent-color:var(--pp-deep);flex:none}
.pp-terms span{font-weight:400!important;color:inherit!important;margin:0!important;display:inline!important}
.pp-msg{min-height:1.2em;margin:12px 0 0;font-size:.92rem;font-weight:500}
.pp-msg.is-err{color:#b4442f}.pp-msg.is-ok{color:#1f6b3d}
.pp-demo{margin:10px 0 0;padding:10px 12px;border-radius:10px;background:#fff7e0;color:#7a5b00;font-size:.84rem}
.pp-cards{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;justify-content:center}
.pp-cards span{font:700 .7rem/1 Jost,sans-serif;letter-spacing:.08em;padding:7px 10px;border:1px solid #dfe6ee;border-radius:7px;color:#6c7a88}

/* Code / récupération */
.pp-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,28px)}
.pp-panel{background:#fff;border:1px solid #e3e9ef;border-radius:20px;padding:26px 24px}
.pp-panel h3{font-size:1.4rem;margin:0 0 6px}.pp-panel>p{margin:0 0 16px}
.pp-inline{display:flex;gap:10px}
.pp-inline input{flex:1;min-width:0}
.pp-panel [name=code]{font-family:"JetBrains Mono",ui-monospace,Menlo,monospace!important;letter-spacing:.08em;text-transform:uppercase}

/* FAQ */
.pp-faq{background:var(--pp-soft)}
.pp-faq-in{max-width:820px}
.pp-faq details{background:#fff;border-radius:16px;margin-bottom:10px;border:1px solid #e3e9ef}
.pp-faq summary{list-style:none;cursor:pointer;padding:18px 52px 18px 22px;position:relative;font-weight:600;color:var(--pp-ink)}
.pp-faq summary::-webkit-details-marker{display:none}
.pp-faq summary:after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:1.4rem;color:var(--pp-blue);transition:transform .2s}
.pp-faq details[open] summary:after{transform:translateY(-50%) rotate(45deg)}
.pp-faq details p{margin:0;padding:0 22px 20px;line-height:1.65}
.pp-help{text-align:center;margin-top:26px}

/* Résultat du paiement */
.pp-result{background:linear-gradient(180deg,#f0f7f2,#fff)}
.pp-fail{background:linear-gradient(180deg,#fbf0ee,#fff)}
.pp-result-in{max-width:760px;text-align:center}
.pp-result-head h1{font-size:clamp(2rem,4.4vw,3rem);margin:0 0 12px}
.pp-result-head .pp-lead{margin-inline:auto}
.pp-seal{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#1f8a4c;color:#fff;margin-bottom:16px;box-shadow:0 12px 30px -12px rgba(31,138,76,.8)}
.pp-fail .pp-seal{background:#b4442f;box-shadow:0 12px 30px -12px rgba(180,68,47,.7)}
.pp-label-lg{margin:30px auto 24px;transform:none;animation:none;aspect-ratio:auto;min-height:190px;gap:22px;text-align:left}
.pp-label-lg .pp-code{font-size:clamp(1.15rem,4vw,1.8rem);text-align:center}
.pp-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.pp-sent{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:8px;font-size:.94rem}
.pp-sent li{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.pp-result+.pp-hero{padding-top:clamp(40px,5vw,64px)}
.vp-pass-notice{padding-top:24px}.vp-pass-notice p{background:#fff4e5;border:1px solid #f0d199;padding:14px 18px;border-radius:12px;color:#7a5200}

@media (max-width:960px){
  .pp-hero-in,.pp-buy-in{grid-template-columns:1fr}
  .pp-hero-card{order:-1;margin-bottom:8px}
  .pp-label{width:min(360px,92%)}
  .pp-grid3{grid-template-columns:1fr}
  .pp-two{grid-template-columns:1fr}
}
@media (max-width:520px){
  .vp-pass section{padding-block:44px}
  .pp-hero{padding-top:28px!important}
  .pp-hero-cta .pp-btn{width:100%}
  .pp-hero-cta{justify-content:center}
  .pp-inline{flex-direction:column}
  .pp-inline input{flex:none;height:52px}
  .pp-inline .pp-btn{width:100%}
  .pp-actions .pp-btn{width:100%}
  .pp-label{padding:18px 18px}
  .pp-ba{border-radius:18px}
}
@media (prefers-reduced-motion:reduce){.pp-label,.pp-label:after{animation:none}}
