/* Fleurent Architectes — agrandissement photo et navigation */
.fleurent-lightbox-trigger { cursor: zoom-in; }
.fleurent-lightbox-trigger:focus-visible { outline: 3px solid #f7bd64; outline-offset: 3px; }
.fleurent-lightbox[hidden] { display: none !important; }
.fleurent-lightbox {
  position: fixed; inset: 0; z-index: 2147483640;
  display: grid; grid-template-columns: 64px minmax(0,1fr) 64px;
  grid-template-rows: 64px minmax(0,1fr) 30px;
  background: rgba(10,10,10,.97); color: #fff;
  font: 15px/1.4 Arial,Helvetica,sans-serif;
}
.fleurent-lightbox-toolbar {
  grid-column: 1 / -1; grid-row: 1; display: flex; justify-content: space-between;
  align-items: center; padding: 0 22px; z-index: 1;
}
.fleurent-lightbox-tools { display: flex; gap: 12px; align-items: center; }
.fleurent-lightbox button { color: #fff; background: transparent; border: 1px solid #aaa; cursor: pointer; }
.fleurent-lightbox button:hover { background: #333; }
.fleurent-lightbox button:focus-visible { outline: 3px solid #f7bd64; outline-offset: 3px; }
.fleurent-lightbox-close { width: 40px; height: 40px; font-size: 30px; line-height: 1; }
.fleurent-lightbox-zoom { min-width: 65px; height: 40px; padding: 0 8px; font-size: 13px; }
.fleurent-lightbox-prev, .fleurent-lightbox-next { align-self: center; justify-self: center; width: 42px; height: 42px; border-radius: 50%; font-size: 22px; }
.fleurent-lightbox-prev { grid-column: 1; grid-row: 2; }
.fleurent-lightbox-next { grid-column: 3; grid-row: 2; }
.fleurent-lightbox-stage {
  grid-column: 2; grid-row: 2; width: 100%; height: 100%; min-width: 0; min-height: 0;
  display: flex; align-items: center; justify-content: center; overflow: auto;
}
.fleurent-lightbox-image {
  display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; cursor: zoom-in;
}
.fleurent-lightbox.is-zoomed .fleurent-lightbox-stage { display: block; text-align: center; }
.fleurent-lightbox.is-zoomed .fleurent-lightbox-image { max-width: none; max-height: none; margin: 0 auto; cursor: zoom-out; }
.fleurent-lightbox-help { grid-column: 1/-1; grid-row: 3; text-align: center; font-size: 11px; color: #aaa; }
@media (max-width: 600px) {
  .fleurent-lightbox { grid-template-columns: 44px minmax(0,1fr) 44px; grid-template-rows: 58px minmax(0,1fr) 32px; }
  .fleurent-lightbox-toolbar { padding: 0 10px; }
  .fleurent-lightbox-prev, .fleurent-lightbox-next { width: 36px; height: 36px; font-size: 18px; }
  .fleurent-lightbox-help { font-size: 10px; }
}
