/* ==========================================================================
   Base globale
   ========================================================================== */

/* Focus */
:where(.wp-site-blocks *:focus) {
  outline: none;
}
:where(.wp-site-blocks *:focus-visible) {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* Scroll global */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 50px;
}

/* Sticky */
.gr_blc_stick1,
.gr_stick1 {
  position: sticky;
  top: 50px;
  z-index: 50;
  margin-top: 0;
}

/* ===== Effets hover boutons ===== */
.wp-element-button:hover,
.wp-block-button__link:hover,
.gr_bt:hover,
.gr_cd_btn:hover {
  transform: scale(1.02);
  opacity: 0.95;
  filter: brightness(0.9);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
  transition:
    transform 0.25s ease,
    opacity 0.25s ease,
    filter 0.25s ease,
    box-shadow 0.25s ease;
}

/* Asterisk block style: fallback + clip-path si supporté */
.is-style-asterisk:before {
  content: "*";
  font-size: 1.5rem;
  line-height: 1;
  color: var(--wp--preset--color--contrast-2, currentColor);
  display: inline-block;
}

@supports (clip-path: path("M0 0 L1 1")) {
  .is-style-asterisk:before {
    content: "";
    width: 1.5rem;
    height: 2rem;
    background: var(--wp--preset--color--contrast-2, currentColor);
    display: block;
    clip-path: path(
      "M11.93.684v8.039l5.633-5.633 1.216 1.23-5.66 5.66h8.04v1.737H13.2l5.701 5.701-1.23 1.23-5.742-5.742V21h-1.737v-8.094l-5.77 5.77-1.23-1.217 5.743-5.742H.842V9.98h8.162l-5.701-5.7 1.23-1.231 5.66 5.66V.684h1.737Z"
    );
  }
}

/* Menu responsive */
.wp-block-navigation__responsive-container
  .wp-block-navigation__responsive-container-content
  ul {
  border: none !important;
  padding: 5px;
  background-color: #444444;
}

.wp-block-navigation__responsive-container
  .wp-block-navigation__responsive-container-content
  ul
  li {
  background-color: #444444;
  color: #ffffff;
}

.wp-block-navigation:not(.has-background)
  .wp-block-navigation__submenu-container {
  background-color: transparent;
  border: 0;
}

/* Breadcrumbs */
.yoast-breadcrumbs a,
.breadcrumb_last {
  color: #444444 !important;
  text-decoration: none !important;
}

/* Sticky nav */
.gr_sticky-nav {
  position: relative;
}
.gr_sticky-nav.fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
}

