


/* ==== BASE ==== */

:where(.wp-site-blocks *:focus) {
  outline-width: 0px;
  outline-style: solid;
}
:where(figure) {
  margin: 0;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 50px;
}

/* ==== UTILITAIRES ==== */
.gr_rad           { border-radius: 0px; }
.gr_shdow,
.gr_bloc_shdow    {
  box-shadow: rgba(0, 0, 0, 0.1) 0px 20px 25px -5px,
              rgba(0, 0, 0, 0.04) 0px 10px 10px -5px;
}
.gr_pos_rel       { position: relative; }
.gr_pos_abs       { position: absolute; }
.gr_ov_hid        { overflow: hidden; }


/* ==== footer ==== */
footer{
  margin-block-start: 0!important;
  margin-block-end: 0!important;
}

/* ==== 1 NAVIGATION ==== */

.gr_nav_abs {
  position: absolute;
  top: 0;
  z-index: 900;
  width: 100%!important;
  background-color: transparent;
  transition: background-color 0.3s ease;
}
 .gr_menu {
  z-index: 900;
} 
/*===== f7f7f70a ======*/
.gr_sticky-nav {
  background-color: transparent;
   
  transition: background-color 0.4s ease, color 0.4s ease;
}
.gr_sticky-nav a {
  color: var(--wp--preset--color--base);
  transition: color 0.4s ease;
}

/* Variant 2: sticky nav with white default (pre-scroll) */
.gr_sticky-nav-cust2 {
  color: var(--wp--preset--color--base);
  transition: background-color 0.4s ease, color 0.4s ease;
}
.gr_sticky-nav-cust2 a {
  color: var(--wp--preset--color--base);
  transition: color 0.4s ease;
}
.gr_sticky-nav.fixed,
.gr_sticky-nav-cust2.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  color: var(--wp--preset--color--accent-2);
  background-color: var(--wp--preset--color--contrast); 
  transition: background-color 0.4s ease, color 0.4s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
.gr_sticky-nav.fixed a,
.gr_sticky-nav-cust2.fixed a {
  color: var(--wp--preset--color--accent-2)
 
}
.gr_bt_c1,
.gr_bt_c1 a {
  color: var(--wp--preset--color--base)!important;
}
/* display:none; display: block; */
/* ==== nav soulignement luxe animation ==== */

.gr_nav_h a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  overflow: hidden;
}

.gr_nav_h a::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -100%;
  width: 100%;
  height: 2px; /* Épaisseur du soulignement */
  background-color: var(--wp--preset--color--base); /* Couleur du soulignement */
  transition: left 0.5s ease-in-out;
}

.gr_nav_h a:hover::before {
  left: 0;
  background-color: var(--wp--preset--color--accent-2);
}
/* fin animation soulignement luxe */


/* ==== contact FORMULAIRES ==== */
/*---formulaire---*/


.contact-form label {
font-weight : 400;
font-size :14px;
}
:where(.contact-form input[type=text],.contact-form input[type=email],.contact-form input[type=tel],.contact-form input[type=url],.contact-form textarea), .contact-form select {
    border: 1px solid #f2eee98c;
    border-radius: 0px;
    box-sizing: border-box;
    font: inherit;
    padding: 14px;
    width: 100%;
     color: var(--wp--preset--color--base);
      background-color: var(--wp--preset--color--contrast-3);
}
.gr_bt_form {    border-radius: 0px;}

/* Cible les placeholders dans les champs de texte, téléphone, email, etc. */
.wpcf7-form-control-wrap input::placeholder,
.wpcf7-form-control-wrap textarea::placeholder {
    color: #f2eee98c; /* color: var(--wp--preset--color--accent) ; Couleur du texte du placeholder */
    opacity: 1; /* Opacité du texte du placeholder */
}

/* Cible les placeholders dans les champs de sélection */
.wpcf7-form-control-wrap select::placeholder {
    color: var(--wp--preset--color--accent) !important; /* Couleur du texte du placeholder */
    opacity: 1; /* Opacité du texte du placeholder */
}

/* Conteneur spécifique du formulaire */
.gr_form1_contact-form.gr_form1_form-inline-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin: 0 auto;
  text-align: center;
}

/* Label */
.gr_form1_form-inline-wrap label {

  white-space: nowrap;
  margin-bottom: 0;
}

