/*
Theme Name: Synopsis
Theme URI: https://wordpress.org/themes/twentytwentyfour/
Author: HARVEST
Author URI: https://wordpress.org
Description:
Requires at least: 6.4
Tested up to: 6.4
Requires PHP: 7.0
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
Text Domain: twentytwentyfour
Template: twentytwentyfour
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, accessibility-ready, blog, portfolio, news
*/



/* -------------------------------------------------------------------------- */
/* 0) Imports & resets                                                        */
/* -------------------------------------------------------------------------- */

@import url("https://use.typekit.net/coa5avj.css");

/* Le navigateur garde le scroll vertical natif, on gère l'horizontal */
.slider-viewport{
  touch-action: pan-y;
  overscroll-behavior: contain;           /* évite le rebond iOS/Android dans la section pin */
  -webkit-overflow-scrolling: touch;
}

html,
body {
  background-color: rgb(26, 26, 26);
  min-height: 100vh;
  width: 100% !important;
  overflow-x: hidden !important;
  overscroll-behavior: none;
  cursor: none;
}

a,
a:focus,
a:active {
  outline: 0 !important;
  cursor: none;
}

.wp-block-navigation a:where(:not(.wp-element-button)):focus,
.wp-block-post-title a:where(:not(.wp-element-button)):focus,
.wp-block-site-title a:where(:not(.wp-element-button)):focus,
a:where(:not(.wp-element-button)):focus {
  text-decoration: none;
}
.admin-bar .wp-site-blocks,
.admin-bar .wp-block-template-part{
  margin-top: 32px;
}
:where(figure){
	margin: 0 !important;
}

/* -------------------------------------------------------------------------- */
/* 1) États init / préchargement                                              */
/* -------------------------------------------------------------------------- */

/* la loading ne doit JAMAIS intercepter les clics une fois cachée */
.loading[hidden] { display: none !important; }      /* kill total */
.loading.is-gone  { display: none !important; }     /* classe de secours */

/* quand l’overlay est à 0 d’opacité, on n’intercepte plus les clics */
.loading:not([data-active="1"]) { pointer-events: none !important; }


.smooth-content { visibility: hidden; }

.loading {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(26, 26, 26);
  overflow: hidden;
  z-index: 999999;
  opacity: 0;
  backdrop-filter: blur(2px);
  transition: opacity .3s ease; /* sécurité si JS en panne */
}

.title{
	transition: opacity 2s ease !important;
	transition-delay: 1s !important;
	font-size: 4rem;
}


/* -------------------------------------------------------------------------- */
/* 3) Header / navigation                                                     */
/* -------------------------------------------------------------------------- */


/* Anti-flicker logo pendant l'init */
html.is-prep header .heading .wp-block-site-logo,
html.is-prep header .heading .wp-block-site-logo img {
  transition: none !important;
}

/* Un petit coup de pouce au moteur de rendu (WebKit) */
header .heading .wp-block-site-logo {
  will-change: transform, opacity;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999999;
  background-color: transparent;
  transition: 0.3s all ease-in-out;
}

/* avant : transition: 0.4s all ...  ->  provoque flicker sur mask/height */
header .heading .wp-block-site-logo {
  transform-origin: top left;

 transition: 0.4s all cubic-bezier(0.5, 0, 0.58, 1);
}

header .heading .wp-block-site-logo img {
  /* idem : pas de transition sur width/height */
  transition: 0.4s all cubic-bezier(0.5, 0, 0.58, 1);
}


header.main-tool-bar--scrolled {
  background: rgba(0, 0, 0, 0.14);
  backdrop-filter: blur(10px);
}

header:hover{
 background-color: white;
}


header.main-tool-bar--scrolled .heading nav li {

}

header.main-tool-bar--scrolled .wp-block-site-logo img {
}

header.open { height: 100%; }

/* État actif menu / archive projets */
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover
{
  color: var(--wp--preset--color--primary);
  text-decoration: none !important;
}
.current-menu-item,
.post-type-archive-projets .projets, .single-projets .projets{
	color: var(--wp--preset--color--contrast)
}


/* -------------------------------------------------------------------------- */
/* 4) Hero / Intro                                                            */
/* -------------------------------------------------------------------------- */

section.intro { position: relative; }
section.intro .title { position: relative; z-index: 2; }
section.intro .two { position: relative; z-index: 3; }
section.intro .lines { position: relative; z-index: 1; }
section.two { margin-top: -50vh; }

