/* ===== IPTV PORN — feuille unique. Aucune webfont : vitesse mobile prioritaire. ===== */
:root{
 --bg:#0B0710; --bg2:#120B19; --panel:#171021; --panel2:#1E1529;
 --v:#C837E8; --v2:#A21ECB; --m:#FF4FA3; --m2:#E1247F;
 --grad:linear-gradient(118deg,#C837E8 0%,#FF4FA3 100%);
 --txt:#F4EDF8; --mut:#B9A8C6; --dim:#8A7A97; --ink:#fff;
 --line:#271B33; --line2:#3A2A4A;
 --glow-v:0 14px 40px rgba(200,55,232,.22); --glow-m:0 14px 40px rgba(255,79,163,.20);
 --r:14px; --r-lg:22px; --acc:#FF4FA3;
 --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--txt);font-family:var(--sans);
 font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{line-height:1.12;margin:0;text-wrap:balance;letter-spacing:-.02em}
h1{font-size:clamp(30px,6.2vw,52px);font-weight:800}
h2{font-size:clamp(23px,3.6vw,34px);font-weight:800}
h3{font-size:18px;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 14px}
:focus-visible{outline:2px solid var(--m);outline-offset:3px;border-radius:4px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}}

/* ---------- structure ---------- */
.px-wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}
.px-sec{padding:72px 0}
.px-sec.alt{background:var(--bg2)}
.px-head{margin-bottom:34px;max-width:760px}
.px-eyebrow{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.16em;
 text-transform:uppercase;color:var(--m);margin-bottom:12px}
.px-head p{color:var(--mut);margin:14px 0 0;font-size:16.5px}
.px-lead{font-size:18px;color:var(--mut);max-width:70ch}

/* ---------- porte 18+ ---------- */
#gate{position:fixed;inset:0;z-index:999;background:rgba(6,4,9,.96);display:flex;
 align-items:center;justify-content:center;padding:24px}
#gate.off{display:none}
.gate-c{max-width:460px;text-align:center;background:var(--panel);border:1px solid var(--line2);
 border-radius:var(--r-lg);padding:36px 30px}
.b18{display:inline-block;background:var(--grad);color:#fff;font-weight:800;font-size:13px;
 padding:5px 13px;border-radius:999px;letter-spacing:.06em;margin-bottom:16px}
.gate-c h2{font-size:22px;margin-bottom:12px}
.gate-c p{color:var(--mut);font-size:15px}
.gate-b{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}

/* ---------- boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
 padding:13px 24px;border-radius:999px;font-weight:700;font-size:15px;border:1px solid transparent;
 cursor:pointer;transition:transform .15s,box-shadow .15s}
.btn-p{background:var(--grad);color:#fff;box-shadow:var(--glow-m)}
.btn-p:hover{transform:translateY(-2px)}
.btn-g{background:transparent;color:var(--txt);border-color:var(--line2)}
.btn-g:hover{border-color:var(--m)}

/* ---------- topbar + nav ---------- */
.px-top{background:var(--panel2);border-bottom:1px solid var(--line);
 font-size:12.5px;color:var(--mut);text-align:center;padding:8px 16px}
.px-top b{color:var(--txt)}
.px-nav{position:sticky;top:0;z-index:100;background:rgba(11,7,16,.92);
 backdrop-filter:blur(12px);border-bottom:1px solid var(--line);
 display:flex;align-items:center;gap:18px;padding:12px 20px;max-width:1180px;margin:0 auto}
.px-logo{flex:none}
.px-logo img{height:44px;width:auto}
.px-18{font-size:10.5px;font-weight:800;color:var(--m);border:1px solid var(--m);
 border-radius:999px;padding:2px 8px;letter-spacing:.05em}
.px-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0 0 0 auto;padding:0}
.px-links>li>a{display:block;padding:9px 13px;border-radius:9px;font-size:14.5px;
 font-weight:600;color:var(--mut);white-space:nowrap}