/* Champs texte et téléphone */
.gr_form1_form-inline-wrap .gr_bt_form {
  padding: 12px 16px;
  margin-top: 5px;
  border: none;
  border-radius: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
}

/* Placeholder */
.gr_form1_form-inline-wrap .gr_bt_form::placeholder {
  
  opacity: 1;
  text-align: center;
}

/* Bouton */
.gr_form1_form-inline-wrap input[type="submit"].gr_bt_form {
  padding: 12px 24px;
  background-color: var(--wp--preset--color--accent);
  color: var(--wp--preset--color--contrast);
  border: none;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Hover bouton */
.gr_form1_form-inline-wrap input[type="submit"].gr_bt_form:hover {
  background-color: var(--wp--preset--color--accent-2);
  color: var(--wp--preset--color--contrast);
}

/* ====== fin-form ====== */
/* ====== form-contact ====== */


/* ==== 2 BOUTONS ==== */
.wp-element-button,
.wp-block-button__link,
.gr_bt {
  transform: scale(1);
  transition: background-color 0.7s ease, color 0.7s ease, transform 0.7s ease;
  border: 1px solid var(--wp--preset--color--accent);
}
.wp-element-button:hover,
.wp-block-button__link:hover,
.gr_bt:hover {
  color: var(--wp--preset--color--base) !important;
  background-color: var(--wp--preset--color--accent-2) !important;
  transform: scale(1);
  border: 1px solid var(--wp--preset--color--accent) !important;
  transition: transform 0.7s ease-in-out, background-color 0.7s ease, color 0.7s ease, border-color 0.7s ease;
}
/* Bouton luxe hover */
 .gr_bt_h a,
.wp-block-button__link {
  position: relative;
  display: inline-block;
  overflow: hidden;
  transition: color 0.3s ease-in-out;
}
.gr_bt_h a::before,
.wp-block-button__link::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background-color: var(--wp--preset--color--accent-2);
  transition: left 0.5s ease-in-out;
  z-index: -1;
}
.gr_bt_h a:hover::before,
.wp-block-button__link:hover::before {
  left: 0;
}
.gr_bt_h a:hover,
.wp-block-button__link:hover {
  color: var(--wp--preset--color--base)!important;
}
/* Hover luxe : fond glissant */
.gr_bt_h a:hover::before,
.gr_bt_h .wp-block-button__link:hover::before {
  left: 0;
}

/* Hover luxe : texte blanc */
.gr_bt_h a:hover,
.gr_bt_h .wp-block-button__link:hover {
  color: var(--wp--preset--color--base)!important;
}


.gr_bt_cards {
    transform: scale(1);
  transition: background-color 0.7s ease, color 0.7s ease, transform 0.7s ease;
  border: none!important;
}
.gr_bt_cards:hover {
  border: none!important;
  color: var(--wp--preset--color--base) !important;
  background-color: var(--wp--preset--color--accent-2) !important;
  transform: scale(1);
   transition: transform 0.7s ease-in-out, background-color 0.7s ease, color 0.7s ease, border-color 0.7s ease;
}




/* ==== 3 CARDS & BLOCS ==== */
.gr_pos_bloc {
position:absolute;
width : 100%;
z-index : 900;
}
.gr_pos_bloc1 {
  width: 100%;
  z-index: 700;
  position: relative;
  margin-top: -150px !important;
}
.gr_pos_bloc2 {
width : 100%;
z-index : 700;
 position: relative;
margin-top:-250px!important;
}
.gr_pos_bloc3 {
width : 100%;
z-index : 700;
 position: relative;
margin-top:-125px!important;
}
.gr_pos_bloc4 {
width : 100%;
z-index : 700;
 position: relative;
margin-top:-125px!important;
}
.gr_pos_bloc5  {
width : 100%;
z-index : 700;
 position: relative;
margin-top:-200px!important;
}


/* ==== 4 DIVERS fil d'ariane ==== */
.grunion-field-label.consent.consent-explicit {
  font-size: 0.7rem !important;
}
.yoast-breadcrumbs a {
  color: var(--wp--preset--color--contrast-2) !important;
}
.breadcrumb_last {
  font-weight: bold;
}
:where(.wp-site-blocks) > * {
  margin-block-start: 0rem;
  margin-block-end: 0;
}