/* Sommaire */
.neo_table_som {
  list-style-type: none;
  padding: 0;
}
.neo_table_som li {
  margin-bottom: 0;
}
.neo_table_som li a {
  color: #444444;
  text-decoration: none;
  font-size: 18px;
  font-weight: bold;
}
.neo_table_som li a:hover {
  color: #999999;
  text-decoration: none;
}
.neo_hr_of_contents {
  border: 0;
}
.neo_div_of_contents {
  padding: 25px;
  background-color: #f7f7f7;
}
/* Respecte le centrage Gutenberg dans le contenu du shortcode */
.neo_table_of_contents .wp-block-image.aligncenter {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.neo_table_of_contents .wp-block-image.aligncenter img,
.neo_table_of_contents img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
/* Ombre utilitaire */
.gr_shdw {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* Scroll vertical form */
.gr_neoform_form_bar {
  max-height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 1rem;
  box-sizing: border-box;
}

/* Query loop slider: enlever les puces */
.gr-as-slider .wp-block-post {
  list-style: none;
}

/* ==== Bouton article "Lire la suite" ==== */
.gr_btls_art,
.gr_btls_art a {
  box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.15);
  transition:
    box-shadow 0.3s ease,
    transform 0.3s ease;
}
.gr_btls_art:hover,
.gr_btls_art a:hover {
  transform: translateY(-3px);
  box-shadow: 8px 8px 12px rgba(0, 0, 0, 0.25);
}
/* Boutons Gutenberg */
.wp-block-button .wp-block-button__link,
.wp-element-button {
  padding: 10px 20px !important;
  transition:
    background-color 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.wp-block-button .wp-block-button__link:not(.has-background),
.wp-element-button:not(.has-background) {
  background-color: var(--wp--preset--color--custom-fonce);
}

.wp-block-button .wp-block-button__link:not(.has-text-color),
.wp-element-button:not(.has-text-color) {
  color: var(--wp--preset--color--custom-clair);
}
/* Variante Outline */
.wp-block-button.is-style-outline > .wp-block-button__link {
  border: 0 !important;
  border-color: transparent !important;
}

.wp-block-button.is-style-outline
  > .wp-block-button__link:not(.has-text-color, .has-background) {
  background-color: var(--wp--preset--color--custom-clair);
  color: var(--wp--preset--color--custom-fonce);
}

.wp-block-button.is-style-outline
  > .wp-block-button__link:not(.has-text-color, .has-background):hover {
  background-color: var(--wp--preset--color--custom-clair);
  color: var(--wp--preset--color--custom-fonce);
}

/*============slider ===*/
/* Réactiver la sélection de texte dans le carousel CB */
.wp-block-cb-carousel-v2,
.wp-block-cb-carousel-v2 * {
  user-select: text;
  -webkit-user-select: text;
  -ms-user-select: text;
}

/* Forcer Swiper à ne pas bloquer la sélection sur les slides */
.wp-block-cb-carousel-v2 .swiper,
.wp-block-cb-carousel-v2 .swiper-wrapper,
.wp-block-cb-carousel-v2 .swiper-slide {
  user-select: text;
  -webkit-user-select: text;
  -ms-user-select: text;
}

/* Si le drag Swiper capture trop, on autorise la sélection sur les zones de texte */
.wp-block-cb-carousel-v2 p,
.wp-block-cb-carousel-v2 h1,
.wp-block-cb-carousel-v2 h2,
.wp-block-cb-carousel-v2 h3,
.wp-block-cb-carousel-v2 h4,
.wp-block-cb-carousel-v2 h5,
.wp-block-cb-carousel-v2 h6,
.wp-block-cb-carousel-v2 a,
.wp-block-cb-carousel-v2 span,
.wp-block-cb-carousel-v2 strong,
.wp-block-cb-carousel-v2 em {
  user-select: text;
  -webkit-user-select: text;
}

/* Important sur mobile: éviter que le pan-x empêche toute interaction texte */
.wp-block-cb-carousel-v2 .swiper {
  touch-action: pan-y;
}

/* Parfois Swiper met cursor grab, on remet normal dans le texte */
.wp-block-cb-carousel-v2 p,
.wp-block-cb-carousel-v2 h4 {
  cursor: text;
}

.gr_icon_text_nav img {
  margin-bottom: -4px;
}
/* ===== Effets hover cards ===== */
.gr_card_glo,
.gr_cd_vente {
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    filter 0.25s ease,
    opacity 0.25s ease;
}
.gr_card_glo:hover,
.gr_cd_vente:hover {
  transform: translateY(-10px);
  opacity: 0.9;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.15);
  filter: brightness(0.97);
}

/*---------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* Articles similaires */

/* === FSE Slider - Styles utiles uniquement === */

/* Carte individuelle (utilisée comme item du slider) */
.gr_simartclassic_post_card {
  flex: 0 0 auto;
  width: calc(
    (100% - ((var(--cols, 4) - 1) * var(--slider-gap, 0px))) / var(--cols, 4)
  );
  scroll-snap-align: start;
  /*  background: #ffffff;
  border-radius: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); overflow: hidden;*/

  transition: transform 0.3s;
}
/**/
.gr_simartclassic_post_card:hover {
  transform: translateY(-6px);
}

/* === Slider container === */
.gr_simartclassic_slider_container {
  position: relative;
  overflow-x: visible;
  overflow-y: hidden;
  margin: 30px auto;
  width: 100%;
  max-width: 1200px;
}

/* === Slider horizontal === */
.gr_simartclassic_slider {
  /* defaults; can be overridden by JS via --cols and by classes like gr_cols6 */
  --cols: 4;
  --slider-gap: 16px;
  --slider-pad: 0px;

  display: flex;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding-bottom: 10px;
  gap: var(--slider-gap);
  padding-inline: var(--slider-pad);
  /* make snap start align to first card considering left padding */
  scroll-padding-inline-start: var(--slider-pad);
  scroll-padding-inline-end: var(--slider-pad);

  scrollbar-width: none; /* Firefox */
  width: 100%;
  touch-action: pan-x;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain; /* évite le scroll global pendant le swipe */
}

.gr_simartclassic_slider .wp-block-post {
  list-style: none;
}
.gr_simartclassic_slider .wp-block-post::marker {
  content: "";
}

.gr_simartclassic_slider::-webkit-scrollbar {
  display: none;
}

/* Les cards dans le slider n'ont pas de marge propre */
.gr_simartclassic_slider .gr_simartclassic_post_card {
  margin: 0;
}

/* Boutons de navigation */
.gr_simartclassic_nav_wrapper {
  display: flex;
  justify-content: flex-start;
  gap: 1rem;
  margin: 0.5rem 0 0.5rem 0;
  padding: 0 20px;
}

.gr_simartclassic_nav_left,
.gr_simartclassic_nav_right {
  background-color: #444444;
  color: #fff;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  opacity: 1;
  transition:
    opacity 0.3s ease,
    transform 0.2s ease;
  cursor: pointer;
  touch-action: pan-y; /* laisse le scroll vertical natif sur mobile */
  user-select: none;
  border: none;
  position: relative;
  z-index: 10;
}

.gr_simartclassic_nav_left:hover,
.gr_simartclassic_nav_right:hover {
  opacity: 0.85;
  transform: scale(1.08);
}

/* États d'interaction (drag/swipe) */
.gr_simartclassic_slider.gr_dragging,
.gr_simartclassic_slider.gr_touching {
  user-select: none;
}

.is-swiping .gr_simartclassic_nav_left,
.is-swiping .gr_simartclassic_nav_right {
  pointer-events: none;
}

/* Renforce l'intention horizontale */
.gr_simartclassic_post_card,
.gr_simartclassic_post_card * {
  touch-action: pan-x;
}

/* Empêche le drag natif des images */
.gr_simartclassic_slider img {
  -webkit-user-drag: none;
}

/* === Responsive === */
@media (max-width: 1024px) {
  .gr_simartclassic_slider {
    --cols: 2;
    --slider-gap: 16px;
    --slider-pad: 16px;
  }
}

@media (max-width: 600px) {
  .gr_simartclassic_slider {
    --cols: 1;
    --slider-gap: 15px;
    --slider-pad: 16px;
  }
  .gr_simartclassic_post_card {
    padding: 0;
  }
}

/* Paragraphs inside slider content: remove top and bottom margin */
.gr_simartclassic_slider p {
  margin-block-start: 0em;
  margin-block-end: 0em;
}
.gr_simartclassic_slider h3 {
  margin-block-start: 0em;
  margin-block-end: 0em;
}

/* Normaliser le titre des cards dans le slider (cards Gutenberg, avec ou sans .gr_card_glo) */
.gr_simartclassic_slider .wp-block-group.tw-stretched-link .wp-block-post-title,
.gr_simartclassic_slider
  .wp-block-group.tw-stretched-link
  .wp-block-post-title
  a {
  font-size: 0.9rem;
  line-height: 1.15;
  letter-spacing: 0;
  text-transform: none;
  margin: 0;
}

/* Si le theme applique une decoration de lien sur les titres */
.gr_simartclassic_slider
  .wp-block-group.tw-stretched-link
  .wp-block-post-title
  a {
  text-decoration: none;
}

/* Harmoniser le rendu global des cards dans le slider, sans dependre de .gr_card_glo */
.gr_simartclassic_slider .wp-block-group.tw-stretched-link {
  border-radius: 15px;
  overflow: hidden;
}

/* Supprimer les espacements verticaux parasites entre groupes internes */
.gr_simartclassic_slider .wp-block-group.tw-stretched-link > .wp-block-group {
  margin-top: 0;
  margin-bottom: 0;
}

/* Neutraliser un espace possible entre l image et le bloc texte si une couleur differente apparait */
.gr_simartclassic_slider
  .wp-block-group.tw-stretched-link
  .wp-block-group.has-base-2-background-color {
  margin-bottom: 0;
  padding-bottom: 0;
}
/* Horizontal rules inside slider content: force full width */
.gr_simartclassic_slider hr {
  width: 100%;
}

/* ==========================================================
   Slider - Responsive overrides via classes on the Query Loop
   Usage on the Query Loop wrapper (parent of the injected slider container):
   - Desktop (>=1025px): gr_colsN
   - Tablet  (<=1024px): gr_tab_colsN
   - Mobile  (<=600px):  gr_mob_colsN
   - Hide arrows per breakpoint: gr_no_arrows_desktop / gr_no_arrows_tablet / gr_no_arrows_mobile
   Notes:
   - If no class is set for a breakpoint, defaults remain: 4 (desktop), 2 (tablet), 1 (mobile).
   gr_boucle_slider_services gr_slider_dyn gr_int2 : 4 / 2 / 1 
   gr_boucle_slider_prestation gr_cols6 gr_tab_cols4 gr_mob_cols2 gr_slider_dyn gr_int1 : 6 / 4 / 2 
========================================================== */

/* Desktop presets (>=1025px) */
@media (min-width: 1025px) {
  .gr_cols1 .gr_simartclassic_slider {
    --cols: 1;
  }
  .gr_cols2 .gr_simartclassic_slider {
    --cols: 2;
  }
  .gr_cols3 .gr_simartclassic_slider {
    --cols: 3;
  }
  .gr_cols4 .gr_simartclassic_slider {
    --cols: 4;
  }
  .gr_cols5 .gr_simartclassic_slider {
    --cols: 5;
  }
  .gr_cols6 .gr_simartclassic_slider {
    --cols: 6;
  }
  .gr_cols7 .gr_simartclassic_slider {
    --cols: 7;
  }
  .gr_cols8 .gr_simartclassic_slider {
    --cols: 8;
  }

  /* Hide arrows only on desktop */
  .gr_no_arrows_desktop .gr_simartclassic_nav_left,
  .gr_no_arrows_desktop .gr_simartclassic_nav_right {
    display: none !important;
  }
}

/* Tablet overrides (<=1024px) */
@media (max-width: 1024px) {
  .gr_tab_cols1 .gr_simartclassic_slider {
    --cols: 1;
  }
  .gr_tab_cols2 .gr_simartclassic_slider {
    --cols: 2;
  }
  .gr_tab_cols3 .gr_simartclassic_slider {
    --cols: 3;
  }
  .gr_tab_cols4 .gr_simartclassic_slider {
    --cols: 4;
  }
  .gr_tab_cols5 .gr_simartclassic_slider {
    --cols: 5;
  }
  .gr_tab_cols6 .gr_simartclassic_slider {
    --cols: 6;
  }

  /* Hide arrows only on tablet */
  .gr_no_arrows_tablet .gr_simartclassic_nav_left,
  .gr_no_arrows_tablet .gr_simartclassic_nav_right {
    display: none !important;
  }
}

/* Mobile overrides (<=600px) */
@media (max-width: 600px) {
  .gr_mob_cols1 .gr_simartclassic_slider {
    --cols: 1;
  }
  .gr_mob_cols2 .gr_simartclassic_slider {
    --cols: 2;
  }
  .gr_mob_cols3 .gr_simartclassic_slider {
    --cols: 3;
  }
  .gr_mob_cols4 .gr_simartclassic_slider {
    --cols: 4;
  }

  /* Hide arrows only on mobile */
  .gr_no_arrows_mobile .gr_simartclassic_nav_left,
  .gr_no_arrows_mobile .gr_simartclassic_nav_right {
    display: none !important;
  }
}

/* Fin styles slider */

/* ==========================================================
   Slider - liste des classes de personnalisation
   (référence rapide - ne pas supprimer)
==========================================================*/
.gr_simartclassic_post_card {
  padding-top: 0px;
}
.gr_simartclassic_post_card > .wp-block-group {
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    filter 0.25s ease,
    opacity 0.25s ease;
}
.gr_simartclassic_post_card:hover > .wp-block-group {
  transform: translateY(-6px);
  opacity: 0.9;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.15);
  filter: brightness(0.97);
}