.px-links>li>a:hover{color:var(--txt);background:var(--panel)}
.px-drop-w{position:relative}
.px-drop{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(-6px);
 background:var(--panel);border:1px solid var(--line2);border-radius:var(--r-lg);
 box-shadow:0 22px 60px rgba(0,0,0,.6);padding:14px;opacity:0;visibility:hidden;
 transition:.16s;display:grid;grid-template-columns:repeat(4,1fr);gap:4px 14px;min-width:760px}
.px-drop-w:hover .px-drop,.px-drop-w:focus-within .px-drop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.px-dcol{display:flex;flex-direction:column;min-width:0}
.px-dh{font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;
 color:var(--m);padding:8px 10px 6px}
.px-di{display:flex;align-items:center;justify-content:space-between;gap:12px;
 padding:9px 10px;border-radius:9px}
.px-di:hover{background:var(--panel2)}
.px-di b{display:block;font-size:14px;font-weight:700}
.px-di span{display:block;font-size:11.5px;color:var(--dim)}
.px-dp{font-weight:800;font-size:14.5px;color:var(--m);white-space:nowrap}
.px-dall{grid-column:1/-1;text-align:center;padding:11px;margin-top:6px;
 border-top:1px solid var(--line);font-size:13.5px;font-weight:700;color:var(--m)}
.px-burger{display:none;flex-direction:column;gap:5px;padding:8px;cursor:pointer;margin-left:auto}
.px-burger span{width:22px;height:2px;background:var(--txt);border-radius:2px}
.px-navt{display:none}

@media(max-width:1080px){
 .px-links>li>a{padding:9px 9px;font-size:13.5px}
 .px-drop{min-width:0;grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
 .px-burger{display:flex}
 .px-links{position:fixed;inset:0 0 0 auto;width:min(86vw,360px);background:var(--bg2);
  border-left:1px solid var(--line2);flex-direction:column;align-items:stretch;gap:2px;
  padding:78px 18px 32px;margin:0;transform:translateX(100%);transition:transform .22s;
  overflow-y:auto;z-index:120}
 .px-navt:checked~.px-links{transform:translateX(0)}
 .px-drop{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;
  border:none;background:transparent;min-width:0;grid-template-columns:1fr;padding:0 0 8px}
 .px-links>li>a{padding:13px 12px;font-size:16px}
}

/* ---------- hero ---------- */
.px-hero{position:relative;padding:64px 0 56px;overflow:hidden}
.px-hero::before{content:"";position:absolute;inset:-30% -10% auto -10%;height:70%;
 background:radial-gradient(60% 60% at 30% 40%,rgba(200,55,232,.20),transparent 70%);
 pointer-events:none}
.px-hero-in{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.px-pill{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;
 color:var(--mut);border:1px solid var(--line2);border-radius:999px;padding:6px 14px;margin-bottom:20px}
.px-pill b{color:var(--m)}
.px-hero h1{margin-bottom:18px}
.px-hero h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;
 background-clip:text;color:transparent}
.px-cta{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 14px}
.px-note{font-size:13.5px;color:var(--dim)}
.px-shot{border:1px solid var(--line2);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--glow-v)}
@media(max-width:900px){.px-hero-in{grid-template-columns:1fr;gap:30px}}

/* ---------- chiffres ---------- */
.px-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:0 0 8px}
.px-stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.px-stat b{display:block;font-size:30px;font-weight:800;letter-spacing:-.03em;
 background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
 font-variant-numeric:tabular-nums}
.px-stat i{display:block;font-style:normal;font-size:12.5px;color:var(--mut);margin-top:6px}
@media(max-width:760px){.px-stats{grid-template-columns:repeat(2,1fr)}}

/* ---------- packs ---------- */
.px-tabs{display:inline-flex;gap:4px;background:var(--panel);border:1px solid var(--line2);
 border-radius:999px;padding:4px;margin-bottom:28px}
.px-tabs label{padding:9px 20px;border-radius:999px;font-size:14px;font-weight:700;
 color:var(--mut);cursor:pointer}
.px-packs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.px-pack{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);
 padding:24px 22px;display:flex;flex-direction:column;position:relative}
.px-pack.best{border-color:var(--m);box-shadow:var(--glow-m)}
.px-tag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--grad);
 color:#fff;font-size:11px;font-weight:800;letter-spacing:.05em;padding:4px 12px;border-radius:999px;white-space:nowrap}