/*AAAVOIR*/
:where(.wp-site-blocks *:focus-visible){
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
/*AAAVOIR*/
@media (prefers-reduced-motion: reduce){
  html { scroll-behavior: auto; }
  .gr_slider_fse_inner { scroll-behavior: auto; }
}

/* ==== RECAPTCHA ==== */
.grecaptcha-badge {
  visibility: hidden !important;
}

/* ==== SLIDE CUSTOM ==== */
/* --- dot espace haut et bas -- */
.wp-block-cb-carousel-v2[data-cb-pagination="true"] .swiper-horizontal {
  margin-bottom: calc(var(--wp--custom--carousel-block--pagination-bullet-size, 0px) * 0) !important;
}
/* ----- */
/* --- allignement droite et centré -- */
.gr_slide_cus1 .cb-pagination.swiper-pagination-horizontal {
  display: flex;
  justify-content: flex-start;
  bottom: calc(var(--wp--custom--carousel-block--pagination-bullet-size, 8px) * -2.5);
  top: var(--wp--custom--carousel-block--pagination-top, auto);
}

/* Ciblage spécifique mobile */
@media (max-width: 768px) {
  .gr_slide_cus1 .cb-pagination.swiper-pagination-horizontal {
    justify-content: center;
  }
}
/* ==== image en ligne ==== */
.gr_img_dcal img {
  position: relative;
  top: 5px;
  width: 20px!important;
}





/*--gestion footer---*/

.gr_pos_bloc_footer {
  width: 100%;
  position: relative;
  margin-top: -150px !important;
}
.gr_aside1 {
  z-index: 500;
}
/*.gr_footer_hp {
    margin-top: -250px!important
}*/


ul.is-style-tw-arrow li::before {
    content: "\2192";
    position: absolute;
    inset-inline-start: 0;
    color: var(--wp--preset--color--accent);
}

/*================================================================================================================*/


/* ====  LIGHTBOX ==== */
/* === slider Lightbox Graphineo – Base === */
.gr_lightbox_overlay {
  position: fixed; inset: 0;
  background: rgba(0,0,0,.9);
  display: none;
  align-items: center; justify-content: center;
  z-index: 99999;
}
.gr_lightbox_overlay.gr_open { display: flex; }

.gr_lightbox_stage{ 
  position: relative; width:100%; height:100%;
  display: grid; place-items: center;
}

.gr_lightbox_img {
  max-width: 94vw; max-height: 92vh;
  object-fit: contain;
  margin: auto;
  box-shadow: 0 8px 32px rgba(0,0,0,.5);
  transition: transform .25s ease;
}

.gr_lightbox_close,
.gr_lightbox_prev,
.gr_lightbox_next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  padding: .75rem 1rem;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(0,0,0,.35);
  color: #fff;
  cursor: pointer;
  border-radius: 14px;
  font-size: 14px;
  line-height: 1;
  user-select: none;
}
.gr_lightbox_close { top: 24px; right: 24px; transform: none; }
.gr_lightbox_prev { left: 20px; }
.gr_lightbox_next { right: 20px; }

.gr_lightbox_counter {
  position: absolute; bottom: 20px; left: 50%;
  transform: translateX(-50%);
  color: #fff;
  padding: .4rem .6rem;
  font-size: 13px;
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: 10px;
}

.gr_lightbox_btn:hover { background: rgba(255,255,255,.15); }

@media (max-width: 640px) {
  .gr_lightbox_prev, .gr_lightbox_next { top: auto; bottom: 24px; transform: none; }
  .gr_lightbox_prev { left: 16px; }
  .gr_lightbox_next { right: 16px; }
}
/* ============================================= */
/* ============================================= */

/* ============================================= */
/* ============================================= */

/* ============================================= */
/* ============================================= */


/* ============================================= */
/* ============================================= */
/** suuuuuuuup **/
/* ============================================= */
/* ============================================= */

/* ============================================= */
/* ============================================= */


/* ==== 5 SLIDERS ==== */
/* === FSE Slider – Styles utiles uniquement (classes mises à jour) === */

