/*
 * intro/article — le sommaire colle a gauche, l'article a droite ; les
 * parties se separent d'un filet. Sans sommaire : une colonne de lecture.
 */

.ivy-intro--article {
	width: 100%;
	max-width: 1320px;
	margin-inline: auto;
	padding: clamp( 64px, 9vw, 120px ) clamp( 20px, 4vw, 40px );
	color: var( --ivy-ink, rgb( 17 17 17 ) );
}

.ivy-intro--article.ivy-intro--sommaire {
	display: grid;
	grid-template-columns: minmax( 0, 3fr ) minmax( 0, 9fr );
	align-items: start;
	gap: clamp( 32px, 5vw, 72px );
}

.ivy-intro--article .ivy-intro__toc { position: sticky; top: 108px; color: var( --ivy-toc-color, var( --ivy-muted, rgb( 82 82 82 ) ) ); font-size: var( --ivy-font-label ); }

.ivy-intro--article .ivy-intro__eyebrow {
	margin: 0 0 16px;
	color: var( --ivy-eyebrow-color, var( --ivy-ink, rgb( 17 17 17 ) ) );
	font-size: var( --ivy-font-label );
	font-weight: 600;
	letter-spacing: .2em;
	text-transform: uppercase;
}

.ivy-intro--article .ivy-intro__toc ol { display: grid; gap: 4px; margin: 0; padding: 0 0 0 14px; border-left: 1px solid var( --ivy-line, rgb( 205 205 201 ) ); list-style: none; counter-reset: ivy-sommaire; }
.ivy-intro--article .ivy-intro__toc li { counter-increment: ivy-sommaire; }
.ivy-intro--article .ivy-intro__toc a { display: flex; gap: 10px; padding: 4px 0; color: inherit; text-decoration: none; }
.ivy-intro--article .ivy-intro__toc a::before { content: counter( ivy-sommaire, decimal-leading-zero ); opacity: .6; font-variant-numeric: tabular-nums; }
.ivy-intro--article .ivy-intro__toc a:is( :hover, :focus-visible ) { color: var( --ivy-accent, rgb( 17 17 17 ) ); }

.ivy-intro--article .ivy-intro__article { max-width: 760px; color: var( --ivy-article-color, var( --ivy-ink, rgb( 17 17 17 ) ) ); line-height: 1.7; }
.ivy-intro--article .ivy-intro__article > :first-child { margin-top: 0; }
.ivy-intro--article .ivy-intro__article :is( h1, h2, h3 ) { font-family: var( --e-global-typography-primary-font-family, inherit ); font-weight: 400; line-height: 1.12; scroll-margin-top: 110px; }
.ivy-intro--article .ivy-intro__article h1 { margin: 0 0 28px; font-size: var( --ivy-font-h1 ); }
.ivy-intro--article .ivy-intro__article h2 { margin: 56px 0 16px; padding-top: 48px; border-top: 1px solid var( --ivy-line, rgb( 205 205 201 ) ); font-size: var( --ivy-font-h2 ); }
.ivy-intro--article .ivy-intro__article > h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.ivy-intro--article:not( .ivy-intro--sommaire ) .ivy-intro__article h2 { margin-top: 36px; padding-top: 0; border-top: 0; font-size: var( --ivy-font-h3 ); }
.ivy-intro--article .ivy-intro__article dl { display: grid; grid-template-columns: minmax( 0, .4fr ) minmax( 0, 1fr ); gap: 10px 24px; margin: 0; }
.ivy-intro--article .ivy-intro__article dt { font-weight: 600; }
.ivy-intro--article .ivy-intro__article dd { margin: 0; color: var( --ivy-muted, rgb( 82 82 82 ) ); }
@media ( max-width: 640px ) { .ivy-intro--article .ivy-intro__article dl { grid-template-columns: minmax( 0, 1fr ); gap: 2px; } .ivy-intro--article .ivy-intro__article dd { margin-bottom: 10px; } }
.ivy-intro--article .ivy-intro__article a:not( .ivy-intro__cta ) { color: var( --ivy-accent, rgb( 17 17 17 ) ); text-underline-offset: 3px; }

.ivy-intro--article .ivy-intro__article blockquote {
	margin: 20px 0;
	padding: 16px 20px;
	border-left: 3px solid var( --ivy-accent, rgb( 17 17 17 ) );
	border-radius: var( --ivy-radius-surface, 0 );
	background: var( --ivy-note-background-color, var( --ivy-surface, rgb( 255 255 255 ) ) );
	color: var( --ivy-note-color, var( --ivy-ink, rgb( 17 17 17 ) ) );
	font-size: var( --ivy-font-label );
}

.ivy-intro--article .ivy-intro__article blockquote > :first-child { margin-top: 0; }
.ivy-intro--article .ivy-intro__article blockquote > :last-child { margin-bottom: 0; }

.ivy-intro--article .ivy-intro__actions { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 32px; }
:where( .ivy-intro--article ) .ivy-intro__cta { display: inline-flex; align-items: center; min-height: 44px; padding: .85em 1.5em; border-radius: var( --ivy-radius-action, 0 ); background: var( --ivy-cta-background-color, var( --ivy-accent, rgb( 17 17 17 ) ) ); color: var( --ivy-cta-color, var( --ivy-on-accent, rgb( 255 255 255 ) ) ); font-weight: 600; text-decoration: none; }
:where( .ivy-intro--article ) .ivy-intro__cta--secondary { padding-inline: 0; background: var( --ivy-cta_secondary-background-color, transparent ); color: var( --ivy-cta_secondary-color, var( --ivy-accent, rgb( 17 17 17 ) ) ); }

@media ( max-width: 900px ) {
	.ivy-intro--article.ivy-intro--sommaire { grid-template-columns: minmax( 0, 1fr ); }
	.ivy-intro--article .ivy-intro__toc { position: static; }
}

/* Le titre facultatif de l'article (H1 d'une page legale). */
.ivy-intro--article .ivy-intro__title {
	margin: 0 0 1.5rem;
	color: var( --ivy-title-color, var( --ivy-ink, rgb( 17 17 17 ) ) );
	line-height: 1.1;
}
