/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

input, select, textarea, button{
	outline: 0 !important;
}

/* Add your custom styles here */
.current-menu-item .elementor-item:after{
	background-color: var(--e-global-color-primary) !important;
	height:1px !important;
	opacity:1 !important;
	width:100% !important;
	left:0 !important;
}

.elementor-nav-menu--dropdown{
	width:100%;
}

/*https://prismic.io/blog/css-menus#9-glassmorphic-dropdown-menu*/
.elementor-nav-menu--dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
	background: rgba(255, 255, 255, 0.80) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    border: 1px solid #fff !important;
    border-radius: 8px;
    padding: 8px;
    visibility: hidden;
    overflow: hidden;
    transform: translateY(-10px);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.elementor-nav-menu--toggle
.elementor-menu-toggle.elementor-active
+ .elementor-nav-menu__container {
    visibility: visible;
	overflow:visible;
}

.menu-item .elementor-nav-menu--dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.elementor-nav-menu--dropdown .menu-item {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 0;
    color: #000;
    cursor: pointer;
    transition: all  0.2s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.elementor-nav-menu--dropdown .menu-item:hover {
    background: rgba(255, 255, 255, 0.7);
    color: #000;
}

header .header_sticky:before, .sub-menu:before {
	content:'';
	position:absolute;
	inset:0;
	z-index:-1;
    background: rgba(255, 255, 255, 0.50) !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}
header .header_sticky:before {
    backdrop-filter: blur(10px) saturate(180%);
    -webkit-backdrop-filter: blur(10px) saturate(180%);
}
.sub-menu:before {
    backdrop-filter: blur(5px) saturate(180%);
    -webkit-backdrop-filter: blur(5px) saturate(180%);
}








.card-link{
	position:relative;
}
.card-link .article__img, .card-link .elementor-widget-image{
	position:initial;
}
.card-link .elementor-widget-image a:after{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 1;
	border-radius:250px;
}
.card-link:hover .btn-upink_cto__part--secondary{
	transform:rotate(0);
}










.elementor-pagination{margin-top:80px;}
.page-numbers{
	border-radius: .8rem;
    filter: drop-shadow(0 2px 2px rgba(25, 23, 21, .5));
    line-height: 14px;
    margin: 0;
    padding: 10px 12px 5px;
    font-size: 18px;
    background-color: #fff;
    color: var(--e-global-color-text);
    font-family: "Obviously", Sans-serif;
    font-weight: 300 !important;
    text-transform: uppercase
}
span.page-numbers{}
a.page-numbers{
    background-color: var(--e-global-color-secondary);
}
a.page-numbers:hover{
    margin-top: 2px;
    filter: drop-shadow(0 1px 1px rgba(25, 23, 21, .5));
}

.sub-menu{box-shadow:0 0 3px #aaa;width:100%;}


.elementor-mark-required .elementor-field-label:after{color:#FFFF00;text-shadow:0 0 3px #00000080}
/* Conteneur upload */
.elementor-field-group-files {
    position: relative;
}

.elementor-field-type-upload{}
.elementor-field-type-upload .elementor-field-label{display:none}

/* cache le champ file natif */
.elementor-field-group-files input[type="file"] {
    opacity: 0;
    position: absolute;
    inset: 0;
    cursor: pointer;
}

/* bouton custom */
.upink-upload-ui {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border-radius: 12px;
    background: #000;
    color: #fff;
    transition: all .25s ease;
}
.upink-upload-ui .emoji{margin-right:5px !important;}

/* texte fichier */
.upink-upload-files {
    margin-top: 8px;
    font-size: 13px;
    color: #333;
}





.home_actus .e-loop-item {
  transition: transform 0.3s ease;
}

/* item 1,4,7,10... */
.home_actus .e-loop-item:nth-child(3n+1) {
  transform: rotate(-2deg);
}

/* item 2,5,8,11... */
.home_actus .e-loop-item:nth-child(3n+2) {
  transform: rotate(1.5deg);
}

/* item 3,6,9,12... */
.home_actus .e-loop-item:nth-child(3n+3) {
  transform: rotate(-1deg);
}
.home_actus .e-loop-item:hover{
	transform: rotate(0);
}

.double_upink{
	position:relative;
}
.double_upink::before{
    content: "";
    position: absolute;

    top: -50%;
    left: 25%;

    width: 400px;
    height: 400px;

    background: url("/wp-content/themes/hello-theme-child-master/assets/zoom_upink.svg") no-repeat center/contain;

    pointer-events: none;
    z-index: 0;
}


 @media (min-width: 992px) {
	.section_sticky{
		position:sticky !important;
		top:160px;
	}
}

.sr-only{display:none}
.elementor-element a{
	font-weight:inherit;
}

#pageLoader {
	 position: fixed;
	 inset: 0;
	 display: flex;
	 justify-content: center;
	 align-items: center;
	 z-index: 9999;
	 transition: all 1.5s ease;
}
.elementor-editor-active #pageLoader{
	display:none;
}
 #pageLoader.fade-out {
	 pointer-events: none;
}
 #pageLoader .loader-text {
	 animation: pulseText 2s infinite ease-in-out;
}
 #pageLoader .loader-logo {
	 width: 250px;
	 height: auto;
	 position: absolute;
	 top: calc(50% - (125px / 2));
	 left: calc(50% - (250px / 2));
	 animation: pulse 2s infinite ease-in-out;
}
 @keyframes pulseText {
	 0%, 100% {
		 opacity: 1;
	}
	 50% {
		 opacity: 0;
	}
}
 @keyframes pulse {
	 0%, 100% {
		 transform: translateY(-100px);
		 opacity: 0.2;
	}
	 50% {
		 transform: translateY(20px);
		 opacity: 1;
	}
}
    /* Couches superposées */
    .loading-layer {
        position: absolute;
        inset: 0;
        transform: translateY(0);
        transition: transform 1.5s ease-in-out, opacity 1.5s ease-in-out;
        opacity: 1;
        mix-blend-mode: hard-light; /* effet "CMJN" sympa */
    }

    /* Couleurs CMJN + blanc */
    .loading-layer.cyan {
        background: #00ffff;
    }

    .loading-layer.magenta {
        background: #ff00ff;
    }

    .loading-layer.yellow {
        background: #ffff00;
    }

    .loading-layer.black {
        background: #000000;
    }

    .loading-layer.white {
        background: #ffffff;
    }

    #pageLoader {
        transition: opacity;
    }

    #pageLoader.fade-out {
        transition-delay: 1.2s;
        opacity: 0;
    }

    .fade-out .loading-layer {
        transform: translateY(100vh);
        opacity: 0;
    }

    /* Délai d’animation pour les couches (stagger effect) */
    .fade-out .cyan {
        transition-delay: 0.9s;
    }

    .fade-out .magenta {
        transition-delay: 0.7s;
    }

    .fade-out .yellow {
        transition-delay: 0.5s;
    }

    .fade-out .black {
        transition-delay: 0.3s;
    }

    .fade-out .white {
        transition-delay: 0.1s;
    }

