/* V9.6.66 — bundle non destructif. Ordre CSS historique conservé. */

/* SOURCE: assets/css/photo-arrival-global-v9-6-22.css */

/* =====================================================================
   V9.6.18 SAFE — ARRIVÉE PHOTO GLOBALE
   Reprend le système validé en cours sur la galerie V9.6.17 :
   très doux, lent, très peu de zoom.
   Utilise translate/scale séparés pour ne pas casser les transforms existants.
   ===================================================================== */

.v918-photo-arrival{
  opacity:0;
  filter:blur(2px);
  translate:var(--v918-x,0px) var(--v918-y,28px);
  scale:.9825;
  will-change:opacity,filter,translate,scale;
}
.v918-photo-arrival.is-v918-photo-visible{
  animation:v918-photo-arrive 2760ms cubic-bezier(.22,1,.36,1) both;
  animation-delay:var(--v918-delay,0ms);
}
@keyframes v918-photo-arrive{
  0%{
    opacity:0;
    filter:blur(2px);
    translate:var(--v918-x,0px) var(--v918-y,28px);
    scale:.9825;
  }
  68%{
    opacity:1;
    filter:blur(0);
    translate:0 -2px;
    scale:1.003;
  }
  86%{
    opacity:1;
    filter:blur(0);
    translate:0 1px;
    scale:.999;
  }
  100%{
    opacity:1;
    filter:blur(0);
    translate:0 0;
    scale:1;
  }
}

/* Origines très discrètes : pas d'effet de vol ou de carte qui se balade. */
.v918-photo-arrival:nth-of-type(4n+1){--v918-x:-7px}
.v918-photo-arrival:nth-of-type(4n+2){--v918-x:7px}
.v918-photo-arrival:nth-of-type(4n+3){--v918-x:-4px}
.v918-photo-arrival:nth-of-type(4n+4){--v918-x:4px}

/* ---------------------------------------------------------------------
   GALERIE ACCUEIL — TELEPHONE :
   12 photos, UNE SEULE COLONNE, toutes les unes sous les autres,
   proportions naturelles conservées.
   --------------------------------------------------------------------- */
@media(max-width:760px){
  .v915-gallery{
    padding:5px!important;
    overflow:visible!important;
  }
  .v915-gallery-grid{
    display:block!important;
    width:100%!important;
  }
  .v915-gallery-grid .v915-card,
  .v915-gallery-grid .v915-card-1,
  .v915-gallery-grid .v915-card-2,
  .v915-gallery-grid .v915-card-3,
  .v915-gallery-grid .v915-card-4,
  .v915-gallery-grid .v915-card-5,
  .v915-gallery-grid .v915-card-6,
  .v915-gallery-grid .v915-card-7,
  .v915-gallery-grid .v915-card-8,
  .v915-gallery-grid .v915-card-9,
  .v915-gallery-grid .v915-card-10,
  .v915-gallery-grid .v915-card-11,
  .v915-gallery-grid .v915-card-12{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    grid-column:auto!important;
    grid-row:auto!important;
    margin:0 0 5px!important;
  }
  .v915-gallery-grid .v915-card img{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    max-width:100%!important;
    object-fit:contain!important;
  }

  .v918-photo-arrival{
    --v918-x:0px;
    --v918-y:24px;
  }
  .v918-photo-arrival.is-v918-photo-visible{
    animation-duration:2560ms;
  }
}

@media(prefers-reduced-motion:reduce){
  .v918-photo-arrival,
  .v918-photo-arrival.is-v918-photo-visible{
    opacity:1!important;
    filter:none!important;
    translate:none!important;
    scale:1!important;
    animation:none!important;
  }
}


/* SOURCE: assets/css/iphone-arrival-gallery-v9-6-22.css */

/* =====================================================================
   V9.6.15 SAFE — GALERIE "ARRIVÉE IPHONE"
   - 12 photos
   - vraie grille éditoriale
   - entrée individuelle : fade + scale + translate + léger overshoot
   - aucun cadre flottant / aucune superposition
   ===================================================================== */

.v915-gallery{
  position:relative;
  width:100%;
  padding:12px;
  background:var(--v9-paper);
  overflow:hidden;
}
.v915-gallery-grid{
  display:grid;
  width:100%;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-rows:minmax(260px,34vh);
  gap:12px;
  text-decoration:none;
}

/* composition desktop */
.v915-card{position:relative;margin:0;overflow:hidden;background:#ded4cb;box-shadow:0 14px 36px rgba(74,58,47,.09);isolation:isolate}
.v915-card-1{grid-column:1 / 9;grid-row:span 2}
.v915-card-2{grid-column:9 / 13;grid-row:span 2}
.v915-card-3{grid-column:1 / 5;grid-row:span 1}
.v915-card-4{grid-column:5 / 13;grid-row:span 1}
.v915-card-5{grid-column:1 / 6;grid-row:span 2}
.v915-card-6{grid-column:6 / 10;grid-row:span 2}
.v915-card-7{grid-column:10 / 13;grid-row:span 2}
.v915-card-8{grid-column:1 / 13;grid-row:span 2}
.v915-card-9{grid-column:1 / 5;grid-row:span 2}
.v915-card-10{grid-column:5 / 9;grid-row:span 2}
.v915-card-11{grid-column:9 / 13;grid-row:span 2}
.v915-card-12{grid-column:1 / 13;grid-row:span 2}

.v915-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.009);
  transition:transform 2.9s cubic-bezier(.22,1,.36,1),filter 1.6s ease;
}

