/* Section « Avis » sans photos — maquette 1b (citation éditoriale centrée) */

.cocon-avis {
	--ca-bg: #FEF8EB;
	--ca-ink: #2A2A2A;
	--ca-muted: #75706A;
	--ca-gold: #C9961A;
	--ca-gold-soft: #E3CB86;
	--ca-terra: #C2603C;
	--ca-terra-ink: #B4552F;
	--ca-serif: Gelasio, Georgia, serif;
	--ca-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;

	box-sizing: border-box;
	background: transparent; /* reprend le fond de la page */
	padding: 64px 96px 80px;
	color: var(--ca-ink);
}
.cocon-avis--sans-entete { padding-top: 16px; }
.cocon-avis *,
.cocon-avis *::before,
.cocon-avis *::after { box-sizing: inherit; }

/* En-tête */
.cocon-avis__head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	text-align: center;
	margin: 0 0 64px;
}
.cocon-avis__eyebrow {
	margin: 0;
	font: 400 15px/1 var(--ca-serif);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ca-ink);
}
.cocon-avis__title {
	margin: 0;
	font: 400 48px/1.15 var(--ca-serif);
	color: var(--ca-ink);
}
.cocon-avis__rule {
	display: block;
	width: 56px;
	height: 3px;
	margin-top: 10px;
	background: var(--ca-gold);
	border-radius: 2px;
}

/* Scène : flèche | citation | flèche */
.cocon-avis__stage {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) 52px;
	align-items: center;
	gap: 48px;
	max-width: 998px;
	margin: 0 auto;
}
.cocon-avis__stage.is-single { grid-template-columns: minmax(0, 1fr); }

.cocon-avis__arrow {
	width: 52px;
	height: 52px;
	padding: 0 0 3px;
	display: grid;
	place-items: center;
	border: 1px solid var(--ca-terra);
	border-radius: 50%;
	background: transparent;
	color: var(--ca-terra-ink);
	font: 400 24px/1 var(--ca-serif);
	cursor: pointer;
	transition: background .2s, color .2s;
}
.cocon-avis__arrow:hover,
.cocon-avis__arrow:focus-visible {
	background: var(--ca-terra);
	color: #fff;
}
.cocon-avis__arrow:focus-visible,
.cocon-avis__pip:focus-visible {
	outline: 2px solid var(--ca-terra);
	outline-offset: 3px;
}

.cocon-avis__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 26px;
	text-align: center;
}
.cocon-avis__quote {
	box-sizing: content-box;
	display: block;
	height: 48px;
	padding-top: 28px;
	font: 400 112px/0.5 var(--ca-serif);
	color: var(--ca-gold);
}

/* Avis : tous empilés dans la même cellule pour garder une hauteur stable */
.cocon-avis__slides {
	display: grid;
	width: 100%;
}
.cocon-avis__slide {
	grid-area: 1 / 1;
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 26px;
}
.cocon-avis.is-ready .cocon-avis__slide {
	visibility: hidden;
	opacity: 0;
	transform: translateY(6px);
	transition: opacity .45s ease, transform .45s ease, visibility 0s linear .45s;
}
.cocon-avis.is-ready .cocon-avis__slide.is-active {
	visibility: visible;
	opacity: 1;
	transform: none;
	transition: opacity .45s ease, transform .45s ease, visibility 0s;
}

.cocon-avis__stars {
	font-size: 28px;
	line-height: 1;
	letter-spacing: 6px;
	color: var(--ca-gold);
}
.cocon-avis__stars-off { color: var(--ca-gold-soft); }

.cocon-avis__text {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	max-width: 760px;
	min-height: 168px;
	quotes: none;
}
.cocon-avis__text::before,
.cocon-avis__text::after { content: none; }
.cocon-avis__text p {
	margin: 0;
	font: italic 400 29px/1.5 var(--ca-serif);
	color: var(--ca-ink);
	text-wrap: pretty;
}

.cocon-avis__byline {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 16px;
}
.cocon-avis__line {
	width: 36px;
	height: 1px;
	background: var(--ca-gold);
}
.cocon-avis__name {
	font: 700 19px/1 var(--ca-serif);
	font-style: normal;
	color: var(--ca-ink);
}
.cocon-avis__dot {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--ca-gold);
}
.cocon-avis__meta {
	font: 400 15px/1 var(--ca-sans);
	color: var(--ca-muted);
}

/* Points de pagination */
.cocon-avis__dots {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 12px;
}
.cocon-avis__pip {
	width: 8px;
	height: 8px;
	padding: 0;
	border: none;
	border-radius: 4px;
	background: var(--ca-gold-soft);
	cursor: pointer;
	transition: width .3s, background .3s;
}
.cocon-avis__pip.is-active {
	width: 28px;
	background: var(--ca-terra);
}

/* Tablette */
@media (max-width: 1024px) {
	.cocon-avis { padding: 56px 40px 64px; }
	.cocon-avis__title { font-size: 40px; }
	.cocon-avis__stage { gap: 28px; }
	.cocon-avis__text p { font-size: 25px; }
}

/* Mobile : les flèches passent sous la citation */
@media (max-width: 720px) {
	.cocon-avis { padding: 48px 16px 56px; }
	.cocon-avis--sans-entete { padding-top: 8px; }
	.cocon-avis__stars { font-size: 24px; letter-spacing: 4px; }
	.cocon-avis__head { margin-bottom: 40px; }
	.cocon-avis__title { font-size: 32px; }
	.cocon-avis__stage {
		grid-template-columns: 1fr 1fr;
		gap: 28px 16px;
	}
	.cocon-avis__body { grid-column: 1 / -1; grid-row: 1; gap: 20px; }
	.cocon-avis__slide { gap: 20px; }
	.cocon-avis__arrow { grid-row: 2; width: 44px; height: 44px; font-size: 22px; }
	.cocon-avis__arrow--prev { justify-self: end; }
	.cocon-avis__arrow--next { justify-self: start; }
	.cocon-avis__quote { font-size: 88px; height: 36px; padding-top: 22px; }
	.cocon-avis__text { min-height: 0; }
	.cocon-avis__text p { font-size: 21px; }
	.cocon-avis__byline { flex-direction: column; gap: 10px; }
	.cocon-avis__byline .cocon-avis__line,
	.cocon-avis__byline .cocon-avis__dot { display: none; }
	.cocon-avis__byline::before {
		content: "";
		width: 36px;
		height: 1px;
		margin-bottom: 4px;
		background: var(--ca-gold);
	}
	.cocon-avis__meta { font-size: 14px; }
	.cocon-avis__dots { margin-top: 4px; }
}

@media (prefers-reduced-motion: reduce) {
	.cocon-avis .cocon-avis__slide,
	.cocon-avis .cocon-avis__pip { transition: none !important; transform: none !important; }
}
