/**
 * Single Offre — CPT nos-offres
 * Template : single-offre.php
 *
 * Styles propres à ce template uniquement.
 * Les styles des blocs réutilisés (ri-titre-texte, ri-video-youtube,
 * ri-formulaire) sont chargés par leurs propres feuilles de style.
 */

/* ========================================
   Hero Banner (override pour single-offre)
   ======================================== */

.ri-single-offre .ri-hero-banner .titre {
	margin: 0;
	font: 700 52px/1.1 var(--ri-font-1);
}

/* ========================================
   Titre & Texte (intro offre)
   ======================================== */

.single-nos-offres .ri-titre-texte .titre {
	max-width: 550px;
}

/* ========================================
   Carrousel images (fond blanc)
   ======================================== */

.ri-offre-image {
	background-color: var(--ri-color-white);
}

.ri-offre-image.first,
.ri-offre-image .ri-carrousel-images {
	padding-block-end: var(--ri-block-padding-xl);
}

.ri-offre-image .ri-carrousel-images.only-one {
	pointer-events: none;
}

.ri-offre-image .ri-carrousel-images.only-one .slider-navigation {
	display: none;
}

.ri-offre-image .ri-carrousel-images.only-one .swiper-outer,
.ri-offre-image .ri-carrousel-images.only-one .swiper,
.ri-offre-image .ri-carrousel-images.only-one .swiper-wrapper {
	display: block;
	overflow: visible;
	transform: none !important;
	width: 100%;
	height: auto;
}

.ri-offre-image .ri-carrousel-images.only-one .swiper-outer::after {
	display: none;
}

.ri-offre-image .ri-carrousel-images.only-one .swiper-slide {
	width: 100%;
	height: auto;
	max-width: 1080px;
	margin-inline: auto !important;
	padding-block: 80px;
	background-color: #f1f5f5;
}

.ri-offre-image .ri-carrousel-images.only-one .slide-img {
	display: block;
	width: auto;
	max-width: 100%;
	min-width: 0;
	height: auto;
	max-height: 500px;
	margin-inline: auto;
	object-fit: contain;
}

.ri-offre-image .media-image {
	width: 100%;
	max-width: 1080px;
	margin-inline: auto;
	padding-block: 80px;
	background-color: #f1f5f5;
}

.ri-offre-image .media-image .img {
	display: block;
	width: auto;
	max-width: 100%;
	min-width: 0;
	height: auto;
	max-height: 500px;
	margin-inline: auto;
	object-fit: contain;
}

/* ========================================
   Navigation ancrée sticky
   ======================================== */

.ri-nav-ancres {
	padding-block-start: 0;
}

.ri-offre-nav {
	position: sticky;
	top: 0;
	z-index: 100;
	background-color: var(--ri-color-white);
	border-bottom: 1px solid var(--ri-color-grey-mid);
	transition: box-shadow var(--ri-transition-base);
}

.ri-offre-nav.is-sticky {
	box-shadow: var(--ri-shadow-md);
}

.ri-offre-nav .nav-inner {
	display: flex;
	align-items: center;
	overflow-x: auto;
	scrollbar-width: none;
	padding-block: 0;
}

.ri-offre-nav .nav-inner::-webkit-scrollbar {
	display: none;
}

.ri-offre-nav .nav-lien {
	display: inline-flex;
	align-items: center;
	padding: 20px 24px;
	font: 500 var(--ri-size-text-body-sm) / 1 var(--ri-font-1);
	color: var(--ri-color-grey);
	text-decoration: none;
	white-space: nowrap;
	border-bottom: 2px solid transparent;
	transition: color var(--ri-transition-base), border-color var(--ri-transition-base);
}

.ri-offre-nav .nav-lien:hover,
.ri-offre-nav .nav-lien.is-active {
	color: var(--ri-color-dark);
	border-bottom-color: var(--ri-color-yellow);
}

/* ========================================
   Contenu Gutenberg
   ======================================== */

.single-nos-offres .ri-offre-content {
	width: 100%;
}

.single-nos-offres .ri-texte-logos {
	padding-block: 0 var(--ri-block-padding-xl);
}

.single-nos-offres .ri-texte-logos .logos-wrapper,
.single-nos-offres .ri-texte-image {
	padding-block-start: 0;
}

.ri-texte-logos .logo-item {
	width: auto;
}

.single-nos-offres #clients.ri-texte-logos .logo-img {
	max-height: 120px;
}

/* ========================================
   Responsive
   ======================================== */

@media (max-width: 1024px) {

	.ri-single-offre .ri-hero-banner .titre {
		font: 700 40px/1.2 var(--ri-font-1);
	}
}

@media (max-width: 782px) {

	.single-nos-offres .ri-video-youtube .player-wrapper::after,
	.ri-nav-ancres {
		display: none;
	}

	.ri-single-offre .ri-hero-banner .titre {
		font: 700 30px/1.2 var(--ri-font-1);
	}

	.ri-offre-nav .nav-lien {
		padding: 16px;
	}

	.single-nos-offres .ri-texte-logos:not(.has-texte) .logos-wrapper,
	.single-nos-offres .ri-texte-logos {
		padding-block-end: var(--ri-block-padding-xl);
	}

}