/* h1 { opacity: 0; } /* (corrigé: suppression espace invisible) */ */

/* -------------------------------------------------------------------------- */
/* 5) Éléments graphiques (cercles, flair, gradients)                         */
/* -------------------------------------------------------------------------- */


/* Style du cercle */
.circle-svg {
  width: 100%;
  display: block;
}

.circle-path::before{
	content: "";
	display: block;
	position: absolute;
	background-color: white;
	width: 150px;
	height: 150px;
	z-index: 1;
}

.circle-path {
  fill: none;
  stroke: #d6ad00;
  stroke-width: 16px;
  stroke-miterlimit: 10;
  stroke-dasharray: 100;
  stroke-dashoffset: 100; /* vide au départ */
  transition: stroke-dashoffset 0.6s cubic-bezier(0.25, 0.1, 0.25, 1) 0.15s; /* léger retard */
}

.st0 {
  fill: #d6ad00;
}

/* Cercle sticky dans la colonne centrale */
.votreprojet .circle-steps {
  position: sticky;
  top: 4vh;  
/*   left: 104px;   */        /* adapte si tu veux plus haut / plus bas */
  align-self: flex-start;
}

/* Important : container dédié au pin */
.votreprojet .circle-pin{
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
}

/* remonter/descendre facilement */
.votreprojet{
  --circle-pin-top: 15vh; /* ajuste ici */
}

/* Mapping des 5 étapes sur le dashoffset */
.circle-steps.circle-step-0 .circle-path { stroke-dashoffset: 100; } /* 0% */
.circle-steps.circle-step-1 .circle-path { stroke-dashoffset: 80; }  /* 20% */
.circle-steps.circle-step-2 .circle-path { stroke-dashoffset: 60; }  /* 40% */
.circle-steps.circle-step-3 .circle-path { stroke-dashoffset: 40; }  /* 60% */
.circle-steps.circle-step-4 .circle-path { stroke-dashoffset: 20; }  /* 80% */
.circle-steps.circle-step-5 .circle-path { stroke-dashoffset: 0; }   /* 100% */


.circle-steps { transition: stroke-dashoffset 0.6s cubic-bezier(0.25, 0.1, 0.25, 1) 0.15s !important; /* léger retard */ }


mark a {
  position: relative;
  text-decoration: none;
  background:
    linear-gradient(to right, var(--wp--preset--color--contrast), var(--wp--preset--color--contrast)),
    linear-gradient(to right, var(--wp--preset--color--primary), var(--wp--preset--color--primary));
  background-size: 100% 2px, 0 2px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: all 400ms;
}

mark a:hover {
  color: var(--wp--preset--color--primary);
  background-size: 0 2px, 100% 2px;
}

