/**
 * Arsenal Discographie : styles front.
 * Couleurs et typos lues dans le theme.json (slugs TT5) avec valeurs de repli :
 * le plugin s'adapte au thème de chaque site. Surcharger les --adi-* dans le thème si besoin.
 */

:root {
	--adi-accent: var(--wp--preset--color--accent-1, #8a5a2e);
	--adi-texte: var(--wp--preset--color--contrast, #222);
	--adi-fond: var(--wp--preset--color--base, #fff);
	--adi-doux: color-mix(in srgb, var(--adi-texte) 60%, transparent);
	--adi-trait: color-mix(in srgb, var(--adi-texte) 15%, transparent);
	--adi-carte: color-mix(in srgb, var(--adi-texte) 4%, var(--adi-fond));
	--adi-police-titres: var(--wp--preset--font-family--heading, inherit);
	--adi-police-ui: inherit;
}

/* ── Grille des pochettes ───────────────────────────────── */

.adi-grille {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(var(--adi-colonnes, 4), minmax(0, 1fr));
	gap: 2.5rem 1.75rem;
}

.adi-grille__lien {
	display: flex;
	flex-direction: column;
	gap: .35rem;
	color: inherit;
	text-decoration: none;
}

.adi-grille__pochette {
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	background: var(--adi-carte);
	margin-bottom: .6rem;
}

.adi-grille__pochette img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .5s ease;
}

.adi-grille__lien:hover .adi-grille__pochette img,
.adi-grille__lien:focus-visible .adi-grille__pochette img { transform: scale(1.04); }

.adi-grille__titre {
	font-family: var(--adi-police-titres);
	font-size: var(--wp--preset--font-size--medium, 1.1rem);
	font-weight: 500;
	line-height: 1.25;
}

.adi-grille__sous-titre {
	font-size: var(--wp--preset--font-size--small, .9rem);
	color: var(--adi-doux);
	line-height: 1.35;
}

@media (max-width: 1000px) { .adi-grille { grid-template-columns: repeat(min(var(--adi-colonnes, 4), 3), minmax(0, 1fr)); } }
@media (max-width: 640px)  { .adi-grille { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 1rem; } }

/* ── Fiche ──────────────────────────────────────────────── */

.adi-fiche > * + * { margin-top: var(--wp--preset--spacing--60, 3.5rem); }

.adi-fiche__retour { margin: 0; font-size: var(--wp--preset--font-size--small, .9rem); }
.adi-fiche__retour a { text-decoration: none; }
.adi-fiche__retour + * { margin-top: var(--wp--preset--spacing--40, 2rem); }

.adi-fiche__haut {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	gap: var(--wp--preset--spacing--60, 3.5rem);
	align-items: start;
}

.adi-fiche__pochette { margin: 0; }
.adi-fiche__pochette img { width: 100%; height: auto; display: block; box-shadow: 0 18px 40px -22px rgba(0, 0, 0, .45); }

.adi-fiche__titre { margin: 0; line-height: 1.1; }

.adi-fiche__sous-titre {
	margin: .4rem 0 0;
	font-family: var(--adi-police-titres);
	font-size: var(--wp--preset--font-size--x-large, 1.6rem);
	font-style: italic;
	line-height: 1.25;
}

.adi-fiche__annee {
	margin: .9rem 0 0;
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--adi-accent);
}

.adi-fiche__distinctions {
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}

.adi-fiche__distinctions img { width: 64px; height: 64px; object-fit: contain; display: block; }

.adi-fiche__presentation { margin-top: 1.5rem; font-size: var(--wp--preset--font-size--large, 1.2rem); line-height: 1.55; }
.adi-fiche__presentation > :first-child { margin-top: 0; }

.adi-fiche__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: 2rem 0 0; }

.adi-bouton {
	display: inline-block;
	padding: .75rem 1.4rem;
	border: 1px solid var(--adi-texte);
	background: var(--adi-texte);
	color: var(--adi-fond);
	font-size: .9rem;
	line-height: 1.2;
	text-decoration: none;
	transition: background .2s, color .2s;
}

.adi-bouton:hover, .adi-bouton:focus-visible { background: transparent; color: var(--adi-texte); }
.adi-bouton--secondaire { background: transparent; color: var(--adi-texte); }
.adi-bouton--secondaire:hover, .adi-bouton--secondaire:focus-visible { background: var(--adi-texte); color: var(--adi-fond); }

.adi-fiche__intertitre {
	margin: 0 0 1.25rem;
	padding-bottom: .6rem;
	border-bottom: 1px solid var(--adi-trait);
	font-size: var(--wp--preset--font-size--large, 1.3rem);
}

.adi-fiche__colonnes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--60, 3.5rem);
}

.adi-fiche__texte ul { padding-left: 1.1rem; }
.adi-fiche__texte h3 { font-size: 1rem; margin: 1.5rem 0 .5rem; }
.adi-fiche__texte > :first-child + * { margin-top: 0; }
.adi-fiche__edition { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--adi-trait); font-size: var(--wp--preset--font-size--small, .9rem); color: var(--adi-doux); }

.adi-fiche__videos-grille {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: 1.5rem;
}

.adi-fiche__videos-grille .wp-block-embed { margin: 0; }

/* Presse : cartes en colonnes (lecture fluide de longueurs inégales) */
.adi-fiche__presse-grille { columns: 2 340px; column-gap: 2rem; }

.adi-critique {
	break-inside: avoid;
	margin: 0 0 2rem;
	padding: 0 0 0 1.25rem;
	border-left: 2px solid var(--adi-accent);
}

.adi-critique__texte > :first-child { margin-top: 0; }
.adi-critique__texte em:first-child { font-size: 1.1em; }

.adi-critique__source { display: flex; flex-wrap: wrap; gap: .25rem .6rem; font-size: var(--wp--preset--font-size--small, .9rem); }
.adi-critique__auteur { font-weight: 600; }
.adi-critique__media { font-style: normal; color: var(--adi-doux); }
.adi-critique__auteur + .adi-critique__media::before { content: "— "; }

.adi-fiche__logos {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.5rem 2.5rem;
}

.adi-fiche__logos img { max-height: 56px; width: auto; display: block; filter: grayscale(1); opacity: .8; transition: filter .2s, opacity .2s; }
.adi-fiche__logos a:hover img, .adi-fiche__logos a:focus-visible img { filter: none; opacity: 1; }

.adi-fiche__plus--image { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--wp--preset--spacing--60, 3.5rem); align-items: start; }
.adi-fiche__plus-image { margin: 0; }
.adi-fiche__plus-image img { width: 100%; height: auto; display: block; }

@media (max-width: 781px) {
	.adi-fiche__haut,
	.adi-fiche__colonnes,
	.adi-fiche__plus--image { grid-template-columns: 1fr; gap: 2rem; }
	.adi-fiche__pochette { max-width: 420px; }
}
