.list-wrapper {
	position: relative;
	display: grid;
	grid-template-columns: max-content auto;
	align-items: start;
	gap: 1.5rem;
	
	@media (width < 992px) {
		grid-template-columns: auto;
	}
	
	#p_anchor {
		position: absolute;
		top: -2.75rem;
	}
	
	.backlink {
		align-self: center;
		margin-top: 1rem;
	}
}

.list-panel {
	container: listpanel / inline-size;
}

.list-overview {
	
	.listen-nav-overview {
		width: min(40rem, 100%);
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-template-columns: repeat(auto-fill, min(12rem, 100%));
		justify-content: center;
		gap: 2rem;
		
		.entry {
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 0.5rem;
			padding: 1rem;
			border: 1px solid var(--color-accent);
			border-radius: 0.5rem;
			font-size: 1rem;
			
			i {
				font-size: 2rem;
				font-weight: 300;
			}
			
			&:hover,
			&:active {
				background-color: var(--color-accent-80);
				color: white;
			}
		}
	}
}

.listen-nav {
	position: sticky;
	top: 2.75rem;
	max-height: calc(100vh - 2.75rem);
	overflow: auto;
	display: flex;
	flex-direction: column;
	background-color: var(--color-primary);
	border: 1px solid var(--color-accent);
	border-radius: 0.25rem;
	box-sizing: border-box;
	
	.entry {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		font-size: 0.875rem;
		line-height: 1.25;
		white-space: nowrap;
		padding: 0.25rem 0.5rem;
		min-height: 1.75rem;
	}
}

.listen-grid {
	display: grid;
	gap: 2rem;
	
	&.col-2 {
		grid-template-columns: repeat(2, 1fr);
	}
	
	&.col-3 {
		grid-template-columns: repeat(3, 1fr);
	}
	
	.subtitle {
		font-size: 0.875rem;
		font-weight: 500;
		letter-spacing: 0.15em;
		text-transform: uppercase;
		margin-top: 1.5rem;
	}
	
	.grid-wrapper-2 {
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 2;
	}
	
	.grid-wrapper-6 {
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 6;
	}
	
	.cell {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		
		.title {
			position: relative;
			font-size: 1.25rem;
			font-weight: 500;
			color: var(--color-text-accent);
			
			&:after {
				content: "";
				position: absolute;
				bottom: -0.125rem;
				left: 0;
				width: min(10rem, 50%);
				height: 0.1rem;
				background-color: var(--color-text-accent);
			}
		}
		
		.entries {
			line-height: 1.5;
			max-height: 12rem;
			min-height: 3rem;
			overflow: auto;
		}
		
		&.calendar .entries {
			min-height: 6rem;
		}
	}
}

.pairview-list {
	display: grid;
	grid-template-columns: 3rem 8rem max-content min-content max-content 8rem 3rem;
	grid-template-areas: "spacer ava1 char1 amp char2 ava2 options";
	justify-content: center;
    justify-items: center;
    align-items: center;
	gap: 2rem;
	
	.subtitle {
		grid-column: spacer / options;
		font-size: 1.5rem;
		letter-spacing: 0.3em;
		text-transform: lowercase;
		margin: 2rem 0 1rem 0;
	}
	
	.ava1 {
		grid-column: ava1;
	}
	
	.char1 {
		grid-column: char1;
	}
	
	.amp {
		grid-column: amp;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 0;
		font-size: 2rem;
	}
	
	.ava2 {
		grid-column: ava2;
	}
	
	.char2 {
		grid-column: char2;
	}
	
	.options {
		grid-column: options;
	}
	
	.ava1,
	.ava2 {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		aspect-ratio: 1;
		background-size: cover;
		border: 1px solid white;
		border-radius: 4rem;
		overflow: hidden;
		box-sizing: border-box;
	}
}

.joblist {
	display: grid;
	grid-template-columns: 3.125rem 2fr 1fr;
	grid-template-areas: "icon description employees";
	gap: 2rem;
	
	.title {
		grid-column: 1 / -1;
		font-size: 1rem;
		font-weight: 500;
		letter-spacing: 0.15em;
		color: var(--color-accent);
	}
	
	.icon {
		grid-column: icon;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		img {
			
			
			opacity: 0.4;
			
		}
		
		&:after {
				content: "";
				position: absolute;
				top: 0;
				bottom: 0;
				left: 0;
				right: 0;
				background: var(--color-accent);
				mix-blend-mode: color;
			}
	}
	
	.description {
		grid-column: description;
		max-height: 8rem;
		overflow: auto;
	}
	
	.employees {
		grid-column: employees;
		max-height: 8rem;
		overflow: auto;
		display: flex;
		flex-direction: column;
		gap: 0.25rem;
	}
}

@container listpanel (width < 60rem) {
	.listen-grid.col-3 {
		grid-template-columns: repeat(2, 1fr);
		
		.cell.calendar .entries {
			min-height: 3rem;
		}
	}
	
	.pairview-list {
		grid-template-columns: 3rem 6rem max-content min-content max-content 6rem 3rem;
		gap: 1rem;
		
		.amp {
			font-size: 1.5rem;
		}
	}
}

@container listpanel (width < 42rem) {
	.listen-grid {
		justify-content: center;
		
		&.col-2,
		&.col-3 {
			grid-template-columns: auto;
			
			.cell .title:after {
				display: none;
			}

			.cell .entries,
			.cell.calendar .entries{
				max-height: unset;
				min-height: unset;
				padding: 0 1rem;
			}
		}
	}
	
	.pairview-list {
		grid-template-columns: 4rem auto 4rem;
		grid-template-areas: "ava1 char1 spacer1"
							 "amp amp amp"
							 "spacer2 char2 ava2"
							 "options options options";
		row-gap: 0;
		column-gap: 1rem;
		
		.subtitle {
			grid-column: span 3;
		}
		
		.options {
			margin-bottom: 3rem;
		}
	}
}

@media (width < 577px) {
	
	.list-overview .listen-nav {
		gap: 1rem;
		
		.entry {
			flex-direction: row;
			padding: 0.25rem;
			background: var(--color-primary);
			
			i {
				font-size: 1.25rem;
			}
		}
	}
}