.hero_title{
	text-align:center;
}
.hero_title span{
	color:var(--e-global-color-text);
	position:relative;
	z-index:1;
}
.hero_title span:before{
	inset:0;
	background:var( --e-global-color-secondary );
	content:'';
	position:absolute;
    top: -5px;
    left: -5px;
    width: calc(100% + 5px);
    height: calc(100% + 5px);
    transform: rotate(-3deg);
	z-index:-1;
	border-radius:25px;
}

.liste-valeurs {
	list-style: none;
	padding: 0;
	width:100%;
	max-width:80%;
}
 @media (max-width: 991px) {
	 .liste-valeurs {
		 max-width: 330px;
	}
}
 .liste-valeurs li {
	 transition: transform 0.1s;
	 color: #fff;
	 border-radius: 25px;
	 text-align: center;
	 padding: 7px 30px !important;
	 background-color: var(--e-global-color-secondary);
	 margin: 20px 0 !important;
}
 .liste-valeurs li:nth-child(1) {
	 transform: rotate(-3deg);
}
 .liste-valeurs li:nth-child(2) {
	 transform: rotate(1deg);
}
 .liste-valeurs li:nth-child(3) {
	 transform: rotate(-1.5deg);
}
 .liste-valeurs li:nth-child(4) {
	 transform: rotate(2.5deg);
}
 .liste-valeurs li:nth-child(5) {
	 transform: rotate(-1deg);
}
 .liste-valeurs li:nth-child(6) {
	 transform: rotate(1.5deg);
}
 .liste-valeurs li:hover {
	 transform: rotate(0deg);
}
 