/* Carte individuelle (item du slider) */
.gr_slider_fse_card {
  flex: 0 0 auto;
  width: calc((100% - ((var(--cols) - 1) * var(--slider-gap))) / var(--cols));
  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_slider_fse_card:hover { transform: translateY(-6px); }

/* Lien couvrant toute la card */
.gr_slider_fse_link { display:block; color:inherit; text-decoration:none; height:100%; }

/* Image de tête en background */
.gr_slider_fse_image {
  height: 200px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 10px;
}

/* Contenu de la card */
.gr_slider_fse_content {  }

/* Titre */
.gr_slider_fse_title { }



/* ======================================= */
/* ==========Slider_gr_on================= */
/* ======================================= */

/* === Slider horizontal === */

.gr_slider_fse { position: relative; overflow-x: visible; overflow-y: visible; margin: 30px auto; width: 100%; max-width: 1280px; }

.gr_slider_fse_inner {
  --cols: 4;
  display: flex;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding-bottom: 10px;
  gap: 0px;
  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_slider_fse_inner::-webkit-scrollbar { display: none; }

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

/* Boutons de navigation */
.gr_slider_fse_nav { display:flex; justify-content:center; gap:1rem; margin: .5rem 0; padding: 0 20px; }

.gr_slider_fse_prev,
.gr_slider_fse_next {
  background-color: var(--wp--preset--color--accent-2);
  color: #fff;
  width: 35px; height: 35px; border-radius:0%;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
  opacity: 1;
  transition: opacity .3s ease, transform .2s ease;
  cursor: pointer; touch-action: pan-y; user-select: none; border: none;
  position: relative; z-index: 10;
}
.gr_slider_fse_prev:hover,
.gr_slider_fse_next:hover { opacity:.85; transform: scale(1.08); }

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

.is-swiping .gr_slider_fse_prev,
.is-swiping .gr_slider_fse_next { pointer-events: none; }

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

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

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

/* Paragraphes & titres dans le slider : pas de marges */
.gr_slider_fse_inner p { margin-block-start: 0; margin-block-end: 0; }
.gr_slider_fse_inner h3 { margin-block-start: 0; margin-block-end: 0; }
/* Règle horizontale pleine largeur */
.gr_slider_fse_inner hr { width: 100%; }


.gr_slider_fse_inner .wp-block-post::marker {
  content: none;
  display: none;
}
/* Variables d’espacement du slider */
.gr_slider_fse_inner {
  /* espace entre les slides */
  --slider-gap: 16px;
  gap: var(--slider-gap);

  /* bordure interne gauche/droite */
  --slider-pad: 0px;
  padding-inline: var(--slider-pad);

  /* important pour que le scroll-snap aligne bien la 1re slide */
  scroll-padding-inline-start: var(--slider-pad);
  scroll-padding-inline-end: var(--slider-pad);
}

/* Chaque carte continue à “snapper” au début de la piste */
.gr_slider_fse_card {
  scroll-snap-align: start;
  /* tu peux forcer l’arrêt sur chaque carte si tu veux */
  /* scroll-snap-stop: always; */
}
  
/*special slider prestation*/


/* ===== Spécifique : slider prestations – ombres visibles ===== */
.gr_boucle_slider_prestation .gr_slider_fse_inner { --slider-gap: 10px; }
.gr_boucle_slider_prestation .gr_slider_fse_card {
                   /* fond pour bien percevoir l’ombre */
     box-shadow: 6px 6px 9px rgba(0, 0, 0, 0.2);
}
.gr_boucle_slider_prestation .gr_slider_fse_card:hover{
  box-shadow:  6px 6px 9px rgba(0, 0, 0, 0.2);
}



/* === FSE Slider – Styles utiles uniquement (classes mises à jour) fin === */
/* ======================================= */
/* =============Slider_gr_off============= */
/* ======================================= */


/* ==== Bouton article "Lire la suite" ==== */
.gr_btls_art,
.gr_btls_art a {
  box-shadow: 6px 6px 9px rgba(0, 0, 0, 0.2);
}

/* Bloc carte  Nouveau – Effet d’ombre amélioré */
.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);
}
/* ==== Bouton article fin "Lire la suite" ==== */


/* ===== Slider presets (desktop only) – 6 cols & 3 cols ===== */
@media (min-width: 1025px){
  /* Applique l'une de ces classes sur la Query Loop */
  .gr_cols6 .gr_slider_fse_inner{ --cols: 6; }
  .gr_cols3 .gr_slider_fse_inner{ --cols: 3; }
}

