/* ============================================================
   product.css — système visuel éditorial des pages produit
   Indusiax (Stator / Vector / Flux). Accent par page : --p / --p2.
   Charte du site (dark, Outfit) + police technique JetBrains Mono.
   ============================================================ */
@font-face{font-family:'JBMono';src:url('/assets/rotor/fonts/jbmono-500.woff2') format('woff2');font-weight:500;font-display:swap;}
@font-face{font-family:'JBMono';src:url('/assets/rotor/fonts/jbmono-700.woff2') format('woff2');font-weight:700;font-display:swap;}

.pv{--p:#E84C2B;--p2:#c23a1e;--ok:#22c55e;--aa:#E0A128;--nc:#ef4444;
  --mono:'JBMono',ui-monospace,Consolas,monospace;--paper:#fff;--ink:#10161d;--pline:#c7d2dd;}
.pv ::selection{background:var(--p);color:#fff;}
.pv .mono{font-family:var(--mono);}
.pv .eb{font-family:var(--mono);font-weight:500;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--p);display:inline-flex;align-items:center;gap:9px;}
.pv .eb::before{content:"";width:22px;height:2px;background:var(--p);display:inline-block;}
.pv .card:hover{border-color:color-mix(in srgb, var(--p) 40%, transparent);}
.pv .eb.c{justify-content:center;}
.pastille{width:15px;height:15px;border-radius:50%;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15);display:inline-block;}
.p-ok{background:var(--ok);}.p-aa{background:var(--aa);}.p-nc{background:var(--nc);}

