/* Styles réservés au site public (pas à l'éditeur) : en-tête transparent fixe, révélations, carrousel. */

/* ---------- En-tête : fixe, transparent sur le bandeau, blanc une fois la page défilée ---------- */
.wp-site-blocks>header.wp-block-template-part{position:fixed;top:var(--wp-admin--admin-bar--height,0px);left:0;right:0;z-index:100}
@media(max-width:600px){body.admin-bar .wp-site-blocks>header.wp-block-template-part{top:0}}
.tp-header{transition:padding .3s,background .3s,box-shadow .3s}
.tp-header::before{transition:opacity .3s}
.tp-header .tp-brand img{transition:width .3s}
.js .tp-header{background:transparent;box-shadow:none;padding-block:1.1rem}
.js .tp-header::before{opacity:0}
html.tp-stuck .tp-header{background:rgba(255,255,255,.92);box-shadow:0 1px 0 var(--tp-line),0 10px 30px -18px rgba(12,44,82,.35);padding-block:.45rem}
html.tp-stuck .tp-header::before{opacity:1}
html.tp-stuck .tp-header .tp-brand img{width:38px!important}
/* les bandeaux passent sous l'en-tête fixe */
.tp-hero{padding-top:clamp(8rem,13vw,10.5rem)}
.tp-page-hero{padding-top:clamp(8rem,12vw,10rem)}
.tp-header:has(.is-menu-open){background:transparent!important}

/* ---------- Révélation au défilement ---------- */
.tp-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--tp-delay,0s)}
.tp-reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.tp-reveal{opacity:1;transform:none;transition:none}}

/* ---------- Carrousel de témoignages ---------- */
.tp-slider{position:relative}
.tp-slider-nav{display:flex;gap:.7rem;justify-content:center;margin-top:1.8rem}
.tp-slider-nav button{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--wp--preset--color--navy);background:#fff;color:var(--wp--preset--color--navy);font-size:1.2rem;cursor:pointer;transition:background .2s,color .2s}
.tp-slider-nav button:hover{background:var(--wp--preset--color--navy);color:#fff}
[id]{scroll-margin-top:6rem}
/* Carrousel : pas d'animation d'apparition décalée (le translateY créait un débordement vertical) */
.tp-slider .tp-reveal{opacity:1;transform:none;transition:none}
