/*
* Layout
*/
.main-wrap {
	max-width: unset;
}

.page-wrapper {
	display: grid;
	grid-template-rows: max-content 1fr;
	align-items: flex-start;
	min-height: 100%;
	padding-top: 2rem;
}

.page-body {
	grid-template-rows: max-content 1fr;
	gap: 4rem var(--wrap-padding);
	padding-block: 4rem;
}

.page-content {
	padding-inline: 1rem;
}

.photo__title {
	max-width: 350px;
	line-height: 1.2;
}

.photo__date,
.photo__location {
	color: #707070;
}

.photo__image {
	width: 100%;
	min-height: 30vh;
	max-height: 120vh;
	cursor: pointer;
}

/*
* Focus
*/
.focus {
	padding: var(--wrap-padding);
}

.focus__wrapper {
	display: grid;
	grid-template-rows: minmax(0, 1fr);
	width: 100%;
	height: 100%;
	overflow: auto;
}

.focus__image {
	width: auto;
	max-width: unset;
	height: auto;
	max-height: 100%;
	margin: auto;
	object-fit: contain;
}

.modal__close {
	top: 0.45rem;
	right: 0.45rem;
}

/*
* Responsive
*/
@media (min-width: 1025px) {
	.page-wrapper {
		align-items: center;
		padding-top: unset;
	}

	.page-body {
		grid-template-columns: minmax(0, 0.5fr) minmax(0, 1fr);
		grid-template-rows: unset;
	}

	.page-content {
		grid-row: 1;
		grid-column: 1;
	}

	.focus__image {
		max-width: 100%;
		max-height: unset;
	}
}
