/* =====================================================================
   TAKAIR : mouvement et vie du site
   Tout est désactivé si le visiteur a réglé son système sur « réduire les animations ».
   ===================================================================== */
.est-tabs,.el-view{position:relative}
.est-tabs>button,.el-view>button,.acd-seg>button{position:relative;z-index:1}
.mv-ind{position:absolute;left:0;top:0;z-index:0;border-radius:999px;background:#1C2B46;pointer-events:none}
body .has-ind>button.active,body .has-ind>button.on{background:transparent!important;color:#fff!important}

@media (prefers-reduced-motion:no-preference){
@keyframes mvfade{from{opacity:0}to{opacity:1}}
@keyframes mvup{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes mvpop{0%{transform:scale(.93)}55%{transform:scale(1.04)}100%{transform:scale(1)}}
@keyframes mvmega{from{opacity:0;transform:translateY(-10px) scale(.985)}to{opacity:1;transform:none}}
@keyframes mvkb{from{transform:scale(1.09)}to{transform:scale(1)}}
@keyframes mvdot{0%{box-shadow:0 0 0 0 rgba(242,160,36,.6)}100%{box-shadow:0 0 0 11px rgba(242,160,36,0)}}
@keyframes mvsheen{from{background-position:-150% 0}to{background-position:250% 0}}

/* entrée de la page et des en-têtes */
body{animation:mvfade .5s ease both}
.hh h1,.hh-sub,.hh .cta-row,.hh-cities,.xh-copy h1,.xh-copy p,.xh-card,.el-head-l>*,.el-glance,.page-hero:not(.hero-photo) .eyebrow,.page-hero:not(.hero-photo) h1,.page-hero:not(.hero-photo) p,.page-hero:not(.hero-photo) .btn,.acd-info>*{animation:mvup .9s cubic-bezier(.2,.7,.2,1) both}
.hh h1,.xh-copy h1,.page-hero:not(.hero-photo) h1,.el-head-l h1{animation-delay:.1s}
.hh-sub,.xh-copy p,.page-hero:not(.hero-photo) p,.el-head-l p,.el-glance{animation-delay:.22s}
.hh .cta-row,.xh-card,.page-hero:not(.hero-photo) .btn{animation-delay:.34s}
.hh-cities{animation-delay:.48s}
.hh .hero-slide.is-active{animation:mvkb 16s ease-out both}
.xh-img{animation:mvkb 22s ease-out both}

/* révélation au défilement */
.mv{opacity:0;transform:translateY(30px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1)}
.mv.mv-in{opacity:1;transform:none}

/* cartes : léger soulèvement + zoom des photos */
body .plane,body .cabin,body .rcard-wrapper,body .elsoon,body .elcard,body .leg-card,body .hp-person,body .reason,body .ac-advantage,body .figures .f,body .rm-dest-card{transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s,border-color .3s}
body .plane:hover,body .cabin:hover,body .rcard-wrapper:hover,body .elsoon:hover,body .elcard:hover,body .leg-card:hover,body .reason:hover,body .ac-advantage:hover,body .figures .f:hover{transform:translateY(-5px)!important;box-shadow:0 30px 60px -34px rgba(0,0,0,.55)!important}
.plane .ph img,.rcard-photo img,.elsoon-ph img,.leg-card-photo img,.cabin .ph img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.plane:hover .ph img,.rcard-wrapper:hover .rcard-photo img,.elsoon:hover .elsoon-ph img,.leg-card:hover .leg-card-photo img,.cabin:hover .ph img{transform:scale(1.06)}
/* cartes qui apparaissent après un filtre ou un chargement */
.rcard-wrapper,.elsoon,.elcard,.leg-card,.elrow{animation:mvup .55s cubic-bezier(.2,.7,.2,1) both}
.explore-grid>*:nth-child(2),.el-grid>*:nth-child(2),.el-soon>*:nth-child(2){animation-delay:.05s}
.explore-grid>*:nth-child(3),.el-grid>*:nth-child(3),.el-soon>*:nth-child(3){animation-delay:.1s}
.explore-grid>*:nth-child(4),.el-grid>*:nth-child(4){animation-delay:.15s}
.explore-grid>*:nth-child(n+5),.el-grid>*:nth-child(n+5){animation-delay:.2s}

/* boutons */
.btn,.tk-quote,.el-alert-btn,.search-btn,.btn-send,.btn-estimate,.btn-pill,.pill,.brochure-btn{transition:transform .25s cubic-bezier(.2,.7,.2,1),background-color .25s,color .25s,border-color .25s,box-shadow .25s}
.btn:hover,.tk-quote:hover,.el-alert-btn:hover,.search-btn:hover,.btn-send:hover,.btn-estimate:hover,.btn-pill:hover,.pill:hover,.brochure-btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px -14px rgba(0,0,0,.5)}
.btn:active,.tk-quote:active,.el-alert-btn:active,.search-btn:active,.btn-send:active,.btn-estimate:active,.btn-pill:active,.pill:active,.brochure-btn:active{transform:translateY(0) scale(.97);box-shadow:none;transition-duration:.08s}

/* onglets, puces et sélecteurs */
.xchips button,.filters button,.popular-pill,.el-day,.cat-card,.est-tab,.tab,.el-view button,.acd-seg button,.acd-th,.sort-option,.el-step button{transition:transform .22s cubic-bezier(.2,.7,.2,1),background-color .3s,color .3s,border-color .3s,box-shadow .3s}
.xchips button:hover,.filters button:hover,.popular-pill:hover,.el-day:hover,.cat-card:hover,.acd-th:hover{transform:translateY(-2px)}
.xchips button:active,.filters button:active,.popular-pill:active,.el-day:active,.cat-card:active,.est-tab:active,.tab:active,.el-view button:active,.acd-seg button:active,.acd-th:active,.el-step button:active{transform:scale(.94)}
.xchips button.on,.filters button.active,.el-day.on,.cat-card.active,.acd-th.on{animation:mvpop .45s cubic-bezier(.3,1.4,.5,1)}
.tabs .tab:not(.active):hover{background:rgba(28,43,70,.07)}
.mv-ind{transition:transform .5s cubic-bezier(.3,1.25,.4,1),width .5s cubic-bezier(.3,1.25,.4,1),height .3s}
.tab-indicator{transition:left .5s cubic-bezier(.3,1.25,.4,1),width .5s cubic-bezier(.3,1.25,.4,1)!important}
.est-result.show{animation:mvup .55s cubic-bezier(.2,.7,.2,1) both}

/* navigation */
.tk-top,.tk-toplink{position:relative}
.tk-top::before,.tk-toplink::before{content:"";position:absolute;left:0;right:0;bottom:4px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.tk-top:hover::before,.tk-toplink:hover::before,.tk-top[aria-expanded=true]::before{transform:scaleX(1)}
.tk-top svg{transition:transform .3s}
.tk-mega:not([hidden]) .tk-mega-in{animation:mvmega .28s cubic-bezier(.2,.7,.2,1) both}
.tk-mega:not([hidden]) .tk-col,.tk-mega:not([hidden]) .tk-feat{animation:mvup .45s cubic-bezier(.2,.7,.2,1) both}
.tk-mega:not([hidden]) .tk-col:nth-child(2){animation-delay:.04s}.tk-mega:not([hidden]) .tk-col:nth-child(3){animation-delay:.08s}.tk-mega:not([hidden]) .tk-col:nth-child(4){animation-delay:.12s}.tk-mega:not([hidden]) .tk-feat{animation-delay:.16s}
.tk-col a{transition:transform .2s,color .2s}.tk-col a:hover{transform:translateX(5px)}
.pv-overlay.open .tk-acc,.pv-overlay.open .tk-sheet-foot{animation:mvup .5s cubic-bezier(.2,.7,.2,1) both}
.pv-overlay.open .tk-acc:nth-of-type(2){animation-delay:.05s}.pv-overlay.open .tk-acc:nth-of-type(3){animation-delay:.1s}.pv-overlay.open .tk-acc:nth-of-type(4){animation-delay:.15s}.pv-overlay.open .tk-sheet-foot{animation-delay:.2s}
.tk-burger{transition:transform .25s}.tk-burger:active{transform:scale(.9)}

/* petits détails vivants */
.el-pill i,.xh-card-h i,.est-side-h i,.xb-live i{animation:mvdot 2.2s ease-out infinite}
.tk-ig{transition:background .3s,color .3s,border-color .3s,transform .25s}
.hp-n{transition:color .3s,transform .4s cubic-bezier(.2,.7,.2,1)}.hp-row:hover .hp-n{color:#fff;transform:translateX(6px)}
}