.px-pack img{border-radius:var(--r);margin-bottom:16px}
.px-pn{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--m)}
.px-pe{font-size:13.5px;color:var(--dim);margin:4px 0 12px}
.px-pp{display:flex;align-items:baseline;gap:4px;font-weight:800;letter-spacing:-.03em}
.px-pp b{font-size:38px}
.px-pp i{font-style:normal;font-size:19px;color:var(--mut)}
.px-pm{font-size:13px;color:var(--dim);margin-top:2px}
.px-eco{display:inline-block;font-size:11.5px;font-weight:700;color:#7BE0B0;
 background:rgba(123,224,176,.10);border:1px solid rgba(123,224,176,.28);
 border-radius:999px;padding:3px 10px;margin-top:10px}
.px-pl{list-style:none;margin:16px 0;padding:14px 0 0;border-top:1px solid var(--line);
 font-size:13.8px;color:var(--mut);display:flex;flex-direction:column;gap:7px}
.px-pl li{padding-left:20px;position:relative}
.px-pl li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;
 border-radius:50%;background:var(--grad)}
.px-pack .btn{margin-top:auto;width:100%}
.px-pay{margin-top:12px;opacity:.75}
@media(max-width:1000px){.px-packs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.px-packs{grid-template-columns:1fr}}

/* ---------- liste des chaines : badges texte, zero image ---------- */
.px-ch{display:flex;flex-wrap:wrap;gap:10px}
.px-chi{display:inline-flex;align-items:center;gap:8px;background:var(--panel);
 border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-size:14.5px;font-weight:600}
