/* Module layout
======================================== */
.module-layouts{
	display: grid;
	grid-auto-rows: min-content;
	row-gap: var(--m-sections);
}
[data-layout="private"] .module-layouts{
	row-gap: calc(var(--global-m)*12);
}

/* Wrapper */
.module-layout--wrapper{
	display: grid;
	grid-auto-rows: min-content;
	row-gap: var(--rows-caption);
}

/* Title */
.module-layout--title{
	margin: var(--font-serif--mblock-l);
}

/* Content */
.module-layout{
	display: grid;
	grid-auto-rows: min-content;
	grid-gap: var(--rows-medianil) var(--cols-medianil);
}
.module-header + .module-layout{
	margin-top: var(--m-modules);
}
@media (min-width: 601px) and (max-width: 840px){
	.module-layout{
		grid-template-columns: repeat(2, 1fr);
	}
}

/* Layout row */
.module-layout--row{
	display: grid;
	grid-auto-rows: min-content;
	grid-template-columns: repeat(3, 1fr);
	column-gap: var(--cols-medianil);
}
.module-layout--row[data-layout="1/2"]{
	grid-template-columns: repeat(2, 1fr);
}
.module-layout--row:has(.empty:only-child),
.module-layout--row:has(.empty.medium:first-child):has(.empty.small:last-child),
.module-layout--row:has(.empty.small:first-child):has(.empty.medium:last-child),
.module-layout--row:has(.empty.small:first-child):has(.empty.small:nth-child(2)):has(.empty.small:nth-child(3)){
	display: none;
}
@media (max-width: 840px){
	.module-layout--row{
		display: contents;
	}
}

/* Cell */
.module-layout--cell{
	position: relative;
}
.module-layout--cell.modal-slider--trigger{
	cursor: zoom-in;
}
@media (min-width: 601px){
	.module-layout--cell{
		align-self: flex-start;
	}
}

/* Cell: large */
.module-layout--cell.large{
	grid-column: 1 / -1;
}

/* Cell: Medium */
@media (min-width: 601px){
	.module-layout--cell.medium{
		grid-column: 2 span;
	}
}

/* Cell: empty */
.module-layout--cell.empty{
	visibility: hidden;
	pointer-events: none;
}
@media (max-width: 840px){
	.module-layout--cell.empty{
		display: none;
	}
}

/* Caption */
.module-layout--cell-caption{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	padding: var(--global-m);
	display: grid;
	align-items: center;
	-webkit-user-select: none;
		-moz-user-select: none;
		 -ms-user-select: none;
			  user-select: none;
	color: white;
	mix-blend-mode: difference;
	pointer-events: none;
	z-index: 2;
}
.desktop .module-layout--cell-caption > span{
	transition:
		opacity var(--global-speed) var(--global-ease--movement) 50ms,
		transform calc(var(--global-speed)*2) var(--global-ease--movement);
}
.desktop .module-layout--cell:not(:hover) .module-layout--cell-caption > span{
	opacity: 0;
	transform: translateY(var(--pos-y));
}
.devices .module-layout--cell-caption{
	display: none !important;
}