.texte-media {
    position: relative;
    overflow-x: clip;
}

.texte-media:where(.dark, .dark-gradient) * {
    color: var(--second-color);
}

/* Détails graphique */

.texte-media:where(.dark, .dark-gradient).detail-diagonale:before,
.texte-media:where(.dark, .dark-gradient).detail-top-diagonale:before,
.texte-media:where(.dark, .dark-gradient).detail-carre .texte-media__container:before {
    filter: invert(1) brightness(3);
}

.texte-media.detail-diagonale:before {
    position: absolute;
    content: '';
    background: url(/wp-content/themes/webline/assets/diagonale.svg) top right / cover no-repeat;
}

.texte-media.detail-top-diagonale:before {
    position: absolute;
    content: '';
    background: url(/wp-content/themes/webline/assets/diagonale.svg) center right / 100% 100% no-repeat;
}

.texte-media.text-left.detail-diagonale:before {
    transform: scaleX(-1);
}

/* Container */

.texte-media__container {
    position: relative;
}

.texte-media.detail-carre .texte-media__container:before {
    position: absolute;
    content: '';
    aspect-ratio: 1;
    background-color: var(--first-color);
}

.texte-media.full-width .texte-media__container>* {
    width: 100%;
}

/* Text */

.texte-media.full-width .texte-media__text {
    max-width: calc(1250px / 2 + var(--gap-xxl) * 2 - var(--gap-l));
}

.texte-media__ctas {
    margin-top: var(--gap-l);
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap-s) var(--gap-m);
}

/* Slider */
.texte-media.full-width .texte-media__slider {
    max-height: 90vh;
    margin: 0;
}

.texte-media.centered-full .swiper-wrapper {
    aspect-ratio: 1;
}

.texte-media__slider img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    display: flex;
}

.texte-media .texte-media__container .swiper-pagination {
    top: calc(100% + 20px);
    left: 30px;
    width: max-content;
    max-width: 100%;
    display: flex;
	align-items: center;
    gap: var(--gap-s);
}

.texte-media.text-left .texte-media__container .swiper-pagination {
    right: 30px;
    left: initial;
}

.texte-media .swiper-pagination span {
    position: relative;
    opacity: 1;
    background-color: var(--second-color);
}

.texte-media.light .swiper-pagination span {
	background-color: var(--first-color);
}

.texte-media .swiper-pagination .swiper-pagination-bullet {
    height: 10px;
    width: 10px;
}

.texte-media .swiper-pagination .swiper-pagination-bullet:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center;
    transition: height .2s, width .2s;
    content: '';
    height: 100%;
    width: 100%;
    border-radius: 100px;
    border: 1px solid var(--second-color);
}

.texte-media.light .swiper-pagination .swiper-pagination-bullet:before {
	border-color: var(--first-color);
}

.texte-media .swiper-pagination .swiper-pagination-bullet:hover:before {
    height: calc(100% + 8px);
    width: calc(100% + 8px);
}

.texte-media .swiper-pagination .swiper-pagination-bullet-active:before {
    height: calc(100% + 18px);
    width: calc(100% + 18px);
}

/* Pastille */

.texte-media__rotating-text {
    position: absolute;
    top: 0;
    z-index: 1;
    height: 200px;
    width: 200px;
    border-radius: 200px;
    background-color: var(--second-color);
}

.text-left .texte-media__rotating-text {
    transform: translate(calc(120% + var(--gap-xxl)), -40%);
    right: 50%;
}

.text-right .texte-media__rotating-text {
    transform: translate(calc(-120% - var(--gap-xxl)), -40%);
    left: 50%;
}

.texte-media__rotating-text .rotating_text {
    transform-origin: center;
    animation: rotation 30s linear infinite;
}

.texte-media__rotating-text textPath {
    font-family: var(--font-medium);
    font-size: 9.4px;
    letter-spacing: 4px;
    text-transform: uppercase;
	fill: var(--first-color);
}

