/* ===== Base ===== */
.calq-wrap { font-family: Arial, sans-serif; }

/* ===== Filtres ===== */
.calq-filters { background:#000; color:#fff; padding:28px 4vw; }
.calq-filters .calq-filters-form { display:flex; gap:40px; flex-wrap:wrap; align-items:center; justify-content:center; }
.calq-filters select{
  font-family: Arial, sans-serif; font-weight: bold;
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  background:#000; color:#fff; border:1px solid #333; border-radius:6px; padding:14px 48px 14px 18px;
}
.select-outer{ position:relative; }
.select-outer::after{ content:""; position:absolute; right:16px; top:50%; width:0;height:0; border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #fff; transform:translateY(-30%); pointer-events:none; }

/* ===== Grille (3/2/1) — calc() aligné avec gutter 24px (Masonry) ===== */
.calq-grid { max-width:1280px; margin:40px auto; box-sizing:border-box; }
.calq-grid .masonry-sizer { width: calc((100% - 48px)/3); }
.liste-gen_gridItem {
  width: calc((100% - 48px)/3);
  margin-bottom:48px; text-decoration:none; display:block; box-sizing:border-box;
}
@media (max-width:1024px){
  .calq-grid .masonry-sizer, .liste-gen_gridItem { width: calc((100% - 24px)/2); }
}
@media (max-width:640px){
  .calq-grid .masonry-sizer, .liste-gen_gridItem { width: 100%; }
}

/* ===== Image + parallax ===== */
.news-slider-visual-outer{ position:relative; overflow:hidden; }
.calq-parallax-wrap{ position:relative; overflow:hidden; }
.news-slider-visual{
  width:100%; height:360px; object-fit:cover; display:block;
  transform: translateY(var(--py,0)) scale(var(--sc,1));
  -webkit-transform: translateY(var(--py,0)) scale(var(--sc,1));
  transition: transform .5s cubic-bezier(.22,.61,.36,1), opacity .3s ease;
  will-change: transform; backface-visibility:hidden; -webkit-backface-visibility:hidden;
}
.calq-no-thumb{ background:#eee; height:360px; }

/* Rubans */
.attributes-outer{ position:absolute; left:14px; bottom:14px; display:flex; flex-wrap:wrap; gap:8px; z-index:3; }
.attributes-bloc{ background:#fff; color:#000; font-weight:700; font-size:12px; padding:6px 10px; line-height:1; }

/* ===== Encart (blanc par défaut) ===== */
.news-slider-content{ position:relative; z-index:1; background:#fff; color:#000; padding:22px 16px 20px; overflow:hidden; }
.news-slider-separator-bloc{ width:60px; height:3px; background:#000; margin-bottom:12px; }
.news-slider-title{ font-weight:800; font-size:24px; line-height:1.15; text-transform:uppercase; letter-spacing:.5px; margin:0 0 10px 0; }
.news-slider-kicker{ display:inline-block; margin-bottom:8px; background:#fff; color:#000; border:1px solid #000; font-weight:700; font-size:12px; padding:6px 10px; line-height:1; }
.news-slider-date{ color:#333; font-size:16px; }

/* ===== Nappe noire au hover (texte blanc) ===== */
.news-slider-content::before{
  content:""; position:absolute; top:0; right:0; bottom:0; left:0;
  background:#000; transform:translateY(-100%); -webkit-transform:translateY(-100%);
  transition: transform .45s cubic-bezier(.22,.61,.36,1);
  will-change: transform; backface-visibility:hidden; -webkit-backface-visibility:hidden;
  z-index:0;
}
.news-slider-content > *{ position:relative; z-index:1; transition: color .25s ease, border-color .25s ease, background .25s ease; }
.news-slider-bloc:hover .news-slider-content::before{ transform:translateY(0); -webkit-transform:translateY(0); }
.news-slider-bloc:hover .news-slider-title,
.news-slider-bloc:hover .news-slider-date,
.news-slider-bloc:hover .news-slider-kicker{ color:#fff; border-color:#fff; background:transparent; }

/* Image: zoom discret au hover */
.news-slider-bloc:hover .news-slider-visual{ --sc:1.03; opacity:.98; }

/* Fallback si pas de variables CSS */
.calq-wrap.no-css-vars .news-slider-visual{ transform:none !important; -webkit-transform:none !important; }
.calq-wrap.no-css-vars .news-slider-bloc:hover .news-slider-visual{ transform:scale(1.03) !important; -webkit-transform:scale(1.03) !important; }

/* Load more */
.calq-loadmore{ display:inline-block; margin:20px auto 60px; padding:12px 18px; border:1px solid #000; color:#000; text-decoration:none; }
.calq-loadmore.is-disabled{ opacity:.4; pointer-events:none; }