.upink-btn{
    border:none;
    background: #ff0;
    color:#000;
    border-radius:60px;
}
.upink-btn:hover, .upink-btn:focus{
    border:none;
    background: #000;
    color:#ff0;
}

.btn-upink_cto{
    display: block;
    height: 75px;
    margin: 20px auto;
    position: relative;
    width: 190px;
}
.btn-upink_cto span{
    border-radius: .8rem;
    filter: drop-shadow(0 5px 2px rgba(25, 23, 21, .5));
    line-height: 14px;
    margin: 0;
	left:0;
    padding: 10px 12px 5px;
	font-size:20px;
    position: absolute;
}
.btn-upink_cto__part--primary{
    background-color: var(--e-global-color-primary);
    color: #fff;
    top: 0;
    transform: rotate(5deg);
}
.btn-upink_cto_white .btn-upink_cto__part--primary{
    background-color: var(--e-global-color-accent);
    color: var(--e-global-color-text);
}
.btn-upink_cto__part--secondary{
    background-color: var( --e-global-color-secondary );
    color: var(--e-global-color-text);
    font-family: "Obviously", Sans-serif;
	font-weight:700;
    text-transform: uppercase;
    top: 27px;
    transform: rotate(-4deg);
}
.btn-upink_cto:hover .btn-upink_cto__part--secondary{
	transform: rotate(0);
}

.btn-upink_more{
    display: block;
    height: 65px;
    margin: 20px auto;
    position: relative;
    width: 90px;
}
.btn-upink_more:after{
	content:'';
	background-image:url('/wp-content/themes/hello-theme-child-master/assets/btn-plus.png');
    left: 72px;
    position: absolute;
    top: 15px;
    transform: rotate(4deg);
    transition: transform .1s;
    width: 29px;
    height: 29px;
	background-size:100%;
}
.btn-upink_more_white:after{
	background-image:url('/wp-content/themes/hello-theme-child-master/assets/btn-plus_white.svg');
}
.btn-upink_more:hover:after {
    transform: rotate(-16deg);
}
.btn-upink_more span{
    position: absolute;
    color: #191715;
    left: 0;
    border-radius: .8rem;
    line-height: 14px;
    padding: 10px 12px 5px;
	filter: drop-shadow(0 5px 2px rgba(25, 23, 21, .5));
    margin: 0;
}
.btn-upink_more__part--en{
    background-color: var(--e-global-color-accent);
    top: 0;
    transform: rotate(-10deg);
}
.btn-upink_more__part--savoir{
    background-color: var( --e-global-color-secondary );
    font-family: "Obviously", Sans-serif;
	font-size:15px;
    text-transform: uppercase;
    top: 25px;
    transform: rotate(4deg);
}

.btn-upink_link{
    border-radius: .8rem;
    line-height: 14px;
    padding: 10px 12px 5px;
	filter: drop-shadow(0 5px 2px rgba(25, 23, 21, .5));
    margin: 0;
    background-color: var( --e-global-color-secondary );
}
.btn-upink_link__text{
	color: var( --e-global-color-text );
	position:relative;
	padding-right: 30px !important;
}
.btn-upink_link__text:after{
	content:'';
	background-image:url('/wp-content/themes/hello-theme-child-master/assets/arrow.png');
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    height: 12px;
    pointer-events: none;
    position: absolute;
    right: 8px;
    top: 42%;
    transform: translateY(-50%);
    width: 12px;
}
.btn-upink_link:hover .btn-upink_link__text:after{
	right: 5px;
}

