/* Com Bataillon : mouvement des pages Métiers (sommaire + sous-pages). */

/* Menu : page courante surlignée sur ordinateur */
@media (min-width:1025px){.elementor .cb-header .cb-nav .cb-nav-link[aria-current="page"]{background:var(--cb-jaune);color:var(--cb-encre)}}

/* Apparition au défilement (seulement sur le site, jamais dans l'éditeur) */
.cb-js body:not(.elementor-editor-active) .elementor .cb-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s cubic-bezier(.2,.9,.2,1)}
.cb-js body:not(.elementor-editor-active) .elementor .cb-reveal.seen{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.cb-js body:not(.elementor-editor-active) .elementor .cb-reveal{opacity:1;transform:none}}

/* ---------- Sommaire : tuiles des familles ---------- */
.elementor .cb-mtile{transition:transform .45s cubic-bezier(.3,1.6,.5,1),box-shadow .3s}
.elementor .cb-mtile-ico{background-origin:content-box;background-position:center;background-repeat:no-repeat;background-size:contain;transition:transform .6s cubic-bezier(.3,1.7,.5,1)}
.elementor .cb-mtile:hover .cb-mtile-ico{transform:rotate(12deg) scale(1.12)}
.elementor .cb-mtile .cb-chip{transition:transform .4s cubic-bezier(.3,1.6,.5,1),opacity .3s}
.elementor .cb-mtile:hover .cb-chip{animation:cbChip .5s cubic-bezier(.3,1.6,.5,1) both}
.elementor .cb-mtile:hover .cb-chip:nth-child(2){animation-delay:.05s}
.elementor .cb-mtile:hover .cb-chip:nth-child(3){animation-delay:.1s}
.elementor .cb-mtile:hover .cb-chip:nth-child(4){animation-delay:.15s}
.elementor .cb-mtile:hover .cb-chip:nth-child(5){animation-delay:.2s}
@keyframes cbChip{0%{transform:translateY(0)}40%{transform:translateY(-6px) rotate(-3deg)}100%{transform:none}}
.elementor .cb-mtile-go span{display:inline-block;transition:transform .3s}
.elementor .cb-mtile:hover .cb-mtile-go span{transform:translateX(6px)}
.elementor .cb-mtile-splash{transition:transform .7s cubic-bezier(.2,.9,.2,1)}
.elementor .cb-mtile:hover .cb-mtile-splash{transform:scale(3)}

