/* 
* --------------------------------------------------
* Section - Nos réalisations
* ------------------------------------------------- 
*/
/* Ensemble du bloc */
.gmr-realisation-carousel {
	position: relative;
	width: 100%;
	overflow: visible;
	z-index: 0;
}

.gmr-realisation-carousel .swiper-wrapper {
	align-items: stretch;
}

.gmr-realisation-carousel .swiper-slide {
	height: auto;
}

.gmr-realisation-carousel .realisation-card {
	height: 100%;
}

/* Position flèches */
.gmr-realisation-carousel .gmr-carousel-prev,
.gmr-realisation-carousel .gmr-carousel-next {
	position: absolute;
	top: -85px !important;
	width: 45px;
	height: 45px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--vert-fonce);
	background: transparent;
	border-radius: 50%;
	border: 1px solid color-mix(in srgb, var(--vert-fonce) 35%, white);
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, opacity .2s ease;
}
.gmr-realisation-carousel .gmr-carousel-prev i {
	margin-right: 2px; /* ASTUCE POUR CENTRER VISUELLEMENT */
}
.gmr-realisation-carousel .gmr-carousel-next {
	right: 0 !important;
}
.gmr-realisation-carousel .gmr-carousel-next i {
	margin-left: 2px; /* ASTUCE POUR CENTRER VISUELLEMENT */
}
.gmr-realisation-carousel .gmr-carousel-prev {
	right: 58px !important;
}

/* Icône */
.gmr-realisation-carousel .gmr-carousel-prev i,
.gmr-realisation-carousel .gmr-carousel-next i {
	background-color: transparent !important;
	width: 100% !important;
	height: 100% !important;
	display: flex;
	align-items: center;
	justify-content: center;
	color: inherit;
	transition: color .2s ease;
	font-size: 18px;
	line-height: 1;
}

/* HOVER */
.gmr-realisation-carousel .gmr-carousel-prev:hover,
.gmr-realisation-carousel .gmr-carousel-next:hover {
	background: color-mix(in srgb, var(--vert-fonce) 20%, transparent);
	color: var(--vert-fonce);
	border-color: color-mix(in srgb, var(--vert-fonce) 45%, white);
}

/* FOCUS */
.gmr-realisation-carousel .gmr-carousel-prev:focus,
.gmr-realisation-carousel .gmr-carousel-next:focus,
.gmr-realisation-carousel .gmr-carousel-prev:focus-visible,
.gmr-realisation-carousel .gmr-carousel-next:focus-visible {
	outline: none;
	background: color-mix(in srgb, var(--vert-fonce) 20%, transparent);
	border-color: color-mix(in srgb, var(--vert-fonce) 45%, white);
	box-shadow: none;
}

/* ACTIVE */
.gmr-realisation-carousel .gmr-carousel-prev:active,
.gmr-realisation-carousel .gmr-carousel-next:active {
	background: color-mix(in srgb, var(--vert-fonce) 20%, transparent);
	border-color: var(--vert-fonce);
	color: var(--vert-fonce);
}

/* DISABLED */
.gmr-realisation-carousel .gmr-carousel-prev.disabled,
.gmr-realisation-carousel .gmr-carousel-next.disabled,
.gmr-realisation-carousel .gmr-carousel-prev.swiper-button-disabled,
.gmr-realisation-carousel .gmr-carousel-next.swiper-button-disabled,
.gmr-realisation-carousel .gmr-carousel-prev[disabled],
.gmr-realisation-carousel .gmr-carousel-next[disabled],
.gmr-realisation-carousel .gmr-carousel-prev.disabled:hover,
.gmr-realisation-carousel .gmr-carousel-next.disabled:hover,
.gmr-realisation-carousel .gmr-carousel-prev.swiper-button-disabled:hover,
.gmr-realisation-carousel .gmr-carousel-next.swiper-button-disabled:hover,
.gmr-realisation-carousel .gmr-carousel-prev[disabled]:hover,
.gmr-realisation-carousel .gmr-carousel-next[disabled]:hover {
	cursor: not-allowed;
	background: transparent;
	color: var(--vert-fonce);
	border-color: var(--vert-fonce);
	box-shadow: none;
	opacity: .3;
}

/* VARIANTE ORANGE */
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-prev,
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-next {
	color: var(--accent-orange);
	border-color: color-mix(in srgb, var(--accent-orange) 35%, white);
}

/* HOVER */
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-prev:hover,
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-next:hover {
	background: color-mix(in srgb, var(--accent-orange) 18%, white);
	color: var(--accent-orange);
	border-color: color-mix(in srgb, var(--accent-orange) 45%, white);
}

/* FOCUS */
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-prev:focus,
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-next:focus,
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-prev:focus-visible,
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-next:focus-visible {
	outline: none;
	background: color-mix(in srgb, var(--accent-orange) 14%, white);
	border-color: color-mix(in srgb, var(--accent-orange) 45%, white);
	box-shadow: none;
}

