
/* Blog image lightbox */
.blog-lightbox-link{
  display:block;
  position:relative;
  cursor:zoom-in;
  text-decoration:none;
  color:inherit;
}
.blog-lightbox-link picture,
.blog-lightbox-link img{display:block;}
.blog-lightbox-link::after{
  content:"Agrandir";
  position:absolute;
  right:.75rem;
  bottom:.75rem;
  z-index:2;
  padding:.35rem .55rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(13,11,12,.68);
  color:#fff;
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .2s ease, transform .2s ease, background .2s ease;
  pointer-events:none;
}
.blog-lightbox-link:hover::after,
.blog-lightbox-link:focus-visible::after{opacity:1;transform:translateY(0);}
.blog-lightbox-link:focus-visible{outline:2px solid var(--red-bright,#c92a2e);outline-offset:4px;}
.blog-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:clamp(1rem,3vw,2rem);
  background:rgba(8,7,8,.92);
  backdrop-filter:blur(10px);
}
.blog-lightbox.is-open{display:flex;}
.blog-lightbox__figure{
  position:relative;
  width:min(96vw,1500px);
  max-height:92vh;
  margin:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.9rem;
}
.blog-lightbox__img{
  display:block;
  max-width:100%;
  max-height:82vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:10px;
  box-shadow:0 24px 80px rgba(0,0,0,.55);
}
.blog-lightbox__caption{
  max-width:min(92vw,1100px);
  color:rgba(255,255,255,.78);
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem;
  line-height:1.5;
  letter-spacing:.04em;
  text-align:center;
}
.blog-lightbox__close{
  position:fixed;
  top:1rem;
  right:1rem;
  z-index:10000;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(35,31,32,.72);
  color:#fff;
  cursor:pointer;
  font-size:1.8rem;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}
.blog-lightbox__close:hover{background:rgba(176,31,35,.32);border-color:rgba(176,31,35,.7);transform:scale(1.03);}
.blog-lightbox__nav{
  position:fixed;
  top:50%;
  transform:translateY(-50%);
  z-index:10000;
  width:48px;
  height:64px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  background:rgba(35,31,32,.62);
  color:#fff;
  cursor:pointer;
  font-size:2rem;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .18s ease, border-color .18s ease;
}
.blog-lightbox__nav:hover{background:rgba(176,31,35,.28);border-color:rgba(176,31,35,.7);}
.blog-lightbox__nav--prev{left:1rem;}
.blog-lightbox__nav--next{right:1rem;}
.blog-lightbox__counter{
  position:fixed;
  left:50%;
  bottom:1rem;
  transform:translateX(-50%);
  padding:.35rem .7rem;
  border-radius:999px;
  background:rgba(35,31,32,.7);
  color:rgba(255,255,255,.78);
  font-family:'JetBrains Mono',monospace;
  font-size:.7rem;
  letter-spacing:.08em;
}
body.blog-lightbox-open{overflow:hidden;}
@media (max-width:640px){
  .blog-lightbox{padding:.75rem;}
  .blog-lightbox__img{max-height:78vh;border-radius:6px;}
  .blog-lightbox__caption{font-size:.64rem;}
  .blog-lightbox__close{top:.65rem;right:.65rem;width:40px;height:40px;}
  .blog-lightbox__nav{width:40px;height:54px;font-size:1.6rem;background:rgba(35,31,32,.72);}
  .blog-lightbox__nav--prev{left:.45rem;}
  .blog-lightbox__nav--next{right:.45rem;}
  .blog-lightbox-link::after{opacity:1;transform:none;font-size:.58rem;right:.55rem;bottom:.55rem;}
}