.px-chi.top{border-color:var(--v);box-shadow:0 0 0 1px rgba(200,55,232,.18)}
.px-chi.hot{border-color:var(--m);box-shadow:0 0 0 1px rgba(255,79,163,.18)}
.px-chb{font-size:11px;font-weight:800;letter-spacing:.04em;padding:2px 7px;border-radius:999px}
.px-chi.top .px-chb{background:rgba(200,55,232,.16);color:#E9A6F6}
.px-chi.hot .px-chb{background:rgba(255,79,163,.16);color:#FFA8CE}

/* ---------- bande du catalogue ---------- */
.px-bande{display:flex;gap:14px;overflow-x:auto;padding:4px 20px 18px;
 scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.px-bande::-webkit-scrollbar{height:6px}
.px-bande::-webkit-scrollbar-thumb{background:var(--line2);border-radius:99px}
.px-bande img{flex:none;width:280px;border-radius:var(--r);border:1px solid var(--line);scroll-snap-align:start}

/* ---------- blocs ---------- */
.px-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.px-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.px-b{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:24px 22px}
.px-b h3{margin-bottom:9px}
.px-b p{color:var(--mut);font-size:14.8px;margin:0}
@media(max-width:960px){.px-g3,.px-g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.px-g3,.px-g4{grid-template-columns:1fr}}

/* ---------- etapes ---------- */
.px-tl{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.px-tli{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:24px 22px}
.px-tln{width:34px;height:34px;border-radius:10px;background:var(--grad);color:#fff;
 display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;margin-bottom:14px}
.px-tli p{color:var(--mut);font-size:14.8px;margin:9px 0 0}
@media(max-width:820px){.px-tl{grid-template-columns:1fr}}

/* ---------- applications ---------- */
.px-apps{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.px-app{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
 padding:16px;text-align:center;font-size:12.5px;color:var(--mut)}
.px-app img{margin:0 auto 8px;width:56px;height:56px;border-radius:12px}
@media(max-width:860px){.px-apps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.px-apps{grid-template-columns:repeat(2,1fr)}}

/* ---------- faq ---------- */
.px-faq{max-width:860px;display:flex;flex-direction:column;gap:10px}
.px-q{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.px-q summary{padding:17px 20px;font-weight:700;font-size:15.5px;cursor:pointer;list-style:none}
.px-q summary::-webkit-details-marker{display:none}
.px-q summary::after{content:"+";float:right;color:var(--m);font-weight:800;font-size:19px;line-height:1}
.px-q[open] summary::after{content:"\2212"}
.px-q .px-a{padding:0 20px 18px;color:var(--mut);font-size:15px}

/* ---------- cta + contact ---------- */
.px-band{background:var(--grad);border-radius:var(--r-lg);padding:44px 32px;text-align:center}
.px-band h2{color:#fff}
.px-band p{color:rgba(255,255,255,.85);max-width:560px;margin:12px auto 24px}
.px-band .btn-g{border-color:rgba(255,255,255,.5);color:#fff}
.px-ct{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.px-ctc{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:26px 24px}
.px-ctc p{color:var(--mut);font-size:14.8px}
.px-ctv{font-weight:800;color:var(--m)}
@media(max-width:760px){.px-ct{grid-template-columns:1fr}}

/* ---------- footer ---------- */
.px-foot{background:var(--bg2);border-top:1px solid var(--line);margin-top:8px}
.px-fcols{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:28px;padding:46px 0 30px}
.px-fcol h3{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--m);margin-bottom:14px}
.px-fcol a{display:block;color:var(--mut);font-size:14.5px;padding:5px 0}
.px-fcol a:hover{color:var(--txt)}
.px-fcol p{color:var(--dim);font-size:14px}
.px-fbot{border-top:1px solid var(--line);padding:18px 0;text-align:center;
 font-size:13px;color:var(--dim)}
@media(max-width:860px){.px-fcols{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.px-fcols{grid-template-columns:1fr}}

/* ---------- fil d'ariane + page ---------- */
.px-bc{font-size:13.5px;color:var(--dim);padding:22px 0 0}
.px-bc a{color:var(--mut)}
.px-ph{padding:26px 0 44px;border-bottom:1px solid var(--line);margin-bottom:8px}
.px-ph .px-eyebrow{margin-bottom:14px}
.px-sub{color:var(--mut);font-size:17.5px;max-width:72ch;margin-top:16px}

/* ===== Cartes par duree, avec selecteur d'ecrans en CSS pur (zero JS) ===== */
.px-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:start}
.px-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);
 overflow:hidden;position:relative;display:flex;flex-direction:column}
.px-card.pop{border-color:var(--m);box-shadow:var(--glow-m)}
.px-ch2{background:linear-gradient(160deg,#1E1529,#150E1F);padding:22px 20px 20px;text-align:center;
 border-bottom:1px solid var(--line)}
.px-card.pop .px-ch2{background:var(--grad)}
.px-cd{font-size:25px;font-weight:800;letter-spacing:-.02em}
.px-cb{display:inline-block;margin-top:9px;font-size:12px;font-weight:700;
 background:rgba(255,255,255,.12);border-radius:999px;padding:4px 13px}
.px-card.pop .px-cb{background:rgba(0,0,0,.22)}
.px-pop{position:absolute;top:13px;right:-32px;transform:rotate(45deg);background:#12D18E;color:#04150E;
 font-size:10.5px;font-weight:800;letter-spacing:.09em;padding:4px 40px;z-index:2}
.px-body{padding:20px;display:flex;flex-direction:column;flex:1}
.px-lbl{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
 color:var(--dim);text-align:center;margin-bottom:12px}
.px-pick{display:flex;flex-direction:column;gap:8px}
.px-pick label{display:flex;justify-content:space-between;align-items:center;gap:10px;
 border:1.5px solid var(--line);border-radius:11px;padding:11px 14px;font-size:14.5px;
 font-weight:600;color:var(--mut);cursor:pointer;transition:border-color .14s,color .14s}
.px-pick label b{font-weight:800;font-size:15px;color:var(--txt)}
.px-pick label:hover{border-color:var(--line2)}
.px-r{position:absolute;opacity:0;pointer-events:none}
.px-r:focus-visible+.px-pick label{outline:2px solid var(--m);outline-offset:2px}
.px-big{display:none;text-align:center;padding:22px 0 4px}
.px-old{font-size:19px;color:var(--dim);text-decoration:line-through;margin-right:9px;vertical-align:middle}
.px-new{font-size:44px;font-weight:800;letter-spacing:-.035em;vertical-align:middle;
 background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.px-per{display:block;font-size:13px;color:var(--dim);margin-top:5px}
.px-go{display:none}
.px-feat{list-style:none;margin:18px 0;padding:16px 0 0;border-top:1px solid var(--line);
 display:flex;flex-direction:column;gap:9px;font-size:14px;color:var(--mut);flex:1}
.px-feat li{padding-left:24px;position:relative}
.px-feat li::before{content:"";position:absolute;left:0;top:6px;width:13px;height:7px;
 border-left:2px solid var(--m);border-bottom:2px solid var(--m);transform:rotate(-45deg)}
.px-guar{text-align:center;font-size:12px;color:var(--dim);margin-top:12px}
/* le radio coche pilote le prix ET le bouton correspondants */
.px-e1:checked~.px-pick label[for$="-e1"],.px-e2:checked~.px-pick label[for$="-e2"],
.px-e3:checked~.px-pick label[for$="-e3"],.px-e4:checked~.px-pick label[for$="-e4"]{
 border-color:var(--m);color:var(--txt);background:rgba(255,79,163,.07)}
.px-e1:checked~.px-big.b1,.px-e2:checked~.px-big.b2,
.px-e3:checked~.px-big.b3,.px-e4:checked~.px-big.b4{display:block}
.px-e1:checked~.px-go.g1,.px-e2:checked~.px-go.g2,
.px-e3:checked~.px-go.g3,.px-e4:checked~.px-go.g4{display:flex}
@media(max-width:1040px){.px-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.px-grid{grid-template-columns:1fr}}

/* ===== Tableau comparatif ===== */
.px-tw{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel)}
.px-tbl{width:100%;border-collapse:collapse;font-size:14.5px;min-width:620px}
.px-tbl th{text-align:left;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
 color:var(--dim);font-weight:700;padding:15px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
.px-tbl td{padding:14px 16px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.px-tbl tr:last-child td{border-bottom:0}
.px-tbl tr:hover td{background:var(--panel2)}
.px-tbl b{color:var(--txt);font-weight:800}
.px-tbl .px-pmm{color:var(--dim);font-size:13px}
.px-tbl a{color:var(--m);font-weight:700}
.px-tbl .best td{background:rgba(255,79,163,.06)}

/* ===== Rendu differe des sections hors ecran : gain LCP mobile ===== */
.px-sec{content-visibility:auto;contain-intrinsic-size:auto 620px}
.px-hero,.px-ph{content-visibility:visible}

/* ===== Sommaire ancre ===== */
.px-toc{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);
 padding:22px 24px;margin:26px 0 0}
.px-toc h2{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--m);margin-bottom:14px}
.px-toc ol{list-style:none;margin:0;padding:0;columns:2;column-gap:28px}
.px-toc li{break-inside:avoid;margin-bottom:9px;counter-increment:toc}
.px-toc li::before{content:counter(toc,decimal-leading-zero);color:var(--dim);
 font-size:11.5px;font-weight:700;margin-right:9px;font-variant-numeric:tabular-nums}
.px-toc a{color:var(--mut);font-size:14.5px;line-height:1.45}
.px-toc a:hover{color:var(--m)}
.px-toc ol{counter-reset:toc}
@media(max-width:700px){.px-toc ol{columns:1}}
.px-sec[id]{scroll-margin-top:86px}

/* ===== Avis clients ===== */
.px-avis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.px-av{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
 padding:22px 20px;display:flex;flex-direction:column;gap:12px}
.px-av-h{display:flex;align-items:center;gap:12px}
.px-av-i{width:40px;height:40px;border-radius:50%;background:var(--grad);color:#fff;flex:none;
 display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px}
.px-av-n{font-weight:700;font-size:14.5px;line-height:1.3}
.px-av-v{font-size:12.5px;color:var(--dim)}
.px-av-s{color:var(--m);font-size:14px;letter-spacing:2px}
.px-av p{color:var(--mut);font-size:14.5px;margin:0;flex:1}
.px-av-d{font-size:12px;color:var(--dim)}
.px-note-g{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--panel2);
 border:1px solid var(--line2);border-radius:var(--r);padding:18px 22px;margin-bottom:26px}
.px-note-b{font-size:38px;font-weight:800;letter-spacing:-.03em;line-height:1;
 background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
 font-variant-numeric:tabular-nums}
.px-note-t{font-size:14px;color:var(--mut)}
@media(max-width:900px){.px-avis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.px-avis{grid-template-columns:1fr}}

/* ===== Formulaire de commande ===== */
.px-form{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:start}
.px-fbox{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 26px}
.px-fl{display:block;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
 color:var(--dim);margin:18px 0 7px}
.px-fl:first-of-type{margin-top:0}
.px-fi{width:100%;background:var(--bg2);border:1.5px solid var(--line2);border-radius:11px;
 padding:13px 15px;color:var(--txt);font-size:15.5px;font-family:inherit}
.px-fi:focus{outline:none;border-color:var(--m)}
.px-fi::placeholder{color:var(--dim)}
.px-fh{font-size:12.5px;color:var(--dim);margin:7px 0 0;line-height:1.6}
.px-fbtn{width:100%;margin-top:24px;border:0;font-family:inherit;cursor:pointer}
.px-err{background:rgba(255,79,163,.10);border:1px solid var(--m);border-radius:11px;
 padding:13px 16px;font-size:14.5px;color:var(--txt);margin-bottom:20px}
.px-recap{background:var(--panel2);border:1px solid var(--line2);border-radius:var(--r-lg);padding:26px 24px}
.px-recap h2{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--m);margin-bottom:16px}
.px-rl{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);font-size:14.5px}
.px-rl:last-of-type{border-bottom:0}
.px-rl b{font-weight:800}
.px-rt{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
 margin-top:16px;padding-top:16px;border-top:2px solid var(--line2)}
.px-rt b{font-size:30px;font-weight:800;letter-spacing:-.03em;
 background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.px-steps{list-style:none;margin:20px 0 0;padding:0;font-size:14px;color:var(--mut);
 display:flex;flex-direction:column;gap:10px}
.px-steps li{padding-left:26px;position:relative;line-height:1.6}
.px-steps li::before{content:counter(st);counter-increment:st;position:absolute;left:0;top:1px;
 width:18px;height:18px;border-radius:50%;background:var(--grad);color:#fff;font-size:10.5px;
 font-weight:800;display:flex;align-items:center;justify-content:center}
.px-steps{counter-reset:st}
@media(max-width:880px){.px-form{grid-template-columns:1fr}}

/* ===== Blog ===== */
.px-arts{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.px-art{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);
 overflow:hidden;display:flex;flex-direction:column}
.px-art img{width:100%;aspect-ratio:16/9;object-fit:cover}
.px-art-b{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.px-art h3{font-size:19px;line-height:1.25}
.px-art p{color:var(--mut);font-size:14.5px;margin:0;flex:1}
.px-art-m{font-size:12.5px;color:var(--dim);display:flex;gap:10px;flex-wrap:wrap}
.px-post{max-width:760px;margin:0 auto}
.px-post h2{margin:38px 0 14px;font-size:26px}
.px-post h3{margin:26px 0 10px;font-size:18.5px}
.px-post p{color:var(--mut);line-height:1.85;margin:0 0 16px}
.px-post ul{color:var(--mut);line-height:1.85;padding-left:22px;margin:0 0 18px}
.px-post li{margin-bottom:8px}
.px-post a{color:var(--m);font-weight:700}
.px-post img{border-radius:var(--r-lg);border:1px solid var(--line);margin:24px 0}
.px-post blockquote{border-left:3px solid var(--m);padding:4px 0 4px 20px;margin:24px 0;
 color:var(--txt);font-size:17px;line-height:1.75}
@media(max-width:820px){.px-arts{grid-template-columns:1fr}}

/* ===== Images absentes : bloc neutre au lieu d une icone cassee =====
   Les width/height etant toujours declares, la mise en page ne bouge pas.
   A supprimer une fois toutes les images en place (facultatif). */
img{background:var(--panel2);color:var(--dim);font-size:12.5px;line-height:1.5}
