/* Démo de la refonte — Demare AI. Charte du site actuel : violet / bleu / ciel / cyan sur nuit, Space Grotesk + Inter. */
:root{
  --violet:#7C3AED; --blue:#2563EB; --sky:#0EA5E9; --cyan:#38E1FF;
  --night:#070B16; --night-2:#05080F; --text:#EAF2FF; --muted:#8A9BB8;
  --grad:linear-gradient(120deg,var(--violet),var(--blue) 45%,var(--sky) 80%,var(--cyan));
  --font-title:"Space Grotesk",system-ui,sans-serif; --font-body:"Inter",system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;overflow:hidden;background:var(--night);color:var(--text);font-family:var(--font-body)}
button{font:inherit;color:inherit;cursor:pointer}

/* ---------- scène 3D ---------- */
#stage{position:fixed;inset:0;perspective:900px;perspective-origin:50% 46%;overflow:hidden;
  background:radial-gradient(ellipse 55% 60% at 50% 46%,rgba(37,99,235,.30),rgba(124,58,237,.10) 45%,transparent 70%),var(--night-2)}
#cam{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d;will-change:transform}
#world{position:absolute;left:0;top:0;width:0;height:0;transform-style:preserve-3d;will-change:transform}
#world>*{position:absolute;left:0;top:0;transform-origin:0 0;backface-visibility:visible}
.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,transparent 55%,rgba(5,8,15,.75) 100%)}

