/* ==========================================================================
   VRExplorer — microsite dédié (design V2)
   Tout est scopé sous .vrx-site pour ne pas entrer en conflit avec le thème.
   Source de design : Page Web VRExplorer/mockups/VRExplorer v2.html
   ========================================================================== */

html{scroll-behavior:smooth;}
body.vrx-body{margin:0;background:#fff;}

.vrx-site{
  --bg:#ffffff;
  --bg-soft:#ecf0f4;
  --bg-mute:#e6eaf0;
  --ink:#0c1322;
  --ink-2:#3a455a;
  --ink-3:#697287;
  --line:#e6e9ef;
  --line-2:#eef1f5;
  --accent:#2563eb;
  --accent-ink:#1d4ed8;
  --accent-soft:#eff4ff;
  --radius:18px;
  --radius-sm:12px;
  --maxw:1160px;
  --shadow:0 1px 2px rgba(12,19,34,.04), 0 12px 32px -16px rgba(12,19,34,.18);
  --shadow-lg:0 2px 6px rgba(12,19,34,.05), 0 40px 80px -40px rgba(12,19,34,.30);
  background:var(--bg);color:var(--ink);
  font-family:'Sora',system-ui,sans-serif;
  font-weight:400;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.vrx-site *{box-sizing:border-box;}
.vrx-site h1,.vrx-site h2,.vrx-site h3,.vrx-site h4{font-family:'Space Grotesk',sans-serif;font-weight:600;letter-spacing:-.02em;line-height:1.05;margin:0;color:var(--ink);text-wrap:balance;}
.vrx-site p{margin:0;color:var(--ink-2);text-wrap:pretty;}
.vrx-site a{color:inherit;text-decoration:none;}
.vrx-site .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
.vrx-site .eyebrow{
  font-family:'Space Grotesk',sans-serif;font-size:12.5px;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);
  display:inline-flex;align-items:center;gap:8px;
}
.vrx-site .eyebrow::before{content:"";width:20px;height:1.5px;background:var(--accent);border-radius:2px;}

/* ---------- buttons ---------- */
.vrx-site .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:15px;
  padding:13px 22px;border-radius:11px;cursor:pointer;border:1px solid transparent;
  transition:transform .15s ease, background .2s ease, box-shadow .2s ease, border-color .2s ease;
  white-space:nowrap;
}
.vrx-site .btn svg{width:16px;height:16px;transition:transform .2s ease;}
.vrx-site .btn.arrow-rev svg{transform:rotate(180deg);}
.vrx-site .btn-primary{background:var(--accent);color:#fff;box-shadow:0 1px 2px rgba(37,99,235,.25), 0 10px 22px -10px rgba(37,99,235,.6);}
.vrx-site .btn-primary:hover{background:var(--accent-ink);transform:translateY(-1px);}
.vrx-site .btn-ghost{background:#fff;color:var(--ink);border-color:var(--line);}
.vrx-site .btn-ghost:hover{border-color:#c9cfdb;background:var(--bg-soft);transform:translateY(-1px);}
.vrx-site .btn-sm{padding:10px 16px;font-size:14px;}
.vrx-site .btn-lg{padding:15px 26px;font-size:16px;}
.vrx-site .btn-outline-dark{background:#151d30;color:#fff;border-color:rgba(255,255,255,.14);}
.vrx-site .btn-outline-dark:hover{background:#1b2540;border-color:rgba(255,255,255,.28);transform:translateY(-1px);}
.vrx-site .btn-outline-dark svg{width:15px;height:15px;}

/* dark hero contour panel */
.vrx-site .contour-panel{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid #1d2740;background:#0b1322;aspect-ratio:16/10;box-shadow:0 40px 90px -50px rgba(0,0,0,.85);}
.vrx-site .hero-video-wrap{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid #1d2740;background:#0b1322;aspect-ratio:16/10;box-shadow:0 40px 90px -50px rgba(0,0,0,.85);}
.vrx-site .hero-video-wrap video{width:100%;height:100%;object-fit:cover;display:block;}
.vrx-site .collab-video{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#0b1322;}
.vrx-site .collab-video video{width:100%;height:100%;object-fit:cover;display:block;}
.vrx-site .contour-panel .contour{position:absolute;inset:0;width:100%;height:100%;display:block;}
.vrx-site .contour-panel .grain{position:absolute;inset:0;background:repeating-linear-gradient(135deg, rgba(255,255,255,.02) 0 12px, transparent 12px 24px);pointer-events:none;}
.vrx-site .cursor{position:absolute;display:flex;align-items:center;gap:6px;transform:translate(-50%,-50%);}
.vrx-site .cursor .arrow{width:17px;height:17px;}
.vrx-site .cursor.maya{color:var(--accent);}
.vrx-site .cursor.sam{color:#22c55e;}
.vrx-site .cursor .tag{font-family:'Space Grotesk',sans-serif;font-size:12px;font-weight:600;color:#fff;padding:3px 9px;border-radius:7px;box-shadow:0 4px 10px rgba(0,0,0,.3);}
.vrx-site .cursor.maya .tag{background:var(--accent);}
.vrx-site .cursor.sam .tag{background:#16a34a;}
.vrx-site .center-chip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:9px;font-family:'Space Grotesk',sans-serif;font-size:12px;letter-spacing:.03em;color:#c2cde2;background:rgba(10,16,32,.72);backdrop-filter:blur(3px);border:1px solid #26314d;border-radius:999px;padding:7px 15px;white-space:nowrap;}
.vrx-site .center-chip .d{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none;}

/* video micro-cta (subordinate) */
.vrx-site .play-link{display:inline-flex;align-items:center;gap:11px;font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:14.5px;color:var(--ink-2);transition:color .15s;}
.vrx-site .play-link:hover{color:var(--ink);}
.vrx-site .play-link .pic{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--accent-ink);background:#fff;transition:border-color .2s, transform .15s;}
.vrx-site .play-link:hover .pic{border-color:var(--accent);transform:scale(1.04);}
.vrx-site .play-link .pic svg{width:15px;height:15px;}

/* ---------- placeholder visual ---------- */
.vrx-site .ph{
  position:relative;overflow:hidden;background:var(--bg-mute);
  background-image:repeating-linear-gradient(135deg, rgba(37,99,235,.05) 0 11px, transparent 11px 22px);
  border:1px solid var(--line);border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;
}
.vrx-site .ph span{
  font-family:'Space Grotesk',monospace;font-size:11.5px;letter-spacing:.06em;
  color:var(--ink-3);background:rgba(255,255,255,.78);backdrop-filter:blur(2px);
  padding:5px 11px;border-radius:999px;border:1px solid var(--line);text-transform:uppercase;
}
.vrx-site .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
/* dark space placeholder for hero/video */
.vrx-site .ph-space{
  background:#0a1020;
  background-image:radial-gradient(1100px 500px at 70% -20%, rgba(37,99,235,.45), transparent 55%),
    radial-gradient(700px 420px at 12% 120%, rgba(37,99,235,.22), transparent 60%);
  border-color:#1d2740;
}
.vrx-site .ph-space span{background:rgba(10,16,32,.6);color:#aebbd6;border-color:#26314d;}

/* ---------- logo band (partenaires / utilisateurs, sous le hero) ---------- */
.vrx-site .logo-band{
  padding:46px 0;background:var(--bg-mute);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  box-shadow:inset 0 9px 18px -14px rgba(15,23,42,.18), inset 0 -9px 18px -14px rgba(15,23,42,.12);
}
.vrx-site .logo-band-kicker{
  text-align:center;font-family:'Space Grotesk',sans-serif;font-size:12px;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:0 0 26px;
}
.vrx-site .logo-band-grid{
  display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:28px 24px;
}
.vrx-site .logo-item{display:flex;align-items:center;justify-content:center;height:68px;flex:1 1 130px;}
.vrx-site .logo-item img{
  max-height:68px;max-width:220px;width:auto;height:auto;object-fit:contain;
}
/* bande du haut : une seule ligne, monochrome cohérent, couleur au survol */
/* largeur ET hauteur plafonnées → les logos larges ne dominent plus les compacts */
.vrx-site .logo-band-grid .logo-item{min-width:0;height:var(--vrx-logo-top-size,88px);}
.vrx-site .logo-band-grid .logo-item img{
  max-width:var(--vrx-logo-top-size,88px);max-height:var(--vrx-logo-top-size,88px);filter:grayscale(1);opacity:.6;
  transition:filter .25s ease,opacity .25s ease,transform .2s ease;
}
.vrx-site .logo-band-grid .logo-item img:hover{filter:grayscale(0);opacity:1;transform:scale(1.06);}
.vrx-site .logo-item-empty{
  width:140px;height:46px;border:1px dashed var(--line);border-radius:8px;
  background:var(--bg-mute);
  background-image:repeating-linear-gradient(135deg, rgba(37,99,235,.05) 0 11px, transparent 11px 22px);
}
.vrx-site .logo-item-empty span{
  font-family:'Space Grotesk',monospace;font-size:10.5px;letter-spacing:.06em;color:var(--ink-3);
}
@media (max-width:640px){
  .vrx-site .logo-band{padding:32px 0;}
  /* 6 logos → grille 3 colonnes = 2 lignes régulières (logos réduits pour tenir) */
  .vrx-site .logo-band-grid{
    display:grid;grid-template-columns:repeat(3,1fr);
    gap:26px 14px;justify-items:center;align-items:center;
  }
  .vrx-site .logo-band-grid .logo-item{flex:none;width:100%;min-width:0;height:auto;}
  .vrx-site .logo-band-grid .logo-item img{
    max-width:min(var(--vrx-logo-top-size,88px),62px);
    max-height:min(var(--vrx-logo-top-size,88px),62px);
  }
}

/* ---------- mur de partenaires (liste complète, groupée, bas de page) ---------- */
.vrx-site .partners-group{margin-top:8px;}
.vrx-site .partners-group + .partners-group{margin-top:42px;}
.vrx-site .partners-group-title{
  text-align:center;font-family:'Space Grotesk',sans-serif;font-size:12px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 22px;
}
.vrx-site .partners-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:46px 30px;
  align-items:center;justify-items:center;margin-top:40px;
}
.vrx-site .partners-grid .logo-item{flex:none;width:100%;height:var(--vrx-logo-wall-size,92px);}
/* mur de partenaires : rendu monochrome cohérent, couleur au survol */
.vrx-site .partners-grid .logo-item img{
  max-height:var(--vrx-logo-wall-size,92px);max-width:var(--vrx-logo-wall-size,92px);
  filter:grayscale(1);opacity:.6;transition:filter .25s ease,opacity .25s ease,transform .2s ease;
}
.vrx-site .partners-grid .logo-item img:hover{filter:grayscale(0);opacity:1;}
@media (max-width:900px){ .vrx-site .partners-grid{grid-template-columns:repeat(3,1fr);gap:42px 26px;} }
/* mobile : 20 logos → ruban à défilement latéral sur 2 rangées (compact en hauteur) */
@media (max-width:560px){
  .vrx-site .partners-grid{
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-template-rows:repeat(2,auto);
    grid-auto-columns:29%;
    gap:22px 20px;
    margin:28px -20px 0;
    padding:2px 20px 14px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .vrx-site .partners-grid::-webkit-scrollbar{display:none;}
  .vrx-site .partners-grid .logo-item{height:auto;scroll-snap-align:start;}
  .vrx-site .partners-grid .logo-item img{
    max-width:min(var(--vrx-logo-wall-size,92px),62px);
    max-height:min(var(--vrx-logo-wall-size,92px),62px);
  }
}

/* ---------- header ---------- */
.vrx-site .vrx-header{
  position:sticky;top:0;z-index:50;background:transparent;border-bottom:1px solid transparent;
  transition:background .25s ease, border-color .25s ease, backdrop-filter .25s ease;
}
.vrx-site .vrx-header.scrolled{
  background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line-2);
}
/* default = over the dark hero */
.vrx-site .vrx-header .brand,.vrx-site .vrx-header .brand b{color:#fff;}
.vrx-site .vrx-header .nav-links a{color:rgba(255,255,255,.78);}
.vrx-site .vrx-header .nav-links a:hover{color:#fff;}
.vrx-site .vrx-header.scrolled .brand{color:var(--ink);}
.vrx-site .vrx-header.scrolled .brand b{color:var(--accent-ink);}
.vrx-site .vrx-header.scrolled .nav-links a{color:var(--ink-2);}
.vrx-site .vrx-header.scrolled .nav-links a:hover{color:var(--ink);}
.vrx-site .nav{display:flex;align-items:center;justify-content:space-between;height:68px;}
.vrx-site .brand{display:flex;align-items:center;gap:11px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:26px;letter-spacing:-.02em;}
.vrx-site .brand .mark{width:32px;height:32px;border-radius:9px;background:var(--accent);display:grid;place-items:center;color:#fff;box-shadow:0 6px 16px -6px rgba(37,99,235,.7);}
.vrx-site .brand .mark svg{width:18px;height:18px;}
.vrx-site .brand b{color:var(--accent-ink);font-weight:700;}
.vrx-site .nav-links{display:flex;align-items:center;gap:32px;}
.vrx-site .nav-links a{font-size:14.5px;color:var(--ink-2);font-weight:400;transition:color .15s;}
.vrx-site .nav-links a:hover{color:var(--ink);}
.vrx-site .nav-cta{display:flex;align-items:center;gap:12px;}
.vrx-site .vrx-header .back-link{font-size:13.5px;color:rgba(255,255,255,.7);display:inline-flex;align-items:center;gap:6px;transition:color .15s;}
.vrx-site .vrx-header .back-link svg{width:14px;height:14px;}
.vrx-site .vrx-header .back-link:hover{color:#fff;}
.vrx-site .vrx-header.scrolled .back-link{color:var(--ink-3);}
.vrx-site .vrx-header.scrolled .back-link:hover{color:var(--accent-ink);}

/* ---------- menu mobile : hamburger + drawer (mobile uniquement) ---------- */
.vrx-site .nav-burger{display:none;width:42px;height:42px;border:0;background:none;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;padding:9px;margin-left:6px;}
.vrx-site .nav-burger span{display:block;height:2px;width:100%;background:#fff;border-radius:2px;transition:background .2s;}
.vrx-site .vrx-header.scrolled .nav-burger span{background:var(--ink);}
.vrx-site .nav-drawer{position:fixed;inset:0;z-index:1000;visibility:hidden;}
.vrx-site .nav-drawer.open{visibility:visible;}
.vrx-site .nav-drawer-backdrop{position:absolute;inset:0;background:rgba(6,10,20,.55);opacity:0;transition:opacity .28s ease;}
.vrx-site .nav-drawer.open .nav-drawer-backdrop{opacity:1;}
.vrx-site .nav-drawer-panel{position:absolute;top:0;right:0;height:100%;width:min(82%,340px);background:#0b1322;box-shadow:-14px 0 44px -14px rgba(0,0,0,.55);transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;padding:20px 26px 34px;box-sizing:border-box;}
.vrx-site .nav-drawer.open .nav-drawer-panel{transform:translateX(0);}
.vrx-site .nav-drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;}
.vrx-site .drawer-brand{font-size:22px;color:#fff;}
.vrx-site .drawer-brand b{color:#5b9bff;}
.vrx-site .nav-drawer-close{width:40px;height:40px;border:0;background:none;color:#fff;cursor:pointer;padding:8px;margin-right:-6px;}
.vrx-site .nav-drawer-close svg{width:100%;height:100%;}
.vrx-site .nav-drawer-links{display:flex;flex-direction:column;}
.vrx-site .nav-drawer-links a{color:#e8edf7;font-size:19px;font-weight:500;padding:14px 4px;border-bottom:1px solid rgba(255,255,255,.09);}
.vrx-site .nav-drawer-links a:active{color:#fff;}
.vrx-site .nav-drawer-foot{margin-top:auto;display:flex;flex-direction:column;gap:16px;padding-top:26px;}
.vrx-site .nav-drawer-foot .btn{width:100%;justify-content:center;}
.vrx-site .drawer-back{color:#9fb2d8;font-size:14px;text-align:center;}
.vrx-drawer-open{overflow:hidden;}

/* ---------- hero ---------- */
.vrx-site .hero{position:relative;}
.vrx-site .hero-dark{
  margin-top:-68px;padding:104px 0 48px;overflow:hidden;
  background:radial-gradient(1000px 540px at 80% -10%, #17284c 0%, rgba(23,40,76,0) 58%), linear-gradient(180deg,#0b1322 0%,#090e1c 100%);
}
.vrx-site .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;}
.vrx-site .hero h1{font-size:clamp(30px,4.4vw,50px);line-height:1.07;}
.vrx-site .hero h1 .hl{display:block;white-space:nowrap;}
.vrx-site .hero-dark h1{color:#fff;}
.vrx-site .hero .lead{font-size:18.5px;color:var(--ink-2);margin-top:24px;max-width:540px;font-weight:300;}
.vrx-site .hero-dark .lead{color:#9fabc2;}
.vrx-site .hero-dark .eyebrow{color:#86a8ff;}
.vrx-site .hero-dark .eyebrow::before{background:#86a8ff;}
.vrx-site .hero-rule{height:1px;width:240px;background:linear-gradient(90deg, rgba(255,255,255,.20), rgba(255,255,255,0));margin-top:40px;}
.vrx-site .hero-actions{display:flex;gap:22px;align-items:center;margin-top:34px;flex-wrap:wrap;}
.vrx-site .hero-visual{position:relative;}
/* hero en fond vidéo plein largeur (mode hero-bg-video) */
.vrx-site .hero-bg{position:absolute;inset:0;z-index:0;overflow:hidden;}
.vrx-site .hero-bg video{width:100%;height:100%;object-fit:cover;display:block;}
.vrx-site .hero-bg-veil{position:absolute;inset:0;background:linear-gradient(90deg, rgba(8,12,24,.94) 0%, rgba(8,12,24,.80) 38%, rgba(8,12,24,.45) 72%, rgba(8,12,24,.32) 100%), linear-gradient(180deg, rgba(8,12,24,.34), rgba(8,12,24,.08) 42%, rgba(8,12,24,.58));}
.vrx-site .hero-bg-video .hero-grid{position:relative;z-index:1;grid-template-columns:1fr;min-height:320px;align-content:center;}
.vrx-site .hero-bg-video .hero-text{max-width:660px;}

/* ---------- trust band (ESA first) ---------- */
.vrx-site .trust{padding:26px 0 6px;}
.vrx-site .trust .lbl{font-size:13px;color:var(--ink-3);text-align:center;letter-spacing:.02em;}
.vrx-site .trust .lbl b{color:var(--ink-2);font-weight:500;}
.vrx-site .trust-row{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:22px;}
.vrx-site .trust-row .logo{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px 20px;}
.vrx-site .trust-row .logo.lead{border-color:#cfe0ff;background:linear-gradient(180deg,#fff,#f6f9ff);box-shadow:0 8px 22px -16px rgba(37,99,235,.5);}
.vrx-site .trust-row .logo .dot{width:9px;height:9px;border-radius:50%;background:var(--ink-3);}
.vrx-site .trust-row .logo.lead .dot{background:var(--accent);}
.vrx-site .trust-row .logo .nm{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:14.5px;color:var(--ink);}
.vrx-site .trust-row .logo .kind{font-size:11px;color:var(--ink-3);}
.vrx-site .trust-row .logo .ph-mini{width:74px;height:22px;border-radius:5px;}

/* ---------- section base ---------- */
.vrx-site .sec{padding:72px 0;}
.vrx-site .sec-head{max-width:680px;margin:0 auto;text-align:center;}
.vrx-site .sec-head h2{font-size:clamp(28px,3.4vw,42px);margin-top:16px;}
.vrx-site .sec-head p{font-size:17px;margin-top:18px;}

/* ---------- problem solved ---------- */
.vrx-site .collab{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.vrx-site .collab-text h2{font-size:clamp(26px,3vw,38px);margin-top:16px;}
.vrx-site .collab-text p.body{font-size:16.5px;margin-top:18px;}
.vrx-site .collab-visual .ph{aspect-ratio:4/3;border-radius:var(--radius);box-shadow:var(--shadow);}

/* ---------- features ---------- */
.vrx-site .feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:54px;}
.vrx-site .feat{background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:26px 24px;transition:transform .18s ease, box-shadow .2s ease, border-color .2s ease;}
.vrx-site .feat:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#dbe1ec;}
.vrx-site .feat .ic{width:46px;height:46px;border-radius:12px;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;margin-bottom:18px;}
.vrx-site .feat .ic svg{width:23px;height:23px;}
.vrx-site .feat h3{font-size:18px;}
.vrx-site .feat p{font-size:14.5px;margin-top:10px;color:var(--ink-2);line-height:1.55;}
.vrx-site .feat .tag{display:inline-block;margin-top:14px;font-family:'Space Grotesk',sans-serif;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent-soft);padding:4px 10px;border-radius:6px;}

/* ---------- formats supportés (intégrés à la step 01) ---------- */
.vrx-site .step .fmts{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px;}
.vrx-site .step .fmts .fmt{font-family:'Space Grotesk',sans-serif;font-size:11.5px;font-weight:600;color:var(--ink-2);background:var(--bg-soft);border:1px solid var(--line);border-radius:999px;padding:4px 10px;white-space:nowrap;}

/* ---------- vidéo embarquée (YouTube inline) ---------- */
.vrx-site .video-embed{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#000;margin-top:40px;}
.vrx-site .video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ---------- use cases ---------- */
.vrx-site .uc-grid{display:grid;grid-template-columns:1fr;gap:20px;margin-top:54px;}
.vrx-site .uc{display:grid;grid-template-columns:1fr 1fr;height:360px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:box-shadow .2s, border-color .2s;}
.vrx-site .uc:hover{box-shadow:var(--shadow);border-color:#dbe1ec;}
/* alternance gauche/droite (zigzag) : une carte sur deux, l'image passe à gauche */
.vrx-site .uc:nth-child(even) .uc-body{order:2;}
.vrx-site .uc:nth-child(even) .uc-visual{order:1;}
.vrx-site .uc-body{padding:30px 28px;display:flex;flex-direction:column;justify-content:center;}
.vrx-site .uc-body .k{font-family:'Space Grotesk',sans-serif;font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);}
.vrx-site .uc-body h3{font-size:21px;margin-top:12px;}
.vrx-site .uc-body p{font-size:14.5px;margin-top:11px;line-height:1.55;}
.vrx-site .uc-body .terr{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;}
.vrx-site .uc-body .terr span{font-size:12px;color:var(--ink-2);background:var(--bg-soft);border:1px solid var(--line-2);border-radius:999px;padding:5px 11px;}
.vrx-site .uc-visual .ph{height:100%;min-height:200px;border:none;border-left:1px solid var(--line);border-radius:0;}
.vrx-site .uc:nth-child(even) .uc-visual .ph{border-left:none;border-right:1px solid var(--line);}
.vrx-site .uc.edu{background:var(--bg-soft);}

/* ---------- how it works ---------- */
.vrx-site .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:54px;}
.vrx-site .step{padding:30px 26px;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--line);position:relative;}
.vrx-site .step .ic{width:44px;height:44px;border-radius:11px;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;margin-bottom:18px;}
.vrx-site .step .ic svg{width:22px;height:22px;}
.vrx-site .step .num{font-family:'Space Grotesk',sans-serif;font-size:13px;font-weight:600;color:var(--accent-ink);letter-spacing:.04em;}
.vrx-site .step h3{font-size:19px;margin-top:14px;}
.vrx-site .step p{font-size:14.5px;margin-top:10px;}
.vrx-site .turnkey{margin-top:30px;display:flex;align-items:center;gap:12px;justify-content:center;font-size:14.5px;color:var(--ink-2);}
.vrx-site .turnkey b{color:var(--ink);font-weight:500;}
.vrx-site .turnkey .ic{width:24px;height:24px;border-radius:7px;background:var(--accent-soft);color:var(--accent-ink);display:grid;place-items:center;}
.vrx-site .turnkey .ic svg{width:14px;height:14px;}

/* ---------- compatibility ---------- */
.vrx-site .compat{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.vrx-site .compat-text h2{font-size:clamp(26px,3vw,38px);margin-top:16px;}
.vrx-site .compat-text p.body{font-size:16.5px;margin-top:18px;}
.vrx-site .compat-note{margin-top:22px;display:inline-flex;align-items:center;gap:11px;background:var(--accent-soft);border:1px solid #d4e2ff;border-radius:12px;padding:13px 16px;font-size:14.5px;color:var(--accent-ink);font-weight:500;}
.vrx-site .compat-note svg{width:18px;height:18px;flex:none;}
.vrx-site .devices{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.vrx-site .device{border:1px solid var(--line);border-radius:var(--radius-sm);padding:20px 18px;background:#fff;}
.vrx-site .device .top{display:flex;align-items:center;justify-content:space-between;}
.vrx-site .device .ic{width:38px;height:38px;border-radius:10px;background:var(--bg-soft);color:var(--ink-2);display:grid;place-items:center;}
.vrx-site .device .ic svg{width:20px;height:20px;}
.vrx-site .device .badge{font-size:11px;font-family:'Space Grotesk',sans-serif;font-weight:600;color:#0f8a4f;background:#eafaf1;border:1px solid #c5edd6;border-radius:6px;padding:3px 8px;}
.vrx-site .device h4{font-family:'Space Grotesk',sans-serif;font-size:15px;margin-top:16px;color:var(--ink);}
.vrx-site .device .list{font-size:13px;color:var(--ink-3);margin-top:6px;}

/* ---------- video ---------- */
.vrx-site .video-card{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-lg);margin-top:48px;aspect-ratio:16/8;display:block;}
.vrx-site .video-card .ph{height:100%;border:none;border-radius:0;}
.vrx-site .video-card .play{position:absolute;inset:0;display:grid;place-items:center;cursor:pointer;}
.vrx-site .video-card .play .circ{width:84px;height:84px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 18px 50px -16px rgba(12,19,34,.5);transition:transform .18s;}
.vrx-site .video-card:hover .play .circ{transform:scale(1.06);}
.vrx-site .video-card .play .circ svg{width:30px;height:30px;color:var(--accent-ink);margin-left:4px;}

/* ---------- references detailed ---------- */
.vrx-site .refs{display:grid;grid-template-columns:1.1fr 1fr;gap:54px;align-items:center;}
.vrx-site .ref-quote{border:1px solid var(--line);border-radius:var(--radius);padding:34px 32px;background:#fff;box-shadow:var(--shadow);}
.vrx-site .ref-quote .q{font-family:'Space Grotesk',sans-serif;font-size:21px;line-height:1.4;color:var(--ink);font-weight:500;letter-spacing:-.01em;}
.vrx-site .ref-quote .by{display:flex;align-items:center;gap:13px;margin-top:24px;}
.vrx-site .ref-quote .by .av{width:44px;height:44px;border-radius:50%;}
.vrx-site .ref-quote .by .nm{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:14.5px;}
.vrx-site .ref-quote .by .ro{font-size:12.5px;color:var(--ink-3);}
.vrx-site .ref-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.vrx-site .ref-stat{border:1px solid var(--line);border-radius:var(--radius-sm);padding:22px 20px;background:#fff;}
.vrx-site .ref-stat .n{font-family:'Space Grotesk',sans-serif;font-size:30px;font-weight:600;color:var(--ink);letter-spacing:-.02em;}
.vrx-site .ref-stat .l{font-size:13px;color:var(--ink-3);margin-top:6px;}
.vrx-site .ref-funders{grid-column:1 / -1;display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--line-2);padding-top:18px;margin-top:2px;}
.vrx-site .ref-funders .t{font-size:12.5px;color:var(--ink-3);}
.vrx-site .ref-funders .ph-mini{width:84px;height:24px;border-radius:5px;}

/* ---------- CTA + form ---------- */
.vrx-site .cta-sec{position:relative;overflow:hidden;padding:42px 0 84px;background:linear-gradient(160deg,#0c1322 0%,#13213f 60%,#1a2c52 100%);color:#fff;}
.vrx-site .cta-sec::before{content:"";position:absolute;inset:0;opacity:.5;background:radial-gradient(620px 320px at 80% -10%, rgba(37,99,235,.55), transparent 60%),radial-gradient(520px 300px at 10% 120%, rgba(37,99,235,.30), transparent 60%);}
.vrx-site .cta-sec > .wrap{position:relative;}
.vrx-site .cta-card{position:relative;overflow:hidden;border-radius:26px;background:linear-gradient(160deg,#0c1322 0%,#13213f 60%,#1a2c52 100%);color:#fff;box-shadow:var(--shadow-lg);display:grid;grid-template-columns:1fr 1fr;}
.vrx-site .cta-card::before{content:"";position:absolute;inset:0;opacity:.5;background:radial-gradient(620px 320px at 80% -10%, rgba(37,99,235,.55), transparent 60%),radial-gradient(520px 300px at 10% 120%, rgba(37,99,235,.30), transparent 60%);}
.vrx-site .cta-left{position:relative;padding:56px 48px;display:flex;flex-direction:column;justify-content:center;}
.vrx-site .cta-left h2{color:#fff;font-size:clamp(28px,3.2vw,40px);}
.vrx-site .cta-left p{color:#c4ccdb;font-size:16.5px;margin-top:18px;max-width:420px;}
.vrx-site .cta-trust{display:flex;flex-direction:column;gap:12px;margin-top:30px;}
.vrx-site .cta-trust .li{display:flex;align-items:center;gap:11px;font-size:14.5px;color:#dbe2ee;}
.vrx-site .cta-trust .li .ic{width:22px;height:22px;border-radius:6px;background:rgba(37,99,235,.25);color:#9db8ff;display:grid;place-items:center;}
.vrx-site .cta-trust .li .ic svg{width:13px;height:13px;}
.vrx-site .cta-form{position:relative;background:#fff;margin:10px;border-radius:20px;padding:34px 32px;}
.vrx-site .cta-form h3{font-size:20px;}
.vrx-site .cta-form .sub{font-size:13.5px;color:var(--ink-3);margin-top:6px;}
.vrx-site .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;}
.vrx-site .field{display:flex;flex-direction:column;gap:7px;}
.vrx-site .field.full{grid-column:1 / -1;}
.vrx-site .field label{font-size:12px;font-family:'Space Grotesk',sans-serif;font-weight:600;letter-spacing:.02em;color:var(--ink-2);}
.vrx-site .field label .req{color:var(--accent-ink);}
.vrx-site .field input,.vrx-site .field select,.vrx-site .field textarea{font-family:'Sora',sans-serif;font-size:14px;color:var(--ink);background:var(--bg-soft);border:1px solid var(--line);border-radius:10px;padding:11px 13px;outline:none;transition:border-color .15s, background .15s;width:100%;}
.vrx-site .field input:focus,.vrx-site .field select:focus,.vrx-site .field textarea:focus{border-color:var(--accent);background:#fff;}
.vrx-site .field textarea{resize:vertical;min-height:62px;}
.vrx-site .field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23697287' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;padding-right:34px;}
.vrx-site .form-foot{margin-top:20px;display:flex;flex-direction:column;gap:12px;}
.vrx-site .form-foot .btn-primary{width:100%;}
.vrx-site .form-foot .fine{font-size:11.5px;color:var(--ink-3);text-align:center;line-height:1.5;}
.vrx-site .form-foot .fine a{color:var(--ink-2);text-decoration:underline;}
/* bande CTA pleine largeur (ancre sombre) ; le formulaire se déplie en dessous */
.vrx-site .cta-card.solo{display:block;background:none;box-shadow:none;border-radius:0;overflow:visible;}
.vrx-site .cta-card.solo::before{display:none;}
.vrx-site .cta-card.solo .cta-left{padding:0;}

/* ---------- formulaire de démo : dépliage vertical inline ---------- */
.vrx-site .demo-reveal{grid-column:1 / -1;max-height:0;overflow:hidden;opacity:0;transition:max-height .45s ease, opacity .35s ease;}
.vrx-site .demo-reveal.open{max-height:1600px;opacity:1;}
.vrx-site .demo-reveal-inner{background:#fff;border-radius:18px;max-width:760px;margin:36px auto 8px;padding:34px 32px;text-align:left;color:var(--ink);box-shadow:0 30px 70px -30px rgba(0,0,0,.45);}
.vrx-site .demo-reveal-inner h3{font-size:20px;}
.vrx-site .demo-reveal-inner .sub{font-size:13.5px;color:var(--ink-3);margin-top:6px;}

/* ---------- footer ---------- */
.vrx-site .vrx-footer{background:var(--bg-soft);box-shadow:inset 0 5px 8px -6px rgba(12,19,34,.08);}
.vrx-site .foot{display:grid;grid-template-columns:1.8fr 1fr 1fr;gap:40px;padding:64px 0 40px;}
.vrx-site .foot .about{max-width:300px;}
.vrx-site .foot .about p{font-size:14px;color:var(--ink-3);margin-top:16px;line-height:1.6;}
.vrx-site .foot h4{font-family:'Space Grotesk',sans-serif;font-size:13px;letter-spacing:.04em;color:var(--ink);margin-bottom:16px;text-transform:uppercase;}
.vrx-site .foot ul{list-style:none;padding:0;margin:0;display:grid;gap:11px;}
.vrx-site .foot ul a{font-size:14px;color:var(--ink-2);}
.vrx-site .foot ul a:hover{color:var(--accent-ink);}
.vrx-site .foot-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:22px 0;font-size:13px;color:var(--ink-3);flex-wrap:wrap;gap:12px;}
.vrx-site .foot-bottom .lang{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 11px;font-weight:500;color:var(--ink-2);}
.vrx-site .foot-eula{margin-top:6px;font-size:12px;color:var(--ink-3);}
.vrx-site .foot-eula a{color:var(--ink-2);text-decoration:underline;}
.vrx-site .foot-eula a:hover{color:var(--accent-ink);}

/* Contact Form 7 dans le formulaire de démo */
.vrx-site .demo-reveal-inner .field .wpcf7-form-control-wrap{display:block;margin-top:6px;}
.vrx-site .demo-reveal-inner .wpcf7-response-output{margin:14px 0 0;padding:10px 14px;border-radius:8px;font-size:13px;border:1px solid var(--line);background:var(--bg-soft);color:var(--ink-2);}
.vrx-site .demo-reveal-inner .wpcf7-not-valid-tip{color:#d63638;font-size:12px;margin-top:4px;}
.vrx-site .demo-reveal-inner .wpcf7-spinner{margin-left:8px;}
/* Le thème (organic-stax) impose un fond sombre aux champs CF7 → on force notre style clair, ciblé sur le form de démo */
.vrx-site .demo-reveal-inner .wpcf7-form-control{font-family:'Sora',sans-serif;font-size:14px;width:100%;box-shadow:none;}
.vrx-site .demo-reveal-inner input.wpcf7-form-control:not(.wpcf7-submit),
.vrx-site .demo-reveal-inner select.wpcf7-form-control,
.vrx-site .demo-reveal-inner textarea.wpcf7-form-control{
  color:var(--ink) !important;background-color:var(--bg-soft) !important;
  border:1px solid var(--line) !important;border-radius:10px !important;padding:11px 13px;
}
.vrx-site .demo-reveal-inner input.wpcf7-form-control:not(.wpcf7-submit):focus,
.vrx-site .demo-reveal-inner select.wpcf7-form-control:focus,
.vrx-site .demo-reveal-inner textarea.wpcf7-form-control:focus{border-color:var(--accent) !important;background-color:#fff !important;}
.vrx-site .demo-reveal-inner textarea.wpcf7-form-control{resize:vertical;min-height:62px;}
.vrx-site .demo-reveal-inner select.wpcf7-form-control{
  appearance:none;-webkit-appearance:none;padding-right:34px !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23697287' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;
}
.vrx-site .demo-reveal-inner .wpcf7-submit{background:var(--accent) !important;color:#fff !important;border:0 !important;width:100%;}
.vrx-site .demo-reveal-inner .wpcf7-submit:hover{background:var(--accent-ink) !important;}

@media (max-width:920px){
  .vrx-site .hero-grid{grid-template-columns:1fr;gap:44px;}
  .vrx-site .feat-grid{grid-template-columns:1fr;}
  .vrx-site .collab,.vrx-site .compat,.vrx-site .refs{grid-template-columns:1fr;gap:36px;}
  .vrx-site .uc-grid{grid-template-columns:1fr;}
  .vrx-site .uc{grid-template-columns:1fr;height:auto;}
  .vrx-site .uc:nth-child(even) .uc-body,.vrx-site .uc:nth-child(even) .uc-visual{order:0;}
  .vrx-site .uc-visual .ph{border-left:none;border-top:1px solid var(--line);height:auto;aspect-ratio:16/9;min-height:0;}
  .vrx-site .uc:nth-child(even) .uc-visual .ph{border-right:none;}
  .vrx-site .steps{grid-template-columns:1fr;}
  .vrx-site .devices{grid-template-columns:1fr;}
  .vrx-site .cta-card{grid-template-columns:1fr;}
  .vrx-site .foot{grid-template-columns:1fr 1fr;}
  .vrx-site .nav-links{display:none;}
  .vrx-site .nav-cta{display:none;}
  .vrx-site .nav-burger{display:flex;}
}
@media (max-width:560px){
  .vrx-site .wrap{padding:0 20px;}
  .vrx-site .hero h1 .hl{white-space:normal;}
  .vrx-site .form-grid{grid-template-columns:1fr;}
  .vrx-site .ref-stats{grid-template-columns:1fr 1fr;}
  .vrx-site .cta-left{padding:40px 26px;}
  .vrx-site .foot{grid-template-columns:1fr 1fr;gap:36px 24px;padding:48px 24px 40px;}
  .vrx-site .foot .about{grid-column:1 / -1;max-width:none;margin-bottom:4px;}
  .vrx-site .foot ul{gap:16px;}
  .vrx-site .foot-bottom{padding:26px 24px 40px;row-gap:14px;}
  .vrx-site .foot-eula{margin-top:10px;line-height:1.6;}
}

/* Mobile : au lieu d'une pile de "boîtes", on fait défiler horizontalement
   (Capabilities + Use cases) et on file les étapes sur une timeline verticale. */
@media (max-width:640px){
  /* --- Carrousel (swipe horizontal, aperçu de la carte suivante) --- */
  .vrx-site .feat-grid,
  .vrx-site .uc-grid,
  .vrx-site .steps{
    display:flex;
    grid-template-columns:none;
    overflow-x:auto;
    gap:14px;
    margin:32px -20px 0;
    padding:2px 20px 18px;
    scroll-snap-type:x mandatory;
    scroll-padding-left:20px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .vrx-site .feat-grid::-webkit-scrollbar,
  .vrx-site .uc-grid::-webkit-scrollbar,
  .vrx-site .steps::-webkit-scrollbar{display:none;}
  .vrx-site .feat{flex:0 0 82%;scroll-snap-align:start;}
  .vrx-site .step{flex:0 0 82%;scroll-snap-align:start;}
  .vrx-site .uc{flex:0 0 86%;scroll-snap-align:start;height:auto;}
  /* ordre constant image-haut / texte-bas pour toutes les cartes (sinon alignement "déconstruit") */
  .vrx-site .uc:nth-child(odd) .uc-visual,
  .vrx-site .uc:nth-child(even) .uc-visual{order:1;}
  .vrx-site .uc:nth-child(odd) .uc-body,
  .vrx-site .uc:nth-child(even) .uc-body{order:2;padding:22px 22px 24px;}
  .vrx-site .uc:nth-child(odd) .uc-visual .ph,
  .vrx-site .uc:nth-child(even) .uc-visual .ph{border:0;border-radius:0;aspect-ratio:16/9;height:auto;min-height:0;}
}

/* Points de position + indice de swipe (visibles seulement en carrousel mobile) */
.vrx-site .carousel-nav{display:none;}
@media (max-width:640px){
  .vrx-site .carousel-nav{display:flex;flex-direction:column;align-items:center;gap:11px;margin-top:4px;}
  .vrx-site .carousel-dots{display:flex;gap:8px;}
  .vrx-site .carousel-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:var(--line);cursor:pointer;transition:background .2s ease, transform .2s ease;}
  .vrx-site .carousel-dot.is-active{background:var(--accent);transform:scale(1.2);}
}

/* ==========================================================================
   Sous-pages du microsite (template-content.php) — chrome + the_content()
   Utilisé par : /education/vrexplorer/changelog/, futures pages docs, etc.
   ========================================================================== */
.vrx-site-inner{background:var(--bg-soft);}
/* Sur les sous-pages : pas de hero sombre, le header doit être clair d'office
   (fond blanc translucide + texte noir/bleu) au lieu du blanc-sur-transparent. */
.vrx-site-inner .vrx-header{background:rgba(255,255,255,.85);backdrop-filter:saturate(180%) blur(14px);border-bottom:1px solid var(--line-2);}
.vrx-site-inner .vrx-header .brand{color:var(--ink);}
.vrx-site-inner .vrx-header .brand b{color:var(--accent-ink);}
.vrx-site-inner .vrx-header .nav-links a{color:var(--ink-2);}
.vrx-site-inner .vrx-header .nav-links a:hover{color:var(--ink);}
.vrx-site-inner .vrx-header .nav-burger span{background:var(--ink);}
.vrx-site-inner .vrx-inner{padding:56px 0 80px;}
.vrx-site-inner .vrx-inner .wrap{max-width:920px;}
.vrx-site-inner .vrx-inner-head{margin:0 0 28px;}
.vrx-site-inner .vrx-inner-title{
  font-family:'Space Grotesk',sans-serif;font-size:44px;font-weight:700;
  letter-spacing:-.02em;line-height:1.05;color:var(--ink);margin:0;
}
.vrx-site-inner .vrx-inner-body{color:var(--ink-2);font-size:16px;line-height:1.65;}
.vrx-site-inner .vrx-inner-body > *:first-child{margin-top:0;}
.vrx-site-inner .vrx-inner-body > *:last-child{margin-bottom:0;}
/* Le shortcode [vrexplorer_changelog] a ses styles scopés .vrx-changelog — on
   les laisse tranquilles ; ici on gère juste le fond et l'espacement autour. */

@media (max-width:640px){
  /* Compaction mobile : contenu plus proche du header, marges resserrées,
     titre plus modeste — laisse plus de place à la timeline du changelog. */
  .vrx-site-inner .vrx-inner{padding:22px 0 44px;}
  /* Padding asymétrique : bord droit quasi collé (6px), gauche plus généreux
     (18px) pour donner de l'air à la ligne verticale de la timeline. */
  .vrx-site-inner .vrx-inner .wrap{padding:0 6px 0 18px;}
  .vrx-site-inner .vrx-inner-head{margin:0 0 14px;}
  .vrx-site-inner .vrx-inner-title{font-size:26px;letter-spacing:-.02em;}
}

/* ==========================================================================
   Modale « Request a demo / Report an issue » (sous-pages du microsite)
   ========================================================================== */
.vrx-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding:6vh 20px 40px;visibility:hidden;opacity:0;transition:opacity .22s ease, visibility .22s ease;overflow-y:auto;}
.vrx-modal.open{visibility:visible;opacity:1;}
.vrx-modal-backdrop{position:fixed;inset:0;background:rgba(6,10,20,.55);backdrop-filter:blur(2px);}
.vrx-modal-panel{position:relative;background:#fff;color:var(--ink);border-radius:18px;padding:32px 32px 28px;max-width:640px;width:100%;box-shadow:var(--shadow-lg);z-index:1;transform:translateY(8px);transition:transform .25s cubic-bezier(.4,0,.2,1);}
.vrx-modal.open .vrx-modal-panel{transform:translateY(0);}
/* Le thème parent (organic-stax) applique des règles fortes sur button:hover
   qui peuvent notamment repasser position en static, ajouter du padding, etc.
   On verrouille toutes les propriétés de LAYOUT avec !important, tout en
   laissant les couleurs libres pour permettre la transition au hover. */
.vrx-modal-close,
.vrx-modal-close:hover,
.vrx-modal-close:focus,
.vrx-modal-close:active,
.vrx-modal-close:focus-visible{
  position:absolute !important;top:14px !important;right:14px !important;
  width:38px !important;height:38px !important;
  min-width:0 !important;max-width:none !important;
  min-height:0 !important;max-height:none !important;
  padding:0 !important;margin:0 !important;
  border:0 !important;border-radius:10px !important;
  display:grid !important;place-items:center !important;
  box-sizing:border-box !important;line-height:1 !important;
  transform:none !important;box-shadow:none !important;
  outline:none !important;
  cursor:pointer;
  transition:background .15s ease, color .15s ease;
}
.vrx-modal-close{background:transparent;color:var(--ink-3);}
.vrx-modal-close:hover{background:var(--bg-mute);color:var(--ink);}
.vrx-modal-close:focus-visible{box-shadow:0 0 0 2px var(--accent) !important;}
.vrx-modal-close svg{width:20px !important;height:20px !important;display:block;}
.vrx-modal-title{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:24px;letter-spacing:-.01em;margin:0 40px 6px 0;color:var(--ink);}
.vrx-modal-sub{color:var(--ink-3);margin:0 0 22px;font-size:14px;}
body.vrx-modal-open{overflow:hidden;}
@media (max-width:640px){
  .vrx-modal{padding:4vh 12px 24px;}
  .vrx-modal-panel{padding:24px 20px 20px;border-radius:14px;}
  .vrx-modal-title{font-size:20px;}
}

/* ==========================================================================
   Section « Stay updated » (changelog + newsletter) — home vrexplorer
   Placée entre la bande CTA finale et le footer. Fond gris clair pour
   trancher avec la CTA sombre au-dessus et le footer sombre en dessous.
   Deux actions SECONDAIRES (le CTA « Request a demo » au-dessus reste primaire).
   ========================================================================== */
.vrx-site .stay-updated{padding:56px 0;background:var(--bg-mute);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);}
.vrx-site .stay-updated .wrap{text-align:center;max-width:680px;}
.vrx-site .stay-updated h2{font-size:26px;margin-top:10px;}
.vrx-site .stay-updated p{font-size:15.5px;color:var(--ink-2);margin-top:12px;}
.vrx-site .su-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:26px;}
.vrx-site .su-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:265px;font-family:'Space Grotesk',sans-serif;font-size:14.5px;font-weight:600;color:var(--accent-ink);background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 20px;transition:border-color .15s, background .15s;}
.vrx-site .su-btn:hover{border-color:var(--accent);background:var(--accent-soft);}
.vrx-site .su-ico{width:17px;height:17px;flex:none;color:var(--accent-ink);}
@media (max-width:640px){
  .vrx-site .stay-updated{padding:40px 0;}
  .vrx-site .stay-updated h2{font-size:22px;}
  .vrx-site .su-actions{flex-direction:column;align-items:stretch;}
  .vrx-site .su-btn{min-width:0;}
}

/* ==========================================================================
   Écran de succès CF7 (remplace le formulaire après envoi)
   ========================================================================== */
.vrx-site .vrx-form-success{text-align:center;padding:28px 20px 12px;animation:vrxSuccessFade .35s ease-out;}
.vrx-site .vrx-form-success .icon{width:64px;height:64px;border-radius:50%;background:rgba(37,99,235,.10);color:var(--accent);display:grid;place-items:center;margin:0 auto 16px;}
.vrx-site .vrx-form-success .icon svg{width:32px;height:32px;}
.vrx-site .vrx-form-success h3{font-family:'Space Grotesk',sans-serif;font-size:22px;font-weight:700;letter-spacing:-.01em;margin:0 0 8px;color:var(--ink);}
.vrx-site .vrx-form-success p{font-size:14.5px;color:var(--ink-2);margin:0 auto;max-width:380px;line-height:1.55;}
@keyframes vrxSuccessFade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* ==========================================================================
   CF7 : override du thème parent (organic-stax force les inputs en sombre).
   On verrouille background/color/border/padding avec !important pour tenir
   à travers les règles input/textarea/submit du thème et les classes CF7.
   ========================================================================== */
.vrx-site .field .wpcf7-form-control-wrap{display:block;width:100%;}
.vrx-site .field input.wpcf7-form-control,
.vrx-site .field textarea.wpcf7-form-control,
.vrx-site .field select.wpcf7-form-control,
.vrx-site .field input[type="text"],
.vrx-site .field input[type="email"],
.vrx-site .field input[type="url"],
.vrx-site .field input[type="tel"],
.vrx-site .field input[type="number"],
.vrx-site .field textarea,
.vrx-site .field select{
  background:var(--bg-soft) !important;color:var(--ink) !important;
  border:1px solid var(--line) !important;border-radius:10px !important;
  padding:11px 13px !important;
  font-family:'Sora',sans-serif !important;font-size:14px !important;line-height:1.4 !important;
  width:100% !important;box-shadow:none !important;
  -webkit-appearance:none;appearance:none;
  transition:border-color .15s, background .15s;
}
.vrx-site .field textarea,
.vrx-site .field textarea.wpcf7-form-control{resize:vertical;min-height:62px;}
.vrx-site .field input:focus,
.vrx-site .field textarea:focus,
.vrx-site .field select:focus{
  background:#fff !important;border-color:var(--accent) !important;outline:none !important;
}
.vrx-site .field ::placeholder{color:var(--ink-3);opacity:1;}
.vrx-site .field select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23697287' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;background-position:right 13px center !important;
  padding-right:34px !important;
}
/* Bouton submit CF7 : force le look .btn.btn-primary du site. */
.vrx-site .form-foot input[type="submit"],
.vrx-site .form-foot input[type="submit"].wpcf7-submit,
.vrx-site .form-foot button[type="submit"]{
  background:var(--accent) !important;color:#fff !important;
  border:1px solid transparent !important;border-radius:11px !important;
  padding:13px 22px !important;
  font-family:'Space Grotesk',sans-serif !important;font-weight:500 !important;font-size:15px !important;
  text-transform:none !important;letter-spacing:0 !important;
  cursor:pointer !important;width:100% !important;
  box-shadow:0 1px 2px rgba(37,99,235,.25), 0 10px 22px -10px rgba(37,99,235,.6) !important;
  transition:background .2s ease, transform .15s ease !important;
}
.vrx-site .form-foot input[type="submit"]:hover,
.vrx-site .form-foot input[type="submit"].wpcf7-submit:hover,
.vrx-site .form-foot button[type="submit"]:hover{
  background:var(--accent-ink) !important;transform:translateY(-1px);
}
/* Spinner ajax CF7 : cache-le à sa place par défaut, il est peu utile. */
.vrx-site .form-foot .wpcf7-spinner{display:none;}
/* Messages de réponse natifs CF7 : discrets, hébergés dans le flux du form. */
.vrx-site .wpcf7-response-output{border-radius:8px;font-family:'Sora',sans-serif;font-size:13.5px;margin:14px 0 0 !important;padding:10px 14px !important;}
