@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&display=swap');

:root{
  --bg:#03040a;
  --neon:#00e5ff;
  --accent:#ff3bd6;
  --muted:rgba(255,255,255,0.6);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:'Orbitron',system-ui,Arial;
  color:var(--neon);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}

/* Background videos */
#bg-video-desktop, #bg-video-mobile, #detail-video{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:-2;
  filter:brightness(0.32) contrast(1.05);
}
#bg-video-mobile{display:none;}
@media (max-width:768px){
  #bg-video-desktop{display:none;}
  #bg-video-mobile{display:block;}
}

/* Header */
header{text-align:center;padding:px}
.subtitle{color:var(--muted);margin-top:6px}

/* Neon text animation */
.neon-text{font-size:clamp(28px,6vw,46px);color:var(--neon);text-shadow:0 0 8px rgba(0,229,255,0.9),0 0 20px rgba(0,229,255,0.6);animation:neonPulse 2.8s infinite;}
@keyframes neonPulse{0%,100%{text-shadow:0 0 6px rgba(0,229,255,0.9),0 0 18px rgba(0,229,255,0.6);}50%{text-shadow:0 0 3px rgba(0,229,255,0.6);opacity:0.95;}}

/* Cards */
.car-container{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;padding:28px}
.car-card{width:360px;background:rgba(255,255,255,0.03);border-radius:14px;padding:16px;border:1px solid rgba(0,229,255,0.08);text-align:center;cursor:pointer;transition:transform .25s;}
.car-card:hover{transform:translateY(-8px)}

/* images */
.card-media img{width:100%;height:250px;object-fit:cover;border-radius:10px}

/* footer */
.footer{position:fixed;left:12px;bottom:10px;color:rgba(255,255,255,0.45);font-size:0.85rem;z-index:30}

/* detail page layout */
.car-detail-main{display:flex;gap:28px;max-width:1100px;margin:28px auto;padding:20px}
.detail-left{flex:1;max-width:320px}
.detail-left img{width:100%;border-radius:12px}
.detail-right{flex:1;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:18px;border-radius:10px;border:1px solid rgba(0,229,255,0.06)}

/* buttons */
.buy-btn, .whatsapp-btn, .submit-btn, .whatsapp-large{display:inline-block;padding:10px 16px;border-radius:10px;border:0;background:linear-gradient(90deg, rgba(0,229,255,0.12), rgba(255,59,214,0.06));color:#fff;text-decoration:none;font-weight:700;cursor:pointer}
.whatsapp-btn{background:transparent;color:#bff3d4;border:1px solid rgba(59,211,100,0.08)}

/* contact floating */
.contact-fab{position:fixed;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;background:linear-gradient(90deg,#00e5ff,#ff3bd6);display:flex;align-items:center;justify-content:center;color:#000;font-weight:700;cursor:pointer;box-shadow:0 8px 30px rgba(0,0,0,0.5);z-index:40}
.contact-panel{position:fixed;right:18px;bottom:86px;width:320px;background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:14px;border-radius:12px;border:1px solid rgba(0,229,255,0.08);z-index:42;box-shadow:0 12px 40px rgba(0,0,0,0.6);display:none}
.contact-panel.open{display:block}
.contact-panel h3{margin:0 0 8px}
.contact-panel label{display:block;margin-bottom:8px;color:var(--muted)}
.contact-panel input{width:100%;padding:8px;border-radius:6px;border:1px solid rgba(255,255,255,0.06);background:rgba(0,0,0,0.4);color:var(--neon)}
.submit-btn{width:100%;margin-top:8px;background:linear-gradient(90deg,#00e5ff,#ff3bd6);color:#000;border-radius:8px;padding:10px 12px}

/* form message */
.form-msg{margin-top:8px;color:#bff3d4}

/* responsive adjustments */
@media (max-width:760px){
  .car-detail-main{flex-direction:column;padding:12px}
  .contact-panel{right:12px;left:12px;bottom:80px;width:auto}
}
/* --- OVERLAY CARROUSEL --- */
.carousel-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(10, 10, 15, 0.95);
  backdrop-filter: blur(6px);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 1;
  transition: opacity 0.4s ease;
}

.carousel-overlay.hidden {
  display: none;
}

.carousel-image {
  max-width: 85%;
  max-height: 85%;
  border-radius: 12px;
  object-fit: contain;
  box-shadow: 0 0 25px rgba(0, 255, 255, 0.6);
  animation: fadeIn 0.5s ease;
}

/* Boutons flèches */
.carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 255, 255, 0.25);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(0, 255, 255, 0.6);
  color: white;
  font-size: 1.8rem;   /* plus petit */
  padding: 0.4rem 0.8rem;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10000;
  transition: 0.3s;
}



.carousel-arrow:hover {
  background: rgba(0, 255, 255, 0.5);
  box-shadow: 0 0 15px rgba(0, 255, 255, 0.8);
}

.carousel-arrow.left {
  left: 15px;
}

.carousel-arrow.right {
  right: 15px;
}

/* Bouton fermeture */
.close-carousel {
  position: absolute;
  top: 20px;
  right: 30px;
  cursor: pointer;
  font-size: 1.8rem;   /* réduit */
  color: #00ffff;
  text-shadow: 0 0 6px #00ffff;
  z-index: 10001;
  transition: 0.3s;
}

.close-carousel:hover {
  transform: scale(1.15);
}


@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.96);}
  to { opacity: 1; transform: scale(1);}
}
.back-btn {
  position: absolute;
  top: 1px;
  left: 14px;
  padding: 8px 14px;
  background: rgba(0, 255, 255, 0.12);
  border: 1px solid rgba(0, 255, 255, 0.3);
  border-radius: 8px;
  color: #bff3d4;
  font-size: 14px;
  text-decoration: none;
  z-index: 50;
  transition: 0.3s;
}

.back-btn:hover {
  background: rgba(0, 255, 255, 0.25);
  transform: scale(1.05);
}
.detail-photo-wrapper {
  position: relative;
}

.detail-photo-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 3rem;
  color: rgba(255,255,255,0.6);
  text-shadow: 0 0 8px #00e5ff;
  cursor: pointer;
  z-index: 20;
  transition: 0.3s;
}

.detail-photo-arrow:hover {
  color: white;
}

.detail-photo-arrow.left {
  left: 12px;
}

.detail-photo-arrow.right {
  right: 12px;
}

