/**
 * Single Offre Standard — CPT nos-offres (hors post 60)
 * Template : content-nos-offres-std.php
 *
 * Sections custom : bénéfices, travaux types, compétences, prix.
 * Les styles des blocs réutilisés (ri-hero-banner, ri-titre-texte,
 * ri-nav-ancres, ri-texte-logos, ri-grille-references, ri-formulaire)
 * sont chargés via leurs handles.
 */

/* ========================================
   Section header commune
   ======================================== */

.ri-offre-benefices .section-titre,
.ri-offre-travaux .section-titre,
.ri-offre-competences .section-titre,
.ri-offre-liees .offres-liees-titre {
	margin: 0 0 var(--ri-space-xl);
}

.ri-offre-cas-clients .section-titre,
.ri-offre-benefices .section-titre {
	margin: 0 0 var(--ri-space-xl);
	font: 700 var(--ri-size-title-h2) / 1.4 var(--ri-font-1);
	color: var(--ri-color-teal);
}

/* ========================================
   4. Bénéfices
   ======================================== */

.ri-offre-benefices {
	padding-block: var(--ri-block-padding-xl);
	background-color: var(--ri-color-white);
}

.ri-offre-benefices .benefices-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ri-offre-benefices .benefice-item {
	position: relative;
	padding-top: 26px;
	padding-bottom: 20px;
	border-top: var(--ri-sep-width) solid var(--ri-sep-color);
	font: 700 var(--ri-size-title-h1) / 1.2 var(--ri-font-2);
	color: var(--ri-color-teal);
	overflow-wrap: break-word;
	hyphens: auto;
}

.ri-offre-benefices .benefice-item::before {
	content: "";
	position: absolute;
	top: 4px;
	left: 0;
	right: 0;
	height: var(--ri-sep-width);
	background-color: var(--ri-sep-color);
}

.ri-offre-benefices .benefice-item:last-child {
	border-bottom: var(--ri-sep-width) solid var(--ri-sep-color);
}

.ri-offre-benefices .benefice-item:last-child::after {
	content: "";
	position: absolute;
	bottom: -8px;
	left: 0;
	right: 0;
	height: var(--ri-sep-width);
	background-color: var(--ri-sep-color);
}

@media (max-width: 782px) {

	.ri-offre-benefices .benefice-item:first-child {
		border-top: none;
	}

	.ri-offre-benefices .benefice-item:first-child::before {
		display: none;
	}

	.ri-offre-benefices .section-titre {
		margin: 0;
	}
}

/* ========================================
   5. Travaux types
   ======================================== */

.ri-offre-travaux {
	padding-block: var(--ri-block-padding-xl);
	background-color: var(--ri-color-teal);
}

.ri-offre-travaux .section-titre {
	font: 700 var(--ri-size-title-h2) / 1.4 var(--ri-font-1);
	color: var(--ri-color-grey-mid);
	max-width: 410px;
}

.ri-offre-travaux .travaux-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: var(--ri-space-md);
}

.ri-offre-travaux .travail-item {
	flex: 1 1 0;
	padding: var(--ri-space-md);
	background-color: var(--ri-color-grey-mid);
	min-height: 330px;
}

.ri-offre-travaux .travail-texte {
	margin: 0;
	font: 400 16px/1.5 var(--ri-font-1);
	color: var(--ri-color-teal);
}

.ri-offre-travaux .travail-titre {
	font-weight: 700;
}

.ri-offre-travaux .travail-titre::after {
	content: " ";
}

@media (max-width: 1024px) {

	.ri-offre-travaux .travaux-list {
		flex-wrap: wrap;
	}

	.ri-offre-travaux .travail-item {
		flex: 1 1 calc(50% - var(--ri-space-md));
	}
}

@media (max-width: 782px) {

	.ri-offre-travaux .section-titre {
		margin: 0 0 40px;
	}

	.ri-offre-travaux .travail-item {
		flex: 1 1 100%;
		padding: var(--ri-space-md) var(--ri-space-sm);
		min-height: 200px;
	}
}

/* ========================================
   6. Compétences
   ======================================== */

.ri-offre-competences {
	padding-block: var(--ri-block-padding-xl);
	background-color: var(--ri-color-white);
}