/* CONTENEUR GLOBAL
.gr_simartclassic_slider_container { }

PISTE DU SLIDER
.gr_simartclassic_slider {}

CARD INDIVIDUELLE
.gr_simartclassic_post_card {}
.gr_simartclassic_post_card:hover {}



STRUCTURE GUTENBERG INTERNE
.wp-block-group.tw-stretched-link {}

IMAGE FEATURED
.wp-block-post-featured-image img {}

TITRE
.wp-block-post-title {}
.wp-block-post-title a {}

ZONE TITRE (hauteur mini 35px, alignement bas)
.wp-block-group:has(> .wp-block-post-title) {}

METAS / TEXTE
.gr_simartclassic_slider p {}

SEPARATEUR
.gr_simartclassic_slider hr {}

NAVIGATION
.gr_simartclassic_nav_wrapper {}
.gr_simartclassic_nav_left {}
.gr_simartclassic_nav_right {}

ETATS INTERACTIFS
.gr_simartclassic_slider.gr_dragging {}
.gr_simartclassic_slider.gr_touching {}
.is-swiping {}

RESPONSIVE (via classes sur la Query)
.gr_colsN .gr_simartclassic_slider {}
.gr_tab_colsN .gr_simartclassic_slider {}
.gr_mob_colsN .gr_simartclassic_slider {}

SHORTCODE UNIQUEMENT
.gr_simartclassic_slider_container.gr_from_shortcode {}


.gr_simartclassic_slider {
  padding-top: 14px;
 
}
========================================================== */

