/* Neon checkbox - portée globale (public) */
.neon-checkbox{ --primary:#00ffaa; --primary-dark:#00cc88; --primary-light:#88ffdd; --cb-off: rgba(255,255,255,.18); --size:22px; position:relative; width:var(--size); height:var(--size); cursor:pointer; -webkit-tap-highlight-color:transparent; display:inline-flex; }
.neon-checkbox input{ display:none; }
.neon-checkbox__frame{ position:relative; width:100%; height:100%; }
.neon-checkbox__box{ position:absolute; inset:0; background:rgba(0,0,0,.6); border-radius:4px; border:2px solid var(--cb-off); transition:all .4s ease; }
.neon-checkbox__check-container{ position:absolute; inset:2px; display:flex; align-items:center; justify-content:center; }
.neon-checkbox__check{ width:80%; height:80%; fill:none; stroke:var(--primary); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:40; stroke-dashoffset:40; transform-origin:center; transition:all .4s cubic-bezier(.16,1,.3,1); }
.neon-checkbox__glow{ position:absolute; inset:-2px; border-radius:6px; background:var(--primary); opacity:0; filter:blur(8px); transform:scale(1.2); transition:all .4s ease; }
.neon-checkbox__borders{ position:absolute; inset:0; border-radius:4px; overflow:hidden; }
.neon-checkbox__borders span{ position:absolute; width:40px; height:1px; background:var(--primary); opacity:0; transition:opacity .4s ease; }
.neon-checkbox__borders span:nth-child(1){ top:0; left:-100%; animation:borderFlow1 2s linear infinite; }
.neon-checkbox__borders span:nth-child(2){ top:-100%; right:0; width:1px; height:40px; animation:borderFlow2 2s linear infinite; }
.neon-checkbox__borders span:nth-child(3){ bottom:0; right:-100%; animation:borderFlow3 2s linear infinite; }
.neon-checkbox__borders span:nth-child(4){ bottom:-100%; left:0; width:1px; height:40px; animation:borderFlow4 2s linear infinite; }
.neon-checkbox__particles span{ position:absolute; width:4px; height:4px; background:var(--primary); border-radius:50%; opacity:0; pointer-events:none; top:50%; left:50%; box-shadow:0 0 6px var(--primary); }
.neon-checkbox__rings{ position:absolute; inset:-20px; pointer-events:none; }
.neon-checkbox__rings .ring{ position:absolute; inset:0; border-radius:50%; border:1px solid var(--primary); opacity:0; transform:scale(0); }
.neon-checkbox__sparks span{ position:absolute; width:20px; height:1px; background:linear-gradient(90deg, var(--primary), transparent); opacity:0; }
.neon-checkbox:hover .neon-checkbox__box{ border-color:var(--primary); transform:scale(1.05); }
.neon-checkbox input:checked ~ .neon-checkbox__frame .neon-checkbox__box{ border-color:var(--primary); background:rgba(0,255,170,.1); }
.neon-checkbox input:checked ~ .neon-checkbox__frame .neon-checkbox__check{ stroke-dashoffset:0; transform:scale(1.1); }
.neon-checkbox input:checked ~ .neon-checkbox__frame .neon-checkbox__glow{ opacity:.2; }
.neon-checkbox input:checked ~ .neon-checkbox__frame .neon-checkbox__borders span{ opacity:1; }
.neon-checkbox input:checked ~ .neon-checkbox__frame .neon-checkbox__particles span{ animation:particleExplosion .6s ease-out forwards; }
.neon-checkbox input:checked ~ .neon-checkbox__frame .neon-checkbox__rings .ring{ animation:ringPulse .6s ease-out forwards; }
.neon-checkbox input:checked ~ .neon-checkbox__frame .neon-checkbox__sparks span{ animation:sparkFlash .6s ease-out forwards; }
/* Axcav Links - public styles */
:root { --bg:#0c0c0d; --text:#f2f2f3; --muted:#b9bbc6; --accent:#ffb703; --card:#151518; --ring:rgba(255,255,255,0.1); }
* { box-sizing:border-box; }
html, body { margin:0; padding:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; background: var(--bg-gradient, radial-gradient(1200px 600px at 15% 20%, #1b1b1f 0, #0c0c0d 50%)), #0c0c0d; color:var(--text); }

/* Fond: animation légère des halos + particules floues dégradées */
body::before, body::after{ content:""; position:fixed; inset:0; pointer-events:none; z-index:-1; }
/* halos animés très doux */
body::before{ background:
  radial-gradient(800px 400px at 15% 20%, rgba(255,255,255,.02), transparent 60%),
  radial-gradient(600px 320px at 85% 75%, rgba(255,255,255,.018), transparent 60%);
  animation: bgDrift 20s ease-in-out infinite alternate; filter:blur(0.5px);
}
/* particules floues (bokeh) */
body::after{
  --p1: rgba(255,255,255,.06);
  --p2: rgba(255,255,255,.04);
  background:
    radial-gradient(60px 60px at 12% 28%, var(--p1), transparent 60%),
    radial-gradient(90px 90px at 78% 18%, var(--p2), transparent 60%),
    radial-gradient(72px 72px at 64% 84%, var(--p2), transparent 60%),
    radial-gradient(54px 54px at 28% 72%, var(--p1), transparent 60%);
  filter: blur(18px) saturate(120%);
  animation: bokehFloat 26s ease-in-out infinite alternate;
  mix-blend-mode: screen;
}
@keyframes bgDrift{ from{ transform: translate3d(0,0,0) } to { transform: translate3d(0,-10px,0) } }
@keyframes bokehFloat{ from{ transform: translate3d(0,0,0) } to { transform: translate3d(0,10px,0) } }

/* Linktree centered layout */
.lt-page { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:32px 16px; }
.lt-card { position:relative; width:100%; max-width:560px; background: linear-gradient(180deg, rgba(25,26,32,.65), rgba(14,15,20,.6)); backdrop-filter: blur(14px) saturate(120%); -webkit-backdrop-filter: blur(14px) saturate(120%); border:1px solid rgba(255,255,255,0.12); border-radius:22px; padding:28px 20px 24px; box-shadow: 0 40px 80px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06); text-align:center; overflow:hidden; clip-path: inset(0 round 22px); isolation:isolate; }
.lt-avatar { width:96px; height:96px; border-radius:50%; object-fit:contain; background:#0f0f12; border:1px solid var(--ring); box-shadow: 0 6px 18px rgba(0,0,0,.4); }
.lt-title { margin:14px 0 6px; font-size:28px; letter-spacing:.3px; }
.lt-hero{ margin:8px 0 6px; display:flex; flex-direction:column; gap:6px; align-items:center; }
.lt-hero-title{ font-size: clamp(18px, 2.6vw, 24px); font-weight:500; letter-spacing:.2px; padding:0; background: transparent; border:0; box-shadow:none; }
.lt-hero-sub{ font-size:13px; color:var(--muted); font-weight:500; padding:0; background: transparent; border:0; box-shadow:none; opacity:.9; margin-bottom:12px; }
.lt-bio { margin:0 0 18px; color:var(--muted); }
.lt-links { display:grid; gap:12px; margin-top:10px; }
.lt-link { position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 18px; border-radius:16px; text-decoration:none; color:var(--text); background:linear-gradient(180deg, rgba(32,33,40,.8), rgba(20,21,28,.8)); border:1px solid rgba(255,255,255,0.10); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 22px rgba(0,0,0,.35); transition: transform .06s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease; font-weight:600; letter-spacing:.2px; min-height:66px; --link-glow: rgba(255,255,255,.14); }
.lt-link .lt-label { flex:1; text-align:left; display:flex; flex-direction:column; gap:4px; }
.lt-link .lt-label .lt-title{ line-height:1.2; }
.lt-link .lt-label .lt-sub{ font-weight:500; color:var(--muted); font-size:14px; opacity:.9; }
.lt-link .lt-right { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:10px; background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
.lt-link .emoji { display:none; }
.lt-link .lt-icon { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:10px; background: rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
.lt-link .lt-icon svg { display:block; }
.lt-link .lt-icon:empty{ display:none; }
.lt-link .lt-icon.lt-emoji{ font-size:18px; line-height:1; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.12); }
.lt-link .lt-icon.lt-svg img{ display:block; width:20px; height:20px; object-fit:contain; filter: drop-shadow(0 2px 6px rgba(0,0,0,.35)); }
.lt-link:hover { transform:translateY(-1px); border-color: rgba(255,255,255,0.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 14px 30px rgba(0,0,0,.45), 0 0 18px color-mix(in srgb, var(--link-glow, rgba(255,255,255,.14)) 80%, transparent); }
.lt-link:active { transform: translateY(0); filter: brightness(.98); }
.lt-link::before { content:none; }
.lt-link.highlight { background: linear-gradient(180deg, color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 18%, transparent), color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 8%, transparent)); border-color: color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 45%, transparent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 25%, transparent) inset, 0 10px 22px color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 22%, transparent), 0 8px 18px rgba(0,0,0,.38); }
.lt-link.highlight:hover { box-shadow: 0 0 0 2px color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 35%, transparent) inset, 0 14px 30px color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 28%, transparent), 0 10px 22px rgba(0,0,0,.5); }
.lt-link.highlight::after { content:""; position:absolute; inset:-1px; border-radius:16px; background: conic-gradient(from 0deg, rgba(255,255,255,.0), rgba(255,255,255,.35), rgba(255,255,255,.0)); filter: blur(10px); opacity:.35; animation: rotateGlow 3.5s linear infinite; pointer-events:none; }
@keyframes rotateGlow { to { transform: rotate(360deg); } }

/* Highlight styles variants */
.lt-link.hl-gradient { background: linear-gradient(135deg, color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 22%, transparent), rgba(255,255,255,0.06)); border-color: color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 55%, transparent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 26%, transparent) inset, 0 12px 28px color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) .24*100%, transparent), 0 10px 22px rgba(0,0,0,.45); --link-glow: color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 55%, transparent); }
.lt-link.hl-gradient::before { background: linear-gradient(90deg, rgba(255,255,255,.12), rgba(255,255,255,0), rgba(255,255,255,.12)); }
.lt-link.hl-gradient::after { content:""; position:absolute; inset:-1px; border-radius:16px; background: conic-gradient(from 0deg, rgba(255,255,255,.0), rgba(255,255,255,.4), rgba(255,255,255,.0)); filter: blur(12px); opacity:.5; animation: rotateGlow 2.8s linear infinite; pointer-events:none; }