.texte-media__rotating-text .center_image {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@keyframes rotation {
    0% {
        transform: rotate(360deg);
    }

    100% {
        transform: rotate(0deg);
    }
}

@media (min-width: 768px) {
    .texte-media.centered-full {
        padding-top: 100px;
        padding-bottom: 100px;
    }
    
    .texte-media.detail-top-diagonale {
        padding-top: 140px;
        padding-bottom: 140px;
    }
    
    .texte-media.full-width.detail-pastille {
        margin: 140px 0;
    }
	
	.texte-media.detail-diagonale:before {
		bottom: 0;
		height: 75%;
		width: 50vw;
	}
	
	.texte-media.text-left.detail-top-diagonale:before,
	.texte-media.text-left.detail-diagonale:before {
		left: 51%;
	}

	.texte-media.text-right.detail-diagonale:before,
	.texte-media.text-right.detail-top-diagonale:before {
		right: 51%;
	}
	
	.texte-media.detail-top-diagonale:before {
		top: 50%;
		transform: translateY(-47%);
		height: 100%;
		width: 50vw;
	}
	
	.texte-media.text-left.detail-top-diagonale:before {
		transform: scaleX(-1) translateY(-47%);
	}
    
    .texte-media__container {
        display: flex;
    }

    .texte-media.centered-full .texte-media__container {
        align-items: center;
        gap: var(--gap-xxl);
    }

    .texte-media.full-width .texte-media__container {
        align-items: stretch;
        justify-content: flex-end;
        gap: var(--gap-l);
    }

    .texte-media.text-right .texte-media__container {
        flex-direction: row-reverse;
    }

    .texte-media.detail-carre .texte-media__container:before {
        top: calc(50% - 15px);
        width: 25%;
    }

    .texte-media.text-left.detail-carre .texte-media__container:before {
        left: calc(50% + 15px);
    }

    .texte-media.text-right.detail-carre .texte-media__container:before {
        right: calc(50% + 15px);
    }

    .texte-media.centered-full .texte-media__container>* {
        flex: 1;
    }

	.texte-media.full-width .texte-media__text {
		padding: 90px var(--gap-xxl);
	}
	
	.texte-media.full-width .texte-media__slider {
		max-width: calc(50vw - var(--gap-xxl));
	}
	
    .texte-media .texte-media__container .swiper-pagination {
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .texte-media.centered-full {
        padding-top: 50px;
        padding-bottom: 90px;
    }
	
    
    .texte-media.detail-top-diagonale {
        padding-top: 70px;
        padding-bottom: 70px;
    }
    
    .texte-media.full-width.detail-pastille {
        margin: 70px 0;
    }

    .texte-media__container {
        flex-direction: column;
    }

    .texte-media.detail-carre .texte-media__container:before {
        bottom: -15px;
        right: 15px;
        width: 60%;
    }
	
	.texte-media.detail-diagonale:before,
	.texte-media.detail-top-diagonale:before {
		right: 15px;
		bottom: calc(30px + var(--gap-l) / 2);
		width: 100vw;
		aspect-ratio: 1;
	}

	.texte-media.text-left.detail-diagonale:before,
	.texte-media.text-left.detail-top-diagonale:before {
		left: 15px;
	}
	
	.texte-media.text-left.detail-top-diagonale:before {
		transform: scaleX(-1);
	}
	
	.texte-media.full-width.detail-pastille .texte-media__text {
		padding-top: 90px;
	}
	
	.texte-media.full-width .texte-media__text {
		padding: 70px 30px;
	}
	
    .texte-media__slider {
        margin-top: var(--gap-l);
    }

    .texte-media .texte-media__container .swiper-pagination {
        justify-content: flex-start;
		top: calc(100% + 35px);
    }
	
	.texte-media.full-width .texte-media__container .swiper-pagination {
		top: calc(100% - 35px);
	}
	
	.texte-media.text-left .texte-media__container .swiper-pagination {
		right: initial
	}
	
	.texte-media.full-width .swiper-pagination .swiper-pagination-bullet {
		background-color: var(--second-color);
	}
	
	.texte-media.full-width .texte-media__container .swiper-pagination .swiper-pagination-bullet:before {
		border-color: var(--second-color);
	}
	
	.texte-media__rotating-text,
	.texte-media__rotating-text svg {
		height: 140px;
		width: 140px;
	}
	
	.texte-media__rotating-text textPath {
		font-size: 24.7px;
	}
	
	.texte-media__rotating-text textPath:last-child {
		display: none;
	}
	
	.texte-media__rotating-text .center_image {
		max-width: 40%;
	}
}