/*Scroll horizontal des réalisations home*/
.mdw-horizontal-scroll{
  position:relative;
}
.horizontal-sticky{
  position:sticky;
  top:220px;
  height:70vh;
  display:flex;
  align-items:center;
  overflow:hidden;
}
/*.elementor-loop-container{
  display:flex;
  flex-wrap:nowrap;
  will-change:transform;
}*/
.realisation_zoom{
  width:90vw;
  flex:0 0 auto;
  margin-right:40px;
}

#et-boc .et-l .pnlm-sprite,
.pnlm-info {
	background: none;
	border-radius: 6px !important;
}
.pnlm-hotspot:hover{
	background: none;
}

/* pin uniquement */
.pnlm-info::before {
    content: "";
    position: absolute;
    inset: 0;
    width: 26px;
    height: 26px;

    background-image: url('/wp-content/themes/hello-theme-child-master/assets/up_ink-favicon.png');
    background-size: 18px;
    background-position: center;
    background-repeat: no-repeat;

    animation: whitePulse 2s ease-in-out infinite;
}

.pnlm-info::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(1);
    pointer-events: none;
    border: 2px solid rgba(255, 237, 0, 0.8);
    animation: pinRingPulse 2s ease-out infinite;
}

@keyframes whitePulse {
    0% {
        transform: scale(1);
        filter: drop-shadow(0 0 2px rgba(255, 237, 0, 0.15));
    }
    50% {
        transform: scale(1.2);
        filter: drop-shadow(0 0 6px rgba(255, 237, 0, 1));
    }
    100% {
        transform: scale(1);
        filter: drop-shadow(0 0 2px rgba(255, 237, 0, 0.15));
    }
}

@keyframes pinRingPulse {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.85;
    }
    70% {
        transform: translate(-50%, -50%) scale(2.3);
        opacity: 0;
    }
    100% {
        transform: translate(-50%, -50%) scale(2.2);
        opacity: 0;
    }
}

@keyframes panning-vertical {
  0% {
    background-position: 50% 0;
  }
   50% {
    background-position: 50% 100%;
  }
  100% {
    background-position: 50% 0;
  }
}
.parallax-vertical {
  position: relative;
  background-size: 200%;
  animation: panning-vertical 15s infinite linear;
}

@keyframes panning-horizontal {
  0% {
    background-position: 0 50%;
  }
   50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0 50%;
  }
}
.parallax-horizontal {
  position: relative;
  height: 100%;
  width: 100%;
  background-size: 150%;
  animation: panning-horizontal 15s infinite linear;
}

.upink-realization-hero-pan {
  background-repeat: no-repeat;
  background-size: cover;
  will-change: background-position;
}

body.upink-realization-pan-vertical .upink-realization-hero-pan {
  animation: panning-vertical 20s linear infinite;
}

body.upink-realization-pan-horizontal .upink-realization-hero-pan {
  animation: panning-horizontal 20s linear infinite;
  background-size: 150% !important;
}

.section-parallax-upink {
    position: relative;
    height: 80vh;
    overflow: hidden;
}

.section-parallax-upink .parallax-image {
    position: absolute;
    top: -40%;
    left: 0;
    width: 100%;
    height: 180%;
    
    background-size: inherit;
    background-position: center top;
    background-repeat: no-repeat;

    will-change: transform;
}
.section-parallax-upink::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;

    background:linear-gradient(
        to bottom,
        rgba(0,0,0,0.35),
        rgba(0,0,0,0) 25%,
        rgba(0,0,0,0) 75%,
        rgba(0,0,0,0.35)
    );
}