.lt-link.hl-neon { background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02)); border-color: rgba(255,255,255,0.22); box-shadow: 0 0 10px color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 35%, transparent), 0 0 18px color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 20%, transparent), inset 0 0 0 1px rgba(255,255,255,.08); --link-glow: color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 55%, transparent); }
.lt-link.hl-neon:hover { box-shadow: 0 0 14px color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 50%, transparent), 0 0 28px color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 26%, transparent), inset 0 0 0 1px rgba(255,255,255,.12); }
.lt-link.hl-neon::before { background: linear-gradient(90deg, rgba(255,255,255,.14), rgba(255,255,255,.02), rgba(255,255,255,.14)); }

.lt-link.hl-outline { background: linear-gradient(180deg, rgba(32,33,40,.82), rgba(20,21,28,.82)); box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 45%, transparent), 0 0 0 1px rgba(255,255,255,.08); --link-glow: color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 55%, transparent); }
.lt-link.hl-outline::after { content:""; position:absolute; inset:-1px; border-radius:16px; background: radial-gradient(120% 120% at 50% 50%, color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 25%, transparent), color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 0%, transparent)); opacity:.6; animation: pulseOutline 1.8s ease-in-out infinite; }
@keyframes pulseOutline { 0%, 100% { opacity:.45 } 50% { opacity:.9 } }