/* Cacher les flèches du slider uniquement sur desktop */
@media (min-width: 1025px){
  .gr_no_arrows_desktop .gr_slider_fse_prev,
  .gr_no_arrows_desktop .gr_slider_fse_next{
    display: none !important;
  }
}
/* consigne slider
 * Slider FSE – auto-init par classes utilitaires
 * Règles attendues sur la boucle (Query Loop) :
 * - gr_boucle_slider_<nom> : active le slider
 * - gr_colsN                : N colonnes visibles (desktop)
 * - gr_no_arrows_desktop    : pas de flèches sur desktop
 * - gr_slider_dyn           : autoplay ON
 * - gr_intN                 : intervalle autoplay en secondes (N)
 *
 * HTML final généré (structure) :
 * .gr_slider_fse[data-cols]
 *   .gr_slider_fse_inner
 *     .gr_slider_fse_card * n
 *   .gr_slider_fse_nav
 *     button.gr_slider_fse_prev
 *     button.gr_slider_fse_next
 *Contrôle des flèches par breakpoint :
	*•	gr_no_arrows_desktop
	*•	gr_no_arrows_tablet
	*•	gr_no_arrows_mobile

gr_boucle_slider_services gr_slider_dyn gr_int2 → 4 / 2 / 1 (defaults)
	•	gr_boucle_slider_prestation gr_cols6 gr_tab_cols4 gr_mob_cols2 gr_slider_dyn gr_int1 → 6 / 4 / 2 selon la largeur

 */

/* ==========================================================
   Slider – Responsive overrides via classes on the Query Loop
   Usage examples on the Query Loop wrapper:
   - Desktop: gr_cols6
   - Tablet:  gr_tab_cols3   (<=1024px)
   - Mobile:  gr_mob_cols1   (<=600px)
   - Arrows:  gr_no_arrows_desktop / gr_no_arrows_tablet / gr_no_arrows_mobile
   Notes:
   - Desktop remains controlled by gr_colsN.
   - If no tablet/mobile class is set, defaults are 2 (tablet) and 1 (mobile).
   - These classes only affect breakpoints; they do not change desktop.
========================================================== */

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

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

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

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



/* ============================================= */
/* ============================================= */
/* ==== 9 gallerie reorganisation sur galerie ==== */
/* ==== Galerie masonry responsive ==== */

/* Conteneur masonry */
.wp-block-gallery.gr_gallery_masonry {
  display: block;       /* important: on désactive le flex */
  column-count: 3;      /* Desktop */
  column-gap: 1.5rem;
}

/* Au cas où le layout flex est forcé par WordPress */
.wp-block-gallery.gr_gallery_masonry.wp-block-gallery-is-layout-flex {
  display: block;
}

/* Chaque image se comporte comme un bloc dans une colonne */
.wp-block-gallery.gr_gallery_masonry figure.wp-block-image {
  display: inline-block;
  width: 100%;
  margin: 0 0 1.5rem;
  break-inside: avoid;
}

/* Images non recadrées */
.wp-block-gallery.gr_gallery_masonry img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Empêche WordPress de recadrer */
.wp-block-gallery.gr_gallery_masonry.is-cropped img {
  height: auto;
}

/* --- Responsive --- */
@media (max-width: 1024px) {
  /* Tablette */
  .wp-block-gallery.gr_gallery_masonry {
    column-count: 2;
  }
}

@media (max-width: 640px) {
  /* Mobile */
  .wp-block-gallery.gr_gallery_masonry {
    column-count: 1;
  }
}





/* Lightbox base + galerie partagent le même style */
/* ====  LIGHTBOX ==== */
/* Slider / Lightbox global (sliders + galeries Gutenberg) */

.gr_lightbox_overlay,
.gr_lightbox_gal_overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.92);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 99999;
}

.gr_lightbox_overlay.gr_open,
.gr_lightbox_gal_overlay.gr_open {
  display: flex;
}

/* Zone centrale qui contient l'image + l'UI */
.gr_lightbox_stage,
.gr_lightbox_gal_stage {
  position: relative;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  padding-inline: clamp(24px, 7vw, 96px); /* marge latérale façon Blue */
  box-sizing: border-box;
  align-content: center;
}