/* murs, sol, plafond */
.wall{background:
  linear-gradient(0deg,rgba(56,225,255,.55) 0 2px,transparent 2px),
  linear-gradient(0deg,rgba(7,11,22,.9) 0 78px,transparent 78px),
  repeating-linear-gradient(90deg,rgba(138,155,184,.09) 0 2px,transparent 2px 360px),
  linear-gradient(180deg,#14214a 0%,#0e1a38 55%,#0a1226 100%)}
.wall::after{content:"";position:absolute;left:0;right:0;top:42%;height:2px;background:linear-gradient(90deg,transparent,rgba(124,58,237,.55),rgba(56,225,255,.55),transparent);box-shadow:0 0 14px rgba(56,225,255,.45)}
.floor{background:
  linear-gradient(90deg,transparent calc(50% - 1px),rgba(56,225,255,.55) calc(50% - 1px) calc(50% + 1px),transparent calc(50% + 1px)),
  linear-gradient(90deg,transparent calc(50% - 70px),rgba(56,225,255,.06) calc(50% - 70px) calc(50% + 70px),transparent calc(50% + 70px)),
  linear-gradient(rgba(138,155,184,.10) 1px,transparent 1px) 0 0/100% 120px,
  linear-gradient(90deg,rgba(138,155,184,.07) 1px,transparent 1px) 0 0/120px 100%,
  linear-gradient(90deg,#0a1226,#0c1730 50%,#0a1226)}
.ceil{background:
  linear-gradient(90deg,transparent calc(50% - 150px),rgba(124,58,237,.18) calc(50% - 150px) calc(50% + 150px),transparent calc(50% + 150px)),
  linear-gradient(90deg,transparent calc(50% - 46px),#eaf9ff calc(50% - 46px) calc(50% + 46px),transparent calc(50% + 46px)),
  linear-gradient(90deg,#060a14,#0a1124 50%,#060a14)}
.ceil::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(50% - 130px),rgba(190,240,255,.28) 50%,transparent calc(50% + 130px));filter:blur(14px)}
.rib{border:2px solid rgba(56,225,255,.20);border-radius:6px;box-shadow:inset 0 0 40px rgba(37,99,235,.18),0 0 24px rgba(56,225,255,.10);pointer-events:none}
.wallnum{font:700 230px/1 var(--font-title);color:transparent;-webkit-text-stroke:2px rgba(56,225,255,.28);letter-spacing:-.04em;display:flex;align-items:center;justify-content:center;pointer-events:none;text-shadow:0 0 40px rgba(56,225,255,.12)}
.pool{background:radial-gradient(closest-side,rgba(56,225,255,.32),rgba(124,58,237,.10) 55%,transparent);pointer-events:none}
.cable{width:3px;background:linear-gradient(180deg,#3a4866,#7a8aa8);box-shadow:0 0 6px rgba(138,155,184,.5);pointer-events:none}

/* écrans suspendus */
.screen{width:480px;height:300px;cursor:pointer;
  transform:translate3d(var(--x),var(--y),var(--z)) rotateY(var(--a)) translate(-50%,-50%);
  transition:transform .45s var(--ease),filter .35s;filter:brightness(.88) saturate(1.05)}
.screen:hover,.screen:focus-visible{transform:translate3d(var(--x),var(--y),calc(var(--z) + 46px)) rotateY(calc(var(--a) * .35)) translate(-50%,-50%);filter:brightness(1.18) saturate(1.15);outline:none}
.screen .frame{position:absolute;inset:0;border-radius:14px;padding:9px;background:linear-gradient(145deg,#2a3654,#0f172b 60%,#1c2745);
  box-shadow:0 0 0 1px rgba(138,155,184,.35),0 0 38px rgba(56,225,255,.32),0 0 120px rgba(37,99,235,.28)}
.screen:hover .frame{box-shadow:0 0 0 1px rgba(56,225,255,.9),0 0 50px rgba(56,225,255,.65),0 0 150px rgba(124,58,237,.5)}
.screen .display{position:relative;width:100%;height:100%;border-radius:8px;overflow:hidden;background:#070d1c;color:var(--text)}
.screen .glass{position:absolute;inset:0;border-radius:8px;background:linear-gradient(115deg,rgba(255,255,255,.14),rgba(255,255,255,0) 38%);pointer-events:none}
.screen .label{position:absolute;left:0;right:0;top:100%;margin-top:18px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:12px 16px;border-radius:12px;
  background:rgba(8,13,28,.88);border:1px solid rgba(138,155,184,.28);box-shadow:0 10px 30px rgba(0,0,0,.4)}
.screen .label b{font:700 21px/1.1 var(--font-title);letter-spacing:-.01em}
.screen .label span{font-size:13px;color:var(--muted);flex:1 1 100%}
.screen .label i{font:600 13px var(--font-body);font-style:normal;color:var(--cyan);margin-left:auto}
.screen .label i::after{content:" →"}

/* armoire */
.cab{cursor:pointer;transition:filter .3s}
.cab:hover{filter:brightness(1.25)}
.cab-front{background:linear-gradient(160deg,#1b2744,#0d1529 70%);border:2px solid rgba(138,155,184,.35);border-radius:6px;padding:14px;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:10px;box-shadow:inset 0 0 40px rgba(37,99,235,.14),0 0 40px rgba(56,225,255,.12)}
.cab-front .dr{position:relative;border-radius:5px;background:linear-gradient(180deg,#223052,#111a31);border:1px solid rgba(138,155,184,.30);padding:10px 12px;display:flex;flex-direction:column;justify-content:flex-end;font:600 15px var(--font-title);color:var(--text)}
.cab-front .dr::before{content:"";position:absolute;left:50%;top:12px;width:38px;height:5px;margin-left:-19px;border-radius:3px;background:linear-gradient(90deg,var(--cyan),var(--sky));box-shadow:0 0 8px var(--cyan)}
.cab-front .dr small{display:block;font:400 11px var(--font-body);color:var(--muted);margin-top:2px}
.cab-front .ttl{grid-column:1/-1;font:700 21px var(--font-title);padding:2px 2px 6px;color:var(--text)}
.cab-front .ttl small{display:block;font:400 12px var(--font-body);color:var(--cyan);margin-top:2px}
.cab-side{background:linear-gradient(90deg,#0b1224,#18233f);border:1px solid rgba(138,155,184,.3)}

/* mur du fond : bureau */
.endwall{background:linear-gradient(180deg,#101a36,#080d1b);border:2px solid rgba(56,225,255,.25);box-shadow:inset 0 0 90px rgba(124,58,237,.22);display:flex;flex-direction:column;align-items:center;padding:34px 40px 0;text-align:center}
.endwall h2{margin:6px 0 10px;font:700 46px/1.05 var(--font-title);letter-spacing:-.02em}
.endwall h2 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.endwall p{margin:0 0 6px;color:var(--muted);font-size:17px;max-width:640px;line-height:1.45}
.endwall .priceline{font:700 24px/1.3 var(--font-title);color:var(--text);margin:8px 0 4px}
.endwall .priceline em{font-style:normal;color:var(--cyan)}
.endwall .tag{font:600 13px var(--font-title);letter-spacing:.18em;text-transform:uppercase;color:var(--cyan)}
.btns{display:flex;gap:14px;margin-top:16px;flex-wrap:wrap;justify-content:center}
.btn{border:0;border-radius:999px;padding:13px 24px;font:700 16px var(--font-title);background:var(--grad);color:#fff;box-shadow:0 8px 30px rgba(37,99,235,.45);transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 38px rgba(56,225,255,.45)}
.btn.ghost{background:transparent;border:1.5px solid rgba(138,155,184,.55);box-shadow:none}
.desk-top{background:linear-gradient(180deg,#223156,#101a33);border:1px solid rgba(56,225,255,.3);box-shadow:0 0 40px rgba(56,225,255,.12)}
.desk-front{background:linear-gradient(180deg,#0f1830,#080d1b);border:1px solid rgba(138,155,184,.25)}
.lamp{background:radial-gradient(closest-side,rgba(255,226,160,.55),rgba(255,226,160,.08) 60%,transparent);pointer-events:none}

/* ---------- maquettes d'écrans (données fictives) ---------- */
.ui{position:absolute;inset:0;padding:14px 16px;font-size:12px;display:flex;flex-direction:column;gap:9px;background:linear-gradient(160deg,#0c1530,#070d1c)}
.ui .bar{display:flex;align-items:center;gap:8px;font:700 13px var(--font-title)}
.ui .bar i{width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
.ui .bar small{margin-left:auto;font:500 10px var(--font-body);color:var(--muted)}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.kpi{border:1px solid rgba(138,155,184,.22);border-radius:9px;padding:8px 9px;background:rgba(255,255,255,.035)}
.kpi b{display:block;font:700 21px var(--font-title);letter-spacing:-.02em}
.kpi span{font-size:10px;color:var(--muted)}
.kpi.a b{color:var(--cyan)} .kpi.b b{color:#a78bfa} .kpi.c b{color:#34d399}
.chart{flex:1;display:flex;align-items:flex-end;gap:7px;padding:6px 4px 0;border-top:1px solid rgba(138,155,184,.15)}
.chart i{flex:1;border-radius:4px 4px 0 0;background:linear-gradient(180deg,var(--cyan),var(--blue) 60%,var(--violet))}
.rows{display:flex;flex-direction:column;gap:6px}
.row{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid rgba(138,155,184,.16);font-size:11.5px}
.row em{font-style:normal;margin-left:auto;color:var(--muted);font-size:10.5px}
.row .ok{color:#34d399;font-weight:700} .row .wait{color:#fbbf24;font-weight:700}
.pill{display:inline-block;border-radius:999px;padding:3px 9px;font-size:10.5px;font-weight:600;background:rgba(56,225,255,.12);border:1px solid rgba(56,225,255,.4);color:var(--cyan)}
.split{display:grid;grid-template-columns:1fr 24px 1.2fr;gap:6px;align-items:center;flex:1}
.paper{background:#f2f5fb;color:#26314d;border-radius:5px;padding:9px;height:100%;font-size:9px;display:flex;flex-direction:column;gap:5px;box-shadow:0 8px 20px rgba(0,0,0,.4)}
.paper b{font-size:10.5px}.paper i{display:block;height:5px;background:#c9d2e6;border-radius:3px}
.paper i:nth-child(odd){width:80%}.paper .tot{margin-top:auto;display:flex;justify-content:space-between;font-weight:700}
.arrow{font:700 20px var(--font-title);color:var(--cyan);text-align:center}
.sum{border:1px solid rgba(56,225,255,.4);background:rgba(56,225,255,.07);border-radius:9px;padding:9px 10px;height:100%;display:flex;flex-direction:column;gap:5px;font-size:11px}
.sum .pill{align-self:flex-start}
.sum u{text-decoration:none;color:var(--muted)}
.flow{display:flex;align-items:center;justify-content:space-between;gap:6px;flex:1}
.step{flex:1;text-align:center;border:1px solid rgba(138,155,184,.22);border-radius:10px;padding:12px 4px;background:rgba(255,255,255,.04)}
.step big{display:block;font-size:26px;margin-bottom:4px}
.step b{display:block;font:700 12px var(--font-title)}
.step span{font-size:10px;color:var(--muted)}
.chips{display:flex;flex-wrap:wrap;gap:8px;align-content:flex-start;margin-top:4px}
.chips span{border-radius:999px;padding:8px 14px;font:600 14px var(--font-title);border:1px solid rgba(56,225,255,.45);background:rgba(56,225,255,.09)}
.chips span:nth-child(3n+2){border-color:rgba(167,139,250,.55);background:rgba(124,58,237,.14)}
.ui p{margin:0;color:var(--muted);line-height:1.45;font-size:12.5px}
.ui h3{margin:0;font:700 20px/1.15 var(--font-title)}
.ui h3 em{font-style:normal;color:var(--cyan)}
.hero-woodrock{position:absolute;inset:0;background:url(../assets/woodrock-vitrine.png) 100% 0/200% 200% no-repeat}
.hero-woodrock::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,11,22,.65),transparent 45%)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex:1}
.two .col{border:1px solid rgba(138,155,184,.22);border-radius:10px;padding:10px;background:rgba(255,255,255,.035);display:flex;flex-direction:column;gap:5px}
.two .col b{font:700 14px var(--font-title);color:var(--cyan)}
.two .col span{font-size:11px;color:var(--muted);line-height:1.4}

/* ---------- interface ---------- */
.hud{position:fixed;left:0;right:0;top:0;display:flex;justify-content:space-between;align-items:center;padding:18px 26px;z-index:5;pointer-events:none}
.hud>*{pointer-events:auto}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font:600 22px var(--font-title);letter-spacing:-.01em}
.brand b{color:var(--cyan)}
.chip{border:1px solid rgba(138,155,184,.45);background:rgba(8,13,28,.6);backdrop-filter:blur(8px);border-radius:999px;padding:9px 16px;font:600 13px var(--font-body);transition:border-color .2s,background .2s}
.chip:hover{border-color:var(--cyan);background:rgba(56,225,255,.12)}
.room-title{position:fixed;left:50%;top:13%;width:min(900px,92vw);transform:translate(-50%,10px);text-align:center;z-index:4;pointer-events:none;opacity:0;transition:opacity .8s,transform .8s var(--ease)}
.room-title.show{opacity:1;transform:translate(-50%,0)}
.room-title small{display:block;font:600 13px var(--font-title);letter-spacing:.3em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px}
.room-title h1{margin:0;font:700 clamp(30px,4.2vw,58px)/1.04 var(--font-title);letter-spacing:-.03em;text-shadow:0 0 50px rgba(37,99,235,.7)}
.room-title h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.room-title p{margin:14px auto 0;max-width:620px;color:#c4d2ea;font-size:clamp(14px,1.5vw,18px);line-height:1.5}
.hint{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;z-index:4;padding:10px 18px;border-radius:999px;background:rgba(8,13,28,.65);border:1px solid rgba(138,155,184,.25);backdrop-filter:blur(8px);font-size:13px;color:var(--muted);transition:opacity .6s;pointer-events:none;white-space:nowrap}
.hint.hide{opacity:0}
.mouse{width:16px;height:25px;border:1.5px solid var(--cyan);border-radius:9px;position:relative;flex:none}
.mouse i{position:absolute;left:50%;top:4px;width:2px;height:5px;margin-left:-1px;background:var(--cyan);border-radius:2px;animation:wheel 1.4s infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}100%{transform:translateY(9px);opacity:0}}
.depth{position:fixed;right:26px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px;z-index:4;padding:10px 0}
.depth::before{content:"";position:absolute;right:4px;top:0;bottom:0;width:1px;background:rgba(138,155,184,.3)}
.depth button{position:relative;border:0;background:none;padding:0;width:10px;height:10px;display:block;margin-left:auto}
.depth button::before{content:"";position:absolute;right:0;top:0;width:9px;height:9px;border-radius:50%;background:#16213d;border:1.5px solid rgba(138,155,184,.7);transition:.3s}
.depth button.on::before{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 12px var(--cyan);transform:scale(1.35)}
.depth button span{position:absolute;right:22px;top:50%;transform:translateY(-50%);white-space:nowrap;font-size:12px;color:var(--muted);opacity:0;transition:opacity .25s;pointer-events:none}
.depth button:hover span,.depth button.on span{opacity:1}
.depth button.on span{color:var(--text)}
.back{position:fixed;left:26px;bottom:26px;z-index:5}
.back{border:1px solid rgba(138,155,184,.45);background:rgba(8,13,28,.7);backdrop-filter:blur(8px);border-radius:999px;padding:11px 18px;font:600 14px var(--font-body)}
.back:hover{border-color:var(--cyan)}
.fade{position:fixed;inset:0;z-index:8;pointer-events:none;opacity:0;transition:opacity .55s ease;background:radial-gradient(circle at 50% 50%,#1b3a7a,#070B16 70%)}
.fade.on{opacity:1;pointer-events:auto}
.toast{position:fixed;left:50%;bottom:84px;transform:translate(-50%,16px);z-index:9;background:rgba(8,13,28,.92);border:1px solid rgba(56,225,255,.5);border-radius:14px;padding:13px 20px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .35s,transform .35s var(--ease);max-width:min(560px,90vw);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}
.simple{position:fixed;inset:0;z-index:20;background:var(--night);overflow:auto}
.simple-in{max-width:760px;margin:0 auto;padding:40px 22px 60px}
.simple h1{font:700 42px var(--font-title);margin:30px 0 10px}
.simple .lead{font-size:19px;line-height:1.55;color:#c4d2ea}
.simple .price{font:700 24px/1.3 var(--font-title);color:var(--cyan)}
.simple li{margin:10px 0;line-height:1.5}
.simple .cta{display:inline-block;padding:13px 24px;border-radius:999px;background:var(--grad);color:#fff;font:700 16px var(--font-title);text-decoration:none}
.simple[hidden]{display:none}

@media (max-width:700px){
  .hud{padding:14px 16px}.depth{right:10px}.depth button span{display:none}
  .hint{font-size:12px;white-space:normal;text-align:left;width:calc(100% - 32px);bottom:16px}
  .back{bottom:74px;left:16px}
}
@media (prefers-reduced-motion:reduce){.screen,.fade,.room-title{transition:none}.mouse i{animation:none}}