.plus_plus{
	position:relative;
}
.plus_plus:after{
	content:"";
	background:url('/wp-content/themes/hello-theme-child-master/assets/upink_plus_plus.svg') no-repeat center;
	background-size:100%;
	width:214px;
	height:174px;
	position:absolute;
	top:-50px;
	right:5%;
}

.title_detail{
	position:relative;
	padding-left:40px;
	height:33px;
	display:flex;
	align-items:center;
}
.title_detail:after{
	content:"";
	width:33px;
	height:33px;
	position:absolute;
	top:0;
	left:0;
	background-size:cover !important;
}
.title_arrow:after{
	background:url('/wp-content/themes/hello-theme-child-master/assets/upink_detail.svg') no-repeat center;
}
.title_ecoresponsabilite:after{
	background:url('/wp-content/themes/hello-theme-child-master/assets/eco-responsabilite.svg') no-repeat center;
}
.title_reseau:after{
	background:url('/wp-content/themes/hello-theme-child-master/assets/reseaux.svg') no-repeat center;
}

#board_with_us{
    position:relative;
    overflow:hidden;
}

/* DOTS */
#board_with_us__dots{
    position:absolute;
    top:80px;
    left:50%;
	width:100%;
    transform:translateX(-50%);
    z-index:0;
}

/* TITRE */
#board_with_us__title{
    position:relative;
    z-index:1;
    transition: transform 1.5s  cubic-bezier(.65,0,.35,1),
                background .3s,
                color .3s,
                padding .3s;
}

/* VAN */
#board_with_us__idbuzz{
    position:absolute;
    top:150px;
    left:50%;
	width:100%;
    transform:translateX(-50%);
    z-index:2;
    transition: transform 1.5s  cubic-bezier(.65,0,.35,1);
}

/* ---------------- */
/* HOVER ANIMATION */
/* ---------------- */

#board_with_us:hover #board_with_us__idbuzz{
    transform:translateX(-2000px);
}

#board_with_us:hover #board_with_us__title{
    transform:translateY(50px);
}

#board_with_us:hover #board_with_us__title h2{
    border-radius:40px;
    display:inline-block;
}
#board_with_us__idbuzz_wheel_front{position:absolute;bottom:0;left:11%;width:205px;z-index:2;transform:rotate(60deg);}
#board_with_us__idbuzz_wheel_back{position:absolute;bottom:0;right:14.6%;width:205px;z-index:2;}
#board_with_us .board_with_us__idbuzz_wheels{transition: all 1.5s  cubic-bezier(.65,0,.35,1);}
#board_with_us:hover .board_with_us__idbuzz_wheels{transform:rotate(-720deg);filter:blur(1px);}
#board_with_us__idbuzz:before {
    content: '';
    position: absolute;
    top: 98%;
    width: 90%;
    left: 5%;
    height: 21px;
    background: black;
    border-radius: 250%;
    filter: blur(11px);
}
#board_with_us:hover #board_with_us__idbuzz_car {
    transform: translateX(3px) skewX(-3deg);
}

/* 
.actus_loop .elementor-loop-container .e-loop-item{position:relative;}
.actus_loop .elementor-loop-container .e-loop-item:after, 
.actus_loop .elementor-loop-container .e-loop-item:not(:first-of-type):not(:last-of-type):before{
	content:'';
	background:url('/wp-content/uploads/2026/03/blog_trace.svg') no-repeat;
	z-index:0;
	position:absolute;
	top:-100px;
	width:600px;
	height:660px;
}
.actus_loop .elementor-loop-container .e-loop-item:not(:first-of-type):not(:last-of-type):before{
	background-color:green;
	background-position:50% -520px;
	left:50%;
    transform:translateX(-50%);
    background-size: 1140px;
	width:600px;
	height:150px;
}
.actus_loop .elementor-loop-container .e-loop-item:nth-child(odd):after{
	background-color:pink;
	background-position:0 -520px;
	left:-250px;
    background-size: 1140px;
}
.actus_loop .elementor-loop-container .e-loop-item:nth-child(even):after{
	background-color:cyan;
	background-position:0 -450px;
	transform:rotate(180deg);
	right:-250px;
    background-size: 1140px;
}
.actus_loop .elementor-loop-container .e-loop-item:first-of-type:after{
	background-position:100% 0;
	transform:rotate(0);
}
.actus_loop .elementor-loop-container .e-loop-item:last-of-type:nth-child(odd):after{
	background-position:100% -1020px;
	transform:scaleX(-1);
}
.actus_loop .elementor-loop-container .e-loop-item:last-of-type:nth-child(even):after{
	background-position:100% -1020px;
	transform:rotate(0);
} */