/* ACTIVE */
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-prev:active,
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-next:active {
	background: color-mix(in srgb, var(--accent-orange) 26%, white);
	border-color: var(--accent-orange);
	color: var(--accent-orange);
}

/* DISABLED */
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-prev.disabled,
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-next.disabled,
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-prev.swiper-button-disabled,
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-next.swiper-button-disabled,
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-prev[disabled],
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-next[disabled],
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-prev.disabled:hover,
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-next.disabled:hover,
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-prev.swiper-button-disabled:hover,
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-next.swiper-button-disabled:hover,
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-prev[disabled]:hover,
.gmr-realisation-carousel.gmr-realisation-carousel--orange .gmr-carousel-next[disabled]:hover {
	background: transparent;
	color: #B2BDB9;
	border-color: #B2BDB9;
	opacity: 1;
}

/* Responsive */
@media all and (max-width: 991px) {
	/* Position flèches */
	.gmr-realisation-carousel .gmr-carousel-prev,
	.gmr-realisation-carousel .gmr-carousel-next {
		top: -66px !important;
		width: 40px;
		height: 40px;
	}

	.gmr-realisation-carousel .gmr-carousel-next {
		right: 0 !important;
	}

	.gmr-realisation-carousel .gmr-carousel-prev {
		right: 48px !important;
	}
}


/* 
* --------------------------------------------------
* Real indiv
* ------------------------------------------------- 
*/

.realisation-card .realisation-card__header {
	position: relative;
}

.realisation-card .realisation-card__header .realisation-card__img {
	position: relative;
	overflow: hidden;
}

.realisation-card .realisation-card__header::after {
	content: "";
	position: absolute;
	left: -15px;
	top: calc(50% - 60px);
	width: 30px;
	height: 30px;
	background-color: var(--turquoise-vif);

	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='31.147' height='31.134' viewBox='0 0 31.147 31.134'%3E%3Cpath d='M134.674,124.025,122.323,111.64,141.1,92.891l12.37,12.389Z' transform='translate(-122.323 -92.891)'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='31.147' height='31.134' viewBox='0 0 31.147 31.134'%3E%3Cpath d='M134.674,124.025,122.323,111.64,141.1,92.891l12.37,12.389Z' transform='translate(-122.323 -92.891)'/%3E%3C/svg%3E") no-repeat center / contain;
}

.realisation-card .realisation-card__header .realisation-card__img a {
	display: block;
}

.realisation-card .realisation-card__header .realisation-card__img a img {
	transition: transform 1.2s cubic-bezier(.77, 0, .175, 1);
	transform: scale(1.1);
	aspect-ratio: 96 / 65;
	object-fit: cover;
}

.realisation-card .realisation-card__header .realisation-card__img a:hover img {
	transform: scale(1);
}

.realisation-card .realisation-card__header .realisation-card__img .realisation-card__tags-group {
	display: flex;
	gap: 12px;
	padding: 0;
	flex-wrap: wrap;
	position: absolute;
	bottom: 16px;
	left: 16px;
}

.realisation-card .realisation-card__header .realisation-card__img .realisation-card__tags-group span,
.realisation-card .realisation-card__header .realisation-card__img .realisation-card__tags-group a {
	background-color: var(--vert-fonce);
	padding: 6px 16px;
	text-transform: uppercase;
	font-weight: var(--bold);
	font-size: 12px;
	line-height: 1;
	letter-spacing: 1px;
	color: var(--blanc);
	position: relative;
	transition: all .3s ease;
	cursor: initial;
}

.realisation-card .realisation-card__header .realisation-card__img .realisation-card__tags-group a:hover {
	background-color: var(--vert-fonce);
}

.realisation-card .realisation-card__header .realisation-card__img-caption {
	background-color: var(--blanc);
	padding: 16px;
	text-align: left;
}

.realisation-card .realisation-card__header .realisation-card__img-caption i {
	display: inline-block;
}

.realisation-card .realisation-card__header .realisation-card__img-caption i svg {
	font-size: 24px;
	margin-right: 12px;
}

.realisation-card .realisation-card__header .realisation-card__img-caption i svg path {
	fill: var(--accent-orange);
}

.realisation-card .realisation-card__body {
	padding: 24px 0 6px 0;
}

.realisation-card .realisation-card__body .realisation-card__title,
.realisation-card .realisation-card__body .realisation-card__leng {
	margin-bottom: 12px;
}

.realisation-card .realisation-card__body .realisation-card__desc {
	margin-bottom: 0;
}

.realisation-card .realisation-card__body .realisation-card__title a {
	transition: all .3s ease;
}

@media all and (max-width: 991px) {
	.realisation-card .realisation-card__body {
		padding: 24px 0 0 0;
	}
}