/* Dans l'atelier */
.elementor .cb-shop-title span{display:inline-block;padding:0 .18em;border-radius:.18em;transform:rotate(-2deg);background:var(--cb-magenta);color:#fff}
.elementor .cb-snap{transition:transform .5s cubic-bezier(.3,1.5,.5,1),box-shadow .3s}
.elementor .cb-snap:hover{transform:rotate(0) translateY(-6px) scale(1.03)}

/* ---------- Sous-pages : héro ---------- */
.cb-headline-sub .cb-line{white-space:normal}
.elementor .cb-crumb a{color:inherit;text-decoration:none;border-bottom:2px solid var(--cb-line)}
.elementor .cb-crumb a:hover{border-color:var(--cb-magenta)}
.elementor .cb-pill{transition:none}
.elementor .cb-hero-ring{animation:cbSpin 30s linear infinite}
.elementor .cb-hero-disc{animation:cbMorph 9s ease-in-out infinite}
.elementor .cb-hero-big,.elementor .cb-fx{background-position:center;background-repeat:no-repeat;background-size:contain;animation:cbFloaty 5s ease-in-out infinite}
.elementor .cb-hero-big{filter:drop-shadow(6px 6px 0 rgba(22,40,42,.25))}
.elementor .cb-fx-2{animation-delay:-1s}
.elementor .cb-fx-3{animation-delay:-2s}
.elementor .cb-fx-4{animation-delay:-3s}
.elementor .cb-fx-5{animation-delay:-1.5s}
@keyframes cbMorph{0%,100%{border-radius:42% 58% 63% 37%/41% 44% 56% 59%}33%{border-radius:58% 42% 38% 62%/52% 61% 39% 48%}66%{border-radius:38% 62% 55% 45%/62% 38% 62% 38%}}
@keyframes cbFloaty{50%{translate:0 -10px;rotate:6deg}}

/* ---------- Sous-pages : familles ---------- */
.elementor .cb-subtab{transition:transform .35s cubic-bezier(.3,1.6,.5,1),box-shadow .25s,background .25s}
.elementor .cb-subtab:hover{transform:rotate(0) translateY(-3px)}
.elementor .cb-subcard{transition:transform .4s cubic-bezier(.3,1.6,.5,1),box-shadow .3s}
.elementor .cb-subcard:hover{transform:translateY(-4px);box-shadow:8px 8px 0 var(--mc2)}
.elementor .cb-subcard.flash{animation:cbFlash 1.2s ease}
@keyframes cbFlash{0%,100%{box-shadow:0 0 0 0 var(--mc)}30%{box-shadow:0 0 0 10px var(--mc)}}
.elementor .cb-picto{background-position:center;background-repeat:no-repeat;background-size:52px 52px;transition:transform .6s cubic-bezier(.3,1.7,.5,1),border-radius .6s}
.elementor .cb-subcard:hover .cb-picto{transform:rotate(-10deg) scale(1.1);border-radius:50%}
@media (max-width:767px){.elementor .cb-picto{background-size:42px 42px}}
.elementor .cb-plist-item::before{content:"";position:absolute;left:0;top:.45em;width:7px;height:7px;border-radius:50%;background:var(--mc2)}

/* ---------- Sous-pages : la « thèque » (cartes qui se retournent) ---------- */
.elementor .cb-tfilter{transition:background .2s,transform .3s cubic-bezier(.3,1.6,.5,1)}
.elementor .cb-tfilter:hover{transform:translateY(-2px)}
.elementor .cb-tfilter[aria-pressed="true"]{background:var(--cb-encre);color:#fff}
.elementor .cb-sw{perspective:900px;transition:opacity .35s,transform .45s cubic-bezier(.3,1.5,.5,1)}
.elementor .cb-sw.out{display:none}
.elementor .cb-sw.pop{animation:cbPopM .5s cubic-bezier(.3,1.5,.5,1) both}
@keyframes cbPopM{from{opacity:0;transform:scale(.85) rotate(-4deg)}}
.elementor .cb-card-in{transform-style:preserve-3d;-webkit-transform-style:preserve-3d;transition:transform .7s cubic-bezier(.3,1.3,.5,1)}
.elementor .cb-sw.flip .cb-card-in{transform:rotateY(180deg)}
@media (hover:hover){.elementor .cb-sw:hover .cb-card-in{transform:rotateY(180deg)}}
/* Safari et Firefox : chaque face a besoin de sa propre transformation 3D pour être masquée de dos,
   et ses enfants aussi (sinon le texte de la face avant reste visible en miroir). */
.elementor .cb-face{backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:rotateY(0deg) translateZ(1px)}
.elementor .cb-face *{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.elementor .cb-face-front{transition:box-shadow .25s,transform .25s}
.elementor .cb-face-front::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(22,40,42,.85));pointer-events:none;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.elementor .cb-face-back{transform:rotateY(180deg) translateZ(1px)}
.elementor .cb-mk-neon{animation:cbBuzz 3s infinite}
@keyframes cbBuzz{0%,100%{opacity:1}46%{opacity:1}48%{opacity:.5}50%{opacity:1}52%{opacity:.7}54%{opacity:1}}
.elementor .cb-theque-tip a{color:inherit}

/* ---------- Sous-pages : étapes ---------- */
.elementor .cb-step{transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.elementor .cb-step:nth-child(odd){transform:rotate(-1deg)}
.elementor .cb-step:nth-child(even){transform:rotate(1deg)}
.elementor .cb-step:hover{transform:rotate(0) translateY(-4px)}
.cb-js body:not(.elementor-editor-active) .elementor .cb-step.cb-reveal:not(.seen):nth-child(odd){transform:rotate(-1deg)}
.cb-js body:not(.elementor-editor-active) .elementor .cb-step.cb-reveal:not(.seen):nth-child(even){transform:rotate(1deg)}

/* ---------- Sous-pages : réalisations liées ---------- */
.elementor .cb-mworks .cb-shot{aspect-ratio:1;cursor:default}
.elementor .cb-mworks .cb-mw[hidden]{display:none}
.elementor .cb-mworks .cb-mw.pop{animation:cbPopM .55s cubic-bezier(.3,1.5,.5,1) both}

/* ---------- Sous-pages : autres métiers ---------- */
.elementor .cb-other{transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.elementor .cb-other:hover{transform:rotate(0) translateY(-3px)}

@media (prefers-reduced-motion:reduce){.elementor .cb-card-in{transition:none}}
