.filters-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:#161b22;color:#eef3f8;border-radius:12px;padding:12px 14px;margin-bottom:18px;box-shadow:0 6px 20px rgba(0,0,0,.18);position:sticky;top:10px;z-index:3}
.filters-bar__group{display:flex;flex-direction:column;gap:6px}
.filters-bar__group--range{min-width:220px}
.filters-bar__label{font-size:12px;letter-spacing:.04em;color:#9fb3c8;text-transform:uppercase}
.filters-input,.filters-select{background:#1b2029;border:1px solid #2a3446;color:#f2f6fb;border-radius:10px;padding:10px 12px;min-width:220px;outline:none}
.filters-input::placeholder{color:#93a3b8}
.range-values{font-size:12px;color:#9fb3c8;margin-top:6px}
.filters-reset{background:transparent;border:1px solid #2b8cff;color:#d8eaff;border-radius:10px;padding:10px 14px;cursor:pointer;transition:all .2s ease}
.filters-reset:hover{background:#2b8cff;color:#0f1115}

/* Cartes véhicules ultra-modernisées */
.tt-product-02{
  position:relative;
  background:linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 8px 32px rgba(15,23,42,.08), 0 1px 4px rgba(15,23,42,.04);
  transition:all .4s cubic-bezier(0.4, 0, 0.2, 1);
  border:1px solid rgba(226,232,240,.6);
  cursor:pointer;
}

.tt-product-02::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg, #3b82f6, #06b6d4, #8b5cf6);
  opacity:0;
  transition:opacity .3s ease;
  z-index:3;
}

.tt-product-02:hover{
  transform:translateY(-12px) scale(1.02);
  box-shadow:0 25px 50px rgba(15,23,42,.15), 0 10px 24px rgba(59,130,246,.1);
  border-color:rgba(59,130,246,.2);
}

.tt-product-02:hover::before{
  opacity:1;
}

.tt-product-02 .tt-image-box{
  position:relative;
  overflow:hidden;
  border-radius:16px 16px 0 0;
}

.tt-product-02 .tt-image-box .tt-img{
  display:block;
  position:relative;
}

.tt-product-02 .tt-image-box .tt-img img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
  transition:all .6s cubic-bezier(0.4, 0, 0.2, 1);
}

.tt-product-02:hover .tt-image-box .tt-img img{
  transform:scale(1.1) rotate(1deg);
  filter:brightness(1.1) saturate(1.15) contrast(1.05);
}

.tt-product-02 .tt-image-box::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(15,23,42,.6) 100%);
  opacity:0;
  transition:opacity .4s ease;
  pointer-events:none;
  z-index:1;
}

.tt-product-02:hover .tt-image-box::after{
  opacity:1;
}

.tt-product-02 .tt-data{
  position:absolute;
  left:12px;
  bottom:12px;
  background:rgba(15,23,42,.85);
  backdrop-filter:blur(12px);
  color:#fff;
  padding:8px 12px;
  border-radius:12px;
  font-size:12px;
  font-weight:500;
  z-index:2;
  transform:translateY(20px);
  opacity:0;
  transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);
}

.tt-product-02:hover .tt-data{
  transform:translateY(0);
  opacity:1;
}

.tt-label-location .tt-label-new,
.tt-label-location .tt-label-promo{
  background:linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
  color:#fff;
  padding:6px 12px;
  border-radius:20px;
  font-size:11px;
  font-weight:600;
  box-shadow:0 4px 12px rgba(59,130,246,.3);
  transform:scale(0.9);
  transition:transform .3s ease;
}

.tt-product-02:hover .tt-label-location .tt-label-new,
.tt-product-02:hover .tt-label-location .tt-label-promo{
  transform:scale(1);
}

.tt-label-location{
  position:absolute;
  left:12px;
  top:12px;
  z-index:2;
}

.tt-wrapper-description{
  padding:18px 18px 20px;
  background:#ffffff;
  transition:all .4s cubic-bezier(0.4, 0, 0.2, 1);
  position:relative;
}

.tt-product-02:hover .tt-wrapper-description{
  background:linear-gradient(145deg, #ffffff 0%, #f1f5f9 100%);
}
.tt-row-01{
  display:flex;
  gap:12px;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
  margin-bottom:12px;
}

.tt-box-title{
  flex:1 1 60%;
  min-width:0;
}

.tt-box-title .tt-title{
  font-size:17px;
  font-weight:600;
  margin:0 0 4px 0;
  color:#0f172a;
  display:-webkit-box;
  -webkit-line-clamp:2;
  line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  transition:color .3s ease;
}

.tt-product-02:hover .tt-box-title .tt-title{
  color:#1e40af;
}

.tt-box-title .tt-description{
  font-size:13px;
  color:#64748b;
  margin-top:2px;
  display:-webkit-box;
  -webkit-line-clamp:1;
  line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
  transition:color .3s ease;
}

.tt-product-02:hover .tt-box-title .tt-description{
  color:#475569;
}

.tt-box-price{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  flex:0 0 auto;
  white-space:nowrap;
  min-width:110px;
  text-align:right;
}

.tt-box-price .tt-text{
  font-size:11px;
  color:#64748b;
  margin-bottom:2px;
  text-transform:uppercase;
  letter-spacing:0.5px;
}

.tt-box-price .tt-price{
  font-size:20px;
  font-weight:700;
  color:#059669;
  line-height:1;
  transition:all .3s ease;
}

.tt-product-02:hover .tt-box-price .tt-price{
  color:#047857;
  transform:scale(1.05);
}

.tt-box-price .tt-old-price{
  font-size:12px;
  color:#94a3b8;
  text-decoration:line-through;
  margin-top:2px;
}

.tt-add-info{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 16px;
  margin:14px 0;
  padding:12px;
  background:rgba(248,250,252,.6);
  border-radius:12px;
  transition:background .3s ease;
}

.tt-product-02:hover .tt-add-info{
  background:rgba(241,245,249,.8);
}

.tt-add-info li{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.tt-add-info .col-title{
  color:#64748b;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:0.5px;
  font-weight:500;
}

.tt-add-info .col-designation{
  color:#1e293b;
  font-size:13px;
  font-weight:500;
}

/* Bouton CTA modernisé */
.tt-btn{
  margin-top:16px;
}

.tt-btn .tt-btn-moreinfo{
  display:inline-block;
  background:linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
  color:#fff;
  padding:12px 20px;
  border-radius:12px;
  font-weight:600;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.5px;
  transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);
  position:relative;
  overflow:hidden;
  text-decoration:none;
}

.tt-btn .tt-btn-moreinfo::before{
  content:"";
  position:absolute;
  top:0;
  left:-100%;
  width:100%;
  height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
  transition:left .5s ease;
}

.tt-btn .tt-btn-moreinfo:hover::before{
  left:100%;
}

.tt-btn .tt-btn-moreinfo:hover{
  transform:translateY(-3px) scale(1.02);
  box-shadow:0 12px 28px rgba(59,130,246,.4);
  background:linear-gradient(135deg, #2563eb 0%, #1e40af 100%);
}

/* Icônes hover ultra-modernisées */
.tt-image-box .tt-icon{
  position:absolute;
  right:12px;
  bottom:12px;
  display:flex;
  gap:10px;
  opacity:0;
  transform:translateY(20px) scale(0.8);
  transition:all .4s cubic-bezier(0.4, 0, 0.2, 1);
  z-index:2;
}

.tt-product-02:hover .tt-image-box .tt-icon{
  opacity:1;
  transform:translateY(0) scale(1);
}

.tt-image-box .tt-icon a{
  background:rgba(15,23,42,.9);
  backdrop-filter:blur(16px);
  color:#fff;
  border-radius:12px;
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 24px rgba(15,23,42,.3);
  transition:all .3s cubic-bezier(0.4, 0, 0.2, 1);
  border:1px solid rgba(255,255,255,.1);
}

.tt-image-box .tt-icon a:hover{
  background:rgba(59,130,246,.9);
  transform:translateY(-2px) scale(1.1);
  box-shadow:0 12px 32px rgba(59,130,246,.4);
}

/* Masquer les icônes dupliquées dans la description (gardons celles sur l'image) */
.tt-wrapper-description > .tt-icon{display:none !important}

/* Sécurité: éviter tout chevauchement résiduel provenant du thème */
.tt-product-02 .tt-wrapper-description:after{content:none}
.tt-product-02 .tt-wrapper-description{position:relative;z-index:0}

/* Slider héros au-dessus (si présent) */
.car-slider{position:relative;overflow:hidden;height:42vh;min-height:280px;margin-bottom:18px;border-radius:16px}
.car-slider__slides{display:flex;height:100%;transition:transform .5s ease}
.car-slider__slide{min-width:100%;height:100%;position:relative}
.car-slider video{width:100%;height:100%;object-fit:cover}
.car-slider__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25) 0, rgba(0,0,0,.65) 100%)}
.car-slider__content{position:absolute;left:24px;bottom:20px;color:#fff}
.car-slider__content h2{margin:0 0 6px 0}
.car-slider__controls{position:absolute;inset:auto 12px 12px 12px;display:flex;justify-content:space-between;pointer-events:none}
.car-slider__arrow{pointer-events:auto;border:none;background:rgba(23,26,33,.8);color:#fff;border-radius:10px;width:40px;height:40px}
.car-slider__dots{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:6px}
.car-slider__dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.45)}
.car-slider__dot--active{background:#fff}

/* Animations d'entrée échelonnées */
.tt-product-listing .tt-col-item{
  opacity:0;
  transform:translateY(30px);
  animation:fadeInUp 0.6s ease forwards;
}

.tt-product-listing .tt-col-item:nth-child(1){ animation-delay:0.1s; }
.tt-product-listing .tt-col-item:nth-child(2){ animation-delay:0.2s; }
.tt-product-listing .tt-col-item:nth-child(3){ animation-delay:0.3s; }
.tt-product-listing .tt-col-item:nth-child(4){ animation-delay:0.4s; }
.tt-product-listing .tt-col-item:nth-child(5){ animation-delay:0.5s; }
.tt-product-listing .tt-col-item:nth-child(6){ animation-delay:0.6s; }
.tt-product-listing .tt-col-item:nth-child(n+7){ animation-delay:0.7s; }

@keyframes fadeInUp {
  to {
    opacity:1;
    transform:translateY(0);
  }
}

/* Effet de particules flottantes */
.tt-product-02::after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background-image:
    radial-gradient(circle at 20% 80%, rgba(59,130,246,0.1) 0%, transparent 50%),
    radial-gradient(circle at 80% 20%, rgba(139,92,246,0.1) 0%, transparent 50%),
    radial-gradient(circle at 40% 40%, rgba(6,182,212,0.1) 0%, transparent 50%);
  opacity:0;
  transition:opacity .4s ease;
  pointer-events:none;
  z-index:0;
}