/* état initial : arrivée dans l'esprit iOS */
.v915-card[data-v915-card]{
  opacity:0;
  filter:blur(2px);
  transform:
    translate3d(var(--v915-x,0px),var(--v915-y,28px),0)
    scale(.9825);
  transform-origin:center center;
  will-change:transform,opacity,filter;
}

/* une fois déclenché : keyframes avec petit overshoot */
.v915-card.is-v915-visible{
  animation:v915-arrive 2760ms cubic-bezier(.22,1,.36,1) both;
  animation-delay:var(--v915-delay,0ms);
}

@keyframes v915-arrive{
  0%{
    opacity:0;
    filter:blur(2px);
    transform:
      translate3d(var(--v915-x,0px),var(--v915-y,28px),0)
      scale(.9825);
  }
  68%{
    opacity:1;
    filter:blur(0);
    transform:translate3d(0,-2px,0) scale(1.003);
  }
  86%{
    opacity:1;
    filter:blur(0);
    transform:translate3d(0,1px,0) scale(.999);
  }
  100%{
    opacity:1;
    filter:blur(0);
    transform:translate3d(0,0,0) scale(1);
  }
}

.v915-card.is-v915-visible img{transform:scale(1)}
.v915-card:hover img{transform:scale(1.006)}

/* origines variées, discrètes */
.v915-card:nth-child(4n+1){--v915-x:-12px;--v915-y:30px}
.v915-card:nth-child(4n+2){--v915-x:12px;--v915-y:34px}
.v915-card:nth-child(4n+3){--v915-x:-8px;--v915-y:26px}
.v915-card:nth-child(4n+4){--v915-x:8px;--v915-y:30px}

/* Tablette */
@media(max-width:1019px){
  .v915-gallery{padding:8px}
  .v915-gallery-grid{
    grid-template-columns:repeat(6,minmax(0,1fr));
    grid-auto-rows:minmax(220px,31vh);
    gap:8px;
  }
  .v915-card-1{grid-column:1 / 7;grid-row:span 2}
  .v915-card-2{grid-column:1 / 4;grid-row:span 2}
  .v915-card-3{grid-column:4 / 7;grid-row:span 2}
  .v915-card-4{grid-column:1 / 7;grid-row:span 1}
  .v915-card-5{grid-column:1 / 4;grid-row:span 2}
  .v915-card-6{grid-column:4 / 7;grid-row:span 2}
  .v915-card-7{grid-column:1 / 3;grid-row:span 2}
  .v915-card-8{grid-column:3 / 7;grid-row:span 2}
  .v915-card-9{grid-column:1 / 7;grid-row:span 1}
  .v915-card-10{grid-column:1 / 4;grid-row:span 2}
  .v915-card-11{grid-column:4 / 7;grid-row:span 2}
  .v915-card-12{grid-column:1 / 7;grid-row:span 2}
}

/* Téléphone : galerie verticale premium, sans chevauchement */
@media(max-width:760px){
  .v915-gallery{padding:5px}
  .v915-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:minmax(175px,28vh);
    gap:5px;
  }

  .v915-card-1{grid-column:1 / 3;grid-row:span 2}
  .v915-card-2{grid-column:1 / 2;grid-row:span 2}
  .v915-card-3{grid-column:2 / 3;grid-row:span 2}
  .v915-card-4{grid-column:1 / 3;grid-row:span 1}
  .v915-card-5{grid-column:1 / 2;grid-row:span 2}
  .v915-card-6{grid-column:2 / 3;grid-row:span 2}
  .v915-card-7{grid-column:1 / 3;grid-row:span 1}
  .v915-card-8{grid-column:1 / 3;grid-row:span 2}
  .v915-card-9{grid-column:1 / 2;grid-row:span 2}
  .v915-card-10{grid-column:2 / 3;grid-row:span 2}
  .v915-card-11{grid-column:1 / 3;grid-row:span 1}
  .v915-card-12{grid-column:1 / 3;grid-row:span 2}

  .v915-card[data-v915-card]{
    --v915-x:0px;
    --v915-y:24px;
    filter:blur(1.5px);
  }
  .v915-card.is-v915-visible{
    animation-duration:2560ms;
  }
}

@media(max-width:390px){
  .v915-gallery-grid{grid-auto-rows:minmax(160px,26vh)}
}

/* Accessibilité : aucune animation si mouvement réduit */
@media(prefers-reduced-motion:reduce){
  .v915-card[data-v915-card]{
    opacity:1!important;
    filter:none!important;
    transform:none!important;
    animation:none!important;
  }
  .v915-card img{transform:none!important;transition:none!important}
}

