/* ==========================================================================
   visuals.css — couche visuelle ajoutee au design existant.
   Ne redefinit aucune variable ni aucune classe de site.css : uniquement des
   ajouts, pour que les deux fichiers restent independants.
   ========================================================================== */

/* --valmjog Heros avec photo --v3399pi */
.hero--v1ufpyv{position:relative;overflow:hidden;isolation:isolate}
.hero--v1ufpyv .ccvz3cy{position:absolute;inset:0;z-index:-2}
.hero--v1ufpyv .ccvz3cy img{width:100%;height:100%;object-fit:cover;object-position:center 42%;
  filter:saturate(1.05) contrast(1.04)}
/* Double voile : un degrade vertical pour la lisibilite du texte, un lateral
   pour ancrer la colonne de gauche sans noircir toute la photo. */
.hero--v1ufpyv::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(13,17,23,.94) 0%,rgba(13,17,23,.72) 38%,rgba(13,17,23,.86) 100%)}
.hero--v1ufpyv::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(13,17,23,.92) 0%,rgba(13,17,23,.45) 52%,rgba(13,17,23,0) 100%)}
@media (max-width:820px){
  .hero--v1ufpyv::after{background:linear-gradient(180deg,rgba(13,17,23,.55) 0%,rgba(13,17,23,.92) 70%)}
  .hero--v1ufpyv .ccvz3cy img{object-position:center 35%}
}

/* --valmjog Vignettes de gamme --vdkoldx */
.gamme-card{overflow:hidden}
.c0ctvg4{position:relative;margin:-1px -1px 16px;aspect-ratio:16/10;overflow:hidden;
  background:var(--v8jod0h)}
.c0ctvg4 img{width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.2,.6,.2,1)}
.gamme-card:hover .c0ctvg4 img{transform:scale(1.045)}
.c0ctvg4::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(13,17,23,0) 45%,rgba(13,17,23,.55) 100%)}

/* --valmjog Cartes acheteur illustrees --vdjq0ps */
.cc3dmn8{margin:-1px -1px 18px;aspect-ratio:3/2;overflow:hidden;background:var(--v8jod0h)}
.cc3dmn8 img{width:100%;height:100%;object-fit:cover;display:block}

/* --valmjog Bande realisations --vdkoldx */
.cest40c{display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}
.cest40c figure{position:relative;margin:0;border-radius:var(--v5vv416);overflow:hidden;
  border:1px solid var(--v8pt52h);background:var(--v3rbkii)}
.cest40c img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/3}
.cest40c figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;
  font-size:.82rem;line-height:1.35;color:var(--text);
  background:linear-gradient(180deg,rgba(13,17,23,0),rgba(13,17,23,.88))}
.cest40c .c17krf8{grid-column:span 2}
@media (max-width:820px){
  .cest40c{grid-template-columns:1fr 1fr}
  .cest40c .c17krf8{grid-column:span 2}
}
@media (max-width:520px){
  .cest40c{grid-template-columns:1fr}
  .cest40c .c17krf8{grid-column:span 1}
}

/* --valmjog Credit photo discret --v86sc9z */
.cb4039w{margin-top:10px;font-size:.76rem;color:var(--va4kg5t)}
.cb4039w a{color:var(--va4kg5t);text-decoration:underline;text-underline-offset:2px}

/* Respecte le reglage systeme de reduction d'animation. */
@media (prefers-reduced-motion:reduce){
  .gamme-card:hover .c0ctvg4 img{transform:none}
  .c0ctvg4 img{transition:none}
}
