/* Variables (light) */
		:root{
			--axo_module_maincolor: var(--primary);
			--axoproj_colorborder:#ededed;
			--axoproj_colortitle:#3f3f3f;
			--axoproj_colortxt:#4e4e4e;
			--axoproj_backcolor:#fff;
			--axoproj_shadowcolor:rgba(17,12,46,0.1);
			--axoproj_chipbg:rgba(0,0,0,0.04);
		}
		/* Variables (dark) */
		.axo-proj_container.dark-module{
			--axoproj_colorborder:rgba(255,255,255,0.15);
			--axoproj_colortitle:rgba(255,255,255,0.95);
			--axoproj_colortxt:rgba(255,255,255,0.9);
			--axoproj_backcolor:rgba(0,0,0,0.3);
			--axoproj_shadowcolor:rgba(255,255,255,0.05);
			--axoproj_chipbg:rgba(255,255,255,0.08);
		}

		.axo-proj_container{
			max-width:1440px;
			padding: 0 35px;
		}

		/* HERO (bannière) */
		.axo-proj_hero{
			position:relative; border-radius:12px; overflow:hidden;
			height:480px; margin:15px 0 25px; background:#000;
			box-shadow: 0 12px 40px rgba(0,0,0,.08);
		}
		.axo-proj_hero img{
			width:100%; height:100%; object-fit:cover; object-position:center; display:block;
		}
		.axo-proj_hero::after{
			content:""; position:absolute; inset:0;
			background: linear-gradient(180deg,rgba(0,0,0,.1) 0%, rgba(0,0,0,.35) 40%, rgba(0,0,0,.75) 100%);
			pointer-events:none;
		}
		.axo-proj_hero_content{
			position:absolute; left:0; right:0; bottom:0; z-index:2; padding:24px;
			color:#fff;
		}
		.axo-proj_hero_title{
			color: #fff;
			margin:0 0 8px; font-size:32px; font-weight:700; letter-spacing:.2px;
		}
		.axo-proj_hero_meta{
			display:flex; align-items:center; gap:10px; flex-wrap:wrap;
			font-size:12px; letter-spacing:1.2px; text-transform:uppercase;
		}
		.axo-proj_hero_meta time{
			display:inline-block; padding:6px 12px; border-radius:8px;
			background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2);
			backdrop-filter:saturate(180%) blur(8px);
		}

		/* >>> Badge catégorie identique à la liste projets */
		.axo-proj_cat{
			display:inline-flex; align-items:center; gap:6px;
			color:#fff;
			font-size:11px; font-weight:500; letter-spacing:.5px; text-transform:uppercase;
			border:1px solid #fff; padding:5px 10px; border-radius:6px;
			background: var(--axoproj_chipbg);
		}

		/* CONTENU */
		.axo-proj_content{
			background:var(--axoproj_backcolor);
			border:1px solid var(--axoproj_colorborder);
			border-radius:12px; padding:24px; margin-bottom:25px;
			box-shadow: 0 12px 30px var(--axoproj_shadowcolor);
			color:var(--axoproj_colortxt);
		}
		.axo-proj_contenttitle{
			font-size:22px; color:var(--axoproj_colortitle); font-weight:700; margin:0 0 12px;
		}
		.axo-proj_content .axo-proj_descr p{font-size:15px; line-height:1.7;}
		.axo-proj_content .axo-proj_descr ul{padding-left:18px; font-size:15px;}

		/* GALLERY (Masonry + Fancybox) */
		.axo-proj_gallery{
			margin-bottom:30px;
			margin-top: 30px;
		}
		.axo-proj_grid{
			position:relative;           /* <<< important pour Masonry */
			margin:-7.5px;
		}
		/* 3 colonnes desktop (évite les arrondis avec calc) */
		.axo-proj_sizer,
		.axo-proj_item{ width: calc(100% / 3); }

		.axo-proj_item{
			box-sizing: border-box;      /* <<< padding inclus dans le width */
			padding:7.5px;
			/* pas de float : Masonry positionne en absolute */
		}
		.axo-proj_thumb{
			position:relative; overflow:hidden; border-radius:10px;
			border:1px solid var(--axoproj_colorborder);
			display:block;
		}
		.axo-proj_thumb img{
			width:100%; height:100%; display:block; object-fit:cover;
			transition:transform .35s ease;
		}
		.axo-proj_thumb:hover img{transform:scale(1.04);}

		/* >>> Loupe centrée */
		.axo-proj_zoom{
			position:absolute; left:50%; top:50%; z-index:2;
			transform: translate(-50%, -50%) scale(.98);
			display:inline-flex; align-items:center; justify-content:center;
			width:40px; height:40px; border-radius:10px;
			background:rgba(0,0,0,.55); color:#fff; font-size:16px;
			opacity:0; transition:.25s;
			pointer-events:none; /* l'icône ne bloque pas le clic */
		}
		.axo-proj_thumb:hover .axo-proj_zoom{
			opacity:1; transform: translate(-50%, -50%) scale(1);
		}

		.axo-actions {
			display: flex;
			justify-content: center;
			flex-wrap: wrap;
			gap: 10px;
			margin-top: 20px;
			margin-bottom: 0px;
		}

		.axo-btn {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			gap: 8px;
			padding: 5px 14px;
			border-radius: 7.5px;
			border: 1.5px solid var(--axoproj_colorborder);
			background: var(--axoproj_backcolor);
			color: var(--axoproj_colortitle);
			font-size: 13px;
			font-weight: 600;
			text-decoration: none;
			transition: all .3s;
			cursor: pointer;
			text-decoration: none !important;
			color: var(--axoproj_colortxt);
			transition: all 0.4s;
		}

		.axo-btn.primary {
			background: var(--axo_module_maincolor);
			color: #fff;
			border-color: transparent;
		}

		a.axo-btn {
			color: var(--axoproj_colortxt);
			text-decoration: none;
		}

		.axo-btn:hover {
			opacity: .65;
		}