/* ---------- HERO photo ---------- */
.pv-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--bord);}
.pv-hero .bg{position:absolute;inset:0;z-index:0;}
.pv-hero .bg img{width:100%;height:100%;object-fit:cover;--px:0px;}
@media(prefers-reduced-motion:no-preference){
  .pv-hero .bg img{animation:pvHeroKB 22s ease-in-out both;}
  @keyframes pvHeroKB{from{transform:translateY(var(--px,0px)) scale(1.1);}to{transform:translateY(var(--px,0px)) scale(1);}}
}
.pv-hero .bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080b10 0%,#080b10d9 36%,#080b1066 62%,#080b1020 100%);}
.pv-hero-in{position:relative;z-index:2;padding:78px 0 84px;display:grid;grid-template-columns:1.08fr .92fr;gap:40px;align-items:center;}
.pv-hero h1{font-size:clamp(2.05rem,5vw,3.4rem);font-weight:800;letter-spacing:-.025em;line-height:1.1;margin:16px 0 20px;}
.pv-hero h1 .ac{color:var(--p);}
.pv-hero .sub{font-size:clamp(1rem,1.9vw,1.16rem);color:var(--mut);max-width:52ch;}
.pv-hero .ctas{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap;}
.pv-trust{margin-top:32px;padding-top:20px;border-top:1px solid var(--bord);}
.pv-trust .lb{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mut2);}
.pv-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.pv-chip{font-family:var(--mono);font-size:.72rem;color:var(--mut);border:1px solid var(--bord);border-radius:3px;padding:5px 10px;}
@media(max-width:900px){.pv-hero-in{grid-template-columns:1fr;gap:26px;padding:52px 0 58px;}
  .pv-hero .bg::after{background:linear-gradient(180deg,#080b10e6,#080b10aa);}}

/* ---------- Entrée animée du hero (toutes les pages pv-hero) ---------- */
@media(prefers-reduced-motion:no-preference){
  @keyframes pvUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:none;}}
  @keyframes pvRight{from{opacity:0;transform:translateX(30px) rotate(1deg);}to{opacity:1;transform:none;}}
  .pv-hero .eb{animation:pvUp .7s cubic-bezier(.22,1,.36,1) both;}
  .pv-hero h1{animation:pvUp .7s cubic-bezier(.22,1,.36,1) .09s both;}
  .pv-hero .sub{animation:pvUp .7s cubic-bezier(.22,1,.36,1) .17s both;}
  .pv-hero .ctas{animation:pvUp .7s cubic-bezier(.22,1,.36,1) .25s both;}
  .pv-hero .pv-trust{animation:pvUp .7s cubic-bezier(.22,1,.36,1) .33s both;}
  .pv-hero .note{animation:pvUp .7s cubic-bezier(.22,1,.36,1) .33s both;}
  .pv-hero .pv-card{animation:pvRight .8s cubic-bezier(.22,1,.36,1) .3s both;}
}

/* ---------- carte "device" blanche (maquette produit) ---------- */
.pv-card{background:var(--paper);color:var(--ink);border-radius:9px;border:1px solid var(--pline);overflow:hidden;
  box-shadow:0 30px 70px rgba(0,0,0,.5);justify-self:end;width:100%;max-width:400px;}
.pv-card .ch{display:flex;justify-content:space-between;align-items:center;padding:13px 17px;background:var(--p2);color:#fff;}
.pv-card .ch .t{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;}
.pv-card .ch .a{font-family:var(--mono);font-size:.64rem;opacity:.85;}
.pv-card .cb{padding:15px 17px 17px;}
@media(max-width:900px){.pv-card{justify-self:start;max-width:420px;}}

/* ---------- deux colonnes (image + texte / steps) ---------- */
.pv-two{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;}
.pv-shot{border-radius:16px;overflow:hidden;border:1px solid var(--bord);box-shadow:0 24px 60px rgba(0,0,0,.4);}
.pv-shot img{width:100%;display:block;aspect-ratio:3/2;object-fit:cover;}
.pv-steps{display:grid;gap:20px;}
.pv-step{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;}
.pv-step .n{font-family:var(--mono);font-weight:700;font-size:.9rem;color:#fff;background:var(--p2);width:36px;height:36px;border-radius:9px;display:grid;place-items:center;}
.pv-step h3{font-size:1.05rem;margin:2px 0 5px;}.pv-step p{font-size:.92rem;color:var(--mut);}
@media(max-width:860px){.pv-two{grid-template-columns:1fr;gap:30px;}.pv-two .pv-shot{order:-1;}}

/* ---------- bande image pleine largeur ---------- */
.pv-band{position:relative;overflow:hidden;min-height:380px;display:flex;align-items:center;}
.pv-band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;--px:0px;}
@media(prefers-reduced-motion:no-preference){
  .pv-band img{animation:pvBandKB 24s ease-in-out infinite alternate;}
  @keyframes pvBandKB{from{transform:translateY(var(--px,0px)) scale(1);}to{transform:translateY(var(--px,0px)) scale(1.07);}}
}
.pv-band::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#080b10ec 0%,#080b10b0 46%,#080b1055 100%);}
@media(max-width:700px){
  .pv-band{min-height:440px;}
  .pv-band::after{background:linear-gradient(180deg,#080b10e8,#080b10c0);}
}
.pv-band .in{position:relative;z-index:2;padding:64px 0;max-width:640px;}
.pv-band h2{font-size:clamp(1.5rem,3.2vw,2.1rem);font-weight:800;letter-spacing:-.02em;margin:14px 0 12px;}
.pv-band p{font-family:var(--mono);font-size:.86rem;color:var(--mut);}

/* ---------- récit fondateur (manifeste) ---------- */
.pv-origin{position:relative;border:1px solid var(--bord);border-radius:18px;background:
  linear-gradient(180deg,rgba(255,255,255,.03),transparent),
  repeating-linear-gradient(135deg,color-mix(in srgb, var(--p) 5%, transparent) 0 2px,transparent 2px 26px);
  background-size:auto,140px 140px;padding:44px 46px;max-width:900px;margin:0 auto;overflow:hidden;}
@media(prefers-reduced-motion:no-preference){
  .pv-origin{animation:pvOriginDrift 30s linear infinite;}
  @keyframes pvOriginDrift{to{background-position:0 0,140px 140px;}}
}
.pv-origin::before{content:"\201C";position:absolute;top:-26px;left:22px;font-size:150px;line-height:1;color:var(--p);opacity:.16;font-family:Georgia,serif;}
.pv-origin .lead{font-size:clamp(1.15rem,2.3vw,1.5rem);font-weight:700;letter-spacing:-.015em;line-height:1.35;}
.pv-origin .lead b{color:var(--p);}
.pv-origin p{color:var(--mut);margin-top:16px;max-width:64ch;}
.pv-origin .sig{margin-top:22px;font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mut2);
  display:flex;align-items:center;gap:10px;}
.pv-origin .sig::before{content:"";width:26px;height:2px;background:var(--p);}
@media(max-width:640px){.pv-origin{padding:34px 24px;}}

/* ---------- section "pour qui" (photo + liste) ---------- */
.pv-aud{display:grid;grid-template-columns:.82fr 1.18fr;gap:40px;align-items:stretch;}
.pv-photo{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--bord);box-shadow:0 24px 60px rgba(0,0,0,.4);min-height:100%;}
.pv-photo img{width:100%;height:100%;object-fit:cover;}
.pv-photo .badge{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(8,11,16,.82);backdrop-filter:blur(6px);border:1px solid var(--bord);border-radius:10px;padding:15px 17px;}
.pv-photo .badge h3{font-size:1.02rem;margin:8px 0 6px;}
.pv-photo .badge p{font-size:.82rem;color:var(--mut);}
.pv-audlist{display:grid;gap:13px;align-content:center;}
.pv-aud-i{display:flex;gap:14px;background:var(--bg2);border:1px solid var(--bord);border-radius:12px;padding:17px 19px;}
.pv-aud-i .k{font-family:var(--mono);font-weight:700;font-size:.82rem;color:var(--p);}
.pv-aud-i h3{font-size:1rem;margin-bottom:3px;}.pv-aud-i p{font-size:.88rem;color:var(--mut);}
@media(max-width:860px){.pv-aud{grid-template-columns:1fr;}.pv-photo{min-height:320px;}}

/* ---------- accents génériques réutilisables ---------- */
.pv .kf{font-family:var(--mono);font-size:.72rem;color:var(--p);letter-spacing:.06em;}
.pv .price-card .amount small{font-weight:500;}
.pv-prices{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:780px;margin:0 auto;}
@media(max-width:640px){.pv-prices{grid-template-columns:1fr;}}
