/**
 * Common styles for cdaf/timeline
 * 
 * @since 2025-12-24
 * @author Designs and Codes, LLC
 */

.wp-block-cdaf-timeline {
/*	--cdaf-timeline__header-color__leading: var( --cdaf-timeline__header-color__common, #860a0a );
	--cdaf-timeline__header-color__trailing: var( --cdaf-timeline__header-color__common, #860a0a );*/
	--cdaf-timeline__dot-width: 6px;
	--cdaf-timeline-entry__arrow-size: 0.75rem;
	
	--cdaf-timeline-entry__arrow-diag: calc( hypot(
		var( --cdaf-timeline-entry__arrow-size )
		,
		var( --cdaf-timeline-entry__arrow-size )
	) / 2 );
	
	container: cdaf-timeline / inline-size;
}

:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) {
	max-inline-size: 640px;
}

.wp-block-cdaf-timeline__header {
	margin-block: var( --cdaf__spacing-v__header, 1.5rem );
}

.wp-block-cdaf-timeline__header h2 {
	margin: 0 !important;
	color: var( --cdaf-timeline__header-color__common, #860a0a );
	font-weight: 400;
	text-transform: uppercase;
}

.wp-block-cdaf-timeline__header-row {
	display: grid;
	align-items: baseline;
	gap: var( --cdaf__spacing-v__para, 1rem ) var( --cdaf__spacing-h, 30px );
	grid-template-columns: repeat( 2, 1fr );
}

.wp-block-cdaf-timeline__body {
	display: flex;
	align-items: center;
	flex-flow: column nowrap;
	gap: var( --cdaf__spacing-v__header, 1.5rem ) var( --cdaf__spacing-h, 30px );
	position: relative;
	padding-block: calc( var( --cdaf__spacing-v__header, 1.5rem ) * 2 );
}

:where( .wp-block-cdaf-timeline__body ) > * {
	position: relative;
	z-index: 1;
	margin: 0 !important;
	inline-size: 100%;
}

.wp-block-cdaf-timeline__separator {
	--cdaf-timeline__separator-width: 2px;
	--cdaf-timeline__separator-color: #ccc;
	
	position: absolute;
	z-index: 0;
	inset-block: 0;
	inset-inline-start: calc( 50% - var( --cdaf-timeline__separator-width ) );
	border-color: var( --cdaf-timeline__separator-color );
	border-style: solid;
	border-width: var( --cdaf-timeline__separator-width );
	inline-size: calc( var( --cdaf-timeline__separator-width ) * 2 );
}

.wp-block-cdaf-timeline__separator:before,
.wp-block-cdaf-timeline__separator:after {
	content: '';
	position: absolute;
	inset-inline: calc( var( --cdaf-timeline__dot-width ) * -1 );
	border-color: var( --cdaf-timeline__separator-color );
	border-radius: 50%;
	border-style: solid;
	border-width: var( --cdaf-timeline__dot-width );
}

.wp-block-cdaf-timeline__separator:before {
	inset-block-start: calc( var( --cdaf-timeline__dot-width ) * -1 );
}

.wp-block-cdaf-timeline__separator:after {
	inset-block-end: calc( var( --cdaf-timeline__dot-width ) * -1 );
}

/**
 * Timeline Section
 */

.wp-block-cdaf-timeline-section {
	--cdaf-timeline__section-color__background: #888;
	--cdaf-timeline__section-color__foreground: #fff;
	
	display: flex !important;
	align-items: stretch;
	flex-flow: column nowrap;
	gap: var( --cdaf__spacing-v__para, 1rem ) var( --cdaf__spacing-h, 30px );
	justify-content: start;
	margin-block: var( --cdaf__spacing-v__block, 1.25rem );
}

:where( .wp-block-cdaf-timeline-section ) > * {
	margin: 0 !important;
	inline-size: 100%;
}

.wp-block-cdaf-timeline-section__heading {
	--cdaf-timeline__section-heading__padding-v: 0.25em;
	--cdaf-timeline__section-heading__padding-h: 0.5em;
	
	align-self: center;
	
	border-radius: min(
		var( --cdaf-timeline__section-heading__padding-v ),
		var( --cdaf-timeline__section-heading__padding-h )
	);
	
	padding-block: var( --cdaf-timeline__section-heading__padding-v );
	padding-inline: var( --cdaf-timeline__section-heading__padding-h );
	max-inline-size: 100%;
	inline-size: 10ch;
	background-color: var( --cdaf-timeline__section-color__background );
	color: var( --cdaf-timeline__section-color__foreground );
	font-weight: inherit;
	text-align: center;
}

.wp-block-cdaf-timeline-section__body {
	display: flex;
	align-items: center;
	flex-flow: column nowrap;
	gap: var( --cdaf__spacing-v__block, 1.25rem ) var( --cdaf__spacing-h, 30px );
	justify-content: start;
}

:where( .wp-block-cdaf-timeline-section__body ) > * {
	margin: 0 !important;
	inline-size: 100%;
}

/**
 * Timeline Entry
 */

.wp-block-cdaf-timeline-entry {
	--cdaf-timeline-entry__active-opacity: 0.7;
	--cdaf-timeline-entry__arrow-offset: 6rem;
	
	--cdaf-timeline-entry__arrow-size-half: calc(
		var( --cdaf-timeline-entry__arrow-size )
		/
		2
	);
	
	--cdaf-timeline-entry__padding-v: 0.5rem;
	--cdaf-timeline-entry__padding-h: var( --cdaf__spacing-h__half, 15px );
	--cdaf-timeline-entry__text-small: 0.75rem;
	
	display: flex;
	align-items: start;
	flex-flow: row wrap;
	justify-content: center;
}

.wp-block-cdaf-timeline-entry > * {
	margin: 0 !important;
	flex: 0 0 100%;
}

.wp-block-cdaf-timeline-entry__dot {
	flex: 0 0 auto;
	order: 1;
	border-color: var( --cdaf-timeline__section-color__background );
	border-radius: 50%;
	border-style: solid;
	border-width: var( --cdaf-timeline__dot-width );
}

/**
 * Timeline Cell
 */

.wp-block-cdaf-timeline-cell {
	--cdaf-timeline-cell__padding-v: 1.5rem;
	
	position: relative;
}

.wp-block-cdaf-timeline-cell[data-side="leading"] {
	order: 0;
}

.wp-block-cdaf-timeline-cell[data-side="trailing"] {
	order: 2;
}

:where( .wp-block-cdaf-timeline-cell ) > * {
	margin: 0 !important;
}

.wp-block-cdaf-timeline-cell__arrow,
.wp-block-cdaf-timeline-cell__wrap {
	border-radius: calc( min(
		var( --cdaf-timeline-entry__padding-v )
		,
		var( --cdaf-timeline-entry__padding-h )
	) / 2 );
}

.wp-block-cdaf-timeline-cell__arrow,
.wp-block-cdaf-timeline-cell__arrow:before {
	position: absolute;
	box-shadow: 0 0 0.25rem 0.25rem rgba( 0, 0, 0, 0.1 );
}

.wp-block-cdaf-timeline-cell__arrow {
	z-index: 0;
}

.wp-block-cdaf-timeline-cell__arrow:before,
.wp-block-cdaf-timeline-cell__wrap {
	background-color: white;
}

.wp-block-cdaf-timeline-cell__arrow:before {
	content: '';
	block-size: var( --cdaf-timeline-entry__arrow-size );
	inline-size: var( --cdaf-timeline-entry__arrow-size );
	transform: rotate( 45deg );
}

.wp-block-cdaf-timeline-cell__wrap,
.wp-block-cdaf-timeline-cell__before-footer {
	display: flex;
	align-items: start;
	flex-flow: column nowrap;
	gap: var( --cdaf__spacing-v__para, 1rem ) var( --cdaf__spacing-h, 30px );
	justify-content: start;
	
}

.wp-block-cdaf-timeline-cell__wrap {
	flex: 1 1 0%;
	position: relative;
	z-index: 1;
	border-block-end: var( --cdaf-timeline-entry__padding-v ) solid var( --cdaf-activities-and-impacts--year__bg );
	padding-block-start: var( --cdaf-timeline-entry__padding-v );
	padding-block-end: calc( 2 * var( --cdaf-timeline-entry__padding-v ) );
	padding-inline: var( --cdaf-timeline-entry__padding-h );
	overflow: hidden;
}

.wp-block-cdaf-timeline-cell__wrap:has( > .wp-block-cdaf-timeline-cell__footer ) {
	border-block-end: none;
	padding-block-end: var( --cdaf-timeline-entry__padding-v );
}

.wp-block-cdaf-timeline-cell__before-footer,
.wp-block-cdaf-timeline-cell__body {
	flex: 1 0 auto;
}

:where( .wp-block-cdaf-timeline-cell__wrap, .wp-block-cdaf-timeline-cell__before-footer ) > * {
	margin: 0 !important;
	inline-size: 100%;
}

:where( [data-side="leading"] ) > * > * > .wp-block-cdaf-timeline-cell__side-label {
	color: var( --cdaf-timeline__header-color__leading, var( --cdaf-timeline__header-color__common, #455560 ) );
}

:where( [data-side="trailing"] ) > * > * > .wp-block-cdaf-timeline-cell__side-label {
	color: var( --cdaf-timeline__header-color__trailing, var( --cdaf-timeline__header-color__common, #455560 ) );
}

.wp-block-cdaf-timeline-cell__header {
	display: flex;
	align-items: start;
	flex-flow: row nowrap;
	gap: var( --cdaf__spacing-v__para, 1rem ) var( --cdaf__spacing-h, 30px );
	justify-content: start;
}

.wp-block-cdaf-timeline-cell__header > * {
	margin: 0 !important;
}

.wp-block-cdaf-timeline-cell__header-icon {
	max-inline-size: 16%;
	inline-size: 50px;
}

.wp-block-cdaf-timeline-cell__header-text {
	flex: 1 1 0%;
	font-size: 1rem;
}

.wp-block-cdaf-timeline-cell__footer {
	position: relative;
	padding-block: var( --cdaf-timeline-entry__padding-v );
	color: var( --cdaf-timeline__section-color__foreground ) !important;
	text-decoration: none !important;
}

.wp-block-cdaf-timeline-cell__footer:first-child {
	padding-block-start: 0;
}

.wp-block-cdaf-timeline-cell__footer:last-child {
	padding-block-end: 0;
}

.wp-block-cdaf-timeline-cell__footer-background {
	position: absolute;
	inset-block: 0;
	inset-inline: calc( var( --cdaf-timeline-entry__padding-h ) * -1 );
	background-color: var( --cdaf-timeline__section-color__background );
	opacity: var( --cdaf-timeline-entry__active-opacity );
	transition: 0.3s opacity;
}

:where( .wp-block-cdaf-timeline-cell__footer:first-child ) > .wp-block-cdaf-timeline-cell__footer-background {
	inset-block-start: calc( var( --cdaf-timeline-entry__padding-v ) * -1 ) !important;
}

:where( .wp-block-cdaf-timeline-cell__footer:last-child ) > .wp-block-cdaf-timeline-cell__footer-background {
	inset-block-end: calc( var( --cdaf-timeline-entry__padding-v ) * -1 ) !important;
}

:where( a.wp-block-cdaf-timeline-cell__footer:is( :active, :hover ) ) > .wp-block-cdaf-timeline-cell__footer-background {
	opacity: 1;
}

.wp-block-cdaf-timeline-cell__footer-content,
.wp-block-cdaf-timeline-cell__footer-button {
	display: flex;
	flex-flow: row nowrap;
}

.wp-block-cdaf-timeline-cell__footer-content {
	align-items: baseline;
	gap: var( --cdaf__spacing-v__para, 1rem ) var( --cdaf__spacing-h, 30px );
	justify-content: end;
	position: relative;
}

.wp-block-cdaf-timeline-cell__footer-content,
.wp-block-cdaf-timeline-cell__footer-content > * {
	margin: 0 !important;
}

.wp-block-cdaf-timeline-cell__footer-authors {
	flex: 1 1 0%;
	font-size: var( --cdaf-timeline-entry__text-small );
}

.wp-block-cdaf-timeline-cell__footer-button {
	align-items: start;
	flex: 0 0 auto;
	justify-content: start;
	position: relative;
	border: 2px solid white;
	border-radius: 2px;
	padding-block: 2px;
	padding-inline-start: 4px;
	padding-inline-end: calc( 4px + 2.5em );
}

.wp-block-cdaf-timeline-cell__footer-button > * {
	margin: 0 !important;
}

.wp-block-cdaf-timeline-cell__footer-button:after {
	content: '\f061';
	position: absolute;
	inline-size: 1em;
	inset-inline-end: calc( 4px + 1em );
	font-family: FontAwesome;
	transition: 0.3s inset-inline-end;
}

:where( a.wp-block-cdaf-timeline-cell__footer:is( :active, :hover ) ) .wp-block-cdaf-timeline-cell__footer-button:after {
	inset-inline-end: 4px;
}

:where( a.wp-block-cdaf-timeline-cell__footer[rel*="external"] ) .wp-block-cdaf-timeline-cell__footer-button:after {
	content: '\f14c';
}

.wp-block-cdaf-timeline-cell__footer-button-icon {
	max-inline-size: 16%;
	inline-size: 25px;
}

.wp-block-cdaf-timeline-cell__footer-button-text {
	flex: 1 1 0%;
}

.wp-block-cdaf-timeline:not( [data-has-leading] ) > * > * > .wp-block-cdaf-timeline__header-leading,
.wp-block-cdaf-timeline:not( [data-has-trailing] ) > * > * > .wp-block-cdaf-timeline__header-trailing,
.wp-block-cdaf-timeline:not( [data-has-leading] ) > * > * > * > * > [data-side="leading"],
.wp-block-cdaf-timeline:not( [data-has-trailing] ) > * > * > * > * > [data-side="trailing"] {
	display: none;
}

.wp-block-cdaf-timeline-entry:not( [data-has-leading] ) > [data-side="leading"] > *,
.wp-block-cdaf-timeline-entry:not( [data-has-trailing] ) > [data-side="trailing"] > * {
	visibility: hidden;
}

.wp-block-cdaf-timeline:is( :not( [data-has-leading] ), :not( [data-has-trailing] ) ) > * > .wp-block-cdaf-timeline__header-row {
	grid-template-columns: 1fr;
}

@container cdaf-timeline ( max-width: 799px ) {
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) > * > .wp-block-cdaf-timeline__header-row,
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) .wp-block-cdaf-timeline-entry:not( [data-has-leading] ) > [data-side="leading"],
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) .wp-block-cdaf-timeline-entry:not( [data-has-trailing] ) > [data-side="trailing"] {
		display: none;
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) .wp-block-cdaf-timeline-entry {
		gap: var( --cdaf-timeline-entry__arrow-diag );
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) .wp-block-cdaf-timeline-cell {
		inline-size: 100%;
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) .wp-block-cdaf-timeline-cell__arrow {
		inset: 0;
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) .wp-block-cdaf-timeline-cell__arrow:before {
		inset-inline: calc( 50% - var( --cdaf-timeline-entry__arrow-size-half ) );
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) [data-side="leading"] > .wp-block-cdaf-timeline-cell__arrow:before {
		inset-block-start: calc( 100% - var( --cdaf-timeline-entry__arrow-size-half ) );
		background-color: var( --cdaf-timeline__section-color__background );
		opacity: var( --cdaf-timeline-entry__active-opacity );
		transition: 0.3s opacity;
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) [data-side="leading"]:has( a[href]:is( :active, :hover ) ) > .wp-block-cdaf-timeline-cell__arrow:before {
		opacity: 1;
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) [data-side="trailing"] > .wp-block-cdaf-timeline-cell__arrow:before {
		inset-block-end: calc( 100% - var( --cdaf-timeline-entry__arrow-size-half ) );
	}
}

@container cdaf-timeline ( min-width: 800px ) {
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) > * > .wp-block-cdaf-timeline__header-common {
		display: none;
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) .wp-block-cdaf-timeline-entry {
		flex-wrap: nowrap;
		gap: 0;
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) .wp-block-cdaf-timeline-entry > .wp-block-cdaf-timeline-cell {
		flex: 1 1 50%;
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) .wp-block-cdaf-timeline-entry__dot {
		position: relative;
		
		inset-block-start: calc(
			var( --cdaf-timeline-entry__arrow-offset )
			-
			var( --cdaf-timeline__dot-width )
		);
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) .wp-block-cdaf-timeline-cell[data-side="leading"] {
		padding-inline-end: var( --cdaf-timeline-entry__arrow-diag );
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) .wp-block-cdaf-timeline-cell[data-side="trailing"] {
		padding-block-start: var( --cdaf-timeline-cell__padding-v );
		padding-inline-start: var( --cdaf-timeline-entry__arrow-diag );
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) [data-side="leading"] > .wp-block-cdaf-timeline-cell__arrow {
		inset-block: 0;
		inset-inline: 0 var( --cdaf-timeline-entry__arrow-diag );
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) [data-side="leading"] > .wp-block-cdaf-timeline-cell__arrow:before {
		inset-block-start: calc( var( --cdaf-timeline-entry__arrow-offset ) - var( --cdaf-timeline-entry__arrow-size-half ) );
		inset-inline-end: calc( var( --cdaf-timeline-entry__arrow-size-half ) * -1 );
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) [data-side="trailing"] > .wp-block-cdaf-timeline-cell__arrow {
		inset-block: var( --cdaf-timeline-cell__padding-v ) 0;
		inset-inline: var( --cdaf-timeline-entry__arrow-diag ) 0;
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) [data-side="trailing"] > .wp-block-cdaf-timeline-cell__arrow:before {
		inset-block-start: calc( var( --cdaf-timeline-entry__arrow-offset ) - var( --cdaf-timeline-cell__padding-v ) - var( --cdaf-timeline-entry__arrow-size-half ) );
		inset-inline-start: calc( var( --cdaf-timeline-entry__arrow-size-half ) * -1 );
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) [data-side="leading"] > * > .wp-block-cdaf-timeline-cell__before-footer {
		min-block-size: calc( var( --cdaf-timeline-entry__arrow-offset ) - var( --cdaf__spacing-v__para, 1rem ) );
	}
	
	:where( .wp-block-cdaf-timeline[data-has-leading][data-has-trailing] ) [data-side="trailing"] > * > .wp-block-cdaf-timeline-cell__before-footer {
		min-block-size: calc( var( --cdaf-timeline-entry__arrow-offset ) - var( --cdaf-timeline-cell__padding-v ) - var( --cdaf__spacing-v__para, 1rem ) );
	}
}

@container cdaf-timeline ( max-width: 399px ) {
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) > * > .wp-block-cdaf-timeline__header-common,
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) .wp-block-cdaf-timeline-entry:not( [data-has-leading] ) > [data-side="leading"],
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) .wp-block-cdaf-timeline-entry:not( [data-has-trailing] ) > [data-side="trailing"] {
		display: none;
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) .wp-block-cdaf-timeline-entry {
		gap: var( --cdaf-timeline-entry__arrow-diag );
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) .wp-block-cdaf-timeline-cell {
		inline-size: 100%;
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) .wp-block-cdaf-timeline-cell__arrow {
		inset: 0;
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) .wp-block-cdaf-timeline-cell__arrow:before {
		inset-inline: calc( 50% - var( --cdaf-timeline-entry__arrow-size-half ) );
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) [data-side="leading"] > .wp-block-cdaf-timeline-cell__arrow:before {
		inset-block-start: calc( 100% - var( --cdaf-timeline-entry__arrow-size-half ) );
		background-color: var( --cdaf-timeline__section-color__background );
		opacity: var( --cdaf-timeline-entry__active-opacity );
		transition: 0.3s opacity;
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) [data-side="leading"]:has( a[href]:is( :active, :hover ) ) > .wp-block-cdaf-timeline-cell__arrow:before {
		opacity: 1;
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) [data-side="trailing"] > .wp-block-cdaf-timeline-cell__arrow:before {
		inset-block-end: calc( 100% - var( --cdaf-timeline-entry__arrow-size-half ) );
	}
}

