/* ========== VARIABLES ========== */
:root {
  --bg: #0f1724;
  --card: #0b1220;
  --accent: #eda113;
  --muted: #9aa5b1;
  --glass: rgba(255,255,255,0.04);
}

/* ========== GLOBAL ========== */
*{box-sizing:border-box;margin:0;padding:0}
html, body{height:100%;font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial;color:#e6eef6;background:var(--bg);-webkit-font-smoothing:antialiased}
.container{max-width:1100px;margin:0 auto;padding:0 20px}

/* ========== HEADER & NAV ========== */
header{display:flex;align-items:center;justify-content:space-between;padding:12px 0;position:relative;z-index:1000}
.brand{display:flex;align-items:center;gap:12px}
.logo img{width:52px;height:52px;border-radius:10px;object-fit:cover}
.brand-name{font-weight:800;color:#fff;font-size:20px}
nav.main-nav a{color:var(--muted);text-decoration:none;margin-left:18px;font-weight:600}
nav.main-nav a:hover{color:var(--accent)}

/* MOBILE MENU */
.mobile-menu-btn{display:none;flex-direction:column;justify-content:space-between;width:28px;height:22px;cursor:pointer;z-index:1002}
.mobile-menu-btn span{display:block;height:3px;width:100%;background:var(--accent);border-radius:2px;transition:0.3s}
.mobile-menu{position:fixed;top:0;right:-100%;width:70%;max-width:320px;height:100%;background:var(--bg);display:flex;flex-direction:column;padding:60px 20px;gap:20px;transition:0.4s ease;z-index:1001}
.mobile-menu a{color:#fff;font-weight:700;font-size:18px;text-decoration:none;transition:0.3s}
.mobile-menu a:hover{color:var(--accent)}
.mobile-menu.open{right:0}
.mobile-menu-btn.open span:nth-child(1){transform: rotate(45deg) translate(5px,5px);}
.mobile-menu-btn.open span:nth-child(2){opacity:0;}
.mobile-menu-btn.open span:nth-child(3){transform: rotate(-45deg) translate(5px,-5px);}

/* ========== HERO ========== */
.hero{padding:36px 0;text-align:center}
.hero h1{font-size:34px;color:#fff;margin-bottom:12px}
.hero p{margin-bottom:18px;color:var(--muted);line-height:1.5}

/* ========== BUTTONS ========== */
.btn{background:var(--accent);color:#042024;padding:12px 16px;border-radius:10px;font-weight:700;border:none;cursor:pointer;transition:0.3s}
.btn:hover{opacity:0.85}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--muted)}

/* ========== CARDS ========== */
.card{background:linear-gradient(180deg, rgba(0,184,148,0.08), rgba(11,18,32,0.25));padding:18px;border-radius:12px;box-shadow:0 8px 25px rgba(0,184,148,0.3);border:1px solid rgba(0,184,148,0.3);color:#e6eef6;transition:transform 0.3s,box-shadow 0.3s,background 0.3s}
.card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgb(225, 119, 5);background:linear-gradient(180deg, rgba(0,230,194,0.15), rgba(11,18,32,0.35))}

/* ========== FEATURES & SERVICES ========== */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:22px}
.feature, .service-card{padding:20px;border-radius:12px;background:var(--card);border:1px solid rgba(0,184,148,0.35);transition:transform 0.3s,box-shadow 0.3s}
.feature:hover, .service-card:hover{transform:translateY(-5px);box-shadow:0 12px 25px rgba(0,230,194,0.4)}
.feature h3, .service-card h3{margin-bottom:10px;color:#fff}
.feature p, .service-card p{color:var(--muted);font-size:14px;line-height:1.5}

/* ========== SLIDER PROJETS ========== */
.project-slider{position:relative;overflow:hidden;border-radius:15px;height:400px;margin-top:20px}
.project-slide{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;transition:opacity 1s ease}
.project-slide.active{opacity:1}
.project-slide img, .project-slide video{width:100%;height:100%;object-fit:cover;filter:brightness(0.5)}
.project-text{position:absolute;bottom:15%;left:10%;color:#fff;z-index:2;max-width:600px}
.project-text h2{font-size:28px;margin-bottom:8px}
.project-text p{font-size:16px;line-height:1.4}
.slider-controls{position:absolute;bottom:10%;right:10%;display:flex;gap:10px;z-index:3}
.slider-controls button{background:var(--accent);border:none;padding:6px 10px;border-radius:6px;color:#042024;cursor:pointer;font-weight:600}

/* ========== TRACKING ========== */
.tracking-section{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:30px}
.tracking-card{background:var(--card);border-radius:12px;padding:20px;box-shadow:0 8px 25px rgba(0,184,148,0.3)}
.tracking-card h3{margin-bottom:12px}
.tracking-card input{width:100%;padding:10px;border-radius:8px;border:1px solid rgba(0,184,148,0.4);margin-bottom:10px;background:transparent;color:#e6eef6}
.tracking-card button{background:var(--accent);color:#042024;padding:10px 16px;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:0.3s}
.tracking-card button:hover{opacity:0.85}
.tracking-result{margin-top:12px;color:var(--muted)}

/* ========== PARTNERS SLIDER ========== */
.partners-slider{overflow:hidden;position:relative;width:100%}
.partners-track{display:flex;gap:40px;width:max-content;animation:scroll 40s linear infinite}
.partners-track img{width:120px;height:auto;object-fit:contain;transition:transform 0.3s}
.partners-track img:hover{transform: scale(1.1)}
@keyframes scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

#cookieBanner {
  position: fixed;
  bottom: -100px; /* Départ hors écran */
  left: 50%;
  transform: translateX(-50%);
  background: rgba(7,16,26,0.95);
  color: #fff;
  display: flex;
  align-items: center;
  padding: 15px 20px;
  border-radius: 12px;
  gap: 15px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.5);
  max-width: 600px;
  width: 90%;
  z-index: 9999;
  transition: bottom 0.7s ease, transform 0.7s ease;
  backdrop-filter: blur(5px);
}

#cookieBanner.show {
  bottom: 20px; /* Apparition */
}

/* =========================
   COOKIE MINI PAGE
========================= */

#cookiePage {
  position: fixed;
  inset: 0;
  z-index: 10000;

  background: linear-gradient(
    180deg,
    rgba(7,16,26,0.96),
    rgba(7,16,26,0.92)
  );

  display: flex;
  align-items: center;
  justify-content: center;

  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s ease;
}

#cookiePage.show {
  opacity: 1;
  pointer-events: auto;
}

/* CONTAINER = MINI PAGE */
.cookie-page-container {
  background: #07101a;
  color: #fff;

  width: 90%;
  max-width: 520px;

  border-radius: 22px;
  padding: 36px 30px;

  display: flex;
  flex-direction: column;
  gap: 28px;

  text-align: center;
  box-shadow: 0 20px 60px rgba(0,0,0,0.7);

  animation: pageIn 0.6s ease;
}

/* HEADER */
.cookie-page-header img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #fff;
  padding: 8px;
  margin-bottom: 12px;

  animation: floatLogo 3s ease-in-out infinite;
}

.cookie-page-header h2 {
  margin: 0;
  font-size: 22px;
}

/* CONTENT */
.cookie-page-content p {
  font-size: 15px;
  line-height: 1.6;
  color: #cfd8dc;
  margin: 0 0 12px;
}

/* ACTIONS */
.cookie-page-actions button {
  width: 100%;
  padding: 14px;
  border: none;
  border-radius: 999px;

  background: #00bcd4;
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  cursor: pointer;

  transition: transform 0.2s ease, background 0.3s ease;
}

.cookie-page-actions button:hover {
  background: #0097a7;
  transform: scale(1.05);
}

/* ANIMATIONS */
@keyframes pageIn {
  from {
    opacity: 0;
    transform: scale(0.92) translateY(30px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@keyframes floatLogo {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

/* MOBILE */
@media (max-width: 480px) {
  .cookie-page-container {
    padding: 28px 22px;
  }
}


/* ========== RESPONSIVE ========== */
@media(max-width:1024px){.partners-track img{width:100px}.partners-track{gap:30px;animation-duration:35s}}
@media(max-width:900px){.features{grid-template-columns:repeat(2,1fr)}.tracking-section{grid-template-columns:1fr}}
@media(max-width:768px){nav.main-nav{display:none}.mobile-menu-btn{display:flex}.partners-track img{width:80px}.partners-track{gap:20px;animation-duration:30s}}
@media(max-width:560px){.features{grid-template-columns:1fr}.hero h1{font-size:26px}}
@media(max-width:480px){.partners-track img{width:60px}.partners-track{gap:15px;animation-duration:25s}}

/* FOOTER */
footer{margin-top:40px;padding:24px 0;color:var(--muted);font-size:14px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap}
