/**
 * Section « FAQ » de l'accueil — bloc « FAQ » du template Captured.
 * Cotes relevées sur la démo à 1440 px : fond #f1f1f1, marges 36 / 36 / 160, colonne
 * gauche de 444 px (photographe, « Vous n'avez pas trouvé ? », lien), colonne droite de
 * 889 px (titre 82 px, questions 22 px, pastille ronde blanche de 46 px).
 * Accordéon en <details> / <summary> natifs : accessible sans JavaScript ; l'ouverture
 * est animée là où le navigateur le permet (interpolate-size, ::details-content).
 */

.aml-faq {
	position: relative;
	background: var(--aml-mist);
	color: var(--aml-ink);
	padding: 36px clamp(16px, 2.5vw, 36px) clamp(96px, 11.1vw, 160px);
	interpolate-size: allow-keywords;
}

.aml-faq__inner {
	width: 100%; /* la section Bricks centre ses enfants (flex) */
	max-width: 1920px;
	margin: 0 auto;
}

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

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

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

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

.aml-faq__face,
.aml-faq__face img {
	display: block;
	width: 70px;
	height: 70px;
	border-radius: 10px;
	object-fit: cover;
	object-position: center 18%;
}

.aml-faq__who p {
	margin: 0;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: -0.05em;
	line-height: 28px;
}

.aml-faq__who p + p {
	font-size: 16px;
	line-height: 22px;
	color: rgba(17, 17, 18, 0.6);
}

.aml-faq__help {
	max-width: 311px;
	margin-top: 40px;
}

.aml-faq__help-title {
	margin: 0 0 12px;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: -0.04em;
	line-height: 28px;
}

.aml-faq__help-text {
	margin: 0;
	font-size: 20px;
	font-weight: 500;
	letter-spacing: -0.05em;
	line-height: 28px;
	color: rgba(17, 17, 18, 0.6);
}

.aml-faq__side .aml-about__more { margin-top: 0; }

/* --- Colonne droite : questions ------------------------------------------------------- */

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

.aml-faq__item {
	border-top: 1px solid rgba(17, 17, 18, 0.1);
}

.aml-faq__item:last-child {
	border-bottom: 1px solid rgba(17, 17, 18, 0.1);
}

.aml-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 30px 0 20px;
	cursor: pointer;
	list-style: none;
	font-size: clamp(18px, 1.55vw, 22px);
	font-weight: 600;
	letter-spacing: -0.05em;
	line-height: 28px;
}

.aml-faq__q::-webkit-details-marker { display: none; }

/* Pastille : croix « + » qui pivote en « × » à l'ouverture */
.aml-faq__q::after {
	content: '';
	flex: none;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background:
		linear-gradient(var(--aml-ink), var(--aml-ink)) center / 14px 2px no-repeat,
		linear-gradient(var(--aml-ink), var(--aml-ink)) center / 2px 14px no-repeat,
		var(--aml-white);
	transition: transform 0.45s cubic-bezier(0.34, 1.4, 0.64, 1);
}

.aml-faq__item[open] .aml-faq__q::after {
	transform: rotate(45deg);
}

.aml-faq__q:focus-visible {
	outline: 2px solid var(--aml-ink);
	outline-offset: 4px;
	border-radius: 4px;
}

.aml-faq__a {
	max-width: 780px;
	/* Pas de marge négative : le contenu de <details> est rogné (overflow) pendant la
	   transition d'ouverture, ce qui coupait la première ligne de la réponse. */
	margin: 0;
	padding: 0 0 30px;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -0.05em;
	line-height: 22px;
	color: rgba(17, 17, 18, 0.6);
}

/* --- Accordéons : comportement commun aux trois (FAQ, FAQ Honeymoon, palmarès) --------
 * Quand bp-accordeon.js est là (html.aml-acc-js), c'est lui qui anime la hauteur d'un
 * conteneur .aml-acc__corps : l'animation native est alors neutralisée pour ne pas se
 * superposer à la sienne. Sans JavaScript, la règle CSS plus bas prend le relais.
 */

.aml-acc__corps { overflow: hidden; }

html.aml-acc-js .aml-faq__item::details-content,
html.aml-acc-js .aml-hm__faq details::details-content,
html.aml-acc-js .aml-palmares::details-content {
	block-size: auto;
	opacity: 1;
	overflow: visible;
	transition: none;
}

/* Au toucher, le surlignage et le double-tap provoquaient un scintillement */
.aml-faq__q,
.aml-hm__faq summary,
.aml-palmares__bouton {
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	user-select: none;
}

/* Ouverture animée (navigateurs récents) */
.aml-faq__item::details-content {
	block-size: 0;
	opacity: 0;
	overflow: hidden;
	transition:
		block-size 0.45s cubic-bezier(0.68, 0, 0.05, 0.99),
		opacity 0.4s ease 0.06s,
		content-visibility 0.45s allow-discrete;
}

.aml-faq__item[open]::details-content {
	block-size: auto;
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.aml-faq__item::details-content { transition: none; }
}

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

@media (max-width: 1199px) {
	.aml-faq__body { grid-template-columns: 1fr; gap: 56px; }
	.aml-faq__side { order: 2; }
}