.gradient {
  background: -webkit-linear-gradient(var(--wp--preset--color--base), #313131);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.wp-block-button__link:hover{
	background-color: var(--wp--preset--color--primary) !important;
	color: white !important;
	border: 1px solid white !important;
}

/* Curseur flair (desktop) */
@media screen and (min-width: 600px) {
  :not(.wp-admin) .flair {
    position: fixed;
    top: 0; left: 0;
    width: 20px; height: 20px;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 10000;
    mix-blend-mode: difference;
  }
  .flair svg { width: 100%; height: 100%; }
  .flair .currentShape { fill: var(--wp--preset--color--base); }
  
	  /* 1) Désactiver le pointeur partout sauf zones de saisie */
	:where(html, body) { cursor: none !important; }
	
	/* UA defaults sur tous les liens (y compris Safari) */
	:where(:any-link),
	:where(a), 
	a:-webkit-any-link { cursor: none !important; }
	
	/* Boutons & rôles cliquables */
	:where(button, [role="button"], [role="link"], .wp-element-button,
	       input[type="button"], input[type="submit"], input[type="reset"],
	       label, summary) { cursor: none !important; }
	
	/* Ne PAS masquer le curseur dans les zones de saisie */
	:where(input[type="text"], input[type="search"], input[type="email"],
	       input[type="number"], input[type="password"], textarea,
	       [contenteditable="true"]) { cursor: text !important; }
	
	/* 2) Éléments spécifiques de ton thème */
	.projects-as-slider .slider-nav button { cursor: none !important; }
	
	/* Navigation WP (parfois réimpose pointer via styles core) */
	.wp-block-navigation a,
	.wp-block-navigation__responsive-container-open,
	.wp-block-navigation__submenu-icon { cursor: none !important; }
	
	/* 3) Sécurité générale : tout élément interactif restant */
	:where([onclick], [data-action], [role="menuitem"], [role="tab"], [role="switch"]) {
	  cursor: none !important;
	}
	
	/* 4) Le flair ne doit jamais capter les events ni réactiver un curseur */
	.flair { pointer-events: none; cursor: none !important; }
  
  
}

@media screen and (max-width: 600px) {
  .flair { display: none; }
}

/* Vignette qui suit la souris */
.cursor-sidecar{
  position: fixed;
  top: 0; left: 8%;
  width: clamp(150px, 15vw, 300px);
  aspect-ratio: 1 / 1;
  background: center / cover no-repeat;
  border-radius: 50%;
  pointer-events: none;
  z-index: 100;
  opacity: 0;
  transform: translate(-50%, -50%);
  box-shadow: 0 12px 48px rgba(0,0,0,.35);
}

@media (pointer: coarse) {
  .cursor-sidecar { display: none !important; }
}

/* -------------------------------------------------------------------------- */
/* 6) Texte scindé / animations de lignes                                     */
/* -------------------------------------------------------------------------- */

.lines { position: relative; will-change: transform; }
.split-line,
.line-wrap,
.line { display: block; overflow: hidden; }

.line-inner {
  display: inline-block;
  will-change: transform;
  transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-font-smoothing: antialiased;
}

/* Hover d’expérience */
.exp .line {
  transition: all .5s ease-in-out;
  cursor: pointer;
  transform-origin: left;
}
.exp .line:hover { transform: scale(1.1); }

/* -------------------------------------------------------------------------- */
/* 7) Blocs divers                                                            */
/* -------------------------------------------------------------------------- */

/* Citation en dégradé animé (texte en “mask”) */
.citation > div {
  background: linear-gradient(to right, var(--wp--preset--color--contrast) 50%, rgb(37,37,37) 50%);
  background-size: 200% 100%;
  background-position-x: 100%;
  color: transparent;
  background-clip: text;
  -webkit-background-clip: text;
}
.light .citation > div {
  background: linear-gradient(to right, var(--wp--preset--color--base) 50%, rgb(37,37,37) 50%);
}




.siteWeb figure::before {
  content: '';
  display: block;
  width: 100%;
  height: 43px;
  background-color: #262626;
  border-radius: 25px 25px 0 0;
}

.grid img { border-radius: 20px; }

.wp-block-group.is-layout-grid {
  display: grid;
  /* si ce n’est pas déjà le cas */
/*   grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); */
  align-items: center; /* centrage vertical */
  justify-items: center; /* centrage horizontal */
  gap: 6rem; /* espace entre les logos */
}

.wp-block-group.is-layout-grid figure {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0; /* supprime les marges inline */
}

.wp-block-group.is-layout-grid img {
  max-width: 100%;
  height: auto;
  object-fit: contain; /* meilleure gestion des ratios */
}

p { margin: 10px; }

.selected { color: var(--wp--preset--color--custom-rose-cp) !important; }

.pages_title{ position: relative; z-index: 100;}

.SiteVids video{
  border-radius: 0 !important;
}

/* liste pages contenu */
.ListeInfos p{
  margin: 0;
}
.ListeInfos a {
  inline-size: 25.3rem;
  display: flex !important;
  text-decoration: none !important;
  display: flex !important;
  margin: 0;
  padding-bottom: 10px;
  justify-content: space-between; /* texte à gauche, flèche à droite */
  align-items: center;
  border-bottom: 1px solid #ccc;
  cursor: pointer;
  transition: transform 0.3s ease-in-out ;
}

/* la flèche */
.ListeInfos a::after {
  content: "→"; /* flèche simple */
  font-weight: 400;
  font-size: 40px;
  color: inherit;
}

/* effet au survol */
.ListeInfos a:hover {
  color: var(--wp--preset--color--primary) !important;
  transform: translateX(5px);
}

.ListeInfos a:hover::after {
  transform: translateX(5px); /* la flèche glisse légèrement à droite */
}

/* -------------------------------------------------------------------------- */
/* 8) Projets                                                                 */
/* -------------------------------------------------------------------------- */

.projets a {
  transition: all 0.3s ease;
  background-size: 0;
}

.projets a h2 {
  padding: 0;
  transition: all 0.3s ease;
}

.projets a:hover h2 {
  padding-left: 10px;
  color: var(--wp--preset--color--primary);
}

/* Page projets : masquer la featured image en liste */
.page-projets-scope .wp-block-post-featured-image { display: none !important; }

/* Slider projets en Query Loop */
.projects-as-slider { position: relative; overflow: hidden; }
.projects-as-slider .slider-viewport {
  overflow: hidden;
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
/*   min-height: 100vh; */
}
.projects-as-slider .slider-track {
  display: flex;
  will-change: transform;
  touch-action: pan-y;
  align-items: center;
}
.projects-as-slider .slider-track > li.wp-block-post {
  flex: 0 0 100vw;
  max-width: 100vw;
}
.projects-as-slider .wp-block-post { transform-origin: center center; }
.projects-as-slider .wp-block-cover { min-height: min(60vh, 600px); max-width: 1200px; }
.projects-as-slider .wp-block-cover__image-background { object-fit: cover; }
.projects-as-slider .slider-nav {
  position: absolute;
  inset: auto 0 1rem 0;
  display: flex;
  justify-content: center;
  gap: .75rem;
  pointer-events: none;
}
.projects-as-slider .slider-nav button {
  pointer-events: auto;
  border: 0;
  border-radius: 999px;
  padding: .65rem 1rem;
  background: rgba(0,0,0,.5);
  color: #fff;
  backdrop-filter: blur(6px);
  cursor: pointer;
}
/* Supprime marges par défaut de la Query Loop */
.projects-as-slider .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
/* vidéos projets */
figure.wp-block-video video{
  border-radius: 20px;
}


/* -------------------------------------------------------------------------- */
/* 9) Images “qui”                                                            */
/* -------------------------------------------------------------------------- */

.imgQui img {
  max-height: 90vh;
  vertical-align: top;
}

/* -------------------------------------------------------------------------- */
/* 10) Accordéon                                                              */
/* -------------------------------------------------------------------------- */

.accordion { width: 250px; margin: 15px; box-shadow: 0 8px 17px rgba(0,0,0,.2); }
.accordion-menu { color: #fff; padding: 10px; cursor: pointer !important; user-select: none; position: relative; }
.accordion-content { height: 0; overflow: hidden; font-size: 14px; width: 60%; }
.accordion-content.expanded { height: 0; overflow: hidden; } /* (semble volontaire) */
.accordion-plus,
.accordion-minus { position: absolute; top: 7px; right: 8px; }

/* -------------------------------------------------------------------------- */
/* 11) Formulaires (Gravity Forms)                                            */
/* -------------------------------------------------------------------------- */

.gform_wrapper .ginput_container input {
  background: none;
  border: none;
  border-bottom: 1px solid var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--contrast);
}

.gform_wrapper .ginput_container textarea {
  background: none;
  border-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--contrast);
}