.ri-offre-competences .section-titre {
	font: 700 var(--ri-size-title-h2) / 140% var(--ri-font-1);
	color: var(--ri-color-teal);
	max-width: 410px;
}

.ri-offre-competences .competences-list {
	list-style: none;
	margin: 0 0 var(--ri-space-xl);
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--ri-space-md);
}

.ri-offre-competences .competence-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--ri-space-sm);
	padding: var(--ri-space-md);
	min-height: 250px;
	background-color: var(--ri-color-yellow);
}

.ri-offre-competences .competence-picto {
	display: flex;
	align-items: center;
	width: 75px;
	height: auto;
}

.ri-offre-competences .picto-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ri-offre-competences .competence-body {
	display: flex;
	flex-direction: column;
	gap: var(--ri-space-xs);
}

.ri-offre-competences .competence-label {
	font: 700 16px/1.3 var(--ri-font-1);
	color: var(--ri-color-teal);
}

.ri-offre-competences .competence-texte {
	margin: 0;
	font: 400 14px/1.5 var(--ri-font-1);
	color: var(--ri-color-teal);
}

.ri-offre-competences .competences-image {
	overflow: hidden;
}

.ri-offre-competences .competences-img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

@media (max-width: 1024px) {

	.ri-offre-competences .competences-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 782px) {

	.ri-offre-competences .section-titre {
		margin: 0 0 var(--ri-space-md);
	}

	.ri-offre-competences .competences-list {
		grid-template-columns: 1fr;
	}

	.ri-offre-competences .competence-card {
		min-height: 310px;
		padding: var(--ri-space-sm);
	}
}

/* ========================================
   9. Prix
   ======================================== */

.ri-offre-prix {
	padding-block: var(--ri-block-padding-xl);
	background-color: var(--ri-color-white);
}

.ri-offre-prix .prix-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--ri-space-md);
	padding: var(--ri-space-lg);
	outline: 1px solid var(--ri-color-grey);
}

.ri-offre-prix .prix-titre {
	margin: 0;
	font: 700 var(--ri-size-title-h2) / 140% var(--ri-font-1);
	color: var(--ri-color-teal);
	flex: 0 0 auto;
}

.ri-offre-prix .prix-texte {
	margin: 0;
	flex: 1 1 300px;
	font: 400 var(--ri-size-text-body) / 1.5 var(--ri-font-1);
	color: var(--ri-color-teal);
	text-align: right;
}

@media (max-width: 782px) {

	.ri-offre-prix .prix-inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.ri-offre-prix .prix-texte {
		text-align: left;
		flex: 1;
	}
}

/* ========================================
   8. Cas clients
   ======================================== */

.ri-offre-cas-clients {
	padding-block: var(--ri-block-padding-xl);
	background-color: #eaeded;
}

.ri-offre-cas-clients .cas-clients-list {
	list-style: none;
	margin: 0 0 var(--ri-space-xl);
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

/* Carte horizontale */
.ri-offre-cas-clients .cas-client-card {
	display: grid;
	grid-template-columns: 1fr 1fr 1px 254px;
	gap: var(--ri-gap-md);
	align-items: end;
	padding: 40px;
	background-color: var(--ri-color-white);
	overflow: hidden;
}

/* Variante sombre (index pair = is-dark) */
.ri-offre-cas-clients .cas-client-card.is-dark {
	background-color: #214b4d;
}

/* Image illustration */
.ri-offre-cas-clients .cas-image {
	align-self: stretch;
	overflow: hidden;
}

.ri-offre-cas-clients .cas-image-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Contenu central */
.ri-offre-cas-clients .cas-content {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--ri-space-md);
}

