/**
 * Section « Témoignages » de l'accueil — bloc « Testimonials » du template Captured,
 * alimenté par les avis Google ([aml_temoignages], inc/google-reviews.php).
 * Cotes relevées sur la démo à 1440 px : fond blanc, marges 36 / 36 / 160, colonne
 * gauche de 444 px (introduction, flèches rondes de 60 px en bas), colonne droite de
 * 889 px (guillemet 69 × 57, avis : 82 px puis 26 px à 60 %, auteur en bas).
 */

.aml-testi {
	position: relative;
	background: var(--aml-white);
	color: var(--aml-ink);
	padding: 36px clamp(16px, 2.5vw, 36px) clamp(96px, 11.1vw, 160px);
}

.aml-testi__inner {
	max-width: 1920px;
	margin: 0 auto;
}

.aml-testi__body {
	display: grid;
	grid-template-columns: 444fr 889fr;
	gap: 20px;
	margin-top: clamp(64px, 9vw, 130px);
}

/* --- Colonne gauche ------------------------------------------------------------------- */

.aml-testi__left {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 40px;
}

.aml-testi__intro {
	max-width: 355px;
	margin: 0;
	font-size: clamp(20px, 1.8vw, 26px);
	font-weight: 500;
	letter-spacing: -0.05em;
	line-height: 1.2;
	color: rgba(17, 17, 18, 0.6);
}

.aml-testi__arrows {
	display: flex;
	gap: 12px;
}

.aml-testi__arrow {
	position: relative;
	width: 60px;
	height: 60px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f6f6f6;
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.aml-testi__arrow::before {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 13px;
	height: 13px;
	margin: -6.5px 0 0 -6.5px;
	background: var(--aml-i-arrow-dark) no-repeat center / contain;
	transition: transform 0.45s cubic-bezier(0.34, 1.4, 0.64, 1);
}

/* La flèche du template pointe en haut à droite : on la tourne vers la gauche / la droite */
.aml-testi__arrow--prev::before { transform: rotate(-135deg); }
.aml-testi__arrow--next::before { transform: rotate(45deg); }
.aml-testi__arrow--prev:hover::before { transform: translateX(-3px) rotate(-135deg); }
.aml-testi__arrow--next:hover::before { transform: translateX(3px) rotate(45deg); }

.aml-testi__arrow:hover,
.aml-testi__arrow:focus-visible {
	background: #ececec;
}

.aml-testi__arrow:focus-visible {
	outline: 2px solid var(--aml-ink);
	outline-offset: 2px;
}

/* --- Colonne droite : avis ---------------------------------------------------------- */

.aml-testi__right {
	display: grid;
	grid-template-columns: 69px 1fr;
	column-gap: 46px;
	align-items: start;
}

.aml-testi__icon {
	width: 69px;
	height: 57px;
	background: var(--aml-i-quote) no-repeat left top / contain;
}

/* Avis superposés : le bloc prend la hauteur du plus long, fondu enchaîné */
.aml-testi__track {
	display: grid;
}

.aml-testi__item {
	grid-area: 1 / 1;
	display: flex;
	flex-direction: column;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity 0.5s ease, transform 0.7s cubic-bezier(0.68, 0, 0.05, 0.99), visibility 0s 0.7s;
}

.aml-testi__item.is-active {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity 0.6s ease 0.2s, transform 0.8s cubic-bezier(0.68, 0, 0.05, 0.99) 0.2s, visibility 0s;
}

.aml-testi__quote {
	margin: 0;
	padding: 0; /* retrait et filet par défaut des <blockquote> */
	border: 0;
}

.aml-testi__headline {
	margin: 0;
	font-size: clamp(36px, 5.7vw, 82px);
	font-weight: 500;
	letter-spacing: -0.07em;
	line-height: 0.96;
}

.aml-testi__rest {
	max-width: 624px;
	margin: 50px 0 0;
	font-size: clamp(18px, 1.8vw, 26px);
	font-weight: 500;
	letter-spacing: -0.05em;
	line-height: 1.2;
	opacity: 0.6;
}

.aml-testi__person {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 50px;
}

.aml-testi__avatar {
	flex: none;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	object-fit: cover;
}

.aml-testi__rating {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: -0.04em;
	line-height: 18px;
}

.aml-testi__name {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: -0.04em;
	line-height: 18px;
	color: rgba(17, 17, 18, 0.4);
}

.aml-testi__name a {
	color: inherit;
}

@media (prefers-reduced-motion: reduce) {
	.aml-testi__item,
	.aml-testi__item.is-active { transition: none; }
}

/* --- Tablette et mobile -------------------------------------------------------------- */

@media (max-width: 1199px) {
	.aml-testi__body { grid-template-columns: 1fr; gap: 48px; }
	.aml-testi__left { flex-direction: row; align-items: flex-end; }
}

@media (max-width: 809px) {
	.aml-testi__left { flex-direction: column; align-items: flex-start; }
	.aml-testi__right { grid-template-columns: 1fr; row-gap: 24px; }
	.aml-testi__icon { width: 46px; height: 38px; }
	.aml-testi__rest { margin-top: 24px; }
	.aml-testi__person { margin-top: 32px; }
}
