/* V9.6.67 — bundle non destructif. Sources originales conservées dans le thème. */

/* ===== SOURCE: assets/css/final-seasons-points-gallery-v9-6-12.css ===== */

/* =====================================================================
   V9.6.12 SAFE
   1) Jura au Fil des Saisons : Pattern 5 du CSS maître V9, isolé.
   2) Points clés : même langage graphique, mais statiques et empilés.
   3) Galerie : 2 écrans de hauteur, aucune photo flottante.
   ===================================================================== */

/* --- JURA AU FIL DES SAISONS : valeurs exactes du Pattern 5 Archive+ --- */
.v912-seasons-master{position:relative;min-height:835px;padding:0 0 78px}
.v912-seasons-master .v9-activities-bg{position:absolute;left:25%;top:0;width:50%;height:710px;background:#f6f5f3;text-align:center;padding-top:12px}
.v912-seasons-master .v9-activities-bg h2{font-size:43px}
.v912-seasons-master .v9-activities-carousel{position:relative;height:690px;padding-top:150px}
.v912-seasons-master .v9-activity-slide{position:absolute;left:8%;top:150px;width:72%;opacity:0;visibility:hidden;transition:opacity .55s ease}
.v912-seasons-master .v9-activity-slide.is-active{opacity:1;visibility:visible}
.v912-seasons-master .v9-activity-slide figure{margin:0;width:76%;height:450px;overflow:hidden}
.v912-seasons-master .v9-activity-slide img{width:100%;height:100%;object-fit:cover}
.v912-seasons-master .v9-activity-card{position:absolute;right:0;top:181px;width:315px;min-height:315px;background:#fff;padding:42px 44px;box-shadow:0 14px 38px rgba(74,58,47,.12)}
.v912-seasons-master .v9-activity-card h3{font-size:36px;margin:8px 0 18px}
.v912-seasons-master .v9-activity-card p{font-size:14px;line-height:1.72;color:#554b45}
.v912-seasons-master .v9-stage-prev{left:0}
.v912-seasons-master .v9-stage-next{right:0}
.v912-seasons-master .v9-dots{bottom:15px}

/* --- POINTS CLÉS : Pattern 5 statique, aucun carousel / aucune flèche --- */
.v912-keypoints{
  position:relative;
  padding:20px 0 125px;
}
.v912-keypoints-heading{
  width:50%;
  min-height:175px;
  margin:0 auto 38px;
  padding:12px 30px 0;
  background:#f6f5f3;
  text-align:center;
}
.v912-keypoints-heading h2{
  margin:0;
  font-size:43px;
}
.v912-keypoints-stack{
  width:min(calc(100% - 80px),1280px);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:105px;
}
.v912-keypoint{
  position:relative;
  min-height:540px;
}
.v912-keypoint figure{
  margin:0;
  width:72%;
  height:500px;
  overflow:hidden;
}
.v912-keypoint figure img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.v912-keypoint .v9-activity-card{
  position:absolute;
  right:0;
  top:92px;
  width:350px;
  min-height:315px;
  background:#fff;
  padding:42px 44px;
  box-shadow:0 14px 38px rgba(74,58,47,.12);
}
.v912-keypoint .v9-activity-card h3{font-size:36px;margin:8px 0 18px}
.v912-keypoint .v9-activity-card p{font-size:14px;line-height:1.72;color:#554b45}
.v912-keypoint-reverse figure{margin-left:auto}
.v912-keypoint-reverse .v9-activity-card{right:auto;left:0}

/* --- GALERIE : exactement 2 viewports, vraie grille, zéro superposition --- */
.v969-gallery-full{
  position:relative!important;
  width:100%!important;
  height:200svh!important;
  min-height:1280px!important;
  max-height:none!important;
  overflow:hidden!important;
  background:var(--v9-paper)!important;
}
.v969-gallery-link{
  position:absolute!important;
  inset:0!important;
  display:grid!important;
  grid-template-columns:repeat(12,1fr)!important;
  grid-template-rows:repeat(20,1fr)!important;
  gap:8px!important;
  padding:8px!important;
  overflow:hidden!important;
}
.v969-gallery-tile{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:auto!important;
  height:auto!important;
  border:0!important;
  margin:0!important;
  overflow:hidden!important;
  box-shadow:0 10px 30px rgba(74,58,47,.07)!important;
}
.v969-g1{grid-column:1 / 8!important;grid-row:1 / 11!important}
.v969-g2{grid-column:8 / 13!important;grid-row:1 / 7!important}
.v969-g3{grid-column:8 / 10!important;grid-row:7 / 11!important}
.v969-g4{grid-column:10 / 13!important;grid-row:7 / 11!important}
.v969-g5{grid-column:1 / 13!important;grid-row:11 / 21!important}
.v969-gallery-tile img{
  width:100%!important;
  height:calc(100% + 20px)!important;
  margin-top:-10px!important;
  object-fit:cover!important;
  display:block!important;
  transform:translate3d(0,var(--v912-gallery-shift,0px),0) scale(1.025)!important;
  transition:transform .14s linear,filter .45s ease!important;
}

/* Mobile : points clés empilés + exact Pattern 5 mobile + galerie 2 écrans */
@media(max-width:1019px){
  .v912-keypoints{padding-bottom:90px}
  .v912-keypoints-heading{width:66%;min-height:150px;margin-bottom:25px}
  .v912-keypoints-heading h2{font-size:39px}
  .v912-keypoints-stack{width:calc(100% - 40px);gap:75px}
  .v912-keypoint{min-height:0}
  .v912-keypoint figure,
  .v912-keypoint-reverse figure{width:100%;height:390px;margin:0}
  .v912-keypoint .v9-activity-card,
  .v912-keypoint-reverse .v9-activity-card{
    position:relative;
    left:auto;
    right:auto;
    top:auto;
    width:86%;
    min-height:0;
    margin:-58px 0 0 auto;
    padding:34px 30px;
  }
  .v912-keypoint-reverse .v9-activity-card{margin:-58px auto 0 0}
  .v912-keypoint .v9-activity-card h3{font-size:34px}

  /* Valeurs mobiles exactes du master V9 */
  .v912-seasons-master{min-height:810px;padding-bottom:62px}
  .v912-seasons-master .v9-activities-bg{left:17%;width:66%;height:620px}
  .v912-seasons-master .v9-activities-bg h2{font-size:39px}
  .v912-seasons-master .v9-activities-carousel{height:680px;padding-top:130px}
  .v912-seasons-master .v9-activity-slide{left:20px;right:20px;top:130px;width:auto}
  .v912-seasons-master .v9-activity-slide figure{width:100%;height:390px}
  .v912-seasons-master .v9-activity-card{position:relative;right:auto;top:auto;width:86%;min-height:0;margin:-58px 0 0 auto;padding:34px 30px}
  .v912-seasons-master .v9-activity-card h3{font-size:34px}
  .v912-seasons-master .v9-stage-prev{left:10px}
  .v912-seasons-master .v9-stage-next{right:10px}
}

@media(max-width:760px){
  .v969-gallery-full{
    height:200svh!important;
    min-height:1200px!important;
  }
  .v969-gallery-link{
    grid-template-columns:repeat(6,1fr)!important;
    grid-template-rows:repeat(20,1fr)!important;
    gap:5px!important;
    padding:5px!important;
  }
  .v969-g1{grid-column:1 / 7!important;grid-row:1 / 8!important}
  .v969-g2{grid-column:1 / 4!important;grid-row:8 / 13!important}
  .v969-g3{grid-column:4 / 7!important;grid-row:8 / 13!important}
  .v969-g4{grid-column:1 / 3!important;grid-row:13 / 21!important}
  .v969-g5{grid-column:3 / 7!important;grid-row:13 / 21!important}
}

@media(max-width:540px){
  .v912-seasons-master .v9-activity-slide figure{height:330px}
  .v912-keypoint figure,.v912-keypoint-reverse figure{height:330px}
  .v912-keypoints-heading{width:76%}
}

@media(prefers-reduced-motion:reduce){
  .v969-gallery-tile img{transform:scale(1.02)!important;transition:none!important}
}


/* ===== SOURCE: assets/css/hero-zoom-fixed-v9-6-33.css ===== */
/* V9.6.33 — HOMEPAGE HERO ONLY
   Correction réelle du zoom : utilisation de scale + translate indépendants.
   Les anciens transform !important du thème ne peuvent donc plus bloquer l'animation.
   5 photos, ~5 s, fondu croisé 2.2 s. */

body.home .v9-hero .v84-hero-sequence,
body.home .v9-hero .v84-hero-slide{
  position:absolute;
  inset:0;
}
body.home .v9-hero .v84-hero-sequence{
  overflow:hidden;
  background:#222;
}
body.home .v9-hero .v84-hero-slide{
  margin:0;
  opacity:0;
  visibility:visible!important;
  z-index:0;
  transition:opacity 2200ms cubic-bezier(.45,0,.55,1)!important;
  pointer-events:none;
  will-change:opacity;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
body.home .v9-hero .v84-hero-slide.is-active{opacity:1;z-index:2}
body.home .v9-hero .v84-hero-slide.is-leaving{opacity:0;z-index:1}

/* Neutralise seulement les ANCIENS mouvements hero basés sur transform.
   Le nouveau zoom utilise scale/translate, donc reste indépendant. */
body.home .v9-hero .v84-hero-slide img,
body.home .v9-hero .v84-hero-slide.is-active img,
body.home .v9-hero .v84-hero-slide.is-leaving img{
  width:100%;
  height:100%;
  object-fit:cover;
  animation:none!important;
  transform:none!important;
  transition:none!important;
  opacity:1;
  filter:blur(0);
  translate:0 0;
  scale:1;
  transform-origin:center center;
  will-change:scale,translate,filter;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

/* Départs légèrement différents pour rendre les 5 photos vivantes sans effet brutal. */
body.home .v9-hero .v84-hero-slide:nth-of-type(5n+1){--v933-x:-18px;--v933-y:20px}
body.home .v9-hero .v84-hero-slide:nth-of-type(5n+2){--v933-x:18px;--v933-y:16px}
body.home .v9-hero .v84-hero-slide:nth-of-type(5n+3){--v933-x:-13px;--v933-y:22px}
body.home .v9-hero .v84-hero-slide:nth-of-type(5n+4){--v933-x:13px;--v933-y:18px}
body.home .v9-hero .v84-hero-slide:nth-of-type(5n+5){--v933-x:-9px;--v933-y:20px}

/* Vrai zoom visible à CHAQUE entrée :
   1.105 -> léger dépassement -> 1.000, avec déplacement + flou doux.
   Durée 3.2 s : le mouvement est clairement visible pendant le fondu de 2.2 s,
   puis la photo se stabilise avant la transition suivante. */
body.home .v9-hero .v84-hero-slide.is-v933-motion img{
  animation:v933HeroArrival 3200ms cubic-bezier(.22,1,.36,1) both!important;
}
@keyframes v933HeroArrival{
  0%{
    scale:1.105;
    translate:var(--v933-x,0px) var(--v933-y,20px);
    filter:blur(2px);
  }
  68%{
    scale:.997;
    translate:0 -3px;
    filter:blur(0);
  }
  86%{
    scale:1.004;
    translate:0 1px;
    filter:blur(0);
  }
  100%{
    scale:1;
    translate:0 0;
    filter:blur(0);
  }
}

/* La photo sortante reste dans son état final pendant qu'elle se fond.
   La suivante joue simultanément son zoom d'entrée. */
body.home .v9-hero .v84-hero-slide.is-leaving img{
  scale:1;
  translate:0 0;
  filter:blur(0);
}

@media(max-width:760px){
  body.home .v9-hero .v84-hero-slide{transition-duration:1900ms!important}
  body.home .v9-hero .v84-hero-slide.is-v933-motion img{
    animation-duration:3000ms!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.home .v9-hero .v84-hero-slide{transition:none!important}
  body.home .v9-hero .v84-hero-slide img,
  body.home .v9-hero .v84-hero-slide.is-v933-motion img{
    animation:none!important;
    transform:none!important;
    translate:0 0!important;
    scale:1!important;
    filter:none!important;
  }
}


/* ===== SOURCE: assets/css/gallery-motion-mobilefix-v9-6-13.css ===== */

/* =====================================================================
   V9.6.13 SAFE — GALLERY MOTION + MOBILE FIX
   ===================================================================== */

/* ---------------------------------------------------------------------
   GALERIE : scène sticky moderne.
   La section dure ~2,2 écrans mais la grille reste collée pendant le scroll.
   Les cadres ne bougent pas les uns sur les autres : seules les images
   se déplacent/zoom dans leurs cadres.
   --------------------------------------------------------------------- */
.v969-gallery-full{
  position:relative!important;
  width:100%!important;
  height:220svh!important;
  min-height:1500px!important;
  max-height:none!important;
  overflow:visible!important;
  background:var(--v9-paper)!important;
  isolation:isolate;
}
.v969-gallery-link{
  position:sticky!important;
  inset:auto!important;
  top:0!important;
  width:100%!important;
  height:100svh!important;
  min-height:620px!important;
  display:grid!important;
  grid-template-columns:repeat(12,1fr)!important;
  grid-template-rows:repeat(12,1fr)!important;
  gap:var(--v913-gap,12px)!important;
  padding:var(--v913-pad,12px)!important;
  overflow:hidden!important;
  text-decoration:none!important;
  background:var(--v9-paper)!important;
}

/* Cadres toujours dans la grille : zéro position flottante */
.v969-gallery-tile{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  border:0!important;
  overflow:hidden!important;
  box-shadow:0 10px 30px rgba(74,58,47,.08)!important;
  transform:none!important;
  z-index:1!important;
  background:#ded4cb!important;
}
.v969-g1{grid-column:1 / 8!important;grid-row:1 / 9!important}
.v969-g2{grid-column:8 / 13!important;grid-row:1 / 5!important}
.v969-g3{grid-column:8 / 10!important;grid-row:5 / 9!important}
.v969-g4{grid-column:10 / 13!important;grid-row:5 / 9!important}
.v969-g5{grid-column:1 / 13!important;grid-row:9 / 13!important}

/* Mouvement uniquement à l'intérieur du cadre */
.v969-gallery-tile img{
  width:calc(100% + 90px)!important;
  height:calc(100% + 90px)!important;
  max-width:none!important;
  margin:-45px!important;
  object-fit:cover!important;
  display:block!important;
  transform:
    translate3d(var(--v913-x,0px),var(--v913-y,0px),0)
    scale(var(--v913-scale,1.08))!important;
  transform-origin:center center!important;
  transition:filter .45s ease!important;
  will-change:transform!important;
}
.v969-gallery-link:hover .v969-gallery-tile img{
  filter:saturate(1.04) contrast(1.02);
}

/* petite respiration lumineuse discrète */
.v969-gallery-link:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:5;
  background:linear-gradient(
    180deg,
    rgba(255,255,255,var(--v913-light,0)),
    transparent 26%,
    transparent 74%,
    rgba(50,28,18,var(--v913-dark,0))
  );
}

/* ---------------------------------------------------------------------
   TELEPHONE / TABLETTE : sécurisation générale des blocs éditoriaux
   --------------------------------------------------------------------- */
@media(max-width:1019px){
  /* Points clés : chaque carte reste dans SON article et ne mord jamais
     sur la suivante. Le chevauchement photo/carte interne reste volontaire. */
  .v912-keypoints{
    overflow:visible!important;
    padding-bottom:100px!important;
  }
  .v912-keypoints-stack{
    gap:58px!important;
  }
  .v912-keypoint,
  .v912-keypoint-reverse{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:0 0 20px!important;
    overflow:visible!important;
    isolation:isolate;
  }
  .v912-keypoint figure,
  .v912-keypoint-reverse figure{
    position:relative!important;
    width:100%!important;
    height:390px!important;
    margin:0!important;
    z-index:1!important;
  }
  .v912-keypoint .v9-activity-card,
  .v912-keypoint-reverse .v9-activity-card{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    width:86%!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    margin:-58px 0 0 auto!important;
    padding:34px 30px!important;
    box-sizing:border-box!important;
    z-index:3!important;
  }
  .v912-keypoint-reverse .v9-activity-card{
    margin:-58px auto 0 0!important;
  }

  /* Saisons : on garde la présentation du CSS maître mais on donne
     assez de hauteur au contenu pour que les 3 points soient SOUS la carte. */
  .v912-seasons-master{
    min-height:950px!important;
    height:auto!important;
    padding-bottom:70px!important;
    margin-bottom:85px!important;
    overflow:visible!important;
  }
  .v912-seasons-master .v9-activities-bg{
    height:700px!important;
  }
  .v912-seasons-master .v9-activities-carousel{
    height:835px!important;
    padding-top:130px!important;
    overflow:visible!important;
  }
  .v912-seasons-master .v9-activity-slide{
    left:20px!important;
    right:20px!important;
    top:130px!important;
    width:auto!important;
    height:auto!important;
  }
  .v912-seasons-master .v9-activity-slide figure{
    width:100%!important;
    height:390px!important;
  }
  .v912-seasons-master .v9-activity-card{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    width:86%!important;
    min-height:0!important;
    height:auto!important;
    margin:-58px 0 0 auto!important;
    padding:34px 30px!important;
    box-sizing:border-box!important;
  }
  .v912-seasons-master .v9-dots{
    left:50%!important;
    right:auto!important;
    bottom:12px!important;
    transform:translateX(-50%)!important;
    z-index:20!important;
    display:flex!important;
    gap:8px!important;
    padding:9px 12px!important;
    border-radius:999px!important;
    background:rgba(246,245,243,.92)!important;
    box-shadow:0 6px 18px rgba(74,58,47,.08)!important;
  }
  .v912-seasons-master .v9-dots button{
    width:8px!important;
    height:8px!important;
    flex:0 0 8px!important;
  }
  .v912-seasons-master .v9-stage-arrow{
    top:300px!important;
    z-index:22!important;
  }
  .v912-seasons-master .v9-block-button{
    position:relative!important;
    z-index:5!important;
    margin-top:8px!important;
  }

  /* Famille / séjours : borne claire entre les sections */
  .v9-family{
    position:relative!important;
    height:auto!important;
    margin-bottom:110px!important;
    overflow:visible!important;
    isolation:isolate;
  }

  /* Journal : aucune carte ne peut mordre sur FAQ */
  .v965-journal{
    position:relative!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
    margin-bottom:105px!important;
    isolation:isolate;
  }
  .v965-journal-card{
    box-sizing:border-box!important;
    z-index:3!important;
  }
}

/* ---------------------------------------------------------------------
   MOBILE : galerie verticale sticky + dimensions corrigées
   --------------------------------------------------------------------- */
@media(max-width:760px){
  .v969-gallery-full{
    height:225svh!important;
    min-height:1450px!important;
  }
  .v969-gallery-link{
    height:100svh!important;
    min-height:620px!important;
    grid-template-columns:repeat(6,1fr)!important;
    grid-template-rows:repeat(14,1fr)!important;
    gap:var(--v913-gap,6px)!important;
    padding:var(--v913-pad,6px)!important;
  }
  .v969-g1{grid-column:1 / 7!important;grid-row:1 / 7!important}
  .v969-g2{grid-column:1 / 4!important;grid-row:7 / 10!important}
  .v969-g3{grid-column:4 / 7!important;grid-row:7 / 10!important}
  .v969-g4{grid-column:1 / 3!important;grid-row:10 / 15!important}
  .v969-g5{grid-column:3 / 7!important;grid-row:10 / 15!important}
  .v969-gallery-tile img{
    width:calc(100% + 56px)!important;
    height:calc(100% + 56px)!important;
    margin:-28px!important;
  }

  .v912-keypoints-heading{
    min-height:145px!important;
    margin-bottom:30px!important;
  }
  .v912-keypoints-stack{
    width:calc(100% - 28px)!important;
    gap:52px!important;
  }
  .v912-keypoint figure,
  .v912-keypoint-reverse figure{
    height:335px!important;
  }
  .v912-keypoint .v9-activity-card,
  .v912-keypoint-reverse .v9-activity-card{
    width:calc(100% - 24px)!important;
    margin:-48px 0 0 auto!important;
    padding:28px 24px!important;
  }
  .v912-keypoint-reverse .v9-activity-card{
    margin:-48px auto 0 0!important;
  }

  .v912-seasons-master{
    min-height:900px!important;
    margin-bottom:75px!important;
  }
  .v912-seasons-master .v9-activities-bg{
    height:650px!important;
  }
  .v912-seasons-master .v9-activities-carousel{
    height:790px!important;
  }
  .v912-seasons-master .v9-activity-slide figure{
    height:330px!important;
  }
  .v912-seasons-master .v9-activity-card{
    width:calc(100% - 28px)!important;
    margin:-48px 0 0 auto!important;
    padding:28px 24px!important;
  }
  .v912-seasons-master .v9-stage-arrow{
    top:270px!important;
  }

  .v965-journal-photo{
    height:320px!important;
  }
  .v965-journal-card{
    width:calc(100% - 24px)!important;
    margin:-42px auto 0!important;
    padding:28px 24px!important;
  }
}

/* Très petits écrans */
@media(max-width:390px){
  .v912-keypoints-stack{width:calc(100% - 20px)!important}
  .v912-keypoint figure,
  .v912-keypoint-reverse figure{height:305px!important}

  .v912-seasons-master{
    min-height:930px!important;
  }
  .v912-seasons-master .v9-activities-carousel{
    height:820px!important;
  }
  .v912-seasons-master .v9-activity-card{
    width:calc(100% - 20px)!important;
  }
}

/* Réduction d'animation */
@media(prefers-reduced-motion:reduce){
  .v969-gallery-full{
    height:115svh!important;
    min-height:720px!important;
  }
  .v969-gallery-link{
    position:relative!important;
    top:auto!important;
  }
  .v969-gallery-tile img{
    transform:scale(1.02)!important;
    transition:none!important;
  }
}