.gr_simartclassic_post_card {
  overflow: visible;
}

.gr_simartclassic_post_card > .wp-block-group.tw-stretched-link {
  overflow: hidden;
  border-radius: 15px;
  border: 1px solid var(--wp--preset--color--custom-clair);
}

.gr_simartclassic_slider .wp-block-post-featured-image,
.gr_simartclassic_slider .wp-block-post-featured-image__wrapper {
  width: 100%;
  aspect-ratio: 1.7777778;
  overflow: hidden;
}

.gr_simartclassic_slider .wp-block-post-featured-image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: 50% 50%;
}

/* Support du rendu custom (a.tw-hover-fade > img) : zone 16/9 + recadrage sans déformation */
.gr_simartclassic_slider a.tw-hover-fade {
  display: block;
  width: 100%;
  aspect-ratio: 1.7777778;
  overflow: hidden;
}

.gr_simartclassic_slider a.tw-hover-fade img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: 50% 50%;
  /* Neutralise les styles inline du HTML (height:auto + aspect-ratio sur le img) */
  aspect-ratio: auto !important;
}
/* Fin articles similaires */
/*---------------------------------------------------------------------------------------------------------------------------------------------------------*/

/* Neo card random */
/* Fallback: afficher la première carte si le JS ne s'exécute pas */
.neo_card_com1,
.neo_card_com2,
.neo_card_com3 {
  display: block;
}
.neo_card_com2,
.neo_card_com3 {
  display: none;
}