.home_actu{
    position:relative;
}

.home_actu .elementor-element{position:initial}

.home_actu a::after{
    content:"";
    position:absolute;
    inset:0;
}

.actus_loop{}
.actus_loop .elementor-loop-container .e-loop-item:nth-child(even){
	margin-left:-300px;
	margin-right:max(50px, 5%);
}
.actus_loop .elementor-loop-container .e-loop-item:nth-child(odd){
	margin-left:max(50px, 5%);
	margin-right:-300px;
}
.actus_loop .elementor-loop-container .e-loop-item:nth-child(even) .article{
	flex-direction: row-reverse;
}
.actus_loop .elementor-loop-container .e-loop-item:nth-child(even) .article__img{
	align-items:flex-end;
}


.actus_loop{
  position: relative;
  z-index: 0;
}
.actus-path{
  position: absolute;
}
.actus-path path {
  stroke: #FFFF00;
  stroke-width: 10px;
  fill: none;
  stroke-linecap: round;

  stroke-dasharray: var(--path-length);
  stroke-dashoffset: var(--path-length);

  animation: drawLine 5s cubic-bezier(.65,0,.35,1) forwards;
}

@keyframes drawLine {
  to {
    stroke-dashoffset: 0;
  }
}

/* UP'Ink - Actualités / Loop Item Elementor #293
 * À ajouter après les styles existants du thème enfant.
 * Ciblage strict de la grille .actus_loop.
 */
