/* Compléments au design de la maquette : emplacements d'images, bandeau
   cookies, notifications du formulaire, page 404. */

.img-slot{position:relative;width:100%;height:100%;min-height:inherit;overflow:hidden;display:flex;align-items:center;justify-content:center;
  background:repeating-linear-gradient(135deg,rgba(108,43,217,.06) 0 12px,rgba(108,43,217,.11) 12px 24px);color:rgba(14,11,22,.5);
  font:500 12px/1.4 'JetBrains Mono',monospace;text-align:center;padding:12px}
.img-slot.has-img{padding:0;background:none}
.img-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

/* ---------- Bandeau cookies ---------- */
.ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;max-width:560px;margin-left:auto;
  background:#0E0B16;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:22px;padding:22px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.6);font-family:'Instrument Sans',system-ui,sans-serif;
  transform:translateY(30px);opacity:0;transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .4s}
.ck.show{transform:none;opacity:1}
.ck h3{margin:0 0 8px;font:800 22px/1.1 'Bricolage Grotesque',sans-serif;letter-spacing:-.02em;display:flex;gap:10px;align-items:center}
.ck p{margin:0 0 16px;font-size:14px;line-height:1.55;color:rgba(255,255,255,.72)}
.ck p a{color:#D4F570}
.ck-btns{display:flex;gap:8px;flex-wrap:wrap}
.ck button{font:inherit;font-size:14px;font-weight:700;border-radius:999px;padding:12px 18px;cursor:pointer;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;transition:all .2s}
.ck button:hover{border-color:#fff}
.ck .ck-ok{background:#D4F570;border-color:#D4F570;color:#0E0B16}
.ck .ck-ok:hover{background:#E4FF8A}
.ck-prefs{display:none;flex-direction:column;gap:10px;margin:0 0 16px}
.ck.custom .ck-prefs{display:flex}
.ck-row{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;padding:12px 14px;border-radius:14px;background:#17131F;border:1px solid rgba(255,255,255,.08)}
.ck-row b{display:block;font-size:14px}
.ck-row small{color:rgba(255,255,255,.6);font-size:12.5px;line-height:1.45}
.ck-sw{flex:0 0 auto;width:44px;height:26px;border-radius:99px;background:#3A3446;position:relative;cursor:pointer;border:0;padding:0}
.ck-sw::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .25s}
.ck-sw[aria-checked=true]{background:#6C2BD9}
.ck-sw[aria-checked=true]::after{transform:translateX(18px)}
.ck-sw[disabled]{opacity:.55;cursor:not-allowed}

/* ---------- Notifications ---------- */
.toast{position:fixed;left:50%;bottom:24px;z-index:210;transform:translate(-50%,20px);opacity:0;transition:all .35s cubic-bezier(.2,.8,.2,1);
  background:#F43F5E;color:#fff;padding:13px 20px;border-radius:999px;font:600 14px 'Instrument Sans',sans-serif;box-shadow:0 20px 50px -15px rgba(0,0,0,.5);max-width:calc(100% - 32px);text-align:center}
.toast.show{transform:translate(-50%,0);opacity:1}
.f-err{border-color:#F43F5E !important}
.hp{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
.legal-mini{font-size:12px;line-height:1.5;color:rgba(255,255,255,.5);margin:2px 0 0}
.legal-mini a{color:rgba(255,255,255,.75);text-decoration:underline}

/* ---------- 404 ---------- */
.page-404{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#0E0B16;color:#fff;font-family:'Instrument Sans',sans-serif;text-align:center;margin:0}
.page-404 h1{font:800 clamp(90px,20vw,220px)/.9 'Bricolage Grotesque',sans-serif;letter-spacing:-.06em;margin:30px 0 10px;
  background:linear-gradient(120deg,#B79CFF,#D4F570);-webkit-background-clip:text;background-clip:text;color:transparent}
.page-404 p{color:rgba(255,255,255,.7);font-size:18px;margin:0 0 28px}
.btn-lime{display:inline-block;padding:15px 24px;border-radius:999px;background:#D4F570;color:#0E0B16;font-weight:700;text-decoration:none}

/* En-tête mobile : la maquette déborde sous 480 px (bouton menu coupé). */
@media (max-width:480px){
  header a[href^="/contact"][data-magnetic]{padding:10px 12px 10px 14px !important;font-size:13.5px !important;gap:8px !important}
  header a[href="/"][data-magnetic] img[alt="intensiti"]{height:17px !important}
  header a[href="/"][data-magnetic] img[alt=""]{height:21px !important}
  header > div{padding-left:14px !important;gap:8px !important}
}
@media (max-width:360px){header a[href="/"][data-magnetic] img[alt="intensiti"]{display:none !important}}
@media (max-width:600px){.ck{left:10px;right:10px;bottom:10px;padding:16px;border-radius:18px}.ck h3{font-size:18px}.ck p{font-size:13px;margin-bottom:12px}
  .ck button{padding:10px 12px;font-size:13px;flex:1}.ck .ck-ok{flex-basis:100%}}
@media (prefers-reduced-motion: reduce){.ck,.toast{transition:none}}

/* Fonctionnalités : alternance texte / vidéo, empilé sur mobile (texte d'abord) */
/* Vidéo = 2/3, texte = 1/3 ; une ligne sur deux, la vidéo passe à gauche */
.feat-row{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.feat-row.rev{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}
.feat-row.rev .feat-txt{order:2}
@media (max-width:960px){.feat-row,.feat-row.rev{grid-template-columns:1fr}.feat-row .feat-txt,.feat-row.rev .feat-txt{order:0}.feat-row{padding:40px 0 !important;gap:28px !important}}

/* ---------- Pied de page animé ---------- */
.ft-blob{position:absolute;border-radius:50%;filter:blur(10px);pointer-events:none;opacity:.55}
.ft-blob-a{width:620px;height:620px;left:-220px;bottom:-260px;background:radial-gradient(circle,rgba(108,43,217,.55),transparent 65%);animation:ftFloat 14s ease-in-out infinite alternate}
.ft-blob-b{width:520px;height:520px;right:-160px;top:220px;background:radial-gradient(circle,rgba(212,245,112,.16),transparent 65%);animation:ftFloat 18s ease-in-out infinite alternate-reverse}
@keyframes ftFloat{to{transform:translate(120px,-80px) scale(1.15)}}
.ft-cta{animation:ftShine 8s ease-in-out infinite}
@keyframes ftShine{50%{background-position:100% 0}}
.ft-live{width:9px;height:9px;border-radius:50%;background:#D4F570;box-shadow:0 0 0 0 rgba(212,245,112,.7);animation:ftPulse 1.6s infinite}
@keyframes ftPulse{70%{box-shadow:0 0 0 10px rgba(212,245,112,0)}}
.ft-track{display:inline-flex;animation:ftMarq 38s linear infinite}
.ft-marquee:hover .ft-track{animation-play-state:paused}
@keyframes ftMarq{to{transform:translateX(-50%)}}
.ft-giant{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;letter-spacing:-.06em;line-height:.8;font-size:clamp(90px,22vw,330px);text-align:center;user-select:none;
  background:linear-gradient(100deg,rgba(255,255,255,.06) 20%,rgba(183,156,255,.55) 40%,rgba(212,245,112,.5) 50%,rgba(255,255,255,.06) 70%);background-size:250% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:ftGiant 9s linear infinite;margin-bottom:-.12em}
@keyframes ftGiant{from{background-position:150% 0}to{background-position:-100% 0}}
.ft-top:hover{transform:translateY(-3px)}
@media (prefers-reduced-motion:reduce){.ft-blob,.ft-cta,.ft-live,.ft-track,.ft-giant{animation:none}}