/* ===== Autres projets récents (slider) ===== */
.axo-proj_related{margin: 20px 15px 40px;}
.axo-proj_related h3 {
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--axo_module_maincolor);
    position: relative;
    padding: 10px 0;
    margin-bottom: 20px;
}

.axo-proj_related h3:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 5px;
    width: 55px;
    border-radius: 5px;
    background-color: var(--axo_module_secondcolor);
}

/* Cartes projet (mêmes styles que la page liste) */
.axo-proj_card{padding: 7.5px 7.5px;} /* petit gutter interne par slide */
.axo-proj_card a{
  display:block; position:relative; color:var(--axoproj_colortitle);
  border:1.5px solid rgba(0,0,0,0);
/*  box-shadow: var(--axoproj_shadowcolor) 0 48px 100px 0;*/
  background: var(--axoproj_backcolor);
  transition:.4s; text-decoration:none; border-radius:10px; overflow:hidden;
}
.axo-proj_card a:hover{box-shadow:0 0 40px 3px rgba(0,0,0,0); border-color: var(--axoproj_colorborder);}
.axo-proj_media{
  position:relative; overflow:hidden; width:100%; height:340px;
  border-bottom:1px solid var(--axoproj_colorborder); margin: 0 auto;
}
.axo-proj_media img{
  width:100%; height:100%; object-fit:cover; object-position:center; display:block;
  position: relative; z-index: 2; transition: transform .4s;
}
.axo-proj_media::before{
  content:""; position:absolute; inset:0; z-index:3;
  background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,.5) 100%);
  opacity:.5; transition:opacity .4s;
}
.axo-proj_card a:hover .axo-proj_media::before{opacity:.8;}
.axo-proj_card a:hover .axo-proj_media img{transform:scale(1.06);}

.axo-proj_date{
  text-transform:uppercase; transition:.4s; display:inline-block;
  letter-spacing:2px; font-weight:600; font-size:10px; color:#fff;
  position:absolute; right:10px; top:10px; z-index:4;
  background: rgba(255,255,255,0.1); backdrop-filter: blur(10px);
  padding:5px 15px; border-radius:7.5px;
  box-shadow: rgba(50,50,93,.25) 0 50px 100px -20px, rgba(0,0,0,.3) 0 30px 60px -30px;
}

.axo-proj_body{
  padding:20px 15px; width:100%; position:absolute; bottom:0; left:0; z-index:5;
}
.axo-proj_title{font-size:20px; font-weight:700; color:#fff; margin:0 0 10px;}
.axo-proj_cat{
  display:inline-flex; align-items:center; gap:6px; color:#fff;
  font-size:11px; font-weight:500; letter-spacing:.5px; text-transform:uppercase;
  border:1px solid #fff; padding:5px 10px; border-radius:6px;
  background: var(--axoproj_chipbg);
}

/* Hauteur un peu plus compacte sur mobile */
@media (max-width: 991px){ .axo-proj_media{height:280px;} .axo-proj_title{font-size:18px;} }


		/* Responsive */
		@media (max-width: 1199px){
			.axo-proj_hero{height:420px;}
		}
		@media (max-width: 991px){
			.axo-proj_hero{height:360px;}
			.axo-proj_hero_title{font-size:26px;}
			.axo-proj_sizer, .axo-proj_item{ width:50%; }    /* 2 colonnes */
		}
		@media (max-width: 575px){
			.axo-proj_content .axo-proj_descr p{font-size:14px; line-height:1.7;}
			.axo-proj_content .axo-proj_descr ul{padding-left:18px; font-size:14px;}
			.axo-proj_hero{height:280px;}
			.axo-proj_hero_title{font-size:22px;}
			.axo-proj_sizer, .axo-proj_item{ width:100%; }   /* 1 colonne */
		}