.contact .message .gform-field-label,
.email .gform-field-label,
.nom .gform-field-label {
  font-size: 2rem !important;
  font-weight: 400 !important;
}

.ginput_container_consent { padding-top: 3rem; }

.gform_button {
  background-color: var(--wp--preset--color--contrast);
  color: var(--wp--preset--color--base);
  border: none;
  border-radius: 20px;
  padding: 20px 40px;
  font-size: medium;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  font-weight: 600;
  transition: transform 0.3s ease;
}

.gform_wrapper .gform_footer input[type="submit"]:hover,
.gform_wrapper .gform_page_footer input[type="submit"]:hover {
  transform: scale(1.05);
}

.gfield_consent_label::after {
  content: "*";
  position: relative;
  top: -0.5rem;
  color: #FFD07B;
  font-weight: bold;
  font-size: 1rem;
}

.gfield_required::before {
  content: "*";
  position: relative;
  top: -1rem;
  color: #FFD07B;
  font-weight: bold;
  font-size: 1rem;
}

.gfield_required_text { display: none !important; }

/* -------------------------------------------------------------------------- */
/* 12) Mise en page Contact                                                   */
/* -------------------------------------------------------------------------- */

.contact-page .circle.one,
.contact-page .circle.two {
  display: flex;
  position: relative !important;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  transform: rotate(90deg) !important;
}

.contact-page .circle.one { right: -13.7vw !important; }
.contact-page .circle.two { left: -13.7vw; top: -7vh; }