@media (max-width: 1024px) {
  .actus_loop,
  .actus_loop .elementor-loop-container,
  .actus_loop .e-loop-item {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .actus_loop .elementor-loop-container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: clamp(24px, 5vw, 48px);
    padding-inline: clamp(12px, 3vw, 24px);
  }

  /* Neutralisation des marges alternées de +/-300px. */
  .actus_loop .elementor-loop-container > .e-loop-item:nth-child(n) {
    margin: 0 !important;
    min-width: 0;
    transform: none;
  }

  /* Carte empilée avec image avant texte, indépendamment de l'ordre HTML. */
  .actus_loop .e-loop-item .article.elementor-element-47eb3f12 {
    --flex-direction: column;
    --flex-wrap-mobile: nowrap;
    --overflow: hidden;
    --border-radius: 28px;
    display: flex;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100%;
    min-width: 0;
    height: auto;
    border-radius: 28px;
    overflow: hidden;
  }

  /* Supprime l'inversion des articles pairs. */
  .actus_loop .e-loop-item:nth-child(even) .article {
    flex-direction: column !important;
  }

  .actus_loop .e-loop-item .article__img.elementor-element-2dd6c77 {
    --width: 100%;
    --align-self: stretch;
    --justify-content: center;
    --align-items: stretch;
    --margin-bottom: 0px;
    order: -1;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0;
    align-items: stretch !important;
  }

  .actus_loop .e-loop-item .article__img .elementor-widget-image,
  .actus_loop .e-loop-item .article__img .elementor-widget-container,
  .actus_loop .e-loop-item .article__img a {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .actus_loop .e-loop-item .article__img img,
  .actus_loop .e-loop-item .elementor-element-d74523f img {
    display: block;
    width: 100%;
    height: clamp(190px, 37vw, 340px) !important;
    object-fit: cover;
    object-position: center;
  }

  /* Remplace le padding de 140px par une marge intérieure fluide. */
  .actus_loop .e-loop-item .elementor-element-705235df {
    --width: 100%;
    --justify-content: flex-start;
    --gap: 10px 10px;
    --row-gap: 10px;
    --column-gap: 10px;
    --padding-top: 24px;
    --padding-right: 24px;
    --padding-bottom: 26px;
    --padding-left: 24px;
    --margin-bottom: 0px;
    order: 1;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 24px !important;
    text-align: left;
  }

  .actus_loop .e-loop-item .elementor-element-6fcd53b2,
  .actus_loop .e-loop-item .elementor-element-20a2d049 {
    min-width: 0;
    max-width: 100%;
    padding: 0 !important;
    text-align: left !important;
    overflow-wrap: anywhere;
  }

  .actus_loop .e-loop-item .elementor-element-6fcd53b2 .elementor-heading-title {
    font-size: clamp(18px, 2.8vw, 24px);
    line-height: 1.2;
  }

  .actus_loop .e-loop-item .elementor-element-20a2d049 {
    font-size: 14px;
    line-height: 1.6;
    margin: 4px 0 0;
  }

  .actus_loop .e-loop-item .upink-button-wrapper {
    align-self: flex-start;
  }
}

@media (max-width: 767px) {
  .actus_loop .elementor-loop-container {
    gap: 24px;
    padding-inline: 14px;
  }

  .actus_loop .e-loop-item .article.elementor-element-47eb3f12 {
    --border-radius: 22px;
    border-radius: 22px;
  }

  .actus_loop .e-loop-item .article__img img,
  .actus_loop .e-loop-item .elementor-element-d74523f img {
    height: clamp(180px, 56vw, 260px) !important;
  }

  .actus_loop .e-loop-item .elementor-element-705235df {
    --padding-top: 20px;
    --padding-right: 18px;
    --padding-bottom: 22px;
    --padding-left: 18px;
    padding: 20px 18px 22px !important;
  }

  .actus_loop .e-loop-item .elementor-element-6fcd53b2 .elementor-heading-title {
    font-size: clamp(18px, 5vw, 22px);
  }
}










/* 1. Cacher le slash */
#breadcrumbs span > span + span::before {
    content: "";
}

/* 2. Cibler le slash texte et le masquer */
#breadcrumbs {
    font-size: 0; /* masque les séparateurs texte */
}

#breadcrumbs a{
	font-weight:700
}

/* 3. Réafficher le texte normal */
#breadcrumbs a,
#breadcrumbs span {
    font-size: 14px; /* adapte à ton design */
}

/* 4. Ajouter ton SVG comme séparateur */
#breadcrumbs span > span + span::before {
    content: "";
    display: inline-block;
    width: 13px;
    height: 13px;
    margin: 0 2px;
    background: url('/wp-content/uploads/2025/11/up_ink-favicon.png') no-repeat center;
    background-size: contain;
    filter: drop-shadow(0 0 2px #aaa);
}

.realization_left{
  position: relative;
  overflow: hidden;
}

 @media (min-width: 992px) {
	.realization_left::after {
	  content: "";
	  position: absolute;
	  top: 0;
	  right: 110px;
	  width: 90px;
	  height: 90px;
	  background: transparent;
	  border-top-right-radius: 50px;
	  box-shadow: 50px -50px 0 50px white;
	}
}

.realization_desc{
    position: relative;
    padding-left: 24px !important; /* espace pour l'icône */
}
.realization_desc:before{
    content: "";
    position: absolute;
    left: 0;
    top:0;

    width: 16px;
    height: 16px;

    background: url("/wp-content/uploads/2026/03/upink_arrow.svg") no-repeat center;
    background-size: contain;
}

.realization_strengths ul {
    list-style: none;
    padding-left: 0;
}

