/* ======================================
   Ayn Booking — Galerie Logement MOSAÏQUE
   Desktop Homey-like + mobile slider
   FIX :
   - cacher miniatures LightGallery uniquement sur mobile
   - cacher le bouton "Voir toutes les photos" sur mobile
====================================== */

.ayn-gallery,
.ayn-gallery * { box-sizing: border-box; }

.ayn-gallery{
  width:100%;
  max-width:100%;
  display:block;
}

.ayn-gallery img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center;
  border:0 !important;
  outline:0;
  background:transparent !important;
  box-shadow:none !important;
}

/* Blur-up */
.ayn-gallery .ayn-blur-up{
  filter: blur(14px);
  transform: scale(1.03);
  opacity:.9;
  transition: filter .45s ease, transform .45s ease, opacity .45s ease;
}
.ayn-gallery .ayn-blur-up.is-loaded{
  filter: blur(0);
  transform: scale(1);
  opacity:1;
}

/* ==========================
   DESKTOP MOSAÏQUE
========================== */
.ayn-gallery-mosaic{
  position:relative;
  display:grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap:8px;
  width:100%;
  border-radius:16px;
  overflow:hidden;
  background:var(--ayn-surface-2);
  aspect-ratio: 16 / 9; /* ratio global stable */
}

.ayn-tile{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
  background:var(--ayn-border);
}

.ayn-tile img{
  transition: transform .45s cubic-bezier(.16,1,.3,1), filter .3s ease;
}
.ayn-tile:hover img{
  transform: scale(1.04);
}
.ayn-tile:active img{
  transform: scale(1.02);
  filter: brightness(.96);
}

.ayn-tile--main{
  grid-column:1 / 2;
  grid-row:1 / 3; /* prend 2 lignes */
}

.ayn-tile--sub:nth-of-type(2){ grid-column:2 / 3; grid-row:1 / 2; }
.ayn-tile--sub:nth-of-type(3){ grid-column:3 / 4; grid-row:1 / 2; }
.ayn-tile--sub:nth-of-type(4){ grid-column:2 / 3; grid-row:2 / 3; }
.ayn-tile--sub:nth-of-type(5){ grid-column:3 / 4; grid-row:2 / 3; }

.ayn-tile-more{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:18px;
  color:var(--ayn-surface-1);
  background:rgba(0,0,0,.45);
  letter-spacing:.2px;
}

/* bouton "Afficher toutes" desktop */
.ayn-gallery-seeall{
  position:absolute;
  right:12px;
  bottom:12px;
  z-index:3;
  background:var(--ayn-surface-1);
  border:1px solid var(--ayn-border);
  border-radius:999px;
  padding:10px 14px;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  box-shadow:var(--ayn-shadow-lg);
  transition: background .2s ease, transform .12s ease;
}
.ayn-gallery-seeall:hover{
  background:var(--ayn-bg);
  transform: translateY(-1px);
}

/* liens cachés */
.ayn-gallery-hidden{ display:none; }

/* ==========================
   EMPTY STATE
========================== */
.ayn-gallery-empty{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:260px;
  background:var(--ayn-surface-2, #f6f7f7);
  border:1px dashed var(--ayn-border, #e0e0e0);
  border-radius:16px;
  color:var(--ayn-text-muted, #888);
  font-size:14px;
}
.ayn-gallery-empty__icon{
  width:40px;
  height:40px;
  opacity:.5;
}

/* ==========================
   MOBILE → voir gallery-mobile-shared.css
========================== */

/* ==========================
   Responsive
========================== */
@media (max-width: 768px){
  .ayn-gallery-mosaic{ display:none; }
}