.tt-product-02:hover::after{
  opacity:1;
}

/* Responsive design amélioré */
@media (max-width: 1199px){
  .tt-product-02 .tt-image-box .tt-img img{
    height:200px;
  }
  
  .tt-box-title .tt-title{
    font-size:16px;
  }
  
  .tt-box-price .tt-price{
    font-size:18px;
  }
}

@media (max-width: 991px){
  .filters-bar{
    gap:10px;
    padding:10px 12px;
  }
  
  .filters-input,.filters-select{
    min-width:180px;
  }
  
  .tt-product-02{
    margin-bottom:20px;
  }
  
  .tt-product-02 .tt-image-box .tt-img img{
    height:190px;
  }
}

@media (max-width: 767px){
  .filters-bar{
    flex-direction:column;
    gap:8px;
  }
  
  .filters-bar__group{
    width:100%;
  }
  
  .filters-input,.filters-select{
    min-width:100%;
  }
  
  .filters-bar__group--range{
    min-width:100%;
  }
  
  .tt-product-02{
    border-radius:16px;
    margin-bottom:16px;
  }
  
  .tt-product-02 .tt-image-box .tt-img img{
    height:160px;
  }
  
  .tt-wrapper-description{
    padding:14px;
  }
  
  .tt-row-01{
    flex-direction:column;
    gap:8px;
  }
  
  .tt-box-title{
    flex:1 1 100%;
  }
  
  .tt-box-price{
    align-items:flex-start;
    text-align:left;
  }
  
  .tt-add-info{
    grid-template-columns:1fr;
    gap:6px;
    padding:10px;
  }
  
  .tt-btn .tt-btn-moreinfo{
    width:100%;
    text-align:center;
    padding:10px 16px;
  }
  
  /* Réduction des animations sur mobile pour les performances */
  .tt-product-02:hover{
    transform:translateY(-6px) scale(1.01);
  }
  
  .tt-product-02:hover .tt-image-box .tt-img img{
    transform:scale(1.05);
  }
}

@media (max-width: 575px){
  .tt-product-02 .tt-image-box .tt-img img{
    height:140px;
  }
  
  .tt-box-title .tt-title{
    font-size:15px;
  }
  
  .tt-box-price .tt-price{
    font-size:17px;
  }
  
  .tt-image-box .tt-icon{
    right:8px;
    bottom:8px;
    gap:6px;
  }
  
  .tt-image-box .tt-icon a{
    width:36px;
    height:36px;
  }
}