.lt-link.hl-pulse { background: linear-gradient(180deg, rgba(32,33,40,.82), rgba(20,21,28,.82)); box-shadow: inset 0 0 0 2px var(--pulse-color, var(--hl-theme-tint, var(--accent))); position:relative; --link-glow: color-mix(in srgb, var(--pulse-color, var(--hl-theme-tint, var(--accent))) 100%, transparent); }
.lt-link.hl-pulse::before { content:""; position:absolute; inset:0; border-radius:16px; box-shadow: 0 0 0 0 var(--pulse-color, var(--hl-theme-tint, var(--accent))); animation:pulseRing 1.8s ease-out infinite; }
@keyframes pulseRing { 0%{ box-shadow:0 0 0 0 var(--pulse-color, var(--hl-theme-tint, var(--accent))); opacity:.9 } 70%{ box-shadow:0 0 0 14px rgba(0,0,0,0); opacity:.4 } 100%{ box-shadow:0 0 0 0 rgba(0,0,0,0); opacity:0 } }

/* Indigo glass button (style demandé) */
.lt-link.hl-indigo { position:relative; overflow:hidden; border:2px solid color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 50%, transparent); border-radius:16px; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); --link-glow: color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 55%, transparent);
  background: radial-gradient(120% 120% at 20% 0%, color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 28%, transparent), color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 0%, transparent) 40%),
              linear-gradient(135deg, rgba(26,26,40,.85), rgba(12,12,20,.9));
  box-shadow: 0 20px 50px color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 24%, transparent), inset 0 1px 0 rgba(255,255,255,.06);
}
.lt-link.highlight.hl-indigo { box-shadow: 0 20px 50px color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 24%, transparent), inset 0 1px 0 rgba(255,255,255,.06); border-color: color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 50%, transparent); background: radial-gradient(120% 120% at 20% 0%, color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 28%, transparent), color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 0%, transparent) 40%), linear-gradient(135deg, rgba(26,26,40,.85), rgba(12,12,20,.9)); }
.lt-link.hl-indigo::before { content:""; position:absolute; inset:0; border-radius:inherit;
  background: linear-gradient(90deg, color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 0%, transparent), color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 28%, transparent), color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 0%, transparent));
  pointer-events:none; opacity:.45; }
.lt-link.hl-indigo::after { content:""; position:absolute; inset:0; border-radius:inherit;
  background: linear-gradient(180deg, color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 18%, transparent), color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 0%, transparent)); opacity:.35; }