.ri-offre-cas-clients .cas-header {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ri-offre-cas-clients .cas-logo {
	height: 46px;
	display: flex;
	align-items: flex-start;
}

.ri-offre-cas-clients .cas-logo-img {
	max-height: 100%;
	width: auto;
	object-fit: contain;
}

.ri-offre-cas-clients .cas-nom {
	margin: 0;
	font: 700 var(--ri-size-title-h2) / 1.4 var(--ri-font-1);
	color: var(--ri-color-teal);
}

.ri-offre-cas-clients .cas-client-card.is-dark .cas-nom {
	color: var(--ri-color-grey-mid);
}

.ri-offre-cas-clients .cas-resultats {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ri-offre-cas-clients .cas-resultats-label {
	font: 700 var(--ri-size-text-body) / 1.5 var(--ri-font-1);
	color: #173537;
}

.ri-offre-cas-clients .cas-resultats-texte {
	margin: 0;
	font: 400 var(--ri-size-text-body) / 1.5 var(--ri-font-1);
	color: #173537;
}

.ri-offre-cas-clients .cas-client-card.is-dark .cas-resultats-label,
.ri-offre-cas-clients .cas-client-card.is-dark .cas-resultats-texte {
	color: var(--ri-color-grey-mid);
}

/* Séparateur vertical */
.ri-offre-cas-clients .cas-separator {
	align-self: stretch;
	width: 1px;
	background-color: var(--ri-color-grey);
}

/* Colonne métadonnées */
.ri-offre-cas-clients .cas-meta {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: flex-end;
	gap: var(--ri-space-md);
}

.ri-offre-cas-clients .cas-meta-items {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.ri-offre-cas-clients .cas-meta-item {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ri-offre-cas-clients .cas-meta-item:not(:last-child)::after {
	content: "";
	position: absolute;
	bottom: -16px;
	left: 0;
	right: 0;
	height: 1px;
	background-color: var(--ri-color-grey);
}

.ri-offre-cas-clients .cas-meta-label {
	font: 700 var(--ri-size-text-body) / 1.5 var(--ri-font-1);
	color: #173537;
}

.ri-offre-cas-clients .cas-meta-value {
	font: 700 var(--ri-size-title-h2) / 1.2 var(--ri-font-2);
	color: #173537;
}

.ri-offre-cas-clients .cas-client-card.is-dark .cas-meta-label,
.ri-offre-cas-clients .cas-client-card.is-dark .cas-meta-value {
	color: var(--ri-color-grey-mid);
}

.ri-offre-cas-clients .cas-lien-projet {
	display: inline-block;
	padding: 12px 16px;
	background-color: var(--ri-color-yellow);
	font: 700 var(--ri-size-text-body-sm) / 1 var(--ri-font-1);
	color: var(--ri-color-teal);
	text-decoration: none;
	text-align: center;
	transition: opacity var(--ri-transition-base);
}

.ri-offre-cas-clients .cas-lien-projet:hover {
	opacity: 0.85;
}

/* Lien sous les cartes */
.ri-offre-cas-clients .cas-lien-wrapper {
	justify-content: flex-end;
}

@media (max-width: 1024px) {

	.ri-offre-cas-clients .cas-client-card {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto auto;
	}

	.ri-offre-cas-clients .cas-separator {
		display: none;
	}

	.ri-offre-cas-clients .cas-meta {
		grid-column: 1 / -1;
		align-items: flex-start;
	}

	.ri-offre-cas-clients .cas-lien-projet {
		width: 100%;
		display: block;
	}

	.ri-offre-cas-clients .cas-logo {
		height: auto;
	}
}

@media (max-width: 782px) {

	.ri-offre-cas-clients .section-titre {
		margin: 0 0 var(--ri-space-md);
	}

	.ri-offre-cas-clients .cas-client-card {
		grid-template-columns: 1fr;
		padding: var(--ri-space-sm);
	}

	.ri-offre-cas-clients .cas-image {
		aspect-ratio: 16/9;
	}

	.ri-offre-cas-clients .cas-logo-img {
		max-height: 25px;
	}

	.ri-offre-cas-clients .cas-meta {
		grid-column: 1;
		border-top: 1px solid var(--ri-color-grey);
		padding-top: var(--ri-space-md);
		gap: var(--ri-space-lg);
	}

	.ri-offre-cas-clients .cas-meta-items {
		position: relative;
		flex-direction: row;
	}

	.ri-offre-cas-clients .cas-meta-items::after {
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 50%;
		width: 1px;
		background-color: var(--ri-color-grey);
	}

	.ri-offre-cas-clients .cas-meta-item {
		flex: 1;
	}

	.ri-offre-cas-clients .cas-meta-item:not(:last-child)::after {
		display: none;
	}
}

/* ========================================
   10. Offres liées
   ======================================== */

.ri-offre-liees {
	padding-block: var(--ri-block-padding-xl);
	background-color: var(--ri-color-white);
}

.ri-offre-liees .offres-liees-titre {
	margin-bottom: var(--ri-space-xl);
}