/*---------------------------------------------------------------------------------------------------------------------------------------------------------*/

/* Neo image ventes */
/*---------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* Conteneur principal */
.neo_imgvt_galerie-produit {
  text-align: center;
  margin-top: 20px;
}

/* Grande image */
.neo_imgvt_grande-image {
  max-width: 100%;
  height: 395px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #f7f7f7;
  cursor: pointer;
  border: 0px solid #ddd;
  border-radius: 0px;
}

/* Conteneur des vignettes */
.neo_imgvt_vignettes {
  display: flex;
  justify-content: center; /* Centrer les vignettes */
  flex-wrap: wrap; /* Gérer les petits écrans */
  margin-top: 10px;
  gap: 10px; /* Espacement uniforme entre les vignettes */
}

/* Style des vignettes */
.neo_imgvt_vignette {
  width: 60px;
  height: 60px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  cursor: pointer;
  border: 1px solid #ddd;
  border-radius: 4px;
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease;
}

.neo_imgvt_vignette:hover {
  transform: scale(1.1); /* Zoom au survol */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Modal */
.neo_imgvt_modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
}

/* Contenu de la modal */
.neo_imgvt_modal-content {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.neo_imgvt_modal-slide {
  display: none;
  text-align: center;
}

.neo_imgvt_modal-slide img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 80vw;
  max-height: 80vh;
  border-radius: 8px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.3);
}