.realization_strengths li {
    position: relative;
    padding-left: 24px; /* espace pour l'icône */
}

.realization_strengths li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;

    width: 16px;
    height: 16px;

    background: url("/wp-content/uploads/2026/03/upink_plus.svg") no-repeat center;
    background-size: contain;
}


/*Galerie des matériaux*/
.gallery_animated .e-gallery-item .e-gallery-image,
.gallery_animated .e-gallery-item .elementor-gallery-item__overlay,
.gallery_animated .e-gallery-item .elementor-gallery-item__title {
    transition: all 0.1s ease;
}
.gallery_animated .e-gallery-item{
	border:1px solid transparent;
	overflow:visible;
}
.gallery_animated .e-gallery-item:hover,
.gallery_animated .e-gallery-item.is-random-hover{
	z-index:2;
	text-shadow: 0 0 5px #000;
}
.gallery_animated .e-gallery-item:hover:before,
.gallery_animated .e-gallery-item.is-random-hover:before {
    content: '';
    position: absolute;
    top: -60px;
    left: -40px;
    aspect-ratio: 1 / 1;
    width: 280px;
    background: #fff;
    border-radius: 50%;
    opacity: 0.3;
    filter: blur(11px);
    z-index: 0;
	pointer-events:none;
}
/* Même comportement que le hover */
.gallery_animated .e-gallery-item.is-random-hover .e-gallery-image {
    filter: saturate(1);
}
.gallery_animated .e-gallery-item.is-random-hover .elementor-gallery-item__overlay {
    opacity: 1;
}
.gallery_animated .e-gallery-item.is-random-hover .elementor-gallery-item__title {
    opacity: 1;
    transform: scale(1);
}
/* À garder seulement si Elementor ne gère pas déjà cet état */
.gallery_animated .elementor-gallery-item__title {
    opacity: 0;
    transform: scale(2);
}



/*Case à cocher personnalisée*/
.upink-check {
    --check-size: 22px;
    --check-border: rgba(0, 0, 0, 0.22);
    --check-bg: rgba(255, 255, 0, 0.04);
    --check-bg-hover: rgba(255, 255, 0, 0.5);
    --check-active: #ff0;
    --check-text: #000;

    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    color: var(--check-text);
    font-size: 15px;
    line-height: 1.3;
    user-select: none;
}

.upink-check input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.upink-check span {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.upink-check span::before {
    content: '';
    width: var(--check-size);
    height: var(--check-size);
    flex: 0 0 var(--check-size);
    border-radius: 8px;
    border: 1px solid var(--check-border);
    background: var(--check-bg);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
    transition:
        background 0.2s ease,
        border-color 0.2s ease,
        box-shadow 0.2s ease,
        transform 0.2s ease;
}

.upink-check span::after {
    content: '';
    position: absolute;
    left: 7px;
    top: 50%;
    width: 6px;
    height: 11px;
    border-right: 2px solid #111;
    border-bottom: 2px solid #111;
    transform: translateY(-58%) rotate(45deg) scale(0.75);
    opacity: 0;
    transition:
        opacity 0.18s ease,
        transform 0.18s ease;
}

.upink-check:hover span::before {
    background: var(--check-bg-hover);
    border-color: transparent;
}

.upink-check input[type="checkbox"]:checked + span::before {
    background: var(--check-active);
    border-color: var(--check-active);
    box-shadow: 0 0 18px rgba(255, 255, 0, 0.22);
}

.upink-check input[type="checkbox"]:checked + span::after {
    opacity: 1;
    transform: translateY(-58%) rotate(45deg) scale(1);
}

.upink-check input[type="checkbox"]:focus-visible + span::before {
    outline: none;
    box-shadow:
        0 0 0 3px rgba(255, 255, 0, 0.2),
        0 0 0 1px rgba(255, 255, 0, 0.7);
}

.upink-check input[type="checkbox"]:disabled + span {
    opacity: 0.45;
    cursor: not-allowed;
}
/*FIN Case à cocher personnalisée*/