/* Lot 2 — accueil vivant : photos, destinations, étapes, animations légères.
   Les animations ne s'activent que si le script a posé html.js-motion
   (donc jamais sans JavaScript ni quand le visiteur demande moins de mouvement). */

/* En-tête : se resserre et prend une ombre au défilement */
.site-header{transition:height .25s ease,box-shadow .25s ease}
.site-header.is-scrolled{height:68px;box-shadow:0 8px 30px #142d4914}

/* Haut de page */
.rotator{display:inline-grid;color:var(--navy)}
.rotator>span{grid-area:1/1;transition:opacity .4s ease,transform .4s ease}
.rotator>span:not(.is-active){opacity:0;transform:translateY(14px);pointer-events:none}
.rotator>span.is-leaving{opacity:0;transform:translateY(-14px)}
.hero-promises{list-style:none;padding:0;margin:30px 0 0;display:flex;flex-wrap:wrap;gap:10px 22px}
.hero-promises li{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--navy)}
.hero-promises li:before{content:'✓';display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#efe4d1;color:#9d7841;font-size:13.5px;font-weight:700}
.hero-visual>img{object-position:center 30%}
.floating-card-alt{bottom:auto;top:34px;left:auto;right:-22px}
.js-motion .floating-card{animation:etg-float 6s ease-in-out infinite}
.js-motion .floating-card-alt{animation-delay:-3s}
@keyframes etg-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

/* Destinations : quatre cartes photo, zoom au survol */
.destination-grid-4{grid-template-columns:repeat(4,1fr)}
.destination-card{isolation:isolate;background-image:none!important}
.destination-card .destination-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.destination-card:hover .destination-photo,.destination-card:focus-visible .destination-photo{transform:scale(1.07)}
.destination-card .circle-arrow{transition:transform .3s ease,background .3s ease}
.destination-card:hover .circle-arrow{transform:rotate(45deg)}

/* Comment ça marche */
.process-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px;position:relative;counter-reset:none}
.process-steps:before{content:'';position:absolute;top:27px;left:6%;right:6%;height:2px;background:linear-gradient(90deg,var(--gold) 0%,#e3d3b6 100%);opacity:.6}
.process-steps li{position:relative;background:#fff;border:1px solid #edf0f2;border-radius:10px;padding:22px 20px 24px;transition:transform .25s ease,box-shadow .25s ease}
.process-steps li:hover{transform:translateY(-4px);box-shadow:0 18px 40px #142d4914}
.process-number{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font:700 15.5px var(--serif);margin-bottom:16px;box-shadow:0 0 0 6px #f6f7f7}
.process-steps strong{display:block;font:700 15px var(--serif);color:var(--navy);margin-bottom:6px}
.process-steps p{margin:0;font-size:15px;line-height:1.65;color:var(--muted)}
.process-cta{margin-top:30px;display:flex;justify-content:center}

/* Accompagnement */
.check-list{list-style:none;padding:0;margin:0 0 20px}
.check-list li{position:relative;padding:11px 0 11px 34px;border-bottom:1px solid var(--line)}
.check-list li:before{content:'✓';position:absolute;left:0;top:12px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--navy);color:#fff;font-size:13.5px}
.check-list strong,.check-list small{display:block}
.check-list strong{font:700 15px var(--serif);color:var(--navy)}
.check-list small{font-size:14.5px;color:var(--muted)}

/* Familles */
.parent-photo{height:280px;border-radius:8px;overflow:hidden;margin:-20px -30px -20px 20px}
.parent-photo img{width:100%;height:100%;object-fit:cover}
.button-ghost-light{border:1px solid #ffffff55;color:#fff;background:transparent}
.button-ghost-light:hover{background:#ffffff14}

/* Bouton WhatsApp flottant (affiché seulement si un numéro est configuré) */
.whatsapp-float{position:fixed;right:22px;bottom:22px;z-index:30;display:flex;align-items:center;gap:9px;padding:12px 16px;border-radius:999px;background:#1f9d55;color:#fff;font-size:15px;font-weight:700;box-shadow:0 12px 30px #0f5a3040;transition:transform .2s ease}
.whatsapp-float:hover{transform:translateY(-3px)}
.whatsapp-float:before{content:'';width:10px;height:10px;border-radius:50%;background:#b8f5cf;box-shadow:0 0 0 4px #ffffff33}

/* Apparition au défilement */
.js-motion .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.js-motion .reveal.is-visible{opacity:1;transform:none}
.js-motion .reveal-delay{transition-delay:.15s}
.js-motion .process-steps li:nth-child(2),.js-motion .destination-grid-4>:nth-child(2),.js-motion .guide-grid>:nth-child(2){transition-delay:.1s}
.js-motion .process-steps li:nth-child(3),.js-motion .destination-grid-4>:nth-child(3),.js-motion .guide-grid>:nth-child(3){transition-delay:.2s}
.js-motion .process-steps li:nth-child(4),.js-motion .destination-grid-4>:nth-child(4){transition-delay:.3s}

@media(max-width:1000px){
  .destination-grid-4{grid-template-columns:repeat(2,1fr)}
  .process-steps{grid-template-columns:repeat(2,1fr)}
  .process-steps:before{display:none}
}
@media(max-width:900px){
  .site-header.is-scrolled{height:62px}
  .floating-card-alt{display:none}
  .parent-photo{margin:22px 0 0;height:200px}
  .whatsapp-float{bottom:78px;right:14px}
}
@media(max-width:600px){
  .destination-grid-4,.process-steps{grid-template-columns:1fr}
  .destination-grid-4 .destination-card{height:220px}
  .hero-promises{gap:8px 16px}
}
@media(prefers-reduced-motion:reduce){
  .rotator>span,.destination-card .destination-photo,.process-steps li,.site-header{transition:none}
}

/* Lot 3 — pages intérieures dans le style de l'accueil */
.page-hero-media{position:relative;overflow:hidden;background:linear-gradient(115deg,#f7f8f8 0%,#f7f8f8 58%,#edf1f2 58%)}
.page-hero-media .container{position:relative;z-index:1}
.page-hero-media .container>*{max-width:min(560px,52%)}
.page-hero-photo{position:absolute;top:28px;bottom:28px;right:max(16px,calc((100% - 1160px)/2));width:min(40%,470px);height:calc(100% - 56px);object-fit:cover;border-radius:42% 6px 6px 6px;box-shadow:0 22px 60px #10233c24}
.js-motion .page-hero-media .container>*{animation:etg-rise .7s ease both}
.js-motion .page-hero-media .container>:nth-child(2){animation-delay:.08s}
.js-motion .page-hero-media .container>:nth-child(3){animation-delay:.16s}
.js-motion .page-hero-photo{animation:etg-fade .9s ease both .1s}
@keyframes etg-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes etg-fade{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}

/* Cartes : relief au survol */
.program-card,.info-card,.article-card,.agency-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.program-card:hover,.info-card:hover,.article-card:hover,.agency-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #142d4916;border-color:#dfd2bb}
.article-card>img{transition:transform .6s ease}
.article-card{background:#fff}
.article-card:hover>img{transform:scale(1.05)}
.js-motion .program-grid>.reveal:nth-child(3n+2),.js-motion .agency-grid>.reveal:nth-child(3n+2),.js-motion .blog-grid>.reveal:nth-child(3n+2){transition-delay:.1s}
.js-motion .program-grid>.reveal:nth-child(3n),.js-motion .agency-grid>.reveal:nth-child(3n),.js-motion .blog-grid>.reveal:nth-child(3n){transition-delay:.2s}

/* Formulaires : champs plus nets */
.field input,.field select,.field textarea{transition:border-color .2s ease,box-shadow .2s ease}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #c9a66b33}
.form-card{border-radius:12px}
.stepper span{transition:background .3s ease}

@media(max-width:900px){
  .page-hero-media{background:#f5f7f7;padding-bottom:0}
  .page-hero-media .container>*{max-width:none}
  .page-hero-photo{position:relative;display:block;top:auto;bottom:auto;right:auto;width:calc(100% - 36px);max-width:560px;height:200px;margin:26px auto 0;border-radius:40px 6px 0 0}
}
@media(prefers-reduced-motion:reduce){
  .program-card,.info-card,.article-card,.agency-card,.article-card>img{transition:none}
}