/* Bouton de fermeture */
.neo_imgvt_close {
  position: absolute;
  top: 20px;
  right: 40px;
  font-size: 40px;
  color: #fff;
  background-color: #ffffff00;
  cursor: pointer;
  transition: color 0.3s ease;
  border-radius: 50px;
  border: 0px;
}

.neo_imgvt_close:hover {
  color: #ff6b6b; /* Indicateur visuel au survol */
}

/* Boutons de navigation */
.neo_imgvt_prev,
.neo_imgvt_next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  padding: 16px;
  margin-top: -22px;
  color: #fff;
  background-color: #ffffff00;
  font-weight: bold;
  font-size: 30px;
  transition: background-color 0.3s ease;
  border-radius: 3px;
  user-select: none;
  border-radius: 50px;
  border: 0px;
}

.neo_imgvt_prev {
  left: 10px;
}

.neo_imgvt_next {
  right: 10px;
}

.neo_imgvt_prev:hover,
.neo_imgvt_next:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

/* Animation d'apparition pour les images */
.neo_imgvt_modal-slide img {
  animation: fadeIn 0.5s ease-in-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

.neo_imgvt_caption {
  display: none;
}

/*
.neo_imgvt_caption {
    display: none;
    margin-top: 10px;
    color: #fff;
    font-size: 0.9rem;
}
    */
/*----------------------------------------------------------------------------------------------------------------------------------------------------------*/

/* ==========================================================================
   Tableau récapitulatif des ventes
   ========================================================================== */

.neo-ctable-rv {
  margin: 25px 0;
  padding: 25px;
  background: #f4f4f4;
  border-left: 2px solid var(--wp--preset--color--contrast);
}

.neo-ctable-rv table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}

.neo-ctable-rv td {
  padding: 6px 12px;
  vertical-align: top;
  border: 0;
}

.neo-ctable-rv td:first-child {
  width: 28%;
  font-weight: 600;
  white-space: nowrap;
}

.neo-ctable-rv .wp-block-table {
  margin: 0;
}

/*----------------------------------------------------------------------------------------------------------------------------------------------------------*/

/* Neo card ventes */

.gr_card_glo_link {
  cursor: pointer;
}
/*----------------------------------------------------------------------------------------------------------------------------------------------------------*/
/* Neo ventes */
/* ===== Filters (pills) ===== */
.gr_year_filter {
  margin: 1rem 0 1.25rem;
  display: flex;
  gap: 0.5rem;
  align-items: center;
  flex-wrap: wrap;
}
.gr_year_filter strong {
  margin-right: 0.5rem;
}
.gr_year_chip {
  display: inline-block;
  padding: 0.35rem 0.6rem;
  border-radius: 6px;
  background: #3b3b3b;
  color: #fff;
  text-decoration: none;
  line-height: 1;
}
.gr_year_chip:hover,
.gr_year_chip:focus {
  background: #000;
  color: #fff;
  outline: none;
}
.gr_year_chip[aria-current="true"] {
  outline: 2px solid #3b3b3b;
  background: #000;
}
.gr_year_chip--clear {
  background: #e5e5e5;
  color: #222;
}
.gr_year_sep {
  opacity: 0.35;
  display: inline-block;
  margin: 0 0.25rem;
}

/* ===== Legacy JS buttons (kept if you re-enable the JS filter) ===== */
.gr_year_filter_buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
}
.gr_year_filter_buttons button {
  background: #f5f5f5;
  border: 1px solid #ccc;
  padding: 6px 12px;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.3s;
}
.gr_year_filter_buttons button.active,
.gr_year_filter_buttons button:hover {
  background: #444;
  color: #fff;
  border-color: #444;
}

/* ===== Cards list (150px image left, text right) ===== */
.gr_cd_ventes_list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.gr_cd_vente {
  display: block;
  padding: 14px 0;
  border-top: 1px solid #efefef;
  border-bottom: 1px solid #efefef;
  position: relative;
}
.gr_cd_vente:first-of-type {
  border-top: 0;
}