/* -------------------------------------------------------------------------- */
/* 13) Sections “for” (marquee + SVG latéraux)                                */
/* -------------------------------------------------------------------------- */

.panel .marquee-track {
  display: flex;
  gap: clamp(2rem, 6vw, 8rem);
  will-change: transform;
  transform: translate3d(0,0,0);
}

.panel .wp-block-heading {
  white-space: nowrap;
  display: inline-block;
}

section.for { position: relative; overflow: visible; }
section.for .panel { position: relative; z-index: 2; }

section.for .svg1,
section.for .svg2 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 0;
  display: grid;
  place-items: center;
}

section.for .svg1 { left: 0; }
section.for .svg2 { right: 0; }

section.for .svg1 svg,
section.for .svg2 svg {
  width: min(35vw, 50vw);
  height: auto;
  transform-box: fill-box;
  transform-origin: 50% 50%;
}

/* -------------------------------------------------------------------------- */
/* 14) Éléments décoratifs positionnés                                       */
/* -------------------------------------------------------------------------- */

.get-on-front { position: relative; z-index: 999 !important; }

.ligne-verte,
.beige-ligne,
.bleu-ligne {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

.ligne-verte2{
  position: absolute;
  right: 10rem;
}

.ligne-verte { bottom: 10rem; width: 1rem; }
.beige-ligne { bottom: 18rem; width: 2rem; }
.bleu-ligne  { bottom: -7rem; width: 2rem; z-index: 2; }

.savoir-faire { position: relative; left: 2rem; }
.creativite   { position: relative; left: -2rem; }

.lignes { position: relative; left: 18rem; top: 15rem; }
.arcs-cercles { position: relative; left: -5rem; top: 9rem; }

.arcs-cercles .wp-image-706 { width: 8rem !important; }
.lignes .wp-image-699       { width: 10rem !important; }

.heart img{
  left:0;
  right:0;
  margin:0 auto;
 }

 @keyframes heartFadeInOut {
  0% {transform: scale(1);}
  25% {transform: scale(.97);}
  35% {transform: scale(.9);}
  45% {transform: scale(1.1);}
  55% {transform: scale(.9);}
  65% {transform: scale(1.1);}
  75% {transform: scale(1.03);}
  100% {transform: scale(1);}
}

.heart img { 
	top: 30%;	
  animation-name: heartFadeInOut; 
  animation-iteration-count: infinite;
  animation-duration: 2s;
	width: 40vh;	
}


/* /assets/css/query-slider.css */
.sliderProjet .wp-block-post-template{
  display:flex;
  gap:clamp(12px,1.5vw,24px);
  padding:0; margin:0; list-style:none;
  transition:transform .4s ease; will-change:transform;
}
.sliderProjet .wp-block-post-template > li{
  flex:0 0 var(--slide-basis,100%);
}
.sliderProjet .slider-viewport{ overflow:hidden; position:relative; }

.sliderProjet .slider-viewport{
  position: relative;
  z-index: 2;
}

.sliderProjet .wp-block-query-pagination{
  position: relative;
  z-index: 1;      /* sous le contenu du slider */
  margin-top: 1.5rem;
}

/* 1 / vue mobile (par défaut) */
@media (min-width:640px){
  .sliderProjet{ --per-view: 2; }
  .sliderProjet .wp-block-post-template > li{
    --slide-basis: calc((100% - clamp(12px,1.5vw,24px)) / 2);
  }
}
@media (min-width:1024px){
  .sliderProjet{ --per-view: 3; }
  .sliderProjet .wp-block-post-template > li{
    --slide-basis: calc((100% - 2*clamp(12px,1.5vw,24px)) / 3);
  }
}

/* /assets/css/query-slider.css */
.sliderProjet .wp-block-post-template{
  display:flex;
  gap:clamp(12px,1.5vw,24px);
  padding:0; margin:0; list-style:none;
  transition:transform .4s ease; will-change:transform;
}
.sliderProjet .wp-block-post-template > li{
  flex:0 0 var(--slide-basis,100%);
}
.sliderProjet .slider-viewport{ overflow:hidden; position:relative; }

/* 1 / vue mobile (par défaut) */
@media (min-width:640px){
  .sliderProjet{ --per-view: 2; }
  .sliderProjet .wp-block-post-template > li{
    --slide-basis: calc((100% - clamp(12px,1.5vw,24px)) / 2);
  }
}
@media (min-width:1024px){
  .sliderProjet{ --per-view: 3; }
  .sliderProjet .wp-block-post-template > li{
    --slide-basis: calc((100% - 2*clamp(12px,1.5vw,24px)) / 3);
  }
}



/* --- Boutons = pagination (flèches latérales) --- */
.sliderProjet { position: relative; }

.sliderProjet .wp-block-query-pagination{
  position:absolute;
  inset:0;
  margin:0 !important;
  display:block;
  pointer-events:none;
  z-index: 1;
}

/* Boutons de navigation */
.sliderProjet .wp-block-query-pagination-previous,
.sliderProjet .wp-block-query-pagination-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  pointer-events:auto;
  width:48px; height:48px;
  border:none;
  backdrop-filter: saturate(180%) blur(6px);
  text-decoration:none;
  display:grid; place-items:center;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px auto;
  z-index: 1 !important;
}