@container cdaf-timeline ( min-width: 400px ) {
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) > * > .wp-block-cdaf-timeline__header-common {
		display: none;
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) > * > * > * > .wp-block-cdaf-timeline-entry {
		flex-wrap: nowrap;
		gap: 0;
	}
	
	:where( .wp-block-cdaf-timeline[data-has-trailing]:not( [data-has-leading] ) ) > * > * > * > .wp-block-cdaf-timeline-entry {
		--cdaf-timeline-entry__arrow-offset: 3rem;
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) > * > * > * > * > .wp-block-cdaf-timeline-cell {
		flex: 1 1 50%;
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) > * > * > * > * > .wp-block-cdaf-timeline-entry__dot {
		position: relative;
		inset-block-start: calc( var( --cdaf-timeline-entry__arrow-offset ) - var( --cdaf-timeline__dot-width ) );
	}
	
	.wp-block-cdaf-timeline:not( [data-has-leading] ) > * > .wp-block-cdaf-timeline__separator {
		inset-inline-start: calc( var( --cdaf-timeline__dot-width ) - var( --cdaf-timeline__separator-width ) );
	}
	
	.wp-block-cdaf-timeline:not( [data-has-trailing] ) > * > .wp-block-cdaf-timeline__separator {
		inset-inline-start: calc( 100% - var( --cdaf-timeline__dot-width ) - var( --cdaf-timeline__separator-width ) );
	}
	
	.wp-block-cdaf-timeline:not( [data-has-leading] ) > * > * > .wp-block-cdaf-timeline-section__heading {
		align-self: start;
		position: relative;
		inset-inline-start: calc( var( --cdaf-timeline-entry__arrow-diag ) + ( 2 * var( --cdaf-timeline__dot-width ) ) );
	}
	
	.wp-block-cdaf-timeline:not( [data-has-trailing] ) > * > * > .wp-block-cdaf-timeline-section__heading {
		align-self: end;
		position: relative;
		inset-inline-end: calc( var( --cdaf-timeline-entry__arrow-diag ) + ( 2 * var( --cdaf-timeline__dot-width ) ) );
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) > * > * > * > * > [data-side="leading"] {
		padding-inline-end: var( --cdaf-timeline-entry__arrow-diag );
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) > * > * > * > * > [data-side="trailing"] {
		padding-block-start: var( --cdaf-timeline-cell__padding-v );
		padding-inline-start: var( --cdaf-timeline-entry__arrow-diag );
	}
	
	:where( .wp-block-cdaf-timeline[data-has-trailing]:not( [data-has-leading] ) ) > * > * > * > * > [data-side="trailing"] {
		padding-block-start: 0;
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) > * > * > * > * > [data-side="leading"] > .wp-block-cdaf-timeline-cell__arrow {
		inset-block: 0;
		inset-inline: 0 var( --cdaf-timeline-entry__arrow-diag );
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) > * > * > * > * > [data-side="leading"] > .wp-block-cdaf-timeline-cell__arrow:before {
		inset-block-start: calc( var( --cdaf-timeline-entry__arrow-offset ) - var( --cdaf-timeline-entry__arrow-size-half ) );
		inset-inline-end: calc( var( --cdaf-timeline-entry__arrow-size-half ) * -1 );
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) > * > * > * > * > [data-side="trailing"] > .wp-block-cdaf-timeline-cell__arrow {
		inset-block: var( --cdaf-timeline-cell__padding-v ) 0;
		inset-inline: var( --cdaf-timeline-entry__arrow-diag ) 0;
	}
	
	:where( .wp-block-cdaf-timeline[data-has-trailing]:not( [data-has-leading] ) ) > * > * > * > * > [data-side="trailing"] > .wp-block-cdaf-timeline-cell__arrow {
		inset-block-start: 0;
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) > * > * > * > * > [data-side="trailing"] > .wp-block-cdaf-timeline-cell__arrow:before {
		inset-block-start: calc( var( --cdaf-timeline-entry__arrow-offset ) - var( --cdaf-timeline-cell__padding-v ) - var( --cdaf-timeline-entry__arrow-size-half ) );
		inset-inline-start: calc( var( --cdaf-timeline-entry__arrow-size-half ) * -1 );
	}
	
	:where( .wp-block-cdaf-timeline[data-has-trailing]:not( [data-has-leading] ) ) > * > * > * > * > [data-side="trailing"] > .wp-block-cdaf-timeline-cell__arrow:before {
		inset-block-start: calc( var( --cdaf-timeline-entry__arrow-offset ) - var( --cdaf-timeline-entry__arrow-size-half ) );
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) > * > * > * > * > [data-side="leading"] > * > .wp-block-cdaf-timeline-cell__before-footer {
		min-block-size: calc( var( --cdaf-timeline-entry__arrow-offset ) - var( --cdaf__spacing-v__para, 1rem ) );
	}
	
	:where( .wp-block-cdaf-timeline:not( [data-has-leading][data-has-trailing] ) ) > * > * > * > * > [data-side="trailing"] > * > .wp-block-cdaf-timeline-cell__before-footer {
		min-block-size: calc( var( --cdaf-timeline-entry__arrow-offset ) - var( --cdaf-timeline-cell__padding-v ) - var( --cdaf__spacing-v__para, 1rem ) );
	}
	
	:where( .wp-block-cdaf-timeline[data-has-trailing]:not( [data-has-leading] ) ) > * > * > * > * > [data-side="trailing"] > * > .wp-block-cdaf-timeline-cell__before-footer {
		min-block-size: calc( var( --cdaf-timeline-entry__arrow-offset ) - var( --cdaf__spacing-v__para, 1rem ) );
	}
}