/* Columns wrapper mimicking Gutenberg Columns */
.gr_cd_cols {
  display: flex;
  gap: 16px;
  align-items: center;
  line-height: 0px;
}
.gr_cd_col_img {
  flex: 0 0 150px;
}
.gr_cd_col_body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Image 150×150 cover */
.gr_cd_vente_img {
  display: block;
  width: 150px;
}
.gr_cd_vente_thumb {
  width: 150px;
  height: 150px;
  object-fit: cover;
  display: block;
  border-radius: 8px;
}
.gr_cd_noimg {
  background: #f3f3f3;
}

/* Texts */
.gr_cd_vente_body {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  line-height: 1;
}
.gr_cd_ventes_nom {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.2;
}
.gr_cd_vente_infos {
  margin: 0;
  opacity: 0.85;
}
.gr_cd_ventes_txt {
  margin: 0;
  color: #333;
  line-height: 1.2;
}
.gr_cd_vente_date small {
  opacity: 0.8;
}
.gr_cd_year_divider {
  border: 0;
  border-top: 1px solid #eaeaea;
  margin: 18px 0;
}

/* ===== Pagination ===== */
.gr_cd_pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 22px;
  gap: 10px;
}
.gr_cd_pagination a {
  padding: 0.5rem 0.75rem;
  border: 1px solid #ddd;
  border-radius: 6px;
  text-decoration: none;
}
.gr_cd_page_prev {
  margin-right: auto;
}
.gr_cd_page_next {
  margin-left: auto;
}

/* ===== Responsive ===== */
@media (max-width: 800px) {
  .gr_cd_cols {
    flex-direction: column;
    align-items: flex-start;
  }
  .gr_cd_col_img {
    flex-basis: auto;
  }
  .gr_cd_vente_img,
  .gr_cd_vente_thumb {
    width: 100%;
    height: auto;
    max-width: none;
  }
}
/* Full-card clickable overlay for ventes list */
.gr_cd_vente:hover {
  opacity: 0.8;
  transition: opacity 0.2s ease;
}

/* Keep content above the overlay for proper text selection */
.gr_cd_cols,
.gr_cd_body_group {
  position: relative;
}

/* ===== Bouton "Voir la vente" ===== */
/* Version foncée par défaut */
.gr_cd_btn {
  display: inline-block;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  text-decoration: none;
  font-size: 0.85rem;
  background: #3b3b3b;
  color: #fff;
  transition:
    background 0.2s ease,
    opacity 0.2s ease,
    transform 0.08s ease;
}
.gr_cd_btn:hover {
  background: #2a2a2a;
  color: #fff;
}
.gr_cd_btn:active {
  transform: translateY(1px);
}

/* Version claire - à activer si souhaitée
.gr_cd_btn {
  display:inline-block;
  padding:.35rem .6rem;
  border:1px solid #ddd;
  border-radius:6px;
  background:#e5e5e5;
  color:#222;
  text-decoration:none;
  font-size:.85rem;
  transition:background .2s ease, transform .08s ease;
}
.gr_cd_btn:hover { background:#d9d9d9 }
*/

/* --- Conteneur du filtre --- */
.gr_ventes_passees_filtre {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

/* --- Boutons du filtre --- */
.gr_ventes_passees_filtre a {
  display: inline-block;
  padding: 0.4rem 0.8rem;
  font-size: 0.9rem;
  text-decoration: none;
  color: #444444;
  background-color: #ffffff;
  border: 1px solid #444444;
  border-radius: 4px;
  transform: scale(1);
  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    transform 0.3s ease;
}

/* --- Hover --- */
.gr_ventes_passees_filtre a:hover {
  color: #ffffff;
  background-color: #444444;
  border-color: #ffffff;
  transform: scale(1.02);
}

/* --- Bouton actif --- */
.gr_ventes_passees_filtre a.is-active {
  color: #ffffff;
  background-color: #444444;
  border-color: #ffffff;
}

/* --- Responsive mobile --- */
@media (max-width: 600px) {
  .gr_ventes_passees_filtre {
    justify-content: center;
  }
}

/*----------------------------------------------------------------------------------------------------------------------------------------------------------*/