/* Images de fond personnalisées */
.sliderProjet .wp-block-query-pagination-previous{
  left:-60px;
  background-image: url("img/flecheG.svg");
}
.sliderProjet .wp-block-query-pagination-next{
  right:-60px;
  background-image: url("img/flecheD.svg");
}

/* Cache les flèches textuelles si elles sont rendues */
.sliderProjet .wp-block-query-pagination-previous-arrow,
.sliderProjet .wp-block-query-pagination-next-arrow{
  display:none !important;
}

/* État désactivé */
.sliderProjet .wp-block-query-pagination a[aria-disabled="true"]{
  opacity:.4; pointer-events:none;
}


/* Stabilité des cartes */
.sliderProjet .wp-block-post-template > li { min-width: var(--slide-basis, 100%); }
.sliderProjet .wp-block-post-featured-image img { display:block; }


@media (min-width:783px){
	.votreprojet {
	  --line-progress: 0%;
	  position: relative;
	}
	
	.votreprojet:before {
	  content: "";
	  position: absolute;
	  left: 51%;
	  top: 0;
	  width: 4px;
	  height: var(--line-progress);
	  background-color: var(--wp--preset--color--primary);
	  transform: translateX(-50%);
	  border-radius: 4px;
	  z-index: 0;
	}	
}

/* -------------------------------------------------------------------------- */
/* 15) Utilitaires perf                                                       */
/* -------------------------------------------------------------------------- */

/* Aides GPU / reveal */
[data-reveal],
[data-parallax],
[data-item] {
  will-change: transform, opacity;
  transform: translateZ(0);
}

/* -------------------------------------------------------------------------- */
/* 16) Media queries                                                          */
/* -------------------------------------------------------------------------- */


@media (min-width: 1600px) {
	.title{
		font-size: 5.5rem !important;
	}
}
@media (max-width: 1213px) {
  .basline { min-width: 445px !important; }
}

@media (max-width: 784px) {
	
	.wp-block-cover.alignright{
		margin-right: 0 !important;
	}
	.circle-steps{
		display: none !important;
	}
	
	.wp-block-group.has-global-padding{
		padding: 20px !important;
	}
	
	.reverse{
		flex-direction: column-reverse;
	}
	
	.votreprojet:before{ display: none;}
.sliderProjet .wp-block-query-pagination-previous{ left:-35px;backdrop-filter: none; }
  .sliderProjet .wp-block-query-pagination-next{ right:-35px; backdrop-filter: none; }
  .circle.one { top: 15vh; right: -47vw; }
  .circle.two { left: -15vw; }
  .circle svg { height: 60vw; }

  .creativite,
  .savoir-faire { left: 0 !important; }

  .bleu-ligne,
  .beige-ligne { display: none; }

  .ginput_container_consent { padding-top: 0 !important; }
}

@media (max-width: 400px) {
  .title { padding-left: 0 !important; padding-right: 0 !important; }
}

.sliderProjet .slider-viewport{
  position: relative;
  z-index: 2;
  pointer-events: auto;
}

.sliderProjet .wp-block-post-template{
  position: relative;
  z-index: 3;
  pointer-events: auto;
}

.sliderProjet .wp-block-post-template li,
.sliderProjet .wp-block-post-template a,
.sliderProjet .wp-block-post-template img,
.sliderProjet .wp-block-post-template figure{
  pointer-events: auto;
}

/* La pagination ne bloque pas tout */
.sliderProjet .wp-block-query-pagination{
  pointer-events: none;
}
.sliderProjet .wp-block-query-pagination a{
  pointer-events: auto;
}