/* Image principale */
.gr_lightbox_img,
.gr_lightbox_gal_img {
  max-width: 100%;
  max-height: 92vh;
  object-fit: contain;
  margin: auto;
  box-shadow: 0 18px 45px rgba(0,0,0,.7);
  border-radius: 4px;
  transition: transform .25s ease, box-shadow .25s ease;
}

.gr_open .gr_lightbox_img,
.gr_open .gr_lightbox_gal_img {
  transform: translateZ(0);
}

/* Légende optionnelle */
.gr_lightbox_legend,
.gr_lightbox_gal_legend {
  position: absolute;
  left: 50%;
  bottom: 28px;
  transform: translateX(-50%);
  padding: .6rem 1rem;
  color: #fff;
  background: rgba(0, 0, 0, 0.75);
  font-size: .8rem;
  letter-spacing: .03em;
  border-radius: 999px;
  white-space: nowrap;
  max-width: min(80vw, 960px);
  text-overflow: ellipsis;
  overflow: hidden;
}

.gr_lightbox_legend[hidden],
.gr_lightbox_gal_legend[hidden] {
  display: none !important;
}

/* Compteur d'images */
.gr_lightbox_counter {
  position: absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  color: #fff;
  padding: .4rem .7rem;
  font-size: .75rem;
  background: rgba(0,0,0,.65);
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.35);
}

/* Boutons navigation / fermeture */
/* ==== LIGHTBOX – Boutons flèche custom ==== */

.gr_lightbox_prev,
.gr_lightbox_next,
.gr_lightbox_gal_prev,
.gr_lightbox_gal_next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 0px;
  border: 2px solid rgba(255,255,255,.22);
  background: rgba(0,0,0,.55);
  color: #fff;
  cursor: pointer;
  font-size: 26px;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 12px 30px rgba(0,0,0,.40);
  transition: background .25s ease, box-shadow .25s ease, transform .25s ease;
}

.gr_lightbox_prev:hover,
.gr_lightbox_next:hover,
.gr_lightbox_gal_prev:hover,
.gr_lightbox_gal_next:hover {
  background: rgba(255,255,255,.15);
  transform: translateY(-50%) scale(1.08);
  box-shadow: 0 18px 45px rgba(0,0,0,.60);
}

/* Position */
.gr_lightbox_prev,
.gr_lightbox_gal_prev { left: clamp(24px, 4vw, 52px); }

.gr_lightbox_next,
.gr_lightbox_gal_next { right: clamp(24px, 4vw, 52px); }

/* ==== LIGHTBOX - Bouton fermeture custom ==== */
.gr_lightbox_close,
.gr_lightbox_gal_close {
  position: absolute;
  top: clamp(20px, 3vh, 28px);
  right: clamp(20px, 3vw, 34px);
  width: 40px;
  height: 40px;
  border-radius: 0px;
  border: 2px solid rgba(255,255,255,.22);
  background: rgba(0,0,0,.55);
  color: #fff;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 12px 30px rgba(0,0,0,.40);
  transition: background .25s ease, box-shadow .25s ease, transform .25s ease;
}

.gr_lightbox_close:hover,
.gr_lightbox_gal_close:hover {
  background: rgba(255,255,255,.15);
  transform: scale(1.08);
  box-shadow: 0 18px 45px rgba(0,0,0,.60);
}

.gr_lightbox_btn,
.gr_lightbox_gal_btn {
  border: none;
  background: rgba(47, 46, 46, 0.7);
  padding: 0;
}


/*----pahe images tableau de bord----*/
/* Limitation hauteur image mise en avant */
.gr_max_img_ht img {
  max-height: 70vh;
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}


/* Conteneur colonnes */
.wp-block-columns{
  align-items: stretch;
}

/* Colonne image adaptative */
.wp-block-column.gr_col_img_auto{
  flex: 0 1 auto !important;
  flex-basis: auto !important;
  width: fit-content !important;
  max-width: 66.66% !important;
}

/* Wrapper image */
.gr_col_img_auto .wp-block-post-featured-image{
  display: inline-block;
  width: auto;
  max-width: 100%;
}

/* Image */
.gr_col_img_auto .wp-block-post-featured-image img{
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 80vh;
  object-fit: contain;
}

/* Colonne contenu prend le reste */
.wp-block-column:not(.gr_col_img_auto){
  flex: 1 1 0 !important;
  min-width: 0;
}