/* neutraliser l’overlay ambre du style highlight générique */
.lt-link.highlight.hl-indigo::after { display:none; }
.lt-link.highlight.hl-indigo:hover { box-shadow: 0 22px 54px color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 35%, transparent), inset 0 1px 0 rgba(255,255,255,.08); border-color: color-mix(in srgb, var(--hl-tint, var(--hl-theme-tint, var(--accent))) 60%, transparent); }

.lt-link.fx-confetti { overflow: hidden; }
.lt-confetti { position:absolute; inset:0; pointer-events:none; }
.lt-confetti i { position:absolute; font-size:18px; opacity:0; filter: drop-shadow(0 6px 12px rgba(255,183,3,.6)); text-shadow: 0 0 10px rgba(255,255,255,.6); will-change: transform, opacity; }
@keyframes popEmoji { 0% { transform: translate3d(var(--dx,0), var(--dy,0), 0) scale(.8) rotate(var(--rot,0)); opacity: 0 } 20% { opacity:1 } 100% { transform: translate3d(calc(var(--dx,0) * 1.15), calc(var(--dy,0) * 1.2), 0) scale(1.06) rotate(var(--rot,0)); opacity: 0 } }
.lt-footer { margin-top:18px; color:var(--muted); font-size:12px; }
.social-links { display:flex; justify-content:center; gap:12px; margin-bottom:10px; }
.social-link.pulse::before{ content:""; position:absolute; right:-2px; top:-2px; width:10px; height:10px; border-radius:9999px; background: var(--social-bg, rgba(255,255,255,.28)); box-shadow:0 0 14px color-mix(in srgb, var(--social-bg, rgba(255,255,255,.28)) 85%, transparent); }
.social-link.pulse::after{ content:""; position:absolute; inset:0; border-radius:12px; box-shadow:0 0 0 0 color-mix(in srgb, var(--social-glow, var(--social-bg)) 55%, transparent); animation: socialPulse 2.2s ease-out infinite; }
@keyframes socialPulse { 0%{ box-shadow:0 0 0 0 color-mix(in srgb, var(--pulse-color, var(--social-glow, var(--social-bg))) 70%, transparent); opacity:.9 } 60%{ box-shadow:0 0 0 12px color-mix(in srgb, var(--pulse-color, var(--social-glow, var(--social-bg))) 0%, transparent); opacity:.5 } 100%{ box-shadow:0 0 0 0 transparent; opacity:.9 } }
.social-link { width:42px; height:42px; border-radius:12px; display:flex; align-items:center; justify-content:center; color: var(--social-ink, var(--text)); background: var(--social-bg, #2b2f3a); border:1px solid color-mix(in srgb, var(--social-bg, #2b2f3a) 60%, #ffffff22); box-shadow: 0 10px 26px rgba(0,0,0,.22), 0 0 10px color-mix(in srgb, var(--social-glow, #999) 40%, transparent), inset 0 1px 0 rgba(255,255,255,.06); transition: transform .08s ease, box-shadow .22s ease, border-color .22s ease, filter .2s ease; position:relative; will-change: transform, box-shadow; }
/* Couleurs par défaut des pastilles selon la plateforme */
.social-link.social-tiktok{ --social-bg: linear-gradient(135deg, rgba(255,0,80,.92), rgba(0,242,234,.88)); }
.social-link.social-facebook{ --social-bg: rgba(24,119,242,.92); }
.social-link.social-linkedin{ --social-bg: rgba(10,102,194,.92); }
.social-link.social-instagram{ --social-bg: radial-gradient(100% 100% at 0% 0%, rgba(225,48,108,.92), rgba(131,58,180,.88)); }
.social-link.social-whatsapp{ --social-bg: rgba(37,211,102,.92); }
.social-link.social-telegram{ --social-bg: rgba(0,136,204,.92); }
.social-link.social-zoom{ --social-bg: rgba(0,70,188,.92); }
.social-link.social-youtube{ --social-bg: rgba(255,0,0,.92); }
.social-link.social-x, .social-link.social-twitter{ --social-bg: rgba(255,255,255,.96); color:#111; }
.social-link:hover { transform: translateY(-1px) scale(1.02); box-shadow: 0 14px 30px rgba(0,0,0,.32), 0 0 18px color-mix(in srgb, var(--social-glow, #999) 60%, transparent); background: var(--social-bg); border-color: color-mix(in srgb, var(--social-bg) 78%, #ffffff33); filter: saturate(1.06) brightness(1.03); }
.social-link svg { display:block; }
/* Lisibilité sur fonds clairs */
.social-link.social-x, .social-link.social-twitter { --social-ink:#111; }
.social-link.social-snapchat { --social-ink:#111; }
/* Brand hovers */
.social-link.social-linkedin:hover { background: rgba(10,102,194,.96); border-color: rgba(10,102,194,.55); }
.social-link.social-instagram:hover { background: radial-gradient(100% 100% at 0% 0%, rgba(225,48,108,.96), rgba(131,58,180,.92)); border-color: rgba(225,48,108,.55); }
.social-link.social-youtube:hover { background: rgba(255,0,0,.96); border-color: rgba(255,0,0,.55); }
.social-link.social-whatsapp:hover { background: rgba(37,211,102,.96); border-color: rgba(37,211,102,.55); }
.social-link.social-tiktok:hover { background: linear-gradient(135deg, rgba(255,0,80,.96), rgba(0,242,234,.92)); border-color: rgba(255,255,255,.3); }
.social-link.social-x:hover { background: rgba(255,255,255,.98); border-color: rgba(255,255,255,.6); color:#111; }
.social-link.social-facebook:hover { background: rgba(24,119,242,.96); border-color: rgba(24,119,242,.55); }
.social-link.social-telegram:hover { background: rgba(0,136,204,.96); border-color: rgba(0,136,204,.55); }
.social-link.social-snapchat:hover { background: rgba(255,252,0,.98); border-color: rgba(255,252,0,.6); color:#111; }
.social-link.social-spotify:hover { background: rgba(30,215,96,.96); border-color: rgba(30,215,96,.55); }
.social-link.social-discord:hover { background: rgba(88,101,242,.96); border-color: rgba(88,101,242,.55); }
.social-link.social-slack:hover { background: rgba(224,30,90,.96); border-color: rgba(224,30,90,.55); }
.social-link.social-zoom:hover { background: rgba(0,118,255,.96); border-color: rgba(0,118,255,.55); }
.social-link.social-skype:hover { background: rgba(0,175,240,.96); border-color: rgba(0,175,240,.55); }
.social-link.social-reddit:hover { background: rgba(255,69,0,.96); border-color: rgba(255,69,0,.55); }
.social-link.social-twitch:hover { background: rgba(145,70,255,.96); border-color: rgba(145,70,255,.55); }
.social-link:focus-visible { outline:none; box-shadow: 0 0 0 2px rgba(255,255,255,.18) inset, 0 0 0 3px var(--accent), 0 12px 30px rgba(0,0,0,.35); }
.lt-link:focus-visible { outline:none; box-shadow: 0 0 0 2px rgba(255,255,255,.12) inset, 0 0 0 3px var(--accent), 0 22px 54px rgba(0,0,0,.5); }

/* Lead form under link */
.lead-form { margin-top:10px; padding:14px; background: linear-gradient(180deg, rgba(28,29,36,.65), rgba(16,18,24,.55)); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border:1px solid rgba(255,255,255,.14); border-radius:16px; box-shadow: 0 10px 24px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.06); overflow:hidden; }
.lead-form .lead-row { display:grid; grid-template-columns: 1fr 1fr auto; gap:12px; align-items:center; }
.lead-form input { background:linear-gradient(180deg, rgba(18,19,24,.95), rgba(14,16,22,.95)); color:var(--text); border:1px solid rgba(255,255,255,.14); border-radius:14px; padding:12px 14px; outline:none; box-shadow: inset 0 1px 0 rgba(255,255,255,.06); transition: border-color .2s ease, box-shadow .2s ease, transform .08s ease; }
.lead-form input::placeholder { color: rgba(255,255,255,.45); }
.lead-form input:focus { border-color: rgba(255,255,255,.28); box-shadow: 0 0 0 2px rgba(255,255,255,.08) inset, 0 6px 22px rgba(0,0,0,.35); transform: translateY(-1px); }
.lead-form button { position:relative; background: var(--cta-bg, radial-gradient(120% 120% at 0% 0%, #ffd166 0, #ffb703 40%, #ff7b00 100%)); color: var(--cta-text, #1a1200); border:none; padding:12px 16px; font-weight:900; border-radius:14px; cursor:pointer; box-shadow: var(--cta-shadow, 0 14px 36px rgba(255,183,3,.35)); border:1px solid var(--cta-border, rgba(255,255,255,.18)); transition: transform .12s cubic-bezier(.2,.8,.3,1), box-shadow .25s ease; height:48px; overflow:hidden; }
.lead-form button::after { content:""; position:absolute; inset:-6px; border-radius:18px; pointer-events:none; background: conic-gradient(from 0deg, rgba(255,255,255,0), var(--cta-membrane1, rgba(255,238,180,.45)), var(--cta-membrane2, rgba(255,170,60,.28)), var(--cta-membrane1, rgba(255,238,180,.45)), rgba(255,255,255,0)); filter: blur(10px) saturate(110%); -webkit-mask: radial-gradient(circle at 50% 50%, transparent 64%, #000 66%); mask: radial-gradient(circle at 50% 50%, transparent 64%, #000 66%); animation: spinMembrane 4.2s linear infinite; opacity:.75; }
.lead-form button:hover::after { animation-duration: 3.2s; }
.lead-form button:hover { transform: translateY(-1px); box-shadow: var(--cta-shadow-hover, 0 20px 48px rgba(255,183,3,.45)); }
.lead-form button:active { transform: translateY(0); }
.lead-form button.is-loading{ opacity:.85; cursor:wait; }
.lead-form button .btn-spinner{ width:16px; height:16px; border-radius:50%; border:2px solid rgba(0,0,0,.12); border-top-color: rgba(0,0,0,.45); margin-left:8px; animation: spin 1s linear infinite; }
@keyframes spin{ to { transform: rotate(360deg) } }
@keyframes spinMembrane { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce){ .lead-form button::after{ animation: none; opacity:.6 } }
.lead-form button:hover { transform: translateY(-1px); box-shadow: var(--cta-shadow-hover, 0 20px 48px rgba(255,183,3,.45)); }
.lead-form .lead-feedback { margin-top:8px; font-size:12px; color:var(--muted); min-height:16px; }

/* Bulle d'erreur au-dessus des champs */
.input-bubble-error{ position:absolute; bottom:calc(100% + 6px); left:12px; background:#ff4d4d; color:#fff; font-size:12px; padding:6px 8px; border-radius:8px; box-shadow:0 8px 20px rgba(0,0,0,.35); }
.input-bubble-error::after{ content:""; position:absolute; top:100%; left:12px; border:6px solid transparent; border-top-color:#ff4d4d; }

@media (max-width:760px){ .lead-form .lead-row{ grid-template-columns:1fr; } .lead-form button{ width:100%; } }

/* Input group with leading icon (inspiré de single.html) */
.lead-form .input-group { position:relative; display:grid; grid-template-columns: 40px 1fr; align-items:center; background:linear-gradient(180deg, rgba(18,19,24,.95), rgba(14,16,22,.95)); border:1px solid rgba(255,255,255,.14); border-radius:14px; box-shadow: inset 0 1px 0 rgba(255,255,255,.06); transition: border-color .2s ease, box-shadow .2s ease, transform .08s ease; padding:6px; overflow:hidden; }
.lead-form .input-group:focus-within { border-color: rgba(255,255,255,.28); box-shadow: 0 0 0 2px rgba(255,255,255,.08) inset, 0 6px 22px rgba(0,0,0,.35); transform: translateY(-1px); }
.lead-form .input-group .input-icon { display:flex; align-items:center; justify-content:center; width:36px; height:36px; color:var(--muted); background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02)); border:0; border-radius:10px; box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
.lead-form .input-group .input-icon svg { opacity:.9; }
.lead-form .input-group .input-field { min-width:0; background:transparent; border:0; color:var(--text); padding:10px 12px; font-size:14px; height:36px; }
.lead-form .input-group .input-field:focus { outline:none; }
.lead-form .input-group::after { content:""; position:absolute; left:46px; top:8px; bottom:8px; width:1px; background:rgba(255,255,255,.08); border-radius:1px; pointer-events:none; }
.lead-form .input-group .input-field::placeholder{ color: rgba(255,255,255,.55); }

/* Autofill / browser-specific clean style */
.lead-form .input-field:-webkit-autofill,
.lead-form .input-field:-webkit-autofill:hover,
.lead-form .input-field:-webkit-autofill:focus{ -webkit-text-fill-color: var(--text); transition: background-color 5000s ease-in-out 0s; }

/* Masquer les overlays d’auto-remplissage intrusifs (ex: extensions navigateur) */
.lt-card [data-dashlanecreated],
.lead-form [data-dashlanecreated] { display:none !important; }

/* Calendly modal */
.calendly-modal { position: fixed; inset: 0; display:none; align-items: center; justify-content: center; background: rgba(0,0,0,.55); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); z-index: 40; }
.calendly-modal.open { display:flex; animation: fadeIn .18s ease; }
.calendly-card { width: min(90vw, 720px); height: min(85vh, 720px); background: rgba(20,21,28,.8); border: 1px solid rgba(255,255,255,.12); border-radius: 18px; overflow: hidden; box-shadow: 0 24px 80px rgba(0,0,0,.65), inset 0 1px 0 rgba(255,255,255,.06); transform: translateY(8px); animation: popIn .18s ease forwards; }
.calendly-card header { display:flex; align-items:center; justify-content:space-between; padding:10px 12px; border-bottom:1px solid rgba(255,255,255,.08); }
.calendly-card header .title { font-weight:600; letter-spacing:.3px; }
.calendly-card header .close { appearance:none; background:transparent; color:var(--text); border:0; padding:6px 10px; border-radius:8px; cursor:pointer; }
.calendly-iframe { width:100%; height: calc(100% - 46px); border:0; }

@keyframes fadeIn { from { opacity: 0 } to { opacity: 1 } }
@keyframes popIn { from { transform: translateY(10px); opacity:.9 } to { transform: translateY(0); opacity:1 } }

/* Old homepage styles (kept in case) */
.container { max-width:960px; margin:0 auto; padding:32px 16px 64px; }
.header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.brand { display:flex; align-items:center; gap:12px; font-weight:700; letter-spacing:.5px; }
.brand img { height:28px; width:auto; filter: drop-shadow(0 1px 0 rgba(0,0,0,.2)); }
.hero { padding:48px 0 24px; }
.hero h1 { font-size: clamp(36px, 6vw, 72px); line-height:1.05; margin:0 0 16px; letter-spacing:.5px; }
.hero p { margin:0; color:var(--muted); font-size: clamp(14px, 2.2vw, 18px); }
.links { margin-top:32px; display:grid; gap:14px; }
.link { display:flex; align-items:center; gap:14px; background:linear-gradient(180deg, #1a1a1e, #131316); border:1px solid var(--ring); border-radius:14px; padding:16px 18px; text-decoration:none; color:var(--text); transition: transform .06s ease, box-shadow .2s ease; box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 30px rgba(0,0,0,.35); }
.link .emoji { font-size:20px; }
.link:hover { transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 16px 40px rgba(0,0,0,.45); }
.cta { display:inline-block; padding:12px 18px; border-radius:12px; background: radial-gradient(120% 120% at 0% 0%, #ffd166 0, #ffb703 40%, #ff7b00 100%); color:#1a1200; font-weight:700; text-decoration:none; box-shadow: 0 8px 28px rgba(255, 176, 3, .35); border:1px solid rgba(255,255,255,.25); }
.footer { margin-top:48px; color:var(--muted); font-size:13px; }
.phones { position:relative; height:320px; margin-top:20px; opacity:.9; filter:saturate(.95) contrast(1.05); }
.phone { position:absolute; width:160px; height:320px; background:#000; border-radius:36px; border:2px solid #2b2b2f; box-shadow: inset 0 0 0 2px #0f0f12, 0 30px 60px rgba(0,0,0,.6); overflow:hidden; }
.phone:nth-child(1){ left:60%; top:-30px; transform:rotate(6deg); }
.phone:nth-child(2){ left:75%; top:30px; transform:rotate(-8deg); }
.phone:nth-child(3){ left:85%; top:140px; transform:rotate(10deg); }
.phone video, .phone img { width:100%; height:100%; object-fit:cover; opacity:.85; }
@media (max-width:900px){ .phones{ display:none; } }

/* Sidepanel (réglages rapides) */
.lt-side-edge{ position:fixed; left:0; top:0; bottom:0; width:12px; z-index:1000; background:transparent; }
.lt-sidepanel{ position:fixed; left:0; top:0; bottom:0; width:280px; transform: translateX(-100%); transition: transform .25s cubic-bezier(.2,.8,.3,1); z-index:1001; display:flex; flex-direction:column; background: linear-gradient(180deg, rgba(25,26,32,.86), rgba(14,15,20,.86)); backdrop-filter: blur(12px) saturate(120%); -webkit-backdrop-filter: blur(12px) saturate(120%); border-right:1px solid rgba(255,255,255,.12); border-left:0; border-radius:0 12px 12px 0; box-shadow: 0 14px 46px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06); max-height: 100vh; overflow:hidden; }
.lt-sidepanel.peek{ transform: translateX(calc(-100% + 16px)); }
.lt-sidepanel.open{ transform: translateX(0); }
.lt-sidepanel header{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border-bottom:1px solid rgba(255,255,255,.10); }
.lt-sidepanel .sp-title{ font-weight:700; letter-spacing:.3px; }
.lt-sidepanel .sp-toggle, .lt-sidepanel .sp-pin{ appearance:none; background:transparent; border:1px solid rgba(255,255,255,.18); color:var(--text); padding:6px 10px; border-radius:8px; cursor:pointer; }
.lt-sidepanel .sp-pin[aria-pressed="true"]{ background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.28); }
.lt-sidepanel .sp-body{ padding:10px 12px 12px; overflow:auto; display:flex; flex-direction:column; gap:10px; }
.lt-sidepanel .sp-field{ display:flex; flex-direction:column; gap:6px; }
.lt-sidepanel .sp-field label{ font-size:12px; color:var(--muted); }
.lt-sidepanel select, .lt-sidepanel textarea{ background:linear-gradient(180deg, rgba(18,19,24,.95), rgba(14,16,22,.95)); color:var(--text); border:1px solid rgba(255,255,255,.14); border-radius:12px; padding:10px 12px; outline:none; box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
.lt-sidepanel select:focus, .lt-sidepanel textarea:focus{ border-color: rgba(255,255,255,.28); box-shadow: 0 0 0 2px rgba(255,255,255,.08) inset, 0 6px 22px rgba(0,0,0,.35); }
.lt-sidepanel textarea{ min-height:100px; resize:vertical; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size:12px; }
.lt-sidepanel .sp-actions{ display:flex; gap:8px; align-items:center; }
.lt-sidepanel .sp-actions button{ height:32px; padding:6px 10px; border-radius:10px; border:1px solid rgba(255,255,255,.18); color:#1a1200; background: radial-gradient(120% 120% at 0% 0%, #ffd166 0, #ffb703 40%, #ff7b00 100%); font-weight:700; cursor:pointer; box-shadow: 0 8px 24px rgba(255,183,3,.28); }
.lt-sidepanel .sp-actions button.secondary{ background: linear-gradient(180deg, rgba(32,33,40,.85), rgba(20,21,28,.85)); color:var(--text); box-shadow:none; }

/* Thème clair (toggle JS via html[data-theme="light"]) */
html[data-theme="light"]{ --text:#0c0d12; --muted:#475569; --ring: rgba(0,0,0,.12); }
html[data-theme="light"] .lt-card{ background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,255,.96)); border:1px solid rgba(0,0,0,.08); }
html[data-theme="light"] .lt-link{ color: var(--text); background: linear-gradient(180deg, rgba(255,255,255,.99), rgba(245,247,252,.98)); border:1px solid rgba(0,0,0,.10); }
html[data-theme="light"] .lt-link .lt-icon, html[data-theme="light"] .lt-link .lt-right{ background: rgba(0,0,0,.04); border:1px solid rgba(0,0,0,.06); }
html[data-theme="light"] body::before{ background: radial-gradient(900px 440px at 18% 20%, rgba(0,0,0,.03), transparent 60%), radial-gradient(700px 360px at 86% 78%, rgba(0,0,0,.025), transparent 60%); filter: blur(1px); }
html[data-theme="light"] body::after{ --p1: rgba(0,0,0,.06); --p2: rgba(0,0,0,.04); mix-blend-mode: multiply; }
html[data-theme="light"] .lt-sidepanel{ background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(245,247,252,.95)); border-right:1px solid rgba(0,0,0,.08); border-left:0; }
html[data-theme="light"] .lt-sidepanel select, html[data-theme="light"] .lt-sidepanel textarea{ background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,247,252,.98)); border:1px solid rgba(0,0,0,.10); color:#0c0d12; }

/* Pinned state: la page se décale pour rester hors prévisualisation */
.panel-pinned .lt-page{ margin-left: 0; }
.panel-pinned .lt-side-edge{ display:none; }
@media (max-width: 760px){ .panel-pinned .lt-page{ margin-left: 0; } }

/* Modernisation formulaire de capture (2025-10) */
.lead-form{
	--form-bg1: rgba(28,30,38,.72);
	--form-bg2: rgba(12,14,20,.62);
	--form-border: rgba(255,255,255,.16);
	--form-ring: color-mix(in srgb, var(--accent) 36%, transparent);
	--form-ring-strong: color-mix(in srgb, var(--accent) 58%, transparent);
}
.lead-form .lead-row{
	gap:12px;
}
.lead-form .input-group{
	background: linear-gradient(180deg, rgba(16,18,24,.96), rgba(12,14,20,.96));
	border:1px solid rgba(255,255,255,.12);
	border-radius:14px;
	transition: border-color .2s ease, box-shadow .25s ease, transform .08s ease, background .3s ease;
}
.lead-form .input-group:focus-within{
	border-color: var(--form-ring-strong);
	box-shadow: 0 0 0 3px var(--form-ring), 0 10px 28px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06);
	transform: translateY(-1px);
}
.lead-form .input-group .input-icon{
	color: color-mix(in srgb, #ffffff 76%, var(--muted));
	transition: transform .15s ease, color .2s ease, background .2s ease;
}
.lead-form .input-group:focus-within .input-icon{
	background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 20%, transparent), rgba(255,255,255,.04));
	color:#fff;
	transform: scale(1.06);
}
.lead-form .input-group .input-field{
	height:40px;
}
.lead-form input{
	border-radius:14px;
}
.lead-form button{
	height:50px;
	border-radius:14px;
	filter: saturate(110%);
}
.lead-form button:focus-visible{
	outline:none;
	box-shadow: 0 0 0 3px var(--form-ring), 0 18px 44px rgba(0,0,0,.55);
}
@media (max-width:760px){
	.lead-form{ padding:12px; }
	.lead-form .lead-row{ gap:10px